ソースを参照

修改添加百胜人脸记录接口

liu 2 年 前
コミット
a5ade0e905

+ 35 - 12
src/main/java/com/template/services/impl/SmartFaceDiscernServiceImpl.java

@@ -2,7 +2,6 @@ package com.template.services.impl;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.template.common.utils.*;
@@ -22,7 +21,9 @@ import java.net.URLDecoder;
 import java.net.URLEncoder;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 import static com.template.common.utils.AesTestOne.decrypt;
 
@@ -129,6 +130,8 @@ public class SmartFaceDiscernServiceImpl extends ServiceImpl<SmartFaceDiscernMap
 
 
                 JSONArray data2 = jsonObject2.getJSONArray("data");
+//              去重
+                HashSet<SmartFaceDiscern> smartFaceDiscerns = new HashSet<>();
                 for (int i = 0; i < data2.size(); i++) {
                     JSONObject jsonObject3 = data2.getJSONObject(i);
                     SmartFaceDiscern smartFaceDiscern = new SmartFaceDiscern();
@@ -157,6 +160,7 @@ public class SmartFaceDiscernServiceImpl extends ServiceImpl<SmartFaceDiscernMap
 //                编号
                     String student_no = jsonObject3.getString("student_no");
 
+
                     LambdaQueryWrapper<SmartUser> wrapper = new LambdaQueryWrapper<>();
                     wrapper.eq(SmartUser::getBsStudentNo, student_no);
                     wrapper.eq(SmartUser::getName, student_name);
@@ -164,19 +168,36 @@ public class SmartFaceDiscernServiceImpl extends ServiceImpl<SmartFaceDiscernMap
 
                     if (ObjectUtils.isNotEmpty(smartUser)) {
                         smartFaceDiscern.setUserId(smartUser.getId());
+                    } else {
+                        smartFaceDiscern.setUserId(0);
+                    }
 
-//                    判断是否已经添加
+                    smartFaceDiscerns.add(smartFaceDiscern);
+                }
+
+                for (SmartFaceDiscern smartFaceDiscern : smartFaceDiscerns) {
+                    Integer userId = smartFaceDiscern.getUserId();
+                    String deviceName = smartFaceDiscern.getType();
+                    String deviceArea = smartFaceDiscern.getLocation();
+                    String recordPhoto = smartFaceDiscern.getImage();
+                    String recordAddtime = smartFaceDiscern.getDateTime();
+                    String student_name = smartFaceDiscern.getName();
+                    if (userId != 0) {
+                        //                    判断是否已经添加
                         LambdaQueryWrapper<SmartFaceDiscern> wrapperFD = new LambdaQueryWrapper<>();
-                        wrapperFD.eq(SmartFaceDiscern::getDateTime, recordAddtime)
-                                .eq(SmartFaceDiscern::getUserId, smartUser.getId());
-                        SmartFaceDiscern one = this.getOne(wrapperFD);
+                        wrapperFD.eq(SmartFaceDiscern::getDateTime, smartFaceDiscern.getDateTime())
+                                .eq(SmartFaceDiscern::getUserId, userId);
+                        List<SmartFaceDiscern> list = this.list(wrapperFD);
 
-                        if (ObjectUtils.isEmpty(one)) {
+                        if (ObjectUtils.isEmpty(list) && list.size() == 0) {
                             this.save(smartFaceDiscern);
 
+
 //                        通过学生id找到关联的家长affiliate,并找到公众号,如果openid为空则不传
-                            List<SmartUser> userList = smartUserService.getAffiliateList(smartUser.getId());
+                            List<SmartUser> userList = smartUserService.getAffiliateList(userId);
                             if (ObjectUtils.isNotEmpty(userList) && userList.size() > 0) {
+                                SmartUser smartUser = smartUserService.getById(userId);
+
                                 for (SmartUser user : userList) {
                                     String gzhOpenId = user.getGzhOpenId();
                                     if (ObjectUtils.isNotEmpty(gzhOpenId)) {
@@ -214,7 +235,7 @@ public class SmartFaceDiscernServiceImpl extends ServiceImpl<SmartFaceDiscernMap
 
                         }
 
-                    }else {
+                    } else {
 
                         smartFaceDiscern.setUserId(0);
 
@@ -222,17 +243,19 @@ public class SmartFaceDiscernServiceImpl extends ServiceImpl<SmartFaceDiscernMap
                         LambdaQueryWrapper<SmartFaceDiscern> wrapperFD = new LambdaQueryWrapper<>();
                         wrapperFD.eq(SmartFaceDiscern::getDateTime, recordAddtime)
                                 .eq(SmartFaceDiscern::getName, student_name)
-                                .eq(SmartFaceDiscern::getType,deviceName );
-                        SmartFaceDiscern one = this.getOne(wrapperFD);
+                                .eq(SmartFaceDiscern::getType, deviceName);
+                        List<SmartFaceDiscern> list = this.list(wrapperFD);
 
-                        if (ObjectUtils.isEmpty(one)) {
+                        if (ObjectUtils.isEmpty(list) && list.size() == 0) {
                             this.save(smartFaceDiscern);
                         }
 
                     }
-
                 }
+
+
             }
+
         }
     }