wxg 3 лет назад
Родитель
Сommit
8c38a64dca

+ 5 - 0
src/main/java/com/yx/face/dao/FaceLogDao.java

@@ -22,6 +22,11 @@ public interface FaceLogDao extends TKMapper<FaceLog> {
 
     List<FaceLogVO> getFaceLogs(Map<String,Object> map);
 
+    /*大屏使用*/
+    List<FaceLogVO> getFaceLogsShowData(Map<String,Object> map);
+    /*大屏使用*/
+    Integer getCount(Map<String, Object> map);
+
     Date getRecent(@Param("userId") Long userId, @Param("sn") String sn);
 
     List<FaceLogVoExcel> getFaceLogsExcel(@Param("query") QueryUserVo query);

+ 10 - 0
src/main/java/com/yx/face/service/AdminService.java

@@ -99,5 +99,15 @@ public interface AdminService {
     List<AdminVO> getAdminlist(JSONObject type);
 
     Boolean updateAdmin(AdminUpdate adminUpdate);
+
+    /*
+     * 大屏获取少量的账号信息
+     * */
+    AdminVO showDataGetInfo(Integer adminId);
+    /*
+     * 大屏获取少量的账号信息
+     * */
+    AdminVO showDataGetInfo();
+
 }
 

+ 26 - 27
src/main/java/com/yx/face/service/impl/AdminDataShowServiceImpl.java

@@ -51,7 +51,7 @@ public class AdminDataShowServiceImpl implements AdminDataShowService {
         Integer deviceOnlineNum =0;
         Integer deviceOfflineNum =0;
 
-        AdminVO adminVO = adminService.getInfo();
+        AdminVO adminVO = adminService.showDataGetInfo();
         Map<String,Object> maps = new HashMap<>();
         maps.put("adminVO",adminVO);
         List<FaceDevice> list = adminDataShowDao.getDeviceNumber(maps);
@@ -73,7 +73,7 @@ public class AdminDataShowServiceImpl implements AdminDataShowService {
     @Override
     public AdminDataVO getAdminData() {
         AdminDataVO adminDataVO = new AdminDataVO();
-        AdminVO adminVO = adminService.getInfo();
+        AdminVO adminVO = adminService.showDataGetInfo();
         Integer totalNum = 0;//通行总人数
         Integer todayNum = 0;//今日通行总人数
         Integer redNum = 0;//红码人数
@@ -90,15 +90,15 @@ public class AdminDataShowServiceImpl implements AdminDataShowService {
         Integer nucleicNum = 0;//七日内完成核酸检测人数
 
         /*
-        * 1.获取所有属于该账号的adminId(adminList)
-        * 2.循环adminList根据每一条的adminId到redis库中查询数据
-        * 3.查询到的数据查看有效时间
-        *   1.  在有效期内
-        *   2.  在有效期外 则重新查询数据,并存入到redis库中
-        * 4.累加数据
-        * 5.放入数据返回
-        *
-        * */
+         * 1.获取所有属于该账号的adminId(adminList)
+         * 2.循环adminList根据每一条的adminId到redis库中查询数据
+         * 3.查询到的数据查看有效时间
+         *   1.  在有效期内
+         *   2.  在有效期外 则重新查询数据,并存入到redis库中
+         * 4.累加数据
+         * 5.放入数据返回
+         *
+         * */
         //1.获取adminList
         Map<String,Object> maps = new HashMap<>();
         maps.put("adminVO",adminVO);
@@ -146,7 +146,7 @@ public class AdminDataShowServiceImpl implements AdminDataShowService {
         return adminDataVO;
     }
     private AdminData getAdminDataByAdminId(Integer adminId,AdminData adminData){
-        AdminVO info = adminService.getInfo(adminId);
+        AdminVO info = adminService.showDataGetInfo(adminId);
 
         Integer totalNum = 0;//通行总人数
         Integer todayNum = 0;//今日通行总人数
@@ -169,7 +169,17 @@ public class AdminDataShowServiceImpl implements AdminDataShowService {
         Map<String, Object> map = new HashMap<>();
         map.put("adminVo", info);
 
-
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        SimpleDateFormat sdfToday = new SimpleDateFormat("yyyy-MM-dd");
+        Date date = new Date();
+        long parse = 0;
+        try {
+            parse = sdfToday.parse(sdfToday.format(date)).getTime();
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+        String todayTime = sdf.format(new Date(parse));//当天0点
+        map.put("todayTime", todayTime);
 
         if(adminData!=null){
             totalNum = adminData.getTotalNum();//通行总人数
@@ -187,30 +197,19 @@ public class AdminDataShowServiceImpl implements AdminDataShowService {
             noInoculationNum = adminData.getNoInoculationNum();//未接种疫苗人数
             nucleicNum = adminData.getNucleicNum();//七日内完成核酸检测人数
             biggerNum = adminData.getBiggerNum();
-
             map.put("biggerNum", biggerNum);
             data = getFaceServerLogSearch();
 
         }else {
+            totalNum = faceLogDao.getCount(map);
             data = new FaceServerLogSearch();
             adminData = new AdminData();
         }
         map.put("query", data);
-        faceLogs = faceLogDao.getFaceLogs(map);
 
+        faceLogs = faceLogDao.getFaceLogsShowData(map);
         totalNum+=faceLogs.size();
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        SimpleDateFormat sdfToday = new SimpleDateFormat("yyyy-MM-dd");
-        Date date = new Date();
-        long parse = 0;
-        try {
-            parse = sdfToday.parse(sdfToday.format(date)).getTime();
-        } catch (ParseException e) {
-            e.printStackTrace();
-        }
 
-//        LinkedHashSet<Long> red = new LinkedHashSet<>();
-//        LinkedHashSet<Long> yellow = new LinkedHashSet<>();
 
         for (FaceLogVO faceLog : faceLogs) {
             if(faceLog.getLogId().intValue() > biggerNum){
@@ -315,7 +314,7 @@ public class AdminDataShowServiceImpl implements AdminDataShowService {
         }
         if(redNum != 0){
             LinkedHashSet<Long> redContact = new LinkedHashSet<>();
-            /*获取码*/
+            /*获取码*/
             String zero = getZero();//获取当天的0点;
             List<FaceLogVO> faceLogVOList = faceLogDao.getYellow(adminId, zero, "10");
             for (FaceLogVO faceLogVO : faceLogVOList) {

+ 41 - 0
src/main/java/com/yx/face/service/impl/AdminServiceImpl.java

@@ -438,5 +438,46 @@ public class AdminServiceImpl implements AdminService {
         return adminDao.updateByPrimaryKeySelective(admin) == 1;
     }
 
+    @Override
+    public AdminVO showDataGetInfo(Integer userId) {
+        Admin adminInfo = adminDao.selectByPrimaryKey(userId);
+        if (adminInfo == null) {
+            throw new ServiceException("无此用户信息");
+        }
+        AdminVO adminLoginVO = new AdminVO();
+        adminLoginVO.setAdminId(userId);
+        adminLoginVO.setUsername(adminInfo.getUsername());
+        adminLoginVO.setType(adminInfo.getType());
+        /*wxg 2021-11-4 增加省市区详细地址 开始*/
+        adminLoginVO.setProvinceId(adminInfo.getProvinceId());
+        adminLoginVO.setProvinceName(adminInfo.getProvinceName());
+        adminLoginVO.setCityId(adminInfo.getCityId());
+        adminLoginVO.setCityName(adminInfo.getCityName());
+        adminLoginVO.setAreaId(adminInfo.getAreaId());
+        adminLoginVO.setAreaName(adminInfo.getAreaName());
+        adminLoginVO.setStreetId(adminInfo.getStreetId());
+        adminLoginVO.setStreetName(adminInfo.getStreetName());
+
+        return adminLoginVO;
+    }
+
+    @Override
+    public AdminVO showDataGetInfo() {
+        ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
+        if (requestAttributes == null) {
+            throw new CommonException(RestCode.UNAUTHORIZED);
+        }
+        HttpServletRequest request = requestAttributes.getRequest();
+        String token = request.getHeader("Authorization");
+        if (token == null || token.equals("")) {
+            throw new ServiceException(RestCode.UNAUTHORIZED.code, "缺少token");
+        }
+        token = JWTUtils.getUserId(token);
+        if (org.apache.commons.lang3.StringUtils.isEmpty(token)) {
+            throw new CommonException(RestCode.UNAUTHORIZED);
+        }
+        return showDataGetInfo(Integer.parseInt(token));
+    }
+
 }
 

+ 72 - 0
src/main/resources/mapper/FaceLogDao.xml

@@ -138,6 +138,78 @@
         ORDER BY log.id DESC
     </select>
 
+    <select id="getFaceLogsShowData" resultType="com.yx.face.model.vo.FaceLogVO">
+        SELECT log.id AS logId,
+        log.tw_status AS twStatus,
+        log.jkm_status AS jkmStatus,
+        log.hs_status AS hsStatus,
+        log.ym_status AS ymStatus,
+        log.face_time AS faceTime,
+        log.create_time AS createTime
+        FROM face_log AS log
+        LEFT JOIN admin a on a.id =log.admin_id
+        <where>
+            <if test="adminVo.type == 1">
+
+            </if>
+            <if test="adminVo.type == 2">
+                and a.province_id = #{adminVo.provinceId}
+                and a.type =5
+            </if>
+            <if test="adminVo.type == 3">
+                and a.province_id = #{adminVo.provinceId}
+                and a.type =5
+                and a.tag_id = #{adminVo.tagId}
+            </if>
+            <if test="adminVo.type == 4">
+                and a.city_id = #{adminVo.cityId}
+                and a.type = 5
+                and a.tag_id = #{adminVo.tagId}
+            </if>
+            <if test="adminVo.type == 5">
+                and a.id =#{adminVo.adminId}
+            </if>
+            <if test="biggerNum != null ">
+                AND log.id > #{biggerNum}
+            </if>
+            <if test="todayTime != null ">
+                AND log.face_time >= #{todayTime}
+            </if>
+        </where>
+        ORDER BY log.id asc
+    </select>
+    <select id="getCount" resultType="java.lang.Integer">
+        select
+        count(1)
+        FROM face_log AS log
+        LEFT JOIN admin a on a.id =log.admin_id
+        <where>
+            <if test="adminVo.type == 1">
+
+            </if>
+            <if test="adminVo.type == 2">
+                and a.province_id = #{adminVo.provinceId}
+                and a.type =5
+            </if>
+            <if test="adminVo.type == 3">
+                and a.province_id = #{adminVo.provinceId}
+                and a.type =5
+                and a.tag_id = #{adminVo.tagId}
+            </if>
+            <if test="adminVo.type == 4">
+                and a.city_id = #{adminVo.cityId}
+                and a.type = 5
+                and a.tag_id = #{adminVo.tagId}
+            </if>
+            <if test="adminVo.type == 5">
+                and a.id =#{adminVo.adminId}
+            </if>
+            <if test="todayTime != null ">
+                AND log.face_time &lt; #{todayTime}
+            </if>
+        </where>
+    </select>
+
     <select id="getRecent" resultType="java.util.Date">
         SELECT create_time
         FROM face_log