فهرست منبع

修改教师状态时,产出海康相关数据

dzx 8 ماه پیش
والد
کامیت
3f0429fd17

+ 3 - 0
src/main/java/com/xjrsoft/module/hikvision/service/IHikvisionDataService.java

@@ -18,4 +18,7 @@ public interface IHikvisionDataService extends MPJBaseService<HikvisionData> {
 
     Map<String, String> getUserIdMap();
 
+
+    Boolean removeByUserId(Long userId);
+
 }

+ 9 - 0
src/main/java/com/xjrsoft/module/hikvision/service/impl/HikvisionDataServiceImpl.java

@@ -7,6 +7,7 @@ import com.xjrsoft.module.hikvision.mapper.HikvisionDataMapper;
 import com.xjrsoft.module.hikvision.service.IHikvisionDataService;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.HashMap;
 import java.util.List;
@@ -51,4 +52,12 @@ public class HikvisionDataServiceImpl extends MPJBaseServiceImpl<HikvisionDataMa
         result.putAll(teacherMap);
         return result;
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean removeByUserId(Long userId) {
+        return null;
+    }
+
+
 }

+ 2 - 0
src/main/java/com/xjrsoft/module/personnel/service/ITeacherFaceProcessService.java

@@ -17,4 +17,6 @@ public interface ITeacherFaceProcessService extends MPJBaseService<TeacherFacePr
     Boolean removeByIds(List<Long> ids);
 
     Boolean clearHistory(TeacherFaceProcess process);
+
+    Boolean removeByUserId(Long userId);
 }

+ 58 - 0
src/main/java/com/xjrsoft/module/personnel/service/impl/TeacherFaceProcessServiceImpl.java

@@ -95,4 +95,62 @@ public class TeacherFaceProcessServiceImpl extends MPJBaseServiceImpl<TeacherFac
     public Boolean clearHistory(TeacherFaceProcess process) {
         return this.baseMapper.clearHistory(process);
     }
+
+    @Override
+    public Boolean removeByUserId(Long userId) {
+        List<TeacherFaceProcess> list = this.list(
+                new QueryWrapper<TeacherFaceProcess>().lambda()
+                        .eq(TeacherFaceProcess::getUserId, userId)
+        );
+        ApiUtil apiUtil = new ApiUtil();
+        String apiPath = "/api/resource/v1/face/single/delete";
+        JsonParser parser = new JsonParser();
+        for (TeacherFaceProcess process : list) {
+            String studentHikvisionId = hikvisionDataMapper.getTeacherHikvisionId(process.getUserId());
+
+            String apiUrl = "/api/resource/v1/person/condition/personInfo";
+            JsonObject paramsJson = new JsonObject();
+            paramsJson.addProperty("paramName", "personId");
+            JsonArray array = new JsonArray();
+            array.add(studentHikvisionId);
+            paramsJson.add("paramValue", array);
+            String personInfoRes = apiUtil.doPost(apiUrl, paramsJson.toString(), null);
+            String faceId = null;
+            JsonObject personInfoData = parser.parse(personInfoRes).getAsJsonObject();
+            if ("0".equals(personInfoData.get("code").getAsString()) && "success".equals(personInfoData.get("msg").getAsString())) {
+                JsonObject dataJson = personInfoData.get("data").getAsJsonObject();
+                if (dataJson.get("total").getAsInt() > 0) {
+                    JsonArray personPhoto = dataJson.get("list").getAsJsonArray().get(0)
+                            .getAsJsonObject().get("personPhoto").getAsJsonArray();
+                    if (personPhoto.size() > 0) {
+                        faceId = personPhoto.get(0).getAsJsonObject().get("personPhotoIndexCode").getAsString();
+                    }
+                }
+            }
+
+            JsonObject paramJson = new JsonObject();
+            paramJson.addProperty("faceId", faceId);
+
+            String result = apiUtil.doPost(apiPath, paramJson.toString(), null);
+            process.setExamStatus(2);
+            process.setHikvisionResult(result);
+            process.setDeleteMark(DeleteMark.DELETED.getCode());
+            process.setModifyUserId(StpUtil.getLoginIdAsLong());
+            process.setModifyDate(new Date());
+            this.baseMapper.updateById(process);
+
+            FaceManagement faceManagement = faceManagementService.getOne(
+                    new QueryWrapper<FaceManagement>().lambda()
+                            .eq(FaceManagement::getUserId, process.getUserId())
+                            .eq(FaceManagement::getFileId, process.getFacePhoto())
+            );
+            if (faceManagement != null) {
+                faceManagement.setRegisterBase64(null);
+                faceManagementService.update(faceManagement);
+            }
+
+        }
+        return true;
+    }
+
 }

+ 15 - 1
src/main/java/com/xjrsoft/module/teacher/service/impl/TeacherbaseManagerServiceImpl.java

@@ -13,6 +13,7 @@ import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.xjrsoft.common.constant.GlobalConstant;
 import com.xjrsoft.common.enums.DeleteMark;
+import com.xjrsoft.common.enums.EnabledMark;
 import com.xjrsoft.common.enums.GenderDictionaryEnum;
 import com.xjrsoft.common.enums.JobStateEnum;
 import com.xjrsoft.common.enums.RoleEnum;
@@ -21,11 +22,13 @@ import com.xjrsoft.common.exception.MyException;
 import com.xjrsoft.common.utils.RedisUtil;
 import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.config.CommonPropertiesConfig;
+import com.xjrsoft.module.hikvision.util.DataUtil;
 import com.xjrsoft.module.liteflow.node.WfTeacherDepartNode;
 import com.xjrsoft.module.organization.entity.*;
 import com.xjrsoft.module.organization.mapper.UserDeptRelationMapper;
 import com.xjrsoft.module.organization.mapper.UserRoleRelationMapper;
 import com.xjrsoft.module.organization.service.*;
+import com.xjrsoft.module.personnel.service.ITeacherFaceProcessService;
 import com.xjrsoft.module.system.entity.DictionaryDetail;
 import com.xjrsoft.module.system.entity.DictionaryItem;
 import com.xjrsoft.module.system.service.IDictionarydetailService;
@@ -88,6 +91,8 @@ public class TeacherbaseManagerServiceImpl extends MPJBaseServiceImpl<XjrUserMap
 
     private WorkflowFormRelationMapper workflowFormRelationMapper;
 
+    private final ITeacherFaceProcessService teacherFaceProcessService;
+
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -820,6 +825,15 @@ public class TeacherbaseManagerServiceImpl extends MPJBaseServiceImpl<XjrUserMap
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void disabledUser(Long userId) {
-
+        XjrUser xjrUser = this.getById(userId);
+        xjrUser.setDeleteMark(DeleteMark.DELETED.getCode());
+        xjrUser.setEnabledMark(EnabledMark.DISABLED.getCode());
+        this.updateById(xjrUser);
+
+        //清除海康人脸
+        teacherFaceProcessService.removeByUserId(userId);
+        List<Long> userIds = new ArrayList<>();
+        userIds.add(userId);
+        new DataUtil().deletePerson(userIds);
     }
 }