liu 2 лет назад
Родитель
Сommit
d17054b8fd

+ 3 - 1
src/main/java/com/template/api/SmartFaceDiscernControllerAPI.java

@@ -31,6 +31,8 @@ public interface SmartFaceDiscernControllerAPI {
     @ApiOperation(value = "百胜门禁记录回调",notes = "百胜门禁记录回调",httpMethod = "POST")
     String callBack(HttpServletRequest request, HttpServletResponse response);
 
-
+    @GetMapping(value = "/selectTrack")
+    @ApiOperation(value = "轨迹查询", notes = "轨迹查询", httpMethod = "GET")
+    CommonResult selectTrack(@RequestParam Integer userId, @RequestParam String startTime,@RequestParam String endTime);
 
 }

+ 4 - 0
src/main/java/com/template/api/SmartVisitorParentsConfigControllerAPI.java

@@ -17,4 +17,8 @@ public interface SmartVisitorParentsConfigControllerAPI {
     @ApiOperation(value = "家长访客配置修改", notes = "家长访客配置修改", httpMethod = "POST")
     CommonResult update(@RequestBody SmartVisitorParentsConfig smartVisitorParentsConfig);
 
+    @GetMapping(value = "/getUserId")
+    @ApiOperation(value = "根据用户id获取所管理的班级配置", notes = "根据用户id获取所管理的班级配置", httpMethod = "GET")
+    CommonResult getUserId(@RequestParam Integer userId);
+
 }

+ 53 - 0
src/main/java/com/template/controller/SmartFaceDiscernController.java

@@ -418,6 +418,59 @@ public class SmartFaceDiscernController implements SmartFaceDiscernControllerAPI
         return r.toJSONString();
     }
 
+    @Override
+    public CommonResult selectTrack(Integer userId, String startTime, String endTime) {
+        ArrayList<LastSevenDaysTrackVo> vos = new ArrayList<>();
+        //        人脸抓拍
+        List<SmartFaceDiscern> faceDiscerns = smartFaceDiscernService.track(startTime, endTime, userId);
+        for (SmartFaceDiscern faceDiscern : faceDiscerns) {
+            LastSevenDaysTrackVo lastSevenDaysTrackVo = new LastSevenDaysTrackVo();
+            lastSevenDaysTrackVo.setName(faceDiscern.getName());
+            lastSevenDaysTrackVo.setType(faceDiscern.getType());
+            lastSevenDaysTrackVo.setLocation(faceDiscern.getLocation());
+            lastSevenDaysTrackVo.setImage(faceDiscern.getImage());
+            lastSevenDaysTrackVo.setDateTime(faceDiscern.getDateTime());
+            vos.add(lastSevenDaysTrackVo);
+        }
+
+//        打卡
+        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");
+        for (SmartAttendance attendance : attendances) {
+            LastSevenDaysTrackVo lastSevenDaysTrackVo = new LastSevenDaysTrackVo();
+            lastSevenDaysTrackVo.setName(attendance.getXwUserName());
+            lastSevenDaysTrackVo.setType("打卡");
+            lastSevenDaysTrackVo.setLocation(className);
+            Date attendTime = attendance.getAttendTime();
+            lastSevenDaysTrackVo.setDateTime(sdf.format(attendTime));
+            vos.add(lastSevenDaysTrackVo);
+        }
+
+        //        门禁信息
+        List<SmartAccess> smartAccesses = smartAccessService.track(startTime, endTime, userId);
+        for (SmartAccess faceDiscern : smartAccesses) {
+            LastSevenDaysTrackVo lastSevenDaysTrackVo = new LastSevenDaysTrackVo();
+            lastSevenDaysTrackVo.setName(faceDiscern.getName());
+            lastSevenDaysTrackVo.setType(faceDiscern.getType());
+            lastSevenDaysTrackVo.setLocation(faceDiscern.getLocation());
+            lastSevenDaysTrackVo.setImage(faceDiscern.getImage());
+            lastSevenDaysTrackVo.setDateTime(faceDiscern.getDateTime());
+            vos.add(lastSevenDaysTrackVo);
+        }
+
+//        排序
+        Collections.sort(vos, Comparator.comparing((h) -> {
+            return h.getDateTime();
+        }));
+
+
+        return CommonResult.ok(vos);
+    }
+
 
     public static JSONObject getDate(Integer date) {
         JSONObject jsonObject = new JSONObject();

+ 38 - 0
src/main/java/com/template/controller/SmartVisitorParentsConfigController.java

@@ -2,14 +2,19 @@ package com.template.controller;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.template.annotation.DESRespondSecret;
 import com.template.api.SmartVisitorParentsConfigControllerAPI;
 import com.template.mapper.SmartVisitorParentsConfigMapper;
 import com.template.model.pojo.SmartAskForLeaveConfig;
+import com.template.model.pojo.SmartDuties;
+import com.template.model.pojo.SmartUser;
 import com.template.model.pojo.SmartVisitorParentsConfig;
 import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
 import com.template.model.vo.SmartVisitorParentsConfigVo;
+import com.template.services.SmartDutiesService;
+import com.template.services.SmartUserService;
 import com.template.services.SmartVisitorParentsConfigService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -33,6 +38,12 @@ public class SmartVisitorParentsConfigController implements SmartVisitorParentsC
     @Autowired
     SmartVisitorParentsConfigService smartVisitorParentsConfigService;
 
+    @Autowired
+    SmartUserService smartUserService;
+
+    @Autowired
+    SmartDutiesService smartDutiesService;
+
     @Override
     @DESRespondSecret(validated = true)
     public CommonResult getClassId(Integer page,Integer size, Integer classId) {
@@ -51,5 +62,32 @@ public class SmartVisitorParentsConfigController implements SmartVisitorParentsC
         return CommonResult.fail();
     }
 
+    @Override
+    @DESRespondSecret(validated = true)
+    public CommonResult getUserId(Integer userId) {
+        SmartUser smartById = smartUserService.getSmartById(userId);
+        if (ObjectUtils.isEmpty(smartById)) {
+            return CommonResult.fail("不存在该用户");
+        }
+//        职务
+        Integer duties = smartById.getDuties();
+
+        SmartDuties smartDuties = smartDutiesService.getSmartById(duties);
+        if (ObjectUtils.isEmpty(smartDuties)) {
+            return CommonResult.fail("无职务");
+        }
+
+        String name = smartDuties.getName();
+        if (!"班主任".equals(name)) {
+            return CommonResult.fail("无配置权限");
+        }
+
+        Integer schoolClass = smartById.getSchoolClass();
+
+        SmartVisitorParentsConfigVo smartVisitorParentsConfigVo=smartVisitorParentsConfigService.getClassId(schoolClass);
+
+        return CommonResult.ok(smartVisitorParentsConfigVo);
+    }
+
 }
 

+ 2 - 0
src/main/java/com/template/mapper/SmartVisitorParentsConfigMapper.java

@@ -20,4 +20,6 @@ import org.springframework.stereotype.Repository;
 public interface SmartVisitorParentsConfigMapper extends BaseMapper<SmartVisitorParentsConfig> {
 
     IPage<SmartVisitorParentsConfigVo> getClassIdPage(Page<SmartVisitorParentsConfigVo> p,@Param("classId") Integer classId);
+
+    SmartVisitorParentsConfigVo getClassId(@Param("schoolClass") Integer schoolClass);
 }

+ 2 - 0
src/main/java/com/template/services/SmartVisitorParentsConfigService.java

@@ -17,4 +17,6 @@ import com.template.model.vo.SmartVisitorParentsConfigVo;
 public interface SmartVisitorParentsConfigService extends IService<SmartVisitorParentsConfig> {
 
     PageUtils<SmartVisitorParentsConfigVo> getClassIdPage(Integer page, Integer size, Integer classId);
+
+    SmartVisitorParentsConfigVo getClassId(Integer schoolClass);
 }

+ 6 - 0
src/main/java/com/template/services/impl/SmartVisitorParentsConfigServiceImpl.java

@@ -37,4 +37,10 @@ public class SmartVisitorParentsConfigServiceImpl extends ServiceImpl<SmartVisit
         return new PageUtils<>(page1);
     }
 
+    @Override
+    public SmartVisitorParentsConfigVo getClassId(Integer schoolClass) {
+
+        return smartVisitorParentsConfigMapper.getClassId(schoolClass);
+    }
+
 }

+ 35 - 15
src/main/resources/mapper/template/SmartVisitorParentsConfigMapper.xml

@@ -4,25 +4,45 @@
 
     <select id="getClassIdPage" resultType="com.template.model.vo.SmartVisitorParentsConfigVo">
         SELECT
-            svpc.id,
-            svpc.class_id as classId,
-            svpc.app_audit_config as appAuditConfig,
-            svpc.app_push_config as appPushConfig,
-            svpc.app_cancel_config as appCancelConfig,
-            svpc.screen_audit_config as screenAuditConfig,
-            svpc.screen_push_config as screenPushConfig,
-            svpc.screen_cancel_config as screenCancelConfig,
-            svpc.access_config as accessConfig,
-            svpc.create_time as createTime,
-            sc.`name` as className,
-            sg.`name` as gradeName
+        svpc.id,
+        svpc.class_id as classId,
+        svpc.app_audit_config as appAuditConfig,
+        svpc.app_push_config as appPushConfig,
+        svpc.app_cancel_config as appCancelConfig,
+        svpc.screen_audit_config as screenAuditConfig,
+        svpc.screen_push_config as screenPushConfig,
+        svpc.screen_cancel_config as screenCancelConfig,
+        svpc.access_config as accessConfig,
+        svpc.create_time as createTime,
+        sc.`name` as className,
+        sg.`name` as gradeName
         FROM
-            `smart_visitor_parents_config` svpc
-                LEFT JOIN smart_class sc ON svpc.class_id = sc.id
-                LEFT JOIN smart_grade sg ON sc.grade_id = sg.id
+        `smart_visitor_parents_config` svpc
+        LEFT JOIN smart_class sc ON svpc.class_id = sc.id
+        LEFT JOIN smart_grade sg ON sc.grade_id = sg.id
         WHERE svpc.deleted=0
         <if test="classId != null and classId != '' and classId != 0 ">
             and svpc.class_id = #{classId}
         </if>
     </select>
+
+    <select id="getClassId" resultType="com.template.model.vo.SmartVisitorParentsConfigVo">
+        SELECT svpc.id,
+               svpc.class_id             as classId,
+               svpc.app_audit_config     as appAuditConfig,
+               svpc.app_push_config      as appPushConfig,
+               svpc.app_cancel_config    as appCancelConfig,
+               svpc.screen_audit_config  as screenAuditConfig,
+               svpc.screen_push_config   as screenPushConfig,
+               svpc.screen_cancel_config as screenCancelConfig,
+               svpc.access_config        as accessConfig,
+               svpc.create_time          as createTime,
+               sc.`name`                 as className,
+               sg.`name`                 as gradeName
+        FROM `smart_visitor_parents_config` svpc
+                 LEFT JOIN smart_class sc ON svpc.class_id = sc.id
+                 LEFT JOIN smart_grade sg ON sc.grade_id = sg.id
+        WHERE svpc.deleted = 0
+          and svpc.class_id = #{schoolClass}
+    </select>
 </mapper>