TeacherFaceProcessServiceImpl.java 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package com.xjrsoft.module.personnel.service.impl;
  2. import cn.dev33.satoken.stp.StpUtil;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import com.github.yulichang.base.MPJBaseServiceImpl;
  5. import com.google.gson.JsonObject;
  6. import com.xjrsoft.common.enums.DeleteMark;
  7. import com.xjrsoft.module.hikvision.mapper.HikvisionDataMapper;
  8. import com.xjrsoft.module.hikvision.util.ApiUtil;
  9. import com.xjrsoft.module.personnel.entity.FaceManagement;
  10. import com.xjrsoft.module.personnel.entity.TeacherFaceProcess;
  11. import com.xjrsoft.module.personnel.mapper.TeacherFaceProcessMapper;
  12. import com.xjrsoft.module.personnel.service.IFaceManagementService;
  13. import com.xjrsoft.module.personnel.service.ITeacherFaceProcessService;
  14. import lombok.AllArgsConstructor;
  15. import org.springframework.stereotype.Service;
  16. import java.util.Date;
  17. import java.util.List;
  18. /**
  19. * @title: 人脸信息审核
  20. * @Author dzx
  21. * @Date: 2024-05-10
  22. * @Version 1.0
  23. */
  24. @Service
  25. @AllArgsConstructor
  26. public class TeacherFaceProcessServiceImpl extends MPJBaseServiceImpl<TeacherFaceProcessMapper, TeacherFaceProcess> implements ITeacherFaceProcessService {
  27. private final HikvisionDataMapper hikvisionDataMapper;
  28. private final IFaceManagementService faceManagementService;
  29. //删除人脸后,移除海康那边的人脸
  30. @Override
  31. public Boolean removeByIds(List<Long> ids) {
  32. List<TeacherFaceProcess> list = this.baseMapper.selectBatchIds(ids);
  33. ApiUtil apiUtil = new ApiUtil();
  34. String apiPath = "/api/resource/v1/face/single/delete";
  35. for (TeacherFaceProcess process : list) {
  36. String studentHikvisionId = hikvisionDataMapper.getStudentHikvisionId(process.getUserId());
  37. JsonObject paramJson = new JsonObject();
  38. paramJson.addProperty("faceId", studentHikvisionId);
  39. String result = apiUtil.doPost(apiPath, paramJson.toString(), null);
  40. process.setExamStatus(2);
  41. process.setHikvisionResult(result);
  42. process.setDeleteMark(DeleteMark.DELETED.getCode());
  43. process.setModifyUserId(StpUtil.getLoginIdAsLong());
  44. process.setModifyDate(new Date());
  45. this.baseMapper.updateById(process);
  46. FaceManagement faceManagement = faceManagementService.getOne(
  47. new QueryWrapper<FaceManagement>().lambda()
  48. .eq(FaceManagement::getUserId, process.getUserId())
  49. .eq(FaceManagement::getFileId, process.getFacePhoto())
  50. );
  51. faceManagement.setRegisterBase64(null);
  52. faceManagementService.update(faceManagement);
  53. }
  54. return true;
  55. }
  56. }