Bläddra i källkod

人脸下发批量 全量和只增量

cuimengchao 3 år sedan
förälder
incheckning
76a4a6b3cd

+ 52 - 53
src/main/java/com/yx/face/controller/TBFaceController.java

@@ -124,7 +124,6 @@ public class TBFaceController {
     @PostMapping("pushTaskResult")
     public Map<String, Object> pushTaskResult(HttpServletRequest request) {
         try {
-
             return faceTBService.pushTaskResult(getParam(request));
         } catch (Exception e) {
             log.info("上报任务结果处理 异常={}", e.getMessage());
@@ -134,19 +133,19 @@ public class TBFaceController {
         return result;
     }
 
-//
-//    @ApiOperation("批量上传人员")
-//    @PostMapping("syncUsers")
-//    public Map<String, Object> syncUsers(HttpServletRequest request) {
-//        try {
-//            return faceTBService.syncUsers(new HashMap<>());
-//        } catch (Exception e) {
-//            log.info("上报任务结果处理 异常={}", e.getMessage());
-//        }
-//        Map<String, Object> result = Maps.newHashMapWithExpectedSize(1);
-//        result.put("errCode", "00");
-//        return result;
-//    }
+
+    @ApiOperation("批量上传人员")
+    @PostMapping("syncUsers")
+    public Map<String, Object> syncUsers(HttpServletRequest request) {
+        try {
+            return faceTBService.syncUsers(getParam(request));
+        } catch (Exception e) {
+            log.info("上报任务结果处理 异常={}", e.getMessage());
+        }
+        Map<String, Object> result = Maps.newHashMapWithExpectedSize(1);
+        result.put("errCode", "00");
+        return result;
+    }
 
     @ApiOperation("获取任务ID")
     @PostMapping("getTaskId")
@@ -163,48 +162,48 @@ public class TBFaceController {
     }
 
 
-    @ApiOperation("获取设备人员列表")
-    @PostMapping("pushUsersOnline")
-    public Map<String, Object> pushUsersOnline(HttpServletRequest request) {
-//        List<Map<String, String>> list = new ArrayList<>();
-//        try {
-//            JSONObject paramJson = getParamJson(request);
-//            JSONArray data = paramJson.getJSONArray("data");
-//            for (Object datum : data) {
-//                Map<String, String> map = new HashMap<>();
-//                map.put(JSONObject.parseObject(datum.toString()).getString("cardid"), paramJson.getString("SN"));
-//                map.put("SN", paramJson.getString("SN"));
-//                map.put("taskId", paramJson.getString("taskId"));
-//                    list.add(map);
-//            }
-//            if (!list.isEmpty()){
-//                faceTBService.pushUsersOnline(list);
+//    @ApiOperation("获取设备人员列表")
+//    @PostMapping("pushUsersOnline")
+//    public Map<String, Object> pushUsersOnline(HttpServletRequest request) {
+////        List<Map<String, String>> list = new ArrayList<>();
+////        try {
+////            JSONObject paramJson = getParamJson(request);
+////            JSONArray data = paramJson.getJSONArray("data");
+////            for (Object datum : data) {
+////                Map<String, String> map = new HashMap<>();
+////                map.put(JSONObject.parseObject(datum.toString()).getString("cardid"), paramJson.getString("SN"));
+////                map.put("SN", paramJson.getString("SN"));
+////                map.put("taskId", paramJson.getString("taskId"));
+////                    list.add(map);
+////            }
+////            if (!list.isEmpty()){
+////                faceTBService.pushUsersOnline(list);
+////            }
+////        } catch (Exception e) {
+////            log.info("推送刷脸刷卡记录 异常={}", e.getMessage());
+////        }
+//        Map<String, Object> result = Maps.newHashMapWithExpectedSize(1);
+//        result.put("errCode", "00");
+//        return result;
+//    }
+
+
+//    private JSONObject getParamJson(HttpServletRequest request) {
+//        StringBuilder sb = new StringBuilder();
+//        try (InputStream is = request.getInputStream();
+//             BufferedInputStream bis = new BufferedInputStream(is)) {
+//            byte[] buffer = new byte[1024];
+//            int read;
+//            while ((read = bis.read(buffer)) != -1) {
+//                sb.append(new String(buffer, 0, read, StandardCharsets.UTF_8));
 //            }
 //        } catch (Exception e) {
-//            log.info("推送刷脸刷卡记录 异常={}", e.getMessage());
+//            e.printStackTrace();
 //        }
-        Map<String, Object> result = Maps.newHashMapWithExpectedSize(1);
-        result.put("errCode", "00");
-        return result;
-    }
-
-
-    private JSONObject getParamJson(HttpServletRequest request) {
-        StringBuilder sb = new StringBuilder();
-        try (InputStream is = request.getInputStream();
-             BufferedInputStream bis = new BufferedInputStream(is)) {
-            byte[] buffer = new byte[1024];
-            int read;
-            while ((read = bis.read(buffer)) != -1) {
-                sb.append(new String(buffer, 0, read, StandardCharsets.UTF_8));
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        String paramStr = sb.toString();
-        JSONObject jsonObject = JSONObject.parseObject(paramStr);
-        return jsonObject;
-    }
+//        String paramStr = sb.toString();
+//        JSONObject jsonObject = JSONObject.parseObject(paramStr);
+//        return jsonObject;
+//    }
 
 
     private Map<String, Object> getParam(HttpServletRequest request) {

+ 3 - 0
src/main/java/com/yx/face/dao/SystemLongTermDocumentsDao.java

@@ -11,5 +11,8 @@ import java.util.List;
 public interface SystemLongTermDocumentsDao extends TKMapper<SystemLongTermDocuments> {
 
     List<SystemLongTermDocumentsVO> getList(@Param("adminId") Integer adminId, @Param("name") String name);
+
+    Integer updateListSn(@Param("sn") String sn);
+
 }
 

+ 16 - 6
src/main/java/com/yx/face/model/entity/SystemLongTermDocuments.java

@@ -3,9 +3,7 @@ package com.yx.face.model.entity;
 
 import lombok.Data;
 
-import javax.persistence.Column;
-import javax.persistence.Id;
-import javax.persistence.Table;
+import javax.persistence.*;
 import java.util.Date;
 
 
@@ -14,24 +12,36 @@ import java.util.Date;
 public class SystemLongTermDocuments {
 
     @Id
-    private Integer id;
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long id;
+    @Column(name = "jdy_id")
+    private String jdyId;
+
     private String name;
+
     @Column(name = "app_id")
     private String appId;
+
     @Column(name = "entry_id")
     private String entryId;
-    @Column(name = "photo")
+
     private String photo;
+
     @Column(name = "id_number")
     private String idNumber;
+
     @Column(name = "create_time")
     private Date createTime;
+
     @Column(name = "expire_time")
     private Date expireTime;
+
     private String phone;
+
     @Column(name = "admin_id")
     private Integer adminId;
+
     @Column(name = "card_no")
-    private Integer cardNo;
+    private String cardNo;
 }
 

+ 1 - 1
src/main/java/com/yx/face/service/FaceTBService.java

@@ -118,5 +118,5 @@ public interface FaceTBService {
 
     void pushUsersOnline(List<Map<String, String>> list);
 
-//    Map<String, Object> syncUsers(Map<String, Object> param);
+    Map<String, Object> syncUsers(Map<String, Object> param);
 }

+ 40 - 33
src/main/java/com/yx/face/service/impl/FaceTBServiceImpl.java

@@ -56,8 +56,8 @@ public class FaceTBServiceImpl implements FaceTBService {
     private FaceLogDao faceLogDao;
     //    @Resource
 //    private SystemConfigDao systemConfigDao;
-//    @Resource
-//    private SystemLongTermDocumentsDao systemLongTermDocumentsDao;
+    @Resource
+    private SystemLongTermDocumentsDao systemLongTermDocumentsDao;
     @Autowired
     private AsyncTriggerRetryImpl asyncTriggerRetry;
     @Resource
@@ -67,8 +67,9 @@ public class FaceTBServiceImpl implements FaceTBService {
 
     @Autowired
     private UserControlEarlyWarningListService userControlEarlyWarningListService;
-    //    @Autowired
-//    private RedisUtil redisUtil;
+    @Autowired
+    private RedisUtil redisUtil;
+
     @Value("${web.address}")
     private String address;
 //
@@ -733,11 +734,9 @@ public class FaceTBServiceImpl implements FaceTBService {
 
     @Override
     public Map<String, Object> pushTaskResult(Map<String, Object> dto) {
+        System.out.println(dto+"*************");
         Map<String, Object> result = Maps.newHashMapWithExpectedSize(1);
         result.put("errCode", "00");
-        if (dto == null) {
-            return result;
-        }
         return result;
     }
 
@@ -746,9 +745,6 @@ public class FaceTBServiceImpl implements FaceTBService {
         Map<String, Object> result = Maps.newHashMapWithExpectedSize(1);
         result.put("errCode", "00");
         result.put("taskId", SnowflakeIdWorker.getSnowId());
-        if (dto == null) {
-            return result;
-        }
         return result;
     }
 
@@ -800,29 +796,40 @@ public class FaceTBServiceImpl implements FaceTBService {
 //        }
     }
 
-//    @Override
-//    public Map<String, Object> syncUsers(Map<String, Object> param) {
-//        ArrayList<Map<String, Object>> objects = new ArrayList<>();
-//        for (int i = 1; i <= 10000; i++) {
-//            Map<String, Object> dataItem = Maps.newHashMapWithExpectedSize(8);
-//            // 下发参数
-//            dataItem.put("pin", i);
-//            dataItem.put("name", "张三" + i);
-//            dataItem.put("validPeriodStart", DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
-//            dataItem.put("validPeriodEnd", DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
-//            dataItem.put("userType", 0);
-//            dataItem.put("photo", "https://files.jiandaoyun.com/FnGKTV33Vq3Re-XPfE3FtZNvK-fV?attname=FnGKTV33Vq3Re-XPfE3FtZNvK-fV.jpeg&e=1642262399&token=bM7UwVPyBBdPaleBZt21SWKzMylqPUpn-05jZlas:Xyg_TpATKLBAFiJX_YmhBa79vEE=");
-//            dataItem.put("rightno", 105);
-//            dataItem.put("cardid", "412728199706030513");
-//            objects.add(dataItem);
-//        }
-//        Map map = new HashMap();
-//        map.put("errCode", "00");
-//        map.put("totalNum", "3");
-//        map.put("updateTime", "11");
-//        map.put("data", objects);
-//        return map;
-//    }
+    @Override
+    public Map<String, Object> syncUsers(Map<String, Object> param) {
+        log.info("param===========" + param);
+        Map map = new HashMap();
+        ArrayList<Map<String, Object>> objects = new ArrayList<>();
+        Integer taskId = (Integer) param.get("taskId");
+        if ((taskId != null && "123456789".equals(taskId.toString()))||((taskId != null && "987654321".equals(taskId.toString())))) {
+            String string = (String) redisUtil.get(taskId.toString());
+            List<SystemLongTermDocuments> list = JSON.parseArray(string, SystemLongTermDocuments.class);
+            if (list!= null && !list.isEmpty()) {
+                for (SystemLongTermDocuments documents : list) {
+                    Map<String, Object> dataItem = Maps.newHashMapWithExpectedSize(8);
+                    // 下发参数
+                    dataItem.put("pin", documents.getJdyId());
+                    dataItem.put("name", documents.getName());
+                    dataItem.put("validPeriodStart", DateUtil.format(documents.getCreateTime(), "yyyy-MM-dd HH:mm:ss"));
+                    dataItem.put("validPeriodEnd", DateUtil.format(documents.getExpireTime(), "yyyy-MM-dd HH:mm:ss"));
+                    dataItem.put("userType", 0);
+                    dataItem.put("photo", documents.getPhoto());
+                    dataItem.put("rightno", 105);
+                    dataItem.put("cardid", documents.getIdNumber());
+                    objects.add(dataItem);
+                }
+            }
+        }
+        String sn = (String) param.get("SN");
+        systemLongTermDocumentsDao.updateListSn(sn);
+//        redisUtil.delete(taskId.toString());
+        map.put("errCode", "00");
+        map.put("totalNum", "3");
+        map.put("updateTime", "11");
+        map.put("data", objects);
+        return map;
+    }
 
 
     @Async

+ 3 - 0
src/main/resources/mapper/SystemLongTermDocumentsDao.xml

@@ -1,6 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.yx.face.dao.SystemLongTermDocumentsDao">
+    <update id="updateListSn">
+        UPDATE face_device SET state= '1' WHERE sn  = #{sn}
+    </update>
 
     <select id="getList" resultType="com.yx.face.model.vo.SystemLongTermDocumentsVO">
         SELECT a.id,