Bläddra i källkod

小程序亲密度展示

liu 1 år sedan
förälder
incheckning
34607641fa

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

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

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

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

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

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

@@ -10,6 +10,7 @@ import com.template.model.dto.WarningUserDto;
 import com.template.model.pojo.*;
 import com.template.mapper.SmartRelationMapper;
 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.*;
@@ -184,8 +185,8 @@ public class SmartRelationServiceImpl extends ServiceImpl<SmartRelationMapper, S
         }
     }
 
-    @Async
-    @Scheduled(cron = "0 20 3 * * ? ")//每天凌晨一点
+//    @Async
+//    @Scheduled(cron = "0 20 3 * * ? ")//每天凌晨一点
     public void getAttendanceListSmartRelation() {
         if (scheduleConfig.getIsOpen().equals("1")) {
             DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
@@ -212,4 +213,14 @@ public class SmartRelationServiceImpl extends ServiceImpl<SmartRelationMapper, S
 
         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>

+ 27 - 0
src/main/resources/mapper/template/SmartRelationMapper.xml

@@ -30,4 +30,31 @@
         ORDER BY count DESC
 
     </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
+    </select>
 </mapper>