Explorar el Código

Merge branch 'master' of https://e.coding.net/chuanghaikeji/smartCampus/backend_code

夏文涛 hace 1 año
padre
commit
3ae7e4bee3
Se han modificado 21 ficheros con 280 adiciones y 49 borrados
  1. 5 0
      src/main/java/com/template/api/SmartRelationControllerAPI.java
  2. 1 1
      src/main/java/com/template/api/SmartScoreControllerAPI.java
  3. 9 0
      src/main/java/com/template/controller/SmartRelationController.java
  4. 8 8
      src/main/java/com/template/controller/SmartScoreController.java
  5. 19 6
      src/main/java/com/template/controller/SmartVisitorController.java
  6. 3 2
      src/main/java/com/template/mapper/SmartAccessMapper.java
  7. 5 0
      src/main/java/com/template/mapper/SmartFaceDiscernMapper.java
  8. 4 0
      src/main/java/com/template/mapper/SmartRelationMapper.java
  9. 23 0
      src/main/java/com/template/model/vo/SmartRelationAppVo.java
  10. 2 0
      src/main/java/com/template/model/vo/SmartRelationVo.java
  11. 4 0
      src/main/java/com/template/services/SmartAttendanceService.java
  12. 1 1
      src/main/java/com/template/services/SmartEvaluateStudentService.java
  13. 3 0
      src/main/java/com/template/services/SmartRelationService.java
  14. 2 7
      src/main/java/com/template/services/impl/SmartAccessServiceImpl.java
  15. 22 0
      src/main/java/com/template/services/impl/SmartAttendanceServiceImpl.java
  16. 2 2
      src/main/java/com/template/services/impl/SmartEvaluateStudentServiceImpl.java
  17. 2 7
      src/main/java/com/template/services/impl/SmartFaceDiscernServiceImpl.java
  18. 92 14
      src/main/java/com/template/services/impl/SmartRelationServiceImpl.java
  19. 19 0
      src/main/resources/mapper/template/SmartAccessMapper.xml
  20. 25 0
      src/main/resources/mapper/template/SmartFaceDiscernMapper.xml
  21. 29 1
      src/main/resources/mapper/template/SmartRelationMapper.xml

+ 5 - 0
src/main/java/com/template/api/SmartRelationControllerAPI.java

@@ -14,4 +14,9 @@ public interface SmartRelationControllerAPI {
     @ApiOperation(value = "个人亲密度展示", notes = "个人亲密度展示", httpMethod = "GET")
     CommonResult getList(@RequestParam int currentPage, @RequestParam int pageCount,@RequestParam Integer userId,String startTime,String endTime);
 
+    @GetMapping(value = "/getAppList")
+    @ApiOperation(value = "小程序——个人亲密度展示", notes = "小程序——个人亲密度展示", httpMethod = "GET")
+    CommonResult getAppList(@RequestParam int currentPage, @RequestParam int pageCount,@RequestParam Integer userId,String startTime,String endTime);
+
+
 }

+ 1 - 1
src/main/java/com/template/api/SmartScoreControllerAPI.java

@@ -113,7 +113,7 @@ public interface SmartScoreControllerAPI {
 
     @GetMapping(value = "/teacherMessage")
     @ApiOperation(value = "老师寄语", notes = "老师寄语", httpMethod = "GET")
-    CommonResult teacherMessage(@RequestParam String cardNo);
+    CommonResult teacherMessage(@RequestParam String cardNo,@RequestParam String termId);
 
     @GetMapping(value = "/studentExamName")
     @ApiOperation(value = "学生考试名称分组", notes = "学生考试名称分组", httpMethod = "GET")

+ 9 - 0
src/main/java/com/template/controller/SmartRelationController.java

@@ -6,6 +6,7 @@ import com.template.api.SmartRelationControllerAPI;
 import com.template.model.pojo.SmartRelation;
 import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
+import com.template.model.vo.SmartRelationAppVo;
 import com.template.model.vo.SmartRelationVo;
 import com.template.services.SmartRelationService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -39,5 +40,13 @@ public class SmartRelationController implements SmartRelationControllerAPI {
 
         return CommonResult.ok(pageUtils);
     }
+
+    @Override
+    @DESRespondSecret(validated = true)
+    public CommonResult getAppList(int currentPage, int pageCount, Integer userId, String startTime, String endTime) {
+        PageUtils<SmartRelationAppVo> pageUtils =smartRelationService.getAppList(currentPage,pageCount,userId,startTime,endTime);
+
+        return CommonResult.ok(pageUtils);
+    }
 }
 

+ 8 - 8
src/main/java/com/template/controller/SmartScoreController.java

@@ -915,14 +915,14 @@ public class SmartScoreController implements SmartScoreControllerAPI {
 
     @Override
     @DESRespondSecret(validated = true)
-    public CommonResult teacherMessage(String cardNo) {
-        LocalDateTime now = LocalDateTime.now();
-        SmartSemester smartSemester = smartSemesterService.getSemester(now);
-        if (ObjectUtils.isEmpty(smartSemester)) {
-            return CommonResult.ok("当前时间不属于任何学期");
-        }
-        String name = smartSemester.getName();
-        SmartEvaluateStudent smartEvaluateStudent = smartEvaluateStudentService.getTeacherMessage(cardNo, name);
+    public CommonResult teacherMessage(String cardNo,String termId) {
+//        LocalDateTime now = LocalDateTime.now();
+//        SmartSemester smartSemester = smartSemesterService.getSemester(now);
+//        if (ObjectUtils.isEmpty(smartSemester)) {
+//            return CommonResult.ok("当前时间不属于任何学期");
+//        }
+//        String name = smartSemester.getName();
+        SmartEvaluateStudent smartEvaluateStudent = smartEvaluateStudentService.getTeacherMessage(cardNo, termId);
         HashMap<String, String> map = new HashMap<>();
         if (ObjectUtils.isNotEmpty(smartEvaluateStudent)) {
             String scoreComment = smartEvaluateStudent.getScoreComment();

+ 19 - 6
src/main/java/com/template/controller/SmartVisitorController.java

@@ -651,16 +651,29 @@ public class SmartVisitorController implements SmartVisitorControllerAPI {
                 SmartUser smartUser = smartUserService.getById(respondent);
                 Integer schoolClass = smartUser.getSchoolClass();
                 SmartVisitorParentsConfig svpc = smartVisitorParentsConfigService.getById(schoolClass);
-                Integer appPushConfig = svpc.getAppPushConfig();
-//                判断是否需要推送
-                if (5 == appPushConfig) {//需要推送
+                //                先判断是管理端还是小程序
+                Integer source = sv.getSource();
+                Integer pushConfig=0;
+                Integer cancelConfig=0;
+                if (source==1) {
+                    //                判断小程序是否需要推送
+                    pushConfig = svpc.getAppPushConfig();
+                    //                核销
+                    cancelConfig  = svpc.getAppCancelConfig();
+                }else {
+                    //                判断大屏是否需要推送
+                    pushConfig = svpc.getScreenPushConfig();
+                    //                核销
+                    cancelConfig  = svpc.getScreenCancelConfig();
+                }
+
+                if (5 == pushConfig) {//需要推送
                     String content = sv.getRespondentName() + "你的家长将于" + TimeExchange.chineseDateTime(sv.getVisitorTime()) + "到校!";
                     //将预约信息推送到希沃班牌
                     CommonResult seewo = pushInfo(sv.getUserPhone(), sv.getResponcode(), content);
                 }
-//                核销
-                Integer appCancelConfig = svpc.getAppCancelConfig();
-                if (6 == appCancelConfig) {//需要核销
+
+                if (6 == cancelConfig) {//需要核销
                     sv.setStatu(7);
                 } else {//不需要核销
                     sv.setStatu(9);

+ 3 - 2
src/main/java/com/template/mapper/SmartAccessMapper.java

@@ -9,6 +9,7 @@ import com.template.model.vo.VisitorPageVo;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
+import java.time.LocalDateTime;
 import java.util.List;
 
 /**
@@ -29,7 +30,7 @@ public interface SmartAccessMapper extends BaseMapper<SmartAccess> {
     IPage<SmartAccessVo> getAccessPage(Page<SmartAccessVo> page,@Param("keyWord") String keyWord,@Param("gradeId") Integer gradeId, @Param("classId") Integer classId,@Param("resultStatus") String resultStatus,@Param("inOut") String inOut,@Param("startTime") String startTime,@Param("endTime") String endTime);
 
 
+    List<SmartAccess> toDatelist(@Param("start") LocalDateTime start,@Param("end") LocalDateTime end);
 
-
-
+    List<SmartAccess> toDateAndPlacelist(@Param("startTime") LocalDateTime startTime,@Param("endTime") LocalDateTime endTime,@Param("type") String type);
 }

+ 5 - 0
src/main/java/com/template/mapper/SmartFaceDiscernMapper.java

@@ -10,6 +10,7 @@ import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
+import java.time.LocalDateTime;
 import java.util.List;
 
 /**
@@ -28,4 +29,8 @@ public interface SmartFaceDiscernMapper extends BaseMapper<SmartFaceDiscern> {
     List<FaceManagementVo> faceManagementExport(@Param("keyWord") String keyWord, @Param("gradeId") String gradeId, @Param("classId") String classId, @Param("startTime") String startTime, @Param("endTime") String endTime);
 
     List<FaceDiscernVo> queryFaceCountByDate(@Param("startTime") String startTime, @Param("endTime") String endTime);
+
+    List<SmartFaceDiscern> toDateList(@Param("start") LocalDateTime start,@Param("end") LocalDateTime end);
+
+    List<SmartFaceDiscern> toDateAndPlacelist(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime, @Param("location") String location);
 }

+ 4 - 0
src/main/java/com/template/mapper/SmartRelationMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.template.model.pojo.SmartRelation;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.template.model.vo.SmartRelationAppVo;
 import com.template.model.vo.SmartRelationVo;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
@@ -22,4 +23,7 @@ import java.util.List;
 public interface SmartRelationMapper extends BaseMapper<SmartRelation> {
 
     IPage<SmartRelationVo> getList(Page<SmartRelationVo> page, @Param("userId") Integer userId, @Param("startTime") String startTime, @Param("endTime") String endTime);
+
+    IPage<SmartRelationAppVo> getAppList(Page<SmartRelationAppVo> page, @Param("userId") Integer userId, @Param("startTime") String startTime, @Param("endTime") String endTime);
+
 }

+ 23 - 0
src/main/java/com/template/model/vo/SmartRelationAppVo.java

@@ -0,0 +1,23 @@
+package com.template.model.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class SmartRelationAppVo {
+    @ApiModelProperty(value = "关联人id")
+    private Integer relationId;
+
+    @ApiModelProperty(value = "关联人名称")
+    private String relationName;
+
+    private String className;
+
+    //次数
+    private Integer count;
+
+    private String cardNo;
+
+    private String headImage;
+
+}

+ 2 - 0
src/main/java/com/template/model/vo/SmartRelationVo.java

@@ -18,4 +18,6 @@ public class SmartRelationVo {
     //次数
     private Integer count;
 
+
+
 }

+ 4 - 0
src/main/java/com/template/services/SmartAttendanceService.java

@@ -54,4 +54,8 @@ public interface SmartAttendanceService extends IService<SmartAttendance> {
     List<AckDetailVo> ackDetail(Integer userId, LocalDateTime startTime, LocalDateTime endTime);
 
     Integer deleteDatasByids(List<Integer> ids);
+
+    List<SmartAttendance> toDateList(LocalDateTime start, LocalDateTime end);
+
+    List<SmartAttendance> toDateAndPlacelist(LocalDateTime startTime, LocalDateTime endTime, Integer classId);
 }

+ 1 - 1
src/main/java/com/template/services/SmartEvaluateStudentService.java

@@ -41,7 +41,7 @@ public interface SmartEvaluateStudentService extends IService<SmartEvaluateStude
      * @param name
      * @return
      */
-    SmartEvaluateStudent getTeacherMessage(String cardNo, String name);
+    SmartEvaluateStudent getTeacherMessage(String cardNo, String termId);
 
     List<HistoricalEvaluationVo> getHistoricalEvaluation(String cardNo);
 

+ 3 - 0
src/main/java/com/template/services/SmartRelationService.java

@@ -3,6 +3,7 @@ package com.template.services;
 import com.template.model.pojo.SmartRelation;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.template.model.result.PageUtils;
+import com.template.model.vo.SmartRelationAppVo;
 import com.template.model.vo.SmartRelationVo;
 
 import java.util.List;
@@ -19,4 +20,6 @@ public interface SmartRelationService extends IService<SmartRelation> {
 
 
     PageUtils<SmartRelationVo> getList(int currentPage,int pageCount,Integer userId, String startTime, String endTime);
+
+    PageUtils<SmartRelationAppVo> getAppList(int currentPage, int pageCount, Integer userId, String startTime, String endTime);
 }

+ 2 - 7
src/main/java/com/template/services/impl/SmartAccessServiceImpl.java

@@ -67,18 +67,13 @@ public class SmartAccessServiceImpl extends ServiceImpl<SmartAccessMapper, Smart
 
     @Override
     public List<SmartAccess> toDatelist(LocalDateTime start, LocalDateTime end) {
-        LambdaQueryWrapper<SmartAccess> wrapper=new LambdaQueryWrapper<>();
-        wrapper.between(SmartAccess::getDateTime,start,end);
-        List<SmartAccess> list = this.list(wrapper);
+        List<SmartAccess> list = smartAccessMapper.toDatelist(start,end);
         return list;
     }
 
     @Override
     public List<SmartAccess> toDateAndPlacelist(LocalDateTime startTime, LocalDateTime endTime, String type) {
-        LambdaQueryWrapper<SmartAccess> wrapper=new LambdaQueryWrapper<>();
-        wrapper.between(SmartAccess::getDateTime,startTime,endTime)
-                .eq(SmartAccess::getType,type);
-        List<SmartAccess> list = this.list(wrapper);
+        List<SmartAccess> list = smartAccessMapper.toDateAndPlacelist(startTime,endTime,type);
         return list;
     }
 }

+ 22 - 0
src/main/java/com/template/services/impl/SmartAttendanceServiceImpl.java

@@ -1,5 +1,6 @@
 package com.template.services.impl;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -194,4 +195,25 @@ public class SmartAttendanceServiceImpl extends ServiceImpl<SmartAttendanceMappe
         int result = smartAttendanceMapper.deleteBatchIds(ids);
         return result;
     }
+
+    @Override
+    public List<SmartAttendance> toDateList(LocalDateTime start, LocalDateTime end) {
+        LambdaQueryWrapper<SmartAttendance> wrapper=new LambdaQueryWrapper<>();
+        wrapper.between(SmartAttendance::getAttendTime,start,end);
+        wrapper.ne(SmartAttendance::getStatus,3)
+                .ne(SmartAttendance::getStatus,6);
+        List<SmartAttendance> list = this.list(wrapper);
+        return list;
+    }
+
+    @Override
+    public List<SmartAttendance> toDateAndPlacelist(LocalDateTime startTime, LocalDateTime endTime, Integer classId) {
+        LambdaQueryWrapper<SmartAttendance> wrapper = new LambdaQueryWrapper<>();
+        wrapper.between(SmartAttendance::getAttendTime, startTime, endTime);
+        wrapper.eq(SmartAttendance::getClassId, classId);
+        wrapper.ne(SmartAttendance::getStatus, 3)
+                .ne(SmartAttendance::getStatus, 6);
+        List<SmartAttendance> list = this.list(wrapper);
+        return list;
+    }
 }

+ 2 - 2
src/main/java/com/template/services/impl/SmartEvaluateStudentServiceImpl.java

@@ -83,9 +83,9 @@ public class SmartEvaluateStudentServiceImpl extends ServiceImpl<SmartEvaluateSt
     }
 
     @Override
-    public SmartEvaluateStudent getTeacherMessage(String cardNo, String name) {
+    public SmartEvaluateStudent getTeacherMessage(String cardNo, String termId) {
         LambdaQueryWrapper<SmartEvaluateStudent> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(SmartEvaluateStudent::getTerm, name)
+        wrapper.eq(SmartEvaluateStudent::getTermId, termId)
                 .eq(SmartEvaluateStudent::getCardNo, cardNo);
         SmartEvaluateStudent ses = this.getOne(wrapper);
         return ses;

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

@@ -315,9 +315,7 @@ public class SmartFaceDiscernServiceImpl extends ServiceImpl<SmartFaceDiscernMap
 
     @Override
     public List<SmartFaceDiscern> toDateList(LocalDateTime start, LocalDateTime end) {
-        LambdaQueryWrapper<SmartFaceDiscern> wrapper=new LambdaQueryWrapper<>();
-        wrapper.between(SmartFaceDiscern::getDateTime,start,end);
-        List<SmartFaceDiscern> list = this.list(wrapper);
+        List<SmartFaceDiscern> list = smartFaceDiscernMapper.toDateList(start,end);
         return list;
     }
 
@@ -329,10 +327,7 @@ public class SmartFaceDiscernServiceImpl extends ServiceImpl<SmartFaceDiscernMap
 
     @Override
     public List<SmartFaceDiscern> toDateAndPlacelist(LocalDateTime startTime, LocalDateTime endTime, String location) {
-        LambdaQueryWrapper<SmartFaceDiscern> wrapper=new LambdaQueryWrapper<>();
-        wrapper.between(SmartFaceDiscern::getDateTime,startTime,endTime)
-                .eq(SmartFaceDiscern::getLocation,location);
-        List<SmartFaceDiscern> list = this.list(wrapper);
+        List<SmartFaceDiscern> list = smartFaceDiscernMapper.toDateAndPlacelist(startTime,endTime,location);
         return list;
     }
 }

+ 92 - 14
src/main/java/com/template/services/impl/SmartRelationServiceImpl.java

@@ -7,19 +7,14 @@ import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.template.config.ScheduleConfig;
 import com.template.model.dto.WarningUserDto;
-import com.template.model.pojo.SmartAccess;
-import com.template.model.pojo.SmartFaceDiscern;
-import com.template.model.pojo.SmartRelation;
+import com.template.model.pojo.*;
 import com.template.mapper.SmartRelationMapper;
-import com.template.model.pojo.SmartUser;
 import com.template.model.result.PageUtils;
+import com.template.model.vo.SmartRelationAppVo;
 import com.template.model.vo.SmartRelationVo;
 import com.template.model.vo.UserVo;
-import com.template.services.SmartAccessService;
-import com.template.services.SmartFaceDiscernService;
-import com.template.services.SmartRelationService;
+import com.template.services.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.template.services.SmartUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.scheduling.annotation.Scheduled;
@@ -27,7 +22,9 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.time.format.DateTimeFormatter;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -54,11 +51,16 @@ public class SmartRelationServiceImpl extends ServiceImpl<SmartRelationMapper, S
     SmartUserService smartUserService;
 
     @Autowired
+    SmartAttendanceService smartAttendanceService;
+
+
+    @Autowired
     SmartRelationMapper smartRelationMapper;
 
+
     @Async
     @Scheduled(cron = "0 20 0 * * ? ")//每天凌晨一点
-//    @Scheduled(cron = "0 10 14 * * ? ")//每天凌晨一点
+//    @Scheduled(cron = "0 6 15 * * ? ")//每天凌晨一点
     public void getAccessSmartRelation() {
         if (scheduleConfig.getIsOpen().equals("1")) {
             DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
@@ -77,7 +79,7 @@ public class SmartRelationServiceImpl extends ServiceImpl<SmartRelationMapper, S
                 Integer userId = smartAccess.getUserId();
                 SmartUser smartUser = smartUserService.getSmartById(userId);
                 String type = smartAccess.getType();
-                List<SmartAccess> accesses = smartAccessService.toDateAndPlacelist(startTime, endTime,type);
+                List<SmartAccess> accesses = smartAccessService.toDateAndPlacelist(startTime, endTime, type);
                 if (ObjectUtils.isNotEmpty(accesses) && accesses.size() > 0) {
 
                     for (SmartAccess access : accesses) {
@@ -121,7 +123,7 @@ public class SmartRelationServiceImpl extends ServiceImpl<SmartRelationMapper, S
     }
 
     @Async
-    @Scheduled(cron = "0 40 2 * * ? ")//每天凌晨两点
+    @Scheduled(cron = "0 30 2 * * ? ")//每天凌晨两点
 //    @Scheduled(cron = "0 25` * * * ? ")//每天凌晨两点
     public void getFaceDiscernListSmartRelation() {
         if (scheduleConfig.getIsOpen().equals("1")) {
@@ -143,7 +145,7 @@ public class SmartRelationServiceImpl extends ServiceImpl<SmartRelationMapper, S
                 Integer userId = faceDiscern.getUserId();
                 SmartUser smartUser = smartUserService.getSmartById(userId);
                 String location = faceDiscern.getLocation();
-                List<SmartFaceDiscern> faceDiscerns = smartFaceDiscernService.toDateAndPlacelist(startTime, endTime,location);
+                List<SmartFaceDiscern> faceDiscerns = smartFaceDiscernService.toDateAndPlacelist(startTime, endTime, location);
                 if (ObjectUtils.isNotEmpty(faceDiscerns) && faceDiscerns.size() > 0) {
 
                     for (SmartFaceDiscern faceDiscern1 : faceDiscerns) {
@@ -185,13 +187,89 @@ public class SmartRelationServiceImpl extends ServiceImpl<SmartRelationMapper, S
         }
     }
 
+    @Async
+    @Scheduled(cron = "0 30 3 * * ? ")//每天凌晨一点
+//    @Scheduled(cron = "0 38 15 * * ? ")//每天凌晨一点
+    public void getAttendanceListSmartRelation() {
+        if (scheduleConfig.getIsOpen().equals("1")) {
+            DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+            LocalDateTime now = LocalDateTime.now();
+//            LocalDateTime now = LocalDateTime.now().withMonth(6).withDayOfMonth(26);
+            LocalDateTime start = now.withHour(0).withMinute(0).withSecond(0).minusDays(1);
+            LocalDateTime end = now.withHour(23).withMinute(59).withSecond(59).minusDays(1);
+            String format = start.format(pattern);
+
+//            找到昨天的所有数据
+            List<SmartAttendance> attendanceList = smartAttendanceService.toDateList(start, end);
+
+            for (SmartAttendance smartAttendance : attendanceList) {
+                Date attendTime = smartAttendance.getAttendTime();
+                LocalDateTime date = LocalDateTime.ofInstant(attendTime.toInstant(), ZoneId.systemDefault());
+                LocalDateTime startTime = date.minusSeconds(5);
+                LocalDateTime endTime = date.plusSeconds(5);
+//              获取班级
+                Integer classId = smartAttendance.getClassId();
+                Integer userId = smartAttendance.getUserId();
+//                获取名字
+                String userName = smartAttendance.getXwUserName();
+
+                List<SmartAttendance> attendances = smartAttendanceService.toDateAndPlacelist(startTime, endTime, classId);
+                if (ObjectUtils.isNotEmpty(attendances) && attendances.size() > 0) {
+                    for (SmartAttendance attendance : attendances) {
+                        Integer userId1 = attendance.getUserId();
+                        String userName1 = attendance.getXwUserName();
+                        if (!userId.equals(userId1)) {
+                            //                        判断是否已添加,有的话则加1
+                            LambdaQueryWrapper<SmartRelation> wrapper = new LambdaQueryWrapper<>();
+                            wrapper.eq(SmartRelation::getUserId, userId)
+                                    .eq(SmartRelation::getRelationId, userId1)
+                                    .eq(SmartRelation::getDateTime, format);
+                            SmartRelation one = this.getOne(wrapper);
+                            if (ObjectUtils.isEmpty(one)) {
+                                SmartRelation smartRelation = new SmartRelation();
+                                smartRelation.setUserId(userId);
+                                smartRelation.setRelationId(userId1);
+                                smartRelation.setName(userName);
+                                smartRelation.setRelationName(userName1);
+
+                                smartRelation.setDateTime(format);
+                                smartRelation.setCount(1);
+                                this.save(smartRelation);
+                            } else {
+                                Integer count = one.getCount();
+                                count = count + 1;
+                                one.setCount(count);
+                                this.updateById(one);
+                            }
+                        }
+
+                    }
+                }
+
+
+            }
+
+        }
+    }
+
+
 
     @Override
-    public PageUtils<SmartRelationVo> getList(int currentPage,int pageCount,Integer userId, String startTime, String endTime) {
+    public PageUtils<SmartRelationVo> getList(int currentPage, int pageCount, Integer userId, String startTime, String endTime) {
         Page<SmartRelationVo> page = new Page<>();
         page.setCurrent(currentPage);
         page.setSize(pageCount);
-        IPage<SmartRelationVo> result =smartRelationMapper.getList(page,userId,startTime,endTime);
+        IPage<SmartRelationVo> result = smartRelationMapper.getList(page, userId, startTime, endTime);
+
+        return new PageUtils(result);
+    }
+
+    @Override
+    public PageUtils<SmartRelationAppVo> getAppList(int currentPage, int pageCount, Integer userId, String startTime, String endTime) {
+        Page<SmartRelationAppVo> page = new Page<>();
+        page.setCurrent(currentPage);
+        page.setSize(pageCount);
+        IPage<SmartRelationAppVo> result = smartRelationMapper.getAppList(page, userId, startTime, endTime);
 
         return new PageUtils(result);
     }

+ 19 - 0
src/main/resources/mapper/template/SmartAccessMapper.xml

@@ -136,4 +136,23 @@
         ORDER BY sa.date_time DESC
 
     </select>
+    <select id="toDatelist" resultType="com.template.model.pojo.SmartAccess">
+        SELECT sa.*
+        FROM `smart_access` sa
+                 LEFT JOIN smart_user su ON sa.user_id = su.id
+        WHERE sa.deleted = 0
+          AND su.identity_id = 2
+          AND sa.date_time >= #{start}
+          AND #{end} >= sa.date_time
+    </select>
+    <select id="toDateAndPlacelist" resultType="com.template.model.pojo.SmartAccess">
+        SELECT sa.*
+        FROM `smart_access` sa
+                 LEFT JOIN smart_user su ON sa.user_id = su.id
+        WHERE sa.deleted = 0
+          AND su.identity_id = 2
+          AND sa.date_time >= #{startTime}
+          AND #{endTime} >= sa.date_time
+          AND sa.type=#{type}
+    </select>
 </mapper>

+ 25 - 0
src/main/resources/mapper/template/SmartFaceDiscernMapper.xml

@@ -77,4 +77,29 @@
         WHERE deleted=0 AND date_time BETWEEN #{startTime} AND #{endTime}
         group by DATE_FORMAT(date_time,'%Y-%m-%d')
     </select>
+    <select id="toDateList" resultType="com.template.model.pojo.SmartFaceDiscern">
+        SELECT
+            sfd.*
+        FROM
+            `smart_face_discern` sfd
+                LEFT JOIN smart_user su ON sfd.user_id = su.id
+        WHERE
+            sfd.deleted = 0
+          AND su.identity_id = 2
+          AND sfd.date_time >= #{start}
+          AND #{end} >= sfd.date_time
+    </select>
+    <select id="toDateAndPlacelist" resultType="com.template.model.pojo.SmartFaceDiscern">
+        SELECT
+            sfd.*
+        FROM
+            `smart_face_discern` sfd
+                LEFT JOIN smart_user su ON sfd.user_id = su.id
+        WHERE
+            sfd.deleted = 0
+          AND su.identity_id = 2
+          AND sfd.date_time >= #{startTime}
+          AND #{endTime} >= sfd.date_time
+          AND sfd.location=#{location}
+    </select>
 </mapper>

+ 29 - 1
src/main/resources/mapper/template/SmartRelationMapper.xml

@@ -26,7 +26,35 @@
         <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
             and sr.date_time &gt;= #{startTime} and sr.date_time &lt; #{endTime}
         </if>
-        ORDER BY count DESC
+        GROUP BY sr.relation_id
+        ORDER BY count DESC,CONVERT(sr.relation_name USING gbk) COLLATE gbk_chinese_ci
 
     </select>
+    <select id="getAppList" resultType="com.template.model.vo.SmartRelationAppVo">
+        SELECT
+        (SELECT SUM(count)
+        FROM `smart_relation`
+        WHERE user_id = sr.user_id
+        and relation_id = sr.relation_id
+        <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
+            and date_time &gt;= #{startTime} and date_time &lt; #{endTime}
+        </if>
+        ) as count,
+        sr.relation_id as relationId,
+        sr.relation_name as relationName,
+        sc.`name` as className,
+        su.card_no as cardNo,
+        su.head_image as headImage
+        FROM
+        `smart_relation` sr
+        LEFT JOIN smart_user su
+        on su.id=sr.relation_id
+        LEFT JOIN smart_class sc on su.school_class=sc.id
+        WHERE sr.user_id=#{userId}
+        <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
+            and sr.date_time &gt;= #{startTime} and sr.date_time &lt; #{endTime}
+        </if>
+        GROUP BY sr.relation_id
+        ORDER BY count DESC,CONVERT(sr.relation_name USING gbk) COLLATE gbk_chinese_ci
+    </select>
 </mapper>