|
|
@@ -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);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|