feat(study): 添加学生签到执行器日志记录功能
parent
42740c78ae
commit
a9a61e3e62
|
|
@ -1,5 +1,6 @@
|
|||
package com.zcloud.edu.command.study;
|
||||
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.edu.config.FileUrlConfig;
|
||||
import com.zcloud.edu.domain.gateway.study.StudentSignGateway;
|
||||
|
|
@ -12,6 +13,7 @@ import com.zcloud.gbscommon.utils.Base64Util;
|
|||
import com.zcloud.gbscommon.utils.Tools;
|
||||
import com.zcloud.gbscommon.zcloudimgfiles.facade.ZcloudImgFilesFacade;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -30,6 +32,7 @@ import java.io.IOException;
|
|||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
@Slf4j
|
||||
public class StudentSignAddExe {
|
||||
private final StudentSignGateway studentSignGateway;
|
||||
private final StudentRepository studentRepository;
|
||||
|
|
@ -40,41 +43,38 @@ public class StudentSignAddExe {
|
|||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public StudentSignCO execute(StudentSignAddCmd cmd) {
|
||||
System.out.println("第一步-----------------------------"+ System.currentTimeMillis());
|
||||
log.info("StudentSignAddExe-execute,开始进行人脸识别接口,开始,请求参数{}",JSONUtil.toJsonStr( cmd));
|
||||
long startTime = System.currentTimeMillis();
|
||||
StudentDO stu = studentRepository.findInfoByStudentId(cmd.getStudentId());
|
||||
System.out.println("第2步-----------------------------"+ System.currentTimeMillis());
|
||||
|
||||
StudentSignE studentSignE = new StudentSignE();
|
||||
BeanUtils.copyProperties(cmd, studentSignE);
|
||||
System.out.println("第3步-----------------------------"+ System.currentTimeMillis());
|
||||
StudentDO student = studentRepository.findFaceUrlByPhone(stu.getPhone());
|
||||
System.out.println("第4步-----------------------------"+ System.currentTimeMillis());
|
||||
if (student == null || ObjectUtils.isEmpty(student.getUserAvatarUrl())) {
|
||||
throw new BizException("您还没有录入人脸");
|
||||
}
|
||||
String faceUrl = null;
|
||||
try {
|
||||
System.out.println("第5步-----------------------------"+ System.currentTimeMillis());
|
||||
faceUrl = Base64Util.getBase64String(studentSignE.getFiles()[0]);
|
||||
System.out.println("第6步-----------------------------"+ System.currentTimeMillis());
|
||||
log.info("StudentSignAddExe-execute,调用阿里进行人脸识别开始");
|
||||
long startAliTime = System.currentTimeMillis();
|
||||
studentSignE.compareFace(student.getUserAvatarUrl(), faceUrl, fileUrlConfig.getPrefixUrl());
|
||||
System.out.println("第10步-----------------------------"+ System.currentTimeMillis());
|
||||
log.info("StudentSignAddExe-execute,调用阿里进行人脸识别结束,耗时:{}",System.currentTimeMillis() - startAliTime);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
String path = studentSignE.getType() == 1 ? "clockSign" : "examSign";
|
||||
System.out.println("第11步-----------------------------"+ System.currentTimeMillis());
|
||||
String fileName = Tools.get32UUID() + studentSignE.getFiles()[0].getOriginalFilename().substring(studentSignE.getFiles()[0].getOriginalFilename().lastIndexOf("."));
|
||||
System.out.println("第12步-----------------------------"+ System.currentTimeMillis());
|
||||
log.info("StudentSignAddExe-execute,保存人脸图片开始");
|
||||
long l = System.currentTimeMillis();
|
||||
studentSignE.setFaceUrl(zcloudImgFilesFacade.saveFile( faceUrl,fileName, path));
|
||||
System.out.println("第13步-----------------------------"+ System.currentTimeMillis());
|
||||
log.info("StudentSignAddExe-execute,保存人脸图片结束,耗时:{}",System.currentTimeMillis() - l);
|
||||
studentSignE.init(stu.getStudentId(), stu.getClassId(), stu.getClassCorpinfoId());
|
||||
boolean res = false;
|
||||
StudentSignCO studentSignCO = new StudentSignCO();
|
||||
try {
|
||||
System.out.println("第14步-----------------------------"+ System.currentTimeMillis());
|
||||
res = studentSignGateway.add(studentSignE);
|
||||
System.out.println("第15步-----------------------------"+ System.currentTimeMillis());
|
||||
BeanUtils.copyProperties(studentSignE, studentSignCO);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
|
|
@ -82,6 +82,9 @@ public class StudentSignAddExe {
|
|||
if (!res) {
|
||||
throw new BizException("保存失败");
|
||||
}
|
||||
long totalTime = System.currentTimeMillis() - startTime;
|
||||
log.info("StudentSignAddExe-execute,开始进行人脸识别接口,结束,耗时:{}",totalTime);
|
||||
|
||||
return studentSignCO;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue