Parcourir la source

百胜门禁推送接口更新

liu il y a 2 ans
Parent
commit
bfc19b94ee

+ 18 - 39
.idea/workspace.xml

@@ -6,15 +6,10 @@
   <component name="ChangeListManager">
     <list default="true" id="995b8ac7-46be-4ba7-be5a-eaf424ddd316" name="Default Changelist" comment="">
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/SmartFaceDiscernControllerAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/SmartFaceDiscernControllerAPI.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/SmartFaceDiscernTestControllerAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/SmartFaceDiscernTestControllerAPI.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartFaceDiscernController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartFaceDiscernController.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartFaceDiscernTestController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartFaceDiscernTestController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartFaceDiscern.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartFaceDiscern.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartFaceDiscernTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartFaceDiscernTest.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/SmartUserService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/SmartUserService.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartFaceDiscernServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartFaceDiscernServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartUserServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartUserServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar.original" beforeDir="false" afterPath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar.original" afterDir="false" />
     </list>
     <list id="09eff92e-84e6-4825-81c9-523c173595c5" name="Changes" comment="" />
     <option name="SHOW_DIALOG" value="false" />
@@ -232,46 +227,15 @@
       <recent name="com.template.api" />
     </key>
   </component>
-  <component name="RunManager" selected="Spring Boot.MybatisPlusApplication">
-    <configuration name="AutoCode" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
-      <option name="MAIN_CLASS_NAME" value="com.template.AutoCode" />
-      <module name="mybatis_plus" />
-      <extension name="coverage">
-        <pattern>
-          <option name="PATTERN" value="com.template.*" />
-          <option name="ENABLED" value="true" />
-        </pattern>
-      </extension>
-      <method v="2">
-        <option name="Make" enabled="true" />
-      </method>
-    </configuration>
-    <configuration name="SmartFaceDiscernTestController" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
-      <option name="MAIN_CLASS_NAME" value="com.template.controller.SmartFaceDiscernTestController" />
-      <module name="mybatis_plus" />
-      <extension name="coverage">
-        <pattern>
-          <option name="PATTERN" value="com.template.controller.*" />
-          <option name="ENABLED" value="true" />
-        </pattern>
-      </extension>
-      <method v="2">
-        <option name="Make" enabled="true" />
-      </method>
-    </configuration>
+  <component name="RunManager">
     <configuration name="MybatisPlusApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
+      <option name="ACTIVE_PROFILES" />
       <module name="mybatis_plus" />
       <option name="SPRING_BOOT_MAIN_CLASS" value="com.template.MybatisPlusApplication" />
       <method v="2">
         <option name="Make" enabled="true" />
       </method>
     </configuration>
-    <recent_temporary>
-      <list>
-        <item itemvalue="Application.SmartFaceDiscernTestController" />
-        <item itemvalue="Application.AutoCode" />
-      </list>
-    </recent_temporary>
   </component>
   <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
   <component name="SshConsoleOptionsProvider">
@@ -451,6 +415,21 @@
           <line>371</line>
           <option name="timeStamp" value="21" />
         </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartFaceDiscernTestController.java</url>
+          <line>67</line>
+          <option name="timeStamp" value="35" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/SmartFaceDiscernTestController.java</url>
+          <line>84</line>
+          <option name="timeStamp" value="37" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartUploadServiceImpl.java</url>
+          <line>95</line>
+          <option name="timeStamp" value="40" />
+        </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
   </component>

+ 141 - 88
src/main/java/com/template/controller/SmartFaceDiscernController.java

@@ -152,12 +152,12 @@ public class SmartFaceDiscernController implements SmartFaceDiscernControllerAPI
             vos.add(lastSevenDaysTrackVo);
         }
 
-        List<SmartAttendance> attendances=smartAttendanceService.track(startTime,endTime,userId);
+        List<SmartAttendance> attendances = smartAttendanceService.track(startTime, endTime, userId);
 //        获取班级名称
         SmartUser smartUser = smartUserService.getSmartById(userId);
         SmartClass smartClass = smartClassService.getSmartClassById(smartUser.getSchoolClass());
         String className = smartClass.getName();
-        SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss" );
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         for (SmartAttendance attendance : attendances) {
             LastSevenDaysTrackVo lastSevenDaysTrackVo = new LastSevenDaysTrackVo();
             lastSevenDaysTrackVo.setName(attendance.getXwUserName());
@@ -178,6 +178,8 @@ public class SmartFaceDiscernController implements SmartFaceDiscernControllerAPI
     }
 
     @Override
+    @PassToken
+    @DESRespondSecret(validated = false)
     public String callBack(HttpServletRequest request, HttpServletResponse response) {
         try {
             BufferedReader streamReader = new BufferedReader(new InputStreamReader(request.getInputStream(), "UTF-8"));
@@ -187,103 +189,148 @@ public class SmartFaceDiscernController implements SmartFaceDiscernControllerAPI
                 responseStrBuilder.append(inputStr);
             }
             JSONObject jsonObject = JSONObject.parseObject(responseStrBuilder.toString());
-//            System.out.println("jsonObject = " + jsonObject);
-//            比对结果
-            Integer resultStatus = jsonObject.getInteger("resultStatus");
-            if (1 == resultStatus) {
 
-//          抓拍的照片 base64字符串
-                String scenePhoto = jsonObject.getString("scenePhoto");
-                scenePhoto = "data:image/jpeg;base64," + scenePhoto;
-                System.out.println("scenePhoto = " + scenePhoto.substring(0, 100));
-//            base64转文件
-                MultipartFile multipartFile = MultipartFileUtils.base64ToMultipartFile(scenePhoto);
-//            上传到cos桶,并生成图片地址
-                String image = smartUploadService.upload(new MultipartFile[]{multipartFile});
-
-                //          设备sn
-                String sn = jsonObject.getString("sn");
-                SmartDevice smartDevice = smartDeviceService.getNum(sn);
-                String address = "";
-                String type = "";
-                if (ObjectUtils.isNotEmpty(smartDevice)) {
-                    //            地点
-                    address = smartDevice.getAddress();
+            DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+            //                比对时间
+            String time = jsonObject.getString("time");
+            logger.info("time = " + time);
+            LocalDateTime localDateTime = LocalDateTime.now().withHour(0).withSecond(0).withMinute(0);
+            LocalDateTime localDateTime2 = LocalDateTime.parse(time, dateTimeFormatter1);
+//            只获取当天的
+            if (localDateTime.isBefore(localDateTime2)) {
+//            比对结果
+                Integer resultStatus = jsonObject.getInteger("resultStatus");
+                if (1 == resultStatus) {
+
+                    //          设备sn
+                    String sn = jsonObject.getString("sn");
+                    SmartDevice smartDevice = smartDeviceService.getNum(sn);
+                    String address = "";
+                    String type = "";
+                    if (ObjectUtils.isNotEmpty(smartDevice)) {
+                        //            地点
+                        address = smartDevice.getAddress();
 //            类型
-                    type = smartDevice.getName();
-                }
+                        type = smartDevice.getName();
+                    }
 
 //            名字,学生会加班级[]
-                String name = jsonObject.getString("name");
-                System.out.println("name = " + name);
-                String[] split = name.split("\\[");
-                String s = split[0];
-                System.out.println("s = " + s);
+                    String name = jsonObject.getString("name");
+                    System.out.println("name = " + name);
+                    String[] split = name.split("\\[");
+                    String s = split[0];
+                    logger.info("name = " + s);
 //            百胜门禁编号
-                String idNum = jsonObject.getString("idNum");
-                System.out.println("idNum = " + idNum);
-                SmartUser smartUser = smartUserService.getBsStudentNo(idNum);
-                Integer userId = 0;
-                if (ObjectUtils.isNotEmpty(smartUser)) {
-                    userId = smartUser.getId();
-                } else {
-                    userId = 0;
-                }
-                DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-                String dateTime = dateTimeFormatter1.format(LocalDateTime.now());
-
-                SmartFaceDiscern smartFaceDiscern = new SmartFaceDiscern();
-                smartFaceDiscern.setImage(image);
-                smartFaceDiscern.setName(s);
-                smartFaceDiscern.setLocation(address);
-                smartFaceDiscern.setType(type);
-                smartFaceDiscern.setUserId(userId);
-                smartFaceDiscern.setDateTime(dateTime);
-                smartFaceDiscern.setIdNum(idNum);
-                smartFaceDiscern.setSn(sn);
-                smartFaceDiscernService.save(smartFaceDiscern);
-
-                if (userId != 0) {
-
-//                        通过学生id找到关联的家长affiliate,并找到公众号,如果openid为空则不传
-                    List<SmartUser> userList = smartUserService.getAffiliateList(userId);
-                    if (ObjectUtils.isNotEmpty(userList) && userList.size() > 0) {
-
-                        for (SmartUser user : userList) {
-                            String gzhOpenId = user.getGzhOpenId();
-                            if (ObjectUtils.isNotEmpty(gzhOpenId)) {
-                                String pushType = "";
-                                if (type.contains("进校")) {
-                                    pushType = "进入大门";
-                                } else if (type.contains("出校")) {
-                                    pushType = "离开大门";
-                                }
+                    String idNum = jsonObject.getString("idNum");
+                    logger.info("idNum = " + idNum);
+                    SmartUser smartUser = smartUserService.getBsStudentNo(idNum);
+                    Integer userId = 0;
+                    if (ObjectUtils.isNotEmpty(smartUser)) {
+                        userId = smartUser.getId();
+                    } else {
+                        userId = 0;
+                    }
 
-                                //                        时间格式是 yyyy-MM-dd HH:mm:ss,当前时间格式有问题
-                                LocalDateTime date = LocalDateTime.now();
-                                String format = date.format(dateTimeFormatter1);
 
-                                //                    公众号信息推送
-                                Message2.send(gzhOpenId, pushType, address, format);
+                    SmartFaceDiscern smartFaceDiscern = new SmartFaceDiscern();
+
+                    smartFaceDiscern.setName(s);
+                    smartFaceDiscern.setLocation(address);
+                    smartFaceDiscern.setType(type);
+                    smartFaceDiscern.setUserId(userId);
+                    smartFaceDiscern.setDateTime(time);
+                    smartFaceDiscern.setIdNum(idNum);
+                    smartFaceDiscern.setSn(sn);
+                    if (userId != 0) {
+                        //                    判断是否已经添加
+                        LambdaQueryWrapper<SmartFaceDiscern> wrapperFD = new LambdaQueryWrapper<>();
+                        wrapperFD.eq(SmartFaceDiscern::getDateTime, smartFaceDiscern.getDateTime())
+                                .eq(SmartFaceDiscern::getUserId, userId);
+                        List<SmartFaceDiscern> list = smartFaceDiscernService.list(wrapperFD);
+                        if (ObjectUtils.isEmpty(list) && list.size() == 0) {
+                            //          抓拍的照片 base64字符串
+                            String scenePhoto = jsonObject.getString("scenePhoto");
+                            scenePhoto = "data:image/jpeg;base64," + scenePhoto;
+                            logger.info("scenePhoto =" + scenePhoto.substring(0, 50));
+//            base64转文件
+                            MultipartFile multipartFile = MultipartFileUtils.base64ToMultipartFile(scenePhoto);
+                            String image="";
+                            try {
+                                //            上传到cos桶,并生成图片地址
+                                 image = smartUploadService.upload(new MultipartFile[]{multipartFile});
+                            }catch (Exception e){
+                                e.printStackTrace();
+                                logger.error("上传cos桶失败");
+                            }
 
-                                SmartNotification smartNotification = new SmartNotification();
-                                smartNotification.setUserId(smartUser.getId());
-                                smartNotification.setUserName(smartUser.getName());
-                                smartNotification.setTypeName(pushType);
-                                smartNotification.setLocation(address);
-                                smartNotification.setImage(image);
-                                smartNotification.setDateTime(dateTime);
-                                smartNotification.setType(2);
+                            smartFaceDiscern.setImage(image);
+                            smartFaceDiscernService.save(smartFaceDiscern);
 
-                                smartNotificationService.save(smartNotification);
+//                        通过学生id找到关联的家长affiliate,并找到公众号,如果openid为空则不传
+                            List<SmartUser> userList = smartUserService.getAffiliateList(userId);
+                            if (ObjectUtils.isNotEmpty(userList) && userList.size() > 0) {
+
+                                for (SmartUser user : userList) {
+                                    String gzhOpenId = user.getGzhOpenId();
+                                    if (ObjectUtils.isNotEmpty(gzhOpenId)) {
+                                        String pushType = "";
+                                        if (type.contains("进校")) {
+                                            pushType = "进入大门";
+                                        } else if (type.contains("出校")) {
+                                            pushType = "离开大门";
+                                        }
+                                        LocalDateTime date = LocalDateTime.now();
+                                        String format = date.format(dateTimeFormatter1);
+                                        //                    公众号信息推送
+                                        Message2.send(gzhOpenId, pushType, address, format);
+
+                                        SmartNotification smartNotification = new SmartNotification();
+                                        smartNotification.setUserId(smartUser.getId());
+                                        smartNotification.setUserName(smartUser.getName());
+                                        smartNotification.setTypeName(pushType);
+                                        smartNotification.setLocation(address);
+                                        smartNotification.setImage(image);
+                                        smartNotification.setDateTime(time);
+                                        smartNotification.setType(2);
+
+                                        smartNotificationService.save(smartNotification);
+
+                                    }
 
+                                }
                             }
-
+                        }
+                    } else {
+
+                        smartFaceDiscern.setUserId(0);
+//                    判断是否已经添加
+                        LambdaQueryWrapper<SmartFaceDiscern> wrapperFD = new LambdaQueryWrapper<>();
+                        wrapperFD.eq(SmartFaceDiscern::getDateTime, time)
+                                .eq(SmartFaceDiscern::getName, s)
+                                .eq(SmartFaceDiscern::getType, type);
+                        List<SmartFaceDiscern> list = smartFaceDiscernService.list(wrapperFD);
+
+                        if (ObjectUtils.isEmpty(list) && list.size() == 0) {
+                            //          抓拍的照片 base64字符串
+                            String scenePhoto = jsonObject.getString("scenePhoto");
+                            scenePhoto = "data:image/jpeg;base64," + scenePhoto;
+                            logger.info("scenePhoto =" + scenePhoto.substring(0, 50));
+//            base64转文件
+                            MultipartFile multipartFile = MultipartFileUtils.base64ToMultipartFile(scenePhoto);
+                            String image="";
+                            try {
+                                //            上传到cos桶,并生成图片地址
+                                image = smartUploadService.upload(new MultipartFile[]{multipartFile});
+                            }catch (Exception e){
+                                e.printStackTrace();
+                                logger.error("上传cos桶失败");
+                            }
+                            smartFaceDiscern.setImage(image);
+                            smartFaceDiscernService.save(smartFaceDiscern);
                         }
 
                     }
                 }
-
             }
 
         } catch (
@@ -319,10 +366,16 @@ public class SmartFaceDiscernController implements SmartFaceDiscernControllerAPI
     }
 
     public static void main(String[] args) {
-        LocalDateTime end = LocalDateTime.now().withHour(0).withMinute(0).withSecond(0).plusDays(1);
-        System.out.println("end = " + end);
-        LocalDateTime satrt = end.minusDays(7);
-        System.out.println("satrt = " + satrt);
+        LocalDateTime dateTime1 = LocalDateTime.of(2022, 8, 29, 12, 0, 0);
+        LocalDateTime dateTime2 = LocalDateTime.of(2022, 8, 30, 12, 0, 0);
+        LocalDateTime dateTime3 = LocalDateTime.of(2022, 8, 28, 12, 0, 0);
+
+        boolean isBefore = dateTime1.isBefore(dateTime2);
+        boolean isBefore2 = dateTime1.isBefore(dateTime3);
+
+        System.out.println("dateTime1 is before dateTime2: " + isBefore);
+        System.out.println("dateTime1 is before dateTime2: " + isBefore2);
+
     }
 
 }

+ 66 - 51
src/main/java/com/template/controller/SmartFaceDiscernTestController.java

@@ -2,16 +2,14 @@ package com.template.controller;
 
 
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.template.annotation.DESRespondSecret;
 import com.template.annotation.PassToken;
 import com.template.api.SmartFaceDiscernTestControllerAPI;
 import com.template.common.utils.Message2;
 import com.template.common.utils.MultipartFileUtils;
-import com.template.model.pojo.SmartDevice;
-import com.template.model.pojo.SmartFaceDiscernTest;
-import com.template.model.pojo.SmartNotification;
-import com.template.model.pojo.SmartUser;
+import com.template.model.pojo.*;
 import com.template.services.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -27,7 +25,6 @@ import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.Date;
 import java.util.List;
-
 /**
  * <p>
  * 前端控制器
@@ -66,20 +63,12 @@ public class SmartFaceDiscernTestController implements SmartFaceDiscernTestContr
                 responseStrBuilder.append(inputStr);
             }
             JSONObject jsonObject = JSONObject.parseObject(responseStrBuilder.toString());
-//            System.out.println("jsonObject = " + jsonObject);
+
 //            比对结果
             Integer resultStatus = jsonObject.getInteger("resultStatus");
             if (1 == resultStatus) {
-
-//          抓拍的照片 base64字符串
-                String scenePhoto = jsonObject.getString("scenePhoto");
-                scenePhoto = "data:image/jpeg;base64," + scenePhoto;
-                System.out.println("scenePhoto = " + scenePhoto.substring(0, 100));
-//            base64转文件
-                MultipartFile multipartFile = MultipartFileUtils.base64ToMultipartFile(scenePhoto);
-//            上传到cos桶,并生成图片地址
-                String image = smartUploadService.upload(new MultipartFile[]{multipartFile});
-
+                //                比对时间
+                String time = jsonObject.getString("time");
                 //          设备sn
                 String sn = jsonObject.getString("sn");
                 SmartDevice smartDevice = smartDeviceService.getNum(sn);
@@ -108,8 +97,15 @@ public class SmartFaceDiscernTestController implements SmartFaceDiscernTestContr
                 } else {
                     userId = 0;
                 }
-                DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-                String dateTime = dateTimeFormatter1.format(LocalDateTime.now());
+
+//          抓拍的照片 base64字符串
+                String scenePhoto = jsonObject.getString("scenePhoto");
+                scenePhoto = "data:image/jpeg;base64," + scenePhoto;
+//            base64转文件
+                MultipartFile multipartFile = MultipartFileUtils.base64ToMultipartFile(scenePhoto);
+//            上传到cos桶,并生成图片地址
+                String image = smartUploadService.upload(new MultipartFile[]{multipartFile});
+
 
                 SmartFaceDiscernTest smartFaceDiscernTest = new SmartFaceDiscernTest();
                 smartFaceDiscernTest.setImage(image);
@@ -117,51 +113,70 @@ public class SmartFaceDiscernTestController implements SmartFaceDiscernTestContr
                 smartFaceDiscernTest.setLocation(address);
                 smartFaceDiscernTest.setType(type);
                 smartFaceDiscernTest.setUserId(userId);
-                smartFaceDiscernTest.setDateTime(dateTime);
+                smartFaceDiscernTest.setDateTime(time);
                 smartFaceDiscernTest.setIdNum(idNum);
                 smartFaceDiscernTest.setSn(sn);
-                smartFaceDiscernTestService.save(smartFaceDiscernTest);
+
 
                 if (userId != 0) {
+                    //                    判断是否已经添加
+                    LambdaQueryWrapper<SmartFaceDiscernTest> wrapperFD = new LambdaQueryWrapper<>();
+                    wrapperFD.eq(SmartFaceDiscernTest::getDateTime, time)
+                            .eq(SmartFaceDiscernTest::getUserId, userId);
+                    List<SmartFaceDiscernTest> list = smartFaceDiscernTestService.list(wrapperFD);
+                    if (ObjectUtils.isEmpty(list) && list.size() == 0) {
+                        smartFaceDiscernTestService.save(smartFaceDiscernTest);
 
 //                        通过学生id找到关联的家长affiliate,并找到公众号,如果openid为空则不传
-                    List<SmartUser> userList = smartUserService.getAffiliateList(userId);
-                    if (ObjectUtils.isNotEmpty(userList) && userList.size() > 0) {
-
-                        for (SmartUser user : userList) {
-                            String gzhOpenId = user.getGzhOpenId();
-                            if (ObjectUtils.isNotEmpty(gzhOpenId)) {
-                                String pushType = "";
-                                if (type.contains("进校")) {
-                                    pushType = "进入大门";
-                                } else if (type.contains("出校")) {
-                                    pushType = "离开大门";
-                                }
-
-                                //                        时间格式是 yyyy-MM-dd HH:mm:ss,当前时间格式有问题
-
-                                LocalDateTime date = LocalDateTime.now();
-                                String format = date.format(dateTimeFormatter1);
+                        List<SmartUser> userList = smartUserService.getAffiliateList(userId);
+                        if (ObjectUtils.isNotEmpty(userList) && userList.size() > 0) {
+
+                            for (SmartUser user : userList) {
+                                String gzhOpenId = user.getGzhOpenId();
+                                if (ObjectUtils.isNotEmpty(gzhOpenId)) {
+                                    String pushType = "";
+                                    if (type.contains("进校")) {
+                                        pushType = "进入大门";
+                                    } else if (type.contains("出校")) {
+                                        pushType = "离开大门";
+                                    }
+                                    DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+                                    LocalDateTime date = LocalDateTime.now();
+                                    String format = date.format(dateTimeFormatter1);
+                                    //                    公众号信息推送
+                                    Message2.send(gzhOpenId, pushType, address,format);
+
+                                    SmartNotification smartNotification = new SmartNotification();
+                                    smartNotification.setUserId(smartUser.getId());
+                                    smartNotification.setUserName(smartUser.getName());
+                                    smartNotification.setTypeName(pushType);
+                                    smartNotification.setLocation(address);
+                                    smartNotification.setImage(image);
+                                    smartNotification.setDateTime(time);
+                                    smartNotification.setType(2);
+
+                                    smartNotificationService.save(smartNotification);
 
-                                //                    公众号信息推送
-                                Message2.send(gzhOpenId, pushType, address, format);
-
-                                SmartNotification smartNotification = new SmartNotification();
-                                smartNotification.setUserId(smartUser.getId());
-                                smartNotification.setUserName(smartUser.getName());
-                                smartNotification.setTypeName(pushType);
-                                smartNotification.setLocation(address);
-                                smartNotification.setImage(image);
-                                smartNotification.setDateTime(dateTime);
-                                smartNotification.setType(2);
-
-                                smartNotificationService.save(smartNotification);
+                                }
 
                             }
-
                         }
+                    }
+                }else {
+
+                    smartFaceDiscernTest.setUserId(0);
 
+//                    判断是否已经添加
+                    LambdaQueryWrapper<SmartFaceDiscernTest> wrapperFD = new LambdaQueryWrapper<>();
+                    wrapperFD.eq(SmartFaceDiscernTest::getDateTime, time)
+                            .eq(SmartFaceDiscernTest::getName, s)
+                            .eq(SmartFaceDiscernTest::getType, type);
+                    List<SmartFaceDiscernTest> list = smartFaceDiscernTestService.list(wrapperFD);
+
+                    if (ObjectUtils.isEmpty(list) && list.size() == 0) {
+                        smartFaceDiscernTestService.save(smartFaceDiscernTest);
                     }
+
                 }
 
             }

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

@@ -61,7 +61,7 @@ public class SmartFaceDiscernServiceImpl extends ServiceImpl<SmartFaceDiscernMap
     private Integer page = 1;
     private Integer size = 50;
 
-//    @Scheduled(cron = "0 0/50 * * * ? ")
+
     @Async
 //    @Scheduled(cron = "0 0 0/1 * * ? ")
     public void baiS() {

BIN
target/mybatis_plus-0.0.1-SNAPSHOT.jar.original