Browse Source

0320.5

master
zhangye 5 years ago
parent
commit
c3d3a8308f
  1. 1
      .gitignore
  2. 3
      health/src/main/java/com/ccsens/health/api/AbnormalController.java
  3. 2
      health/src/main/java/com/ccsens/health/api/ClockController.java
  4. 8
      health/src/main/java/com/ccsens/health/api/UserController.java
  5. 4
      health/src/main/java/com/ccsens/health/bean/dto/UserDto.java
  6. 16
      health/src/main/java/com/ccsens/health/bean/vo/AbnormalVo.java
  7. 6
      health/src/main/java/com/ccsens/health/bean/vo/UserVo.java
  8. 8
      health/src/main/java/com/ccsens/health/persist/dao/MemberDao.java
  9. 5
      health/src/main/java/com/ccsens/health/persist/dao/RealNameAuthDao.java
  10. 4
      health/src/main/java/com/ccsens/health/service/IUserService.java
  11. 30
      health/src/main/java/com/ccsens/health/service/UserService.java
  12. 3
      health/src/main/resources/mapper_dao/HealthAbnormalDao.xml
  13. 8
      health/src/main/resources/mapper_dao/MemberDao.xml
  14. 48
      health/src/main/resources/mapper_dao/RealNameAuthDao.xml
  15. 2
      tall/src/main/java/com/ccsens/tall/web/UserController.java

1
.gitignore

@ -40,4 +40,3 @@ gen
hs_err_pid*
mbg.xml
resources/mbg.xml
resources/application.yml

3
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<List<AbnormalVo.AbnormalOverview>> abnormalOverview(@ApiParam @Validated @RequestBody QueryDto<AbnormalDto.SelectAbnormal> params) throws Exception {
public JsonResponse<List<AbnormalVo.AbnormalOverview>> abnormalOverview(
@ApiParam @Validated @RequestBody QueryDto<AbnormalDto.SelectAbnormal> params) throws Exception {
log.info("疫情概览:{}",params);
List<AbnormalVo.AbnormalOverview> abnormalOverviewList = abnormalService.abnormalOverview(params);
return JsonResponse.newInstance().ok(abnormalOverviewList);

2
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<List<ClockVo.SiteClockInfo>> getSiteClock(@ApiParam @Validated @RequestBody QueryDto<JourneyDto.SelectDate> params) throws Exception {
log.info("查看自己打卡记录:{}",params);

8
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<UserVo.TrackInfo> selectTrack(@ApiParam @Validated @RequestBody QueryDto<UserDto.selectTrack> params) throws Exception {
public JsonResponse<List<UserVo.TrackInfo>> selectTrack(@ApiParam @Validated @RequestBody QueryDto<UserDto.selectTrack> params) throws Exception {
log.info("个人轨迹查询:{}",params);
UserVo.TrackInfo trackInfo = userService.selectTrack(params);
return JsonResponse.newInstance().ok(trackInfo);
List<UserVo.TrackInfo> trackInfoList = userService.selectTrack(params);
return JsonResponse.newInstance().ok(trackInfoList);
}
}

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

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

6
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<ClockIn> clockInList;
}
@Data

8
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<Member> memberList);
/**
* 获取某一行的用户
* @param randomNumber
* @return
*/
Member selectByRandom(@Param("randomNumber") int randomNumber);
}

5
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<UserVo.TrackInfo> selectTrackInfoByWkno(@Param("name")String name, @Param("wkno")String wkno,@Param("startTime")Long startTime,@Param("endTime")Long endTime);
}

4
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<JourneyDto.SelectUser> params) throws Exception;
UserVo.UserInfo addUserInfo(QueryDto<UserDto.UserInfo> params);
UserVo.TrackInfo selectTrack(QueryDto<UserDto.selectTrack> params);
List<UserVo.TrackInfo> selectTrack(QueryDto<UserDto.selectTrack> params) throws Exception;
// Employee getEmployeeByUserId(Long userId);
}

30
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<UserDto.selectTrack> params) {
public List<UserVo.TrackInfo> selectTrack(QueryDto<UserDto.selectTrack> params) throws Exception {
List<UserVo.TrackInfo> 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;
}
}

3
health/src/main/resources/mapper_dao/HealthAbnormalDao.xml

@ -15,6 +15,7 @@
</resultMap>
<resultMap id="resultMap_abnormal_overview" type="com.ccsens.health.bean.vo.AbnormalVo$AbnormalOverview">
<id column="id" property="id"/>
<result column="code" property="code"/>
<result column="number" property="number"/>
</resultMap>
@ -52,7 +53,7 @@
</if>
</select>
<select id="abnormalOverview" resultMap="resultMap_abnormal_statistics" parameterType="java.util.Map">
<select id="abnormalOverview" resultMap="resultMap_abnormal_overview" parameterType="java.util.Map">
SELECT
a.health_status as code,
count(*) as number

8
health/src/main/resources/mapper_dao/MemberDao.xml

@ -17,4 +17,12 @@
</foreach>
on duplicate key update wkno = values(wkno)
</insert>
<select id="selectByRandom" resultType="com.ccsens.health.bean.po.Member" parameterType="java.util.Map">
select
*
from
t_member
limit #{randomNumber},1;
</select>
</mapper>

48
health/src/main/resources/mapper_dao/RealNameAuthDao.xml

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccsens.health.persist.dao.RealNameAuthDao">
<resultMap id="resultMap_trackInfo" type="com.ccsens.health.bean.vo.UserVo$TrackInfo">
<id column="id" property="id"/>
<result column="userId" property="userId"/>
<result column="name" property="name"/>
<result column="wkno" property="wkno"/>
<collection property="clockInList" ofType="com.ccsens.health.bean.vo.UserVo$ClockIn">
<id column="cId" property="id"/>
<result column="cName" property="name"/>
<result column="cTime" property="time"/>
<result column="cType" property="type"/>
</collection>
</resultMap>
<select id="selectTrackInfoByWkno" resultMap="resultMap_trackInfo" parameterType="java.util.Map">
select
m.id as id,
m.name as name,
m.wkno as wkno,
s.id as cId,
s.site_name as cName,
sc.time as cTime,
sq.out_or_in as cType
from
t_site s right JOIN t_site_qrcode sq on sq.site_id = s.id
right JOIN t_site_clock_in sc on sc.qrcode_id = sq.id
right JOIN t_real_name_auth r on sc.user_id = r.user_id
right join t_member m on r.no = m.wkno
where
m.rec_status = 0
<if test="name != null">
and
m.name = #{name}
</if>
<if test="wkno != null">
and
m.wkno = #{wkno}
</if>
and
sc.time &lt;= #{endTime}
and
sc.time &gt;= #{startTime}
ORDER By sc.time DESC
</select>
</mapper>

2
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;

Loading…
Cancel
Save