From c3d3a8308fecaac76e819c547f7294d115a353a8 Mon Sep 17 00:00:00 2001 From: zhangye <654600784@qq.com> Date: Fri, 20 Mar 2020 19:11:33 +0800 Subject: [PATCH] 0320.5 --- .gitignore | 1 - .../ccsens/health/api/AbnormalController.java | 3 +- .../ccsens/health/api/ClockController.java | 2 +- .../com/ccsens/health/api/UserController.java | 8 ++-- .../com/ccsens/health/bean/dto/UserDto.java | 4 +- .../com/ccsens/health/bean/vo/AbnormalVo.java | 16 ++++--- .../com/ccsens/health/bean/vo/UserVo.java | 6 ++- .../ccsens/health/persist/dao/MemberDao.java | 8 ++++ .../health/persist/dao/RealNameAuthDao.java | 5 ++ .../ccsens/health/service/IUserService.java | 4 +- .../ccsens/health/service/UserService.java | 32 ++++++++++++- .../mapper_dao/HealthAbnormalDao.xml | 3 +- .../main/resources/mapper_dao/MemberDao.xml | 8 ++++ .../resources/mapper_dao/RealNameAuthDao.xml | 48 +++++++++++++++++++ .../com/ccsens/tall/web/UserController.java | 2 - 15 files changed, 128 insertions(+), 22 deletions(-) create mode 100644 health/src/main/resources/mapper_dao/RealNameAuthDao.xml diff --git a/.gitignore b/.gitignore index 073a0423..bb34a739 100644 --- a/.gitignore +++ b/.gitignore @@ -40,4 +40,3 @@ gen hs_err_pid* mbg.xml resources/mbg.xml -resources/application.yml diff --git a/health/src/main/java/com/ccsens/health/api/AbnormalController.java b/health/src/main/java/com/ccsens/health/api/AbnormalController.java index b413dcdf..013590e9 100644 --- a/health/src/main/java/com/ccsens/health/api/AbnormalController.java +++ b/health/src/main/java/com/ccsens/health/api/AbnormalController.java @@ -31,7 +31,8 @@ public class AbnormalController { @MustLogin @ApiOperation(value = "疫情概览", notes = "") @RequestMapping(value = "", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse> abnormalOverview(@ApiParam @Validated @RequestBody QueryDto params) throws Exception { + public JsonResponse> abnormalOverview( + @ApiParam @Validated @RequestBody QueryDto params) throws Exception { log.info("疫情概览:{}",params); List abnormalOverviewList = abnormalService.abnormalOverview(params); return JsonResponse.newInstance().ok(abnormalOverviewList); diff --git a/health/src/main/java/com/ccsens/health/api/ClockController.java b/health/src/main/java/com/ccsens/health/api/ClockController.java index 44d9f345..e7fe5f45 100644 --- a/health/src/main/java/com/ccsens/health/api/ClockController.java +++ b/health/src/main/java/com/ccsens/health/api/ClockController.java @@ -40,7 +40,7 @@ public class ClockController { } @MustLogin - @ApiOperation(value = "查看自己打卡记录", notes = "") + @ApiOperation(value = "查看打卡记录", notes = "") @RequestMapping(value = "info", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse> getSiteClock(@ApiParam @Validated @RequestBody QueryDto params) throws Exception { log.info("查看自己打卡记录:{}",params); diff --git a/health/src/main/java/com/ccsens/health/api/UserController.java b/health/src/main/java/com/ccsens/health/api/UserController.java index 8bfae35a..4d92c86e 100644 --- a/health/src/main/java/com/ccsens/health/api/UserController.java +++ b/health/src/main/java/com/ccsens/health/api/UserController.java @@ -19,6 +19,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + @Slf4j @Api(tags = "个人信息相关" , description = "") @RestController @@ -48,9 +50,9 @@ public class UserController { @MustLogin @ApiOperation(value = "个人轨迹查询", notes = "") @RequestMapping(value = "track", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse selectTrack(@ApiParam @Validated @RequestBody QueryDto params) throws Exception { + public JsonResponse> selectTrack(@ApiParam @Validated @RequestBody QueryDto params) throws Exception { log.info("个人轨迹查询:{}",params); - UserVo.TrackInfo trackInfo = userService.selectTrack(params); - return JsonResponse.newInstance().ok(trackInfo); + List trackInfoList = userService.selectTrack(params); + return JsonResponse.newInstance().ok(trackInfoList); } } diff --git a/health/src/main/java/com/ccsens/health/bean/dto/UserDto.java b/health/src/main/java/com/ccsens/health/bean/dto/UserDto.java index 0ef6bffb..3f9e5c41 100644 --- a/health/src/main/java/com/ccsens/health/bean/dto/UserDto.java +++ b/health/src/main/java/com/ccsens/health/bean/dto/UserDto.java @@ -31,9 +31,9 @@ public class UserDto { @ApiModelProperty("学号") private String wkno; @ApiModelProperty("开始时间") - private String startTime; + private Long startTime; @ApiModelProperty("结束时间") - private String endTime; + private Long endTime; @ApiModelProperty("是否是搜索界面 0搜索界面 1全局概览") private int search; } diff --git a/health/src/main/java/com/ccsens/health/bean/vo/AbnormalVo.java b/health/src/main/java/com/ccsens/health/bean/vo/AbnormalVo.java index 4f13bfa2..4d1a0588 100644 --- a/health/src/main/java/com/ccsens/health/bean/vo/AbnormalVo.java +++ b/health/src/main/java/com/ccsens/health/bean/vo/AbnormalVo.java @@ -1,6 +1,7 @@ package com.ccsens.health.bean.vo; import cn.hutool.core.util.ObjectUtil; +import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -14,6 +15,8 @@ public class AbnormalVo { @Data @ApiModel("疫情概览") public static class AbnormalOverview{ + @JsonIgnore + private Long id; @ApiModelProperty("异常状态类型 0健康打卡 1人员异常 2行程异常") private int abnormalType; @ApiModelProperty("异常状态名称") @@ -24,14 +27,13 @@ public class AbnormalVo { private Long number; public String getAbnormalName(){ switch (code){ - case 0: abnormalName = "健康"; break; - case 1: abnormalName = "治愈"; break; - case 2: abnormalName = "隔离"; break; - case 3: abnormalName = "疑似"; break; - case 4: abnormalName = "确诊"; break; - default:abnormalName = null; + case 0: return "健康"; + case 1: return "治愈"; + case 2: return "隔离"; + case 3: return "疑似"; + case 4: return "确诊"; + default:return null; } - return null; } } diff --git a/health/src/main/java/com/ccsens/health/bean/vo/UserVo.java b/health/src/main/java/com/ccsens/health/bean/vo/UserVo.java index cb9c150d..3faa6da9 100644 --- a/health/src/main/java/com/ccsens/health/bean/vo/UserVo.java +++ b/health/src/main/java/com/ccsens/health/bean/vo/UserVo.java @@ -1,9 +1,11 @@ package com.ccsens.health.bean.vo; import com.ccsens.health.util.HealthConstant; +import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import lombok.NonNull; import java.util.List; @@ -48,6 +50,8 @@ public class UserVo { @Data @ApiModel("个人轨迹信息") public static class TrackInfo { + @JsonIgnore + private Long userId; @ApiModelProperty("学生id") private Long id; @ApiModelProperty("学生姓名") @@ -55,7 +59,7 @@ public class UserVo { @ApiModelProperty("学号") private String wkno; @ApiModelProperty("打卡记录") - private ClockIn clockInList; + private List clockInList; } @Data diff --git a/health/src/main/java/com/ccsens/health/persist/dao/MemberDao.java b/health/src/main/java/com/ccsens/health/persist/dao/MemberDao.java index fa8e9cea..ee7e7abe 100644 --- a/health/src/main/java/com/ccsens/health/persist/dao/MemberDao.java +++ b/health/src/main/java/com/ccsens/health/persist/dao/MemberDao.java @@ -2,6 +2,7 @@ package com.ccsens.health.persist.dao; import com.ccsens.health.bean.po.Member; import com.ccsens.health.persist.mapper.MemberMapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -12,4 +13,11 @@ public interface MemberDao extends MemberMapper { * @param memberList */ void insertBatch(List memberList); + + /** + * 获取某一行的用户 + * @param randomNumber + * @return + */ + Member selectByRandom(@Param("randomNumber") int randomNumber); } diff --git a/health/src/main/java/com/ccsens/health/persist/dao/RealNameAuthDao.java b/health/src/main/java/com/ccsens/health/persist/dao/RealNameAuthDao.java index b121e105..8b09457e 100644 --- a/health/src/main/java/com/ccsens/health/persist/dao/RealNameAuthDao.java +++ b/health/src/main/java/com/ccsens/health/persist/dao/RealNameAuthDao.java @@ -1,9 +1,12 @@ package com.ccsens.health.persist.dao; +import com.ccsens.health.bean.vo.UserVo; import com.ccsens.health.persist.mapper.RealNameAuthMapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; +import java.util.List; + @Repository public interface RealNameAuthDao extends RealNameAuthMapper { @@ -13,4 +16,6 @@ public interface RealNameAuthDao extends RealNameAuthMapper { * @param targetUserId */ void updateUserId(@Param("sourceUserId")Long sourceUserId, @Param("targetUserId") Long targetUserId); + + List selectTrackInfoByWkno(@Param("name")String name, @Param("wkno")String wkno,@Param("startTime")Long startTime,@Param("endTime")Long endTime); } diff --git a/health/src/main/java/com/ccsens/health/service/IUserService.java b/health/src/main/java/com/ccsens/health/service/IUserService.java index 71d65213..59b7b531 100644 --- a/health/src/main/java/com/ccsens/health/service/IUserService.java +++ b/health/src/main/java/com/ccsens/health/service/IUserService.java @@ -6,12 +6,14 @@ import com.ccsens.health.bean.po.Employee; import com.ccsens.health.bean.vo.UserVo; import com.ccsens.util.bean.dto.QueryDto; +import java.util.List; + public interface IUserService { UserVo.UserInfo getUserInfo(QueryDto params) throws Exception; UserVo.UserInfo addUserInfo(QueryDto params); - UserVo.TrackInfo selectTrack(QueryDto params); + List selectTrack(QueryDto params) throws Exception; // Employee getEmployeeByUserId(Long userId); } diff --git a/health/src/main/java/com/ccsens/health/service/UserService.java b/health/src/main/java/com/ccsens/health/service/UserService.java index 4aaa0dec..52f2d1b3 100644 --- a/health/src/main/java/com/ccsens/health/service/UserService.java +++ b/health/src/main/java/com/ccsens/health/service/UserService.java @@ -24,8 +24,10 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Random; @Slf4j @Service @@ -220,7 +222,33 @@ public class UserService implements IUserService{ * @return */ @Override - public UserVo.TrackInfo selectTrack(QueryDto params) { - return null; + public List selectTrack(QueryDto params) throws Exception { + List trackInfoList = new ArrayList<>(); + + UserDto.selectTrack selectTrack = params.getParam(); + Long startTime = selectTrack.getStartTime() == null ? DateUtil.getZeroTime(new Date()) : selectTrack.getStartTime(); + Long endTime = selectTrack.getEndTime() == null ? System.currentTimeMillis() : selectTrack.getEndTime(); + + //判断是全局概览,还是搜索页面 + if(selectTrack.getSearch() == 1){ + //全局橄榄,根据时间随机显示一个学生的轨迹 + //随机获取一个学生的信息 + MemberExample memberExample = new MemberExample(); + memberExample.clear(); + Long number = memberDao.countByExample(memberExample); + Random rand = new Random(); + int randomNumber = rand.nextInt(number.intValue()) + 1; + Member member = memberDao.selectByRandom(randomNumber); + //获取个人轨迹 + trackInfoList = realNameAuthDao.selectTrackInfoByWkno(member.getName(),member.getWkno(),startTime,endTime); + }else{ + //搜索页面,若没有参数,返回空 + if(StrUtil.isEmpty(selectTrack.getName()) && StrUtil.isEmpty(selectTrack.getWkno())){ + return null; + } + trackInfoList = realNameAuthDao.selectTrackInfoByWkno(selectTrack.getName(),selectTrack.getWkno(),startTime,endTime); + } + + return trackInfoList; } } diff --git a/health/src/main/resources/mapper_dao/HealthAbnormalDao.xml b/health/src/main/resources/mapper_dao/HealthAbnormalDao.xml index 30bc0ea7..5605aac3 100644 --- a/health/src/main/resources/mapper_dao/HealthAbnormalDao.xml +++ b/health/src/main/resources/mapper_dao/HealthAbnormalDao.xml @@ -15,6 +15,7 @@ + @@ -52,7 +53,7 @@ - SELECT a.health_status as code, count(*) as number diff --git a/health/src/main/resources/mapper_dao/MemberDao.xml b/health/src/main/resources/mapper_dao/MemberDao.xml index e86af028..addaf7a5 100644 --- a/health/src/main/resources/mapper_dao/MemberDao.xml +++ b/health/src/main/resources/mapper_dao/MemberDao.xml @@ -17,4 +17,12 @@ on duplicate key update wkno = values(wkno) + + \ No newline at end of file diff --git a/health/src/main/resources/mapper_dao/RealNameAuthDao.xml b/health/src/main/resources/mapper_dao/RealNameAuthDao.xml new file mode 100644 index 00000000..e7908ad6 --- /dev/null +++ b/health/src/main/resources/mapper_dao/RealNameAuthDao.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/web/UserController.java b/tall/src/main/java/com/ccsens/tall/web/UserController.java index b0c49819..3a8b0b73 100644 --- a/tall/src/main/java/com/ccsens/tall/web/UserController.java +++ b/tall/src/main/java/com/ccsens/tall/web/UserController.java @@ -13,8 +13,6 @@ import com.ccsens.tall.exception.UserLoginException; import com.ccsens.tall.service.IProMemberService; import com.ccsens.tall.service.IUserService; import com.ccsens.util.*; -import com.ccsens.util.exception.BaseException; -import feign.Param; import io.jsonwebtoken.Claims; import io.jsonwebtoken.ExpiredJwtException; import io.jsonwebtoken.SignatureException;