Jelajahi Sumber

将教师在职状态改为非在职时,清除海康车辆信息

dzx 8 bulan lalu
induk
melakukan
984b1069b7

+ 39 - 2
src/main/java/com/xjrsoft/module/hikvision/util/DataUtil.java

@@ -15,7 +15,13 @@ import com.xjrsoft.module.personnel.entity.CarMessageApply;
 import lombok.extern.slf4j.Slf4j;
 
 import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 /**
  * @author dzx
@@ -651,7 +657,6 @@ public class DataUtil {
      * @param userIds
      */
     public void deletePerson(List<Long> userIds) {
-        String tableName = "hikvision_data";
         JsonArray personIds = new JsonArray();
         for (Long userId : userIds) {
             String sql = "select * from hikvision_data where source_id = '" + userId + "'";
@@ -673,4 +678,36 @@ public class DataUtil {
         String result = apiUtil.doPost(apiPath, param.toString(), null);
         log.info("海康人员删除:param:" + param + ",result:" + result);
     }
+
+
+    public void deleteCar(List<CarMessageApply> carList) {
+        ApiUtil apiUtil = new ApiUtil();
+        String apiPath = "/api/resource/v2/vehicle/advance/vehicleList";
+        JsonParser parser = new JsonParser();
+
+        JsonArray vehicleIds = new JsonArray();
+        for (CarMessageApply carMessageApply : carList) {
+            JsonObject param = new JsonObject();
+            param.addProperty("plateNo", carMessageApply.getCarNumber());
+            String result = apiUtil.doPost(apiPath, param.toString(), null);
+            JsonObject vehicleData = parser.parse(result).getAsJsonObject();
+            if ("0".equals(vehicleData.get("code").getAsString()) && "success".equals(vehicleData.get("msg").getAsString())) {
+                JsonObject dataJson = vehicleData.get("data").getAsJsonObject();
+                if (dataJson.get("total").getAsInt() > 0) {
+                    JsonArray vehicleList = dataJson.get("list").getAsJsonArray();
+                    for (JsonElement jsonElement : vehicleList) {
+                        vehicleIds.add(jsonElement.getAsJsonObject().get("vehicleId"));
+                    }
+                }
+            }
+        }
+
+        if(vehicleIds.size() > 0){
+            apiPath = "/api/resource/v1/vehicle/batch/delete";
+
+            JsonObject param = new JsonObject();
+            param.add("vehicleIds", vehicleIds);
+            apiUtil.doPost(apiPath, param.toString(), null);
+        }
+    }
 }

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

@@ -28,6 +28,8 @@ 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.entity.CarMessageApply;
+import com.xjrsoft.module.personnel.mapper.CarMessageApplyMapper;
 import com.xjrsoft.module.personnel.service.ITeacherFaceProcessService;
 import com.xjrsoft.module.system.entity.DictionaryDetail;
 import com.xjrsoft.module.system.entity.DictionaryItem;
@@ -92,6 +94,7 @@ public class TeacherbaseManagerServiceImpl extends MPJBaseServiceImpl<XjrUserMap
     private WorkflowFormRelationMapper workflowFormRelationMapper;
 
     private final ITeacherFaceProcessService teacherFaceProcessService;
+    private final CarMessageApplyMapper carMessageApplyMapper;
 
 
     @Override
@@ -832,8 +835,18 @@ public class TeacherbaseManagerServiceImpl extends MPJBaseServiceImpl<XjrUserMap
 
         //清除海康人脸
         teacherFaceProcessService.removeByUserId(userId);
+
+        DataUtil dataUtil = new DataUtil();
+
         List<Long> userIds = new ArrayList<>();
         userIds.add(userId);
-        new DataUtil().deletePerson(userIds);
+        dataUtil.deletePerson(userIds);
+
+        List<CarMessageApply> carList = carMessageApplyMapper.selectList(
+                new QueryWrapper<CarMessageApply>().lambda()
+                        .eq(CarMessageApply::getDeleteMark, DeleteMark.NODELETE.getCode())
+                        .eq(CarMessageApply::getUserId, userId)
+        );
+        dataUtil.deleteCar(carList);
     }
 }