Browse Source

后台查询接口完成

dev
zhangye 3 years ago
parent
commit
ce49dfc548
  1. 25
      src/main/java/com/ccsens/delivery/api/CommonController.java
  2. 36
      src/main/java/com/ccsens/delivery/api/HealthController.java
  3. 27
      src/main/java/com/ccsens/delivery/api/MaterialController.java
  4. 14
      src/main/java/com/ccsens/delivery/api/TrailsController.java
  5. 21
      src/main/java/com/ccsens/delivery/api/UserController.java
  6. 20
      src/main/java/com/ccsens/delivery/bean/dto/CommonDto.java
  7. 94
      src/main/java/com/ccsens/delivery/bean/dto/HealthDto.java
  8. 86
      src/main/java/com/ccsens/delivery/bean/dto/MaterialDto.java
  9. 89
      src/main/java/com/ccsens/delivery/bean/dto/StudentDto.java
  10. 91
      src/main/java/com/ccsens/delivery/bean/dto/TrailsDto.java
  11. 18
      src/main/java/com/ccsens/delivery/bean/dto/UserDto.java
  12. 41
      src/main/java/com/ccsens/delivery/bean/po/RecordHealth.java
  13. 206
      src/main/java/com/ccsens/delivery/bean/po/RecordHealthExample.java
  14. 8
      src/main/java/com/ccsens/delivery/bean/po/RecordTrails.java
  15. 30
      src/main/java/com/ccsens/delivery/bean/po/RecordTrailsDetail.java
  16. 170
      src/main/java/com/ccsens/delivery/bean/po/RecordTrailsDetailExample.java
  17. 30
      src/main/java/com/ccsens/delivery/bean/po/RecordTrailsExample.java
  18. 34
      src/main/java/com/ccsens/delivery/bean/po/SysUserInfo.java
  19. 186
      src/main/java/com/ccsens/delivery/bean/po/SysUserInfoExample.java
  20. 66
      src/main/java/com/ccsens/delivery/bean/vo/CommonVo.java
  21. 75
      src/main/java/com/ccsens/delivery/bean/vo/HealthVo.java
  22. 94
      src/main/java/com/ccsens/delivery/bean/vo/MaterialVo.java
  23. 16
      src/main/java/com/ccsens/delivery/bean/vo/StudentVo.java
  24. 101
      src/main/java/com/ccsens/delivery/bean/vo/TrailsVo.java
  25. 46
      src/main/java/com/ccsens/delivery/bean/vo/UserVo.java
  26. 86
      src/main/java/com/ccsens/delivery/persist/dao/FormRecordDao.java
  27. 20
      src/main/java/com/ccsens/delivery/persist/dao/RecordHealthDao.java
  28. 28
      src/main/java/com/ccsens/delivery/persist/dao/RecordTrailsDao.java
  29. 34
      src/main/java/com/ccsens/delivery/persist/dao/SysMaterialDao.java
  30. 83
      src/main/java/com/ccsens/delivery/service/CommonService.java
  31. 77
      src/main/java/com/ccsens/delivery/service/HealthService.java
  32. 8
      src/main/java/com/ccsens/delivery/service/ICommonService.java
  33. 26
      src/main/java/com/ccsens/delivery/service/IHealthService.java
  34. 17
      src/main/java/com/ccsens/delivery/service/IMaterialService.java
  35. 9
      src/main/java/com/ccsens/delivery/service/ITrailsService.java
  36. 104
      src/main/java/com/ccsens/delivery/service/MaterialService.java
  37. 50
      src/main/java/com/ccsens/delivery/service/StudentService.java
  38. 86
      src/main/java/com/ccsens/delivery/service/TrailsService.java
  39. 57
      src/main/java/com/ccsens/delivery/service/UserService.java
  40. 4
      src/main/java/com/ccsens/delivery/util/DeliveryCodeError.java
  41. 37
      src/main/java/com/ccsens/delivery/util/DeliveryConstant.java
  42. 240
      src/main/resources/mapper_dao/FormRecordDao.xml
  43. 103
      src/main/resources/mapper_dao/RecordHealthDao.xml
  44. 122
      src/main/resources/mapper_dao/RecordTrailsDao.xml
  45. 87
      src/main/resources/mapper_dao/StudentDao.xml
  46. 119
      src/main/resources/mapper_dao/SysMaterialDao.xml
  47. 66
      src/main/resources/mapper_raw/RecordHealthMapper.xml
  48. 56
      src/main/resources/mapper_raw/RecordTrailsDetailMapper.xml
  49. 14
      src/main/resources/mapper_raw/RecordTrailsMapper.xml
  50. 67
      src/main/resources/mapper_raw/SysUserInfoMapper.xml
  51. 4
      src/main/resources/mbg.xml

25
src/main/java/com/ccsens/delivery/api/CommonController.java

@ -30,8 +30,6 @@ public class CommonController {
@Resource
private ICommonService commonService;
@Resource
private Snowflake snowflake;
@MustLogin
@ApiOperation(value = "上传文件",notes = "文件大小不能超过20M")
@ -68,4 +66,27 @@ public class CommonController {
PageInfo<CommonVo.QuerySelf> querySelfList = commonService.querySelf(params.getParam(),params.getUserId());
return JsonResponse.newInstance().ok(querySelfList);
}
@MustLogin
@ApiOperation(value = "统计分析",notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "/statistics", method = RequestMethod.POST,produces = {"application/json;charset=UTF-8"})
public JsonResponse<CommonVo.Statistics> statistics(@ApiParam @RequestBody @Validated QueryDto<CommonDto.Statistics> params) throws Exception {
log.info("统计分析:{}",params);
CommonVo.Statistics statistics = commonService.statistics(params.getParam(),params.getUserId());
return JsonResponse.newInstance().ok(statistics);
}
@ApiOperation(value = "导入学院班级信息",notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "/import", method = RequestMethod.POST,produces = {"application/json;charset=UTF-8"})
public JsonResponse<CommonVo.Statistics> statistics(MultipartFile params) throws Exception {
log.info("导入学院班级信息:{}",params);
return JsonResponse.newInstance().ok();
}
}

36
src/main/java/com/ccsens/delivery/api/HealthController.java

@ -2,8 +2,8 @@ package com.ccsens.delivery.api;
import com.ccsens.delivery.annotation.MustLogin;
import com.ccsens.delivery.bean.dto.HealthDto;
import com.ccsens.delivery.bean.vo.FileVo;
import com.ccsens.delivery.bean.vo.HealthVo;
import com.ccsens.delivery.bean.vo.MaterialVo;
import com.ccsens.delivery.service.IHealthService;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.bean.dto.QueryDto;
@ -18,7 +18,6 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.util.List;
@ -40,10 +39,41 @@ public class HealthController {
@ApiImplicitParams({
})
@RequestMapping(value = "/submit", method = RequestMethod.POST,produces = {"application/json;charset=UTF-8"})
public JsonResponse<FileVo.FileInfo> submitHealth(@ApiParam @RequestBody @Validated QueryDto<HealthDto.HealthForm> params) throws Exception {
public JsonResponse submitHealth(@ApiParam @RequestBody @Validated QueryDto<HealthDto.HealthForm> params) throws Exception {
log.info("提交健康信息相关的表单:{}",params);
healthService.submitHealth(params.getParam(),params.getUserId());
return JsonResponse.newInstance().ok();
}
@ApiOperation(value = "获取健康信息图片",notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "/queryImg", method = RequestMethod.POST,produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<HealthVo.HealthList>> queryHealthImg(@ApiParam @RequestBody @Validated HealthDto.HealthByDay params) throws Exception {
log.info("获取健康信息图片:{}",params);
List<HealthVo.HealthList> healthLists = healthService.queryHealthImg(params);
return JsonResponse.newInstance().ok(healthLists);
}
@ApiOperation(value = "识别后上传健康相关信息",notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "/ocr", method = RequestMethod.POST,produces = {"application/json;charset=UTF-8"})
public JsonResponse ocrHealthConclusion(@ApiParam @RequestBody @Validated List<HealthDto.HealthConclusion> params) throws Exception {
log.info("识别后上传健康相关信息:{}",params);
healthService.ocrHealthConclusion(params);
return JsonResponse.newInstance().ok();
}
@MustLogin
@ApiOperation(value = "后台分页查找健康相关的信息",notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "/back/query", method = RequestMethod.POST,produces = {"application/json;charset=UTF-8"})
public JsonResponse<PageInfo<HealthVo.BackQueryHealthVo>> backQueryHealth(@ApiParam @RequestBody @Validated QueryDto<HealthDto.BackQueryHealth> params) throws Exception {
log.info("后台分页查找健康相关的信息:{}",params);
PageInfo<HealthVo.BackQueryHealthVo> backQueryHealthVoPageInfo = healthService.backQueryHealth(params.getParam(),params.getUserId());
return JsonResponse.newInstance().ok(backQueryHealthVoPageInfo);
}
}

27
src/main/java/com/ccsens/delivery/api/MaterialController.java

@ -6,6 +6,7 @@ import com.ccsens.delivery.bean.dto.MaterialDto;
import com.ccsens.delivery.bean.dto.StudentDto;
import com.ccsens.delivery.bean.vo.CommonVo;
import com.ccsens.delivery.bean.vo.MaterialVo;
import com.ccsens.delivery.bean.vo.StudentVo;
import com.ccsens.delivery.service.IMaterialService;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.bean.dto.QueryDto;
@ -71,4 +72,30 @@ public class MaterialController {
return JsonResponse.newInstance().ok();
}
@MustLogin
@ApiOperation(value = "/后台分页查找物资订单信息", notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "/back/query", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<PageInfo<MaterialVo.MaterialOrder>> backQueryMaterialOrder(@ApiParam @RequestBody @Validated QueryDto<MaterialDto.BackQueryMaterialOrder> params) throws Exception {
log.info("后台分页查找物资订单信息,{}",params);
PageInfo<MaterialVo.MaterialOrder> materialOrder = materialService.backQueryMaterialOrder(params.getUserId(), params.getParam());
log.info("分页返回物资订单信息");
return JsonResponse.newInstance().ok(materialOrder);
}
@MustLogin
@ApiOperation(value = "/修改物资订单完成状态", notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "/status", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse updateOrderStatus(@ApiParam @RequestBody @Validated QueryDto<StudentDto.UpdateOrderStatus> params) throws Exception {
log.info("修改订单完成状态,{}",params);
materialService.updateOrderStatus(params.getUserId(), params.getParam());
log.info("修改订单完成状态成功");
return JsonResponse.newInstance().ok();
}
}

14
src/main/java/com/ccsens/delivery/api/TrailsController.java

@ -4,9 +4,12 @@ import com.ccsens.delivery.annotation.MustLogin;
import com.ccsens.delivery.bean.dto.HealthDto;
import com.ccsens.delivery.bean.dto.TrailsDto;
import com.ccsens.delivery.bean.vo.FileVo;
import com.ccsens.delivery.bean.vo.HealthVo;
import com.ccsens.delivery.bean.vo.TrailsVo;
import com.ccsens.delivery.service.ITrailsService;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.bean.dto.QueryDto;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
@ -43,6 +46,15 @@ public class TrailsController {
return JsonResponse.newInstance().ok();
}
@MustLogin
@ApiOperation(value = "后台分页查找轨迹相关的信息",notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "/back/query", method = RequestMethod.POST,produces = {"application/json;charset=UTF-8"})
public JsonResponse<PageInfo<TrailsVo.BackQueryTrailsVo>> backQueryTrails(@ApiParam @RequestBody @Validated QueryDto<TrailsDto.BackQueryTrails> params) throws Exception {
log.info("后台分页查找健康相关的信息:{}",params);
PageInfo<TrailsVo.BackQueryTrailsVo> backQueryTrailsVoPageInfo = trailsService.backQueryTrails(params.getParam(),params.getUserId());
return JsonResponse.newInstance().ok(backQueryTrailsVoPageInfo);
}
}

21
src/main/java/com/ccsens/delivery/api/UserController.java

@ -89,17 +89,16 @@ public class UserController {
return JsonResponse.newInstance().ok(userIdList);
}
// @MustLogin
// @ApiOperation(value = "/修改用户信息", notes = "")
// @ApiImplicitParams({
// })
// @RequestMapping(value = "/update", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
// public JsonResponse<UserVo.TokenBean> updateUserInfo(@ApiParam @RequestBody QueryDto<UserDto.WxInfo> params) throws Exception {
// log.info("修改用户信息,{}",params);
// UserVo.TokenBean tokenBean = userService.updateUserInfo(params.getUserId(), params.getParam());
// return JsonResponse.newInstance().ok(tokenBean);
// }
@MustLogin
@ApiOperation(value = "/修改用户信息", notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "/update", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<UserVo.TokenBean> updateUserInfo(@ApiParam @RequestBody QueryDto<UserDto.WxInfo> params) throws Exception {
log.info("修改用户信息,{}",params);
UserVo.TokenBean tokenBean = userService.updateUserInfo(params.getUserId(), params.getParam());
return JsonResponse.newInstance().ok(tokenBean);
}
@MustLogin
@ApiOperation(value = "/查看学生或教师信息", notes = "")

20
src/main/java/com/ccsens/delivery/bean/dto/CommonDto.java

@ -34,4 +34,24 @@ public class CommonDto {
@ApiModelProperty("表单id")
private Long id;
}
@Data
@ApiModel("统计分析")
public static class Statistics{
@ApiModelProperty("数据的类型 0学生 1教职工")
private byte type;
@ApiModelProperty("学院id/部门id")
private Long collegeId;
@ApiModelProperty("所在年级")
private String grade;
@ApiModelProperty("所在班级Id")
private Long stuClassId;
@ApiModelProperty("开始时间")
private Long startTime;
@ApiModelProperty("结束时间")
private Long endTime;
}
}

94
src/main/java/com/ccsens/delivery/bean/dto/HealthDto.java

@ -1,11 +1,18 @@
package com.ccsens.delivery.bean.dto;
import cn.hutool.core.util.StrUtil;
import com.ccsens.delivery.util.DeliveryConstant;
import com.ccsens.util.SymmetricCryptoUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;
/**
* @author
@ -16,6 +23,7 @@ public class HealthDto {
@Data
@ApiModel("请求-提交健康相关的表单")
public static class HealthForm{
@NotNull(message = "表单id不能为空")
@ApiModelProperty("表单页面id")
private Long id;
@ApiModelProperty("类型 0健康码、1行程码、2核酸检测、3抗原检测")
@ -24,5 +32,91 @@ public class HealthDto {
private Long fileId;
}
@Data
@ApiModel("请求-查询某天提交的健康信息")
public static class HealthByDay{
@ApiModelProperty("类型 0健康码、1行程码、2核酸检测、3抗原检测")
private byte type;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("日期 yyyy-MM-dd HH:mm:ss")
private Date startTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("日期 yyyy-MM-dd HH:mm:ss")
private Date endTime;
}
@Data
@ApiModel("请求-识别后的健康信息")
public static class HealthConclusion{
@ApiModelProperty("提交记录id")
private Long id;
@ApiModelProperty("类型 0健康码、1行程码、2核酸检测、3抗原检测")
private byte type;
@ApiModelProperty("健康码颜色 0绿色 1黄色 2红色")
private byte colour;
@ApiModelProperty("行程码是否带星 0否 1是")
private byte star;
@ApiModelProperty("核酸/抗原结果 0阴性 1阳性")
private byte positive;
}
@Data
@ApiModel("请求-后台分页查找提交的健康信息")
public static class BackQueryHealth{
@ApiModelProperty("类型 0健康码、1行程码、2核酸检测、3抗原检测")
private byte type;
@ApiModelProperty("类型 0学生 1教职工")
private byte post;
@ApiModelProperty("学生姓名")
private String name;
@ApiModelProperty("学号")
private String number;
@ApiModelProperty("手机号")
private String phone;
@ApiModelProperty("所在学院Id")
private Long collegeId;
@ApiModelProperty("所在年级")
private String grade;
@ApiModelProperty("所在班级Id")
private Long stuClassId;
@ApiModelProperty("提交状态 为空查询全部 0未上报 1已上报 ")
private Byte status;
@ApiModelProperty("颜色 0绿色 1黄色 2红色")
private Byte colour;
@ApiModelProperty("是否带星 0否 1是")
private Byte star;
@ApiModelProperty("是否阳性 0阴性 1阳性")
private Byte positive;
@ApiModelProperty("提交时间")
private Long submitTime;
@ApiModelProperty("第几页")
@Min(value = 1)
private int pageNum = 1;
@ApiModelProperty("每页多少条")
@Min(value = 1)
@Max(value=100)
private int pageSize = 10;
public String getNumber() {
String s = number;
if(StrUtil.isNotBlank(number)){
s = SymmetricCryptoUtil.encrypt(DeliveryConstant.ENCRYPT_KEY,number);
}
return s;
}
public String getPhone() {
String s = phone;
if(StrUtil.isNotBlank(phone)){
s = SymmetricCryptoUtil.encrypt(DeliveryConstant.ENCRYPT_KEY,phone);
}
return s;
}
}
}

86
src/main/java/com/ccsens/delivery/bean/dto/MaterialDto.java

@ -1,9 +1,17 @@
package com.ccsens.delivery.bean.dto;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.ccsens.delivery.util.DeliveryConstant;
import com.ccsens.util.SymmetricCryptoUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import java.util.Date;
import java.util.List;
/**
@ -21,17 +29,91 @@ public class MaterialDto {
private Long planTime;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("物资购买详情")
private List<MaterialFormDetail> detailList;
}
@Data
@ApiModel("请求-提交物资购买的表单")
@ApiModel("请求-物资购买详情")
public static class MaterialFormDetail{
@ApiModelProperty("物品id")
private Long id;
@ApiModelProperty("数量")
private int planTime;
private int num;
}
@Data
@ApiModel("请求-后台分页查找物资订单信息")
public static class BackQueryMaterialOrder{
@ApiModelProperty("类型 0学生 1教职工")
private byte post;
@ApiModelProperty("学生姓名")
private String name;
@ApiModelProperty("学号")
private String number;
@ApiModelProperty("手机号")
private String phone;
// @ApiModelProperty("身份证号")
// private String idCard;
@ApiModelProperty("所在学院Id")
private Long collegeId;
@ApiModelProperty("所在年级")
private String grade;
@ApiModelProperty("所在班级Id")
private Long stuClassId;
@ApiModelProperty("所在楼栋Id")
private List<Long> dormitoryId;
@ApiModelProperty("详细地址")
private String address;
@ApiModelProperty("物品名称")
private String materialName;
@ApiModelProperty("配送状态 0未配送 1已完成 2无药 3撤回")
private Byte status;
@ApiModelProperty("订单提交时间")
private Long submitTime;
@ApiModelProperty("希望配送开始时间")
private Long startTime;
@ApiModelProperty("希望配送结束时间")
private Long endTime;
@ApiModelProperty("第几页")
@Min(value = 1)
private int pageNum = 1;
@ApiModelProperty("每页多少条")
@Min(value = 1)
@Max(value=100)
private int pageSize = 10;
// public Long getEndTime() {
// Long t = endTime;
// if(ObjectUtil.isNotNull(endTime)){
// t = DateUtil.endOfDay(new Date(endTime)).getTime();
// }
// return t;
// }
public String getNumber() {
String s = number;
if(StrUtil.isNotBlank(number)){
s = SymmetricCryptoUtil.encrypt(DeliveryConstant.ENCRYPT_KEY,number);
}
return s;
}
public String getPhone() {
String s = phone;
if(StrUtil.isNotBlank(phone)){
s = SymmetricCryptoUtil.encrypt(DeliveryConstant.ENCRYPT_KEY,phone);
}
return s;
}
// public String getIdCard() {
// String s = idCard;
// if(StrUtil.isNotBlank(idCard)){
// s = SymmetricCryptoUtil.encrypt(DeliveryConstant.ENCRYPT_KEY,idCard);
// }
// return s;
// }
}
}

89
src/main/java/com/ccsens/delivery/bean/dto/StudentDto.java

@ -70,31 +70,34 @@ public class StudentDto {
@Data
@ApiModel("请求-提价订单")
public static class SubmitOrder{
@NotBlank(message = "请输入姓名")
@ApiModelProperty("姓名")
private String name;
@NotBlank(message = "请输入学号")
@ApiModelProperty("学号")
private String stuNum;
@NotEmpty(message = "请输入正确的手机号")
@Pattern(regexp="^[1]([3-9])[0-9]{9}$",message="请输入正确的手机号")
@ApiModelProperty("联系电话")
private String phone;
@NotEmpty(message = "请输入正确的身份证号")
@ApiModelProperty("身份证号")
private String idCard;
@ApiModelProperty("所在学院Id")
private Long collegeId;
@ApiModelProperty("所在学院名称")
private String collegeName;
@ApiModelProperty("所在宿舍Id")
private Long dormitoryId;
@ApiModelProperty("所在宿舍名称")
private String dormitoryName;
@NotBlank(message = "请填写详细地址")
@ApiModelProperty("详细地址")
private String address;
@NotBlank(message = "请填写症状描述")
@NotNull(message = "表单id不能为空")
@ApiModelProperty("表单id")
private Long id;
// @NotBlank(message = "请输入姓名")
// @ApiModelProperty("姓名")
// private String name;
// @NotBlank(message = "请输入学号")
// @ApiModelProperty("学号")
// private String stuNum;
// @NotEmpty(message = "请输入正确的手机号")
// @Pattern(regexp="^[1]([3-9])[0-9]{9}$",message="请输入正确的手机号")
// @ApiModelProperty("联系电话")
// private String phone;
// @NotEmpty(message = "请输入正确的身份证号")
// @ApiModelProperty("身份证号")
// private String idCard;
// @ApiModelProperty("所在学院Id")
// private Long collegeId;
// @ApiModelProperty("所在学院名称")
// private String collegeName;
// @ApiModelProperty("所在宿舍Id")
// private Long dormitoryId;
// @ApiModelProperty("所在宿舍名称")
// private String dormitoryName;
// @NotBlank(message = "请填写详细地址")
// @ApiModelProperty("详细地址")
// private String address;
// @NotBlank(message = "请填写症状描述")
@ApiModelProperty("症状描述")
private String symptom;
@ApiModelProperty("是否断药 0否 1是")
@ -126,16 +129,22 @@ public class StudentDto {
@Data
@ApiModel("请求-后台分页查找订单信息")
public static class BackQueryOrder{
@ApiModelProperty("类型 0学生 1教职工")
private byte post;
@ApiModelProperty("学生姓名")
private String name;
@ApiModelProperty("学号")
private String stuNum;
private String number;
@ApiModelProperty("手机号")
private String phone;
@ApiModelProperty("身份证号")
private String idCard;
@ApiModelProperty("所在学院Id")
private Long collegeId;
@ApiModelProperty("所在年级")
private String grade;
@ApiModelProperty("所在班级Id")
private Long stuClassId;
@ApiModelProperty("所在宿舍Id")
private List<Long> dormitoryId;
@ApiModelProperty("详细地址")
@ -148,9 +157,11 @@ public class StudentDto {
private Byte broken;
@ApiModelProperty("配送状态 0未配送 1已完成 2无药 3撤回")
private Byte status;
@ApiModelProperty("开始时间")
@ApiModelProperty("订单提交时间")
private Long submitTime;
@ApiModelProperty("希望配送开始时间")
private Long startTime;
@ApiModelProperty("结束时间")
@ApiModelProperty("希望配送结束时间")
private Long endTime;
@ApiModelProperty("第几页")
@Min(value = 1)
@ -160,18 +171,18 @@ public class StudentDto {
@Max(value=100)
private int pageSize = 10;
public Long getEndTime() {
Long t = endTime;
if(ObjectUtil.isNotNull(endTime)){
t = DateUtil.endOfDay(new Date(endTime)).getTime();
}
return t;
}
// public Long getEndTime() {
// Long t = endTime;
// if(ObjectUtil.isNotNull(endTime)){
// t = DateUtil.endOfDay(new Date(endTime)).getTime();
// }
// return t;
// }
public String getStuNum() {
String s = stuNum;
if(StrUtil.isNotBlank(stuNum)){
s = SymmetricCryptoUtil.encrypt(DeliveryConstant.ENCRYPT_KEY,stuNum);
public String getNumber() {
String s = number;
if(StrUtil.isNotBlank(number)){
s = SymmetricCryptoUtil.encrypt(DeliveryConstant.ENCRYPT_KEY,number);
}
return s;
}

91
src/main/java/com/ccsens/delivery/bean/dto/TrailsDto.java

@ -1,10 +1,15 @@
package com.ccsens.delivery.bean.dto;
import cn.hutool.core.util.StrUtil;
import com.ccsens.delivery.util.DeliveryConstant;
import com.ccsens.util.SymmetricCryptoUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import java.util.Date;
import java.util.List;
@ -19,17 +24,24 @@ public class TrailsDto {
public static class TrailsForm{
@ApiModelProperty("表单页面id")
private Long id;
@ApiModelProperty("每天的轨迹信息")
private List<TrailsFormDay> trailsFormDays;
}
@Data
@ApiModel("请求-每天的轨迹信息")
public static class TrailsFormDay{
@JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty("日期")
private Date trailsDate;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("备注")
@ApiModelProperty("详情")
private List<TrailsDetail> trailsDetailList;
}
@Data
@ApiModel("请求-提交活动轨迹记录")
@ApiModel("请求-活动轨迹记录详情")
public static class TrailsDetail{
@ApiModelProperty("开始时间")
private Long startTime;
@ -37,12 +49,79 @@ public class TrailsDto {
private Long endTime;
@ApiModelProperty("轨迹详情")
private String trailsDetail;
@ApiModelProperty("轨迹详情")
@ApiModelProperty("交通工具")
private String vehicle;
@ApiModelProperty("轨迹详情")
@ApiModelProperty("交通工具备注")
private String vehicleRemark;
@ApiModelProperty("是否戴口罩 0否 1是")
private byte mask;
@ApiModelProperty("防护手段")
private String mask;
@ApiModelProperty("防护备注")
private String otherMask;
}
@Data
@ApiModel("请求-后台分页查找轨迹信息")
public static class BackQueryTrails{
@ApiModelProperty("类型 0学生 1教职工")
private byte post;
@ApiModelProperty("姓名")
private String name;
@ApiModelProperty("学号")
private String number;
@ApiModelProperty("手机号")
private String phone;
@ApiModelProperty("所在学院Id")
private Long collegeId;
@ApiModelProperty("所在年级")
private String grade;
@ApiModelProperty("所在班级Id")
private Long stuClassId;
@ApiModelProperty("所在楼栋Id")
private List<Long> dormitoryId;
@ApiModelProperty("详细地址")
private String address;
@ApiModelProperty("交通工具")
private String vehicle;
@ApiModelProperty("活动轨迹")
private String trailsDetail;
@JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty("轨迹日期开始 yyyy-MM-dd")
private Date startDate;
@JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty("轨迹日期结束 yyyy-MM-dd")
private Date endDate;
@JsonFormat(pattern = "HH:mm:ss")
@ApiModelProperty("轨迹日期开始 HH:mm:ss")
private Date startTime;
@JsonFormat(pattern = "HH:mm:ss")
@ApiModelProperty("轨迹日期结束 HH:mm:ss")
private Date endTime;
@ApiModelProperty("第几页")
@Min(value = 1)
private int pageNum = 1;
@ApiModelProperty("每页多少条")
@Min(value = 1)
@Max(value=100)
private int pageSize = 10;
public String getNumber() {
String s = number;
if(StrUtil.isNotBlank(number)){
s = SymmetricCryptoUtil.encrypt(DeliveryConstant.ENCRYPT_KEY,number);
}
return s;
}
public String getPhone() {
String s = phone;
if(StrUtil.isNotBlank(phone)){
s = SymmetricCryptoUtil.encrypt(DeliveryConstant.ENCRYPT_KEY,phone);
}
return s;
}
}
}

18
src/main/java/com/ccsens/delivery/bean/dto/UserDto.java

@ -4,7 +4,10 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
/**
* @author
@ -102,13 +105,20 @@ public class UserDto {
@ApiModelProperty("信息id")
private Long id;
@ApiModelProperty("身份 0学生 1教师")
private String post;
private byte post;
@ApiModelProperty("学生类别 0 本科生 1研究生 2留学生")
private byte studentType;
@NotBlank(message = "请输入姓名")
@ApiModelProperty("姓名")
private String name;
@NotBlank(message = "请输入学号")
@ApiModelProperty("学号/工号")
private String number;
@NotEmpty(message = "请输入正确的手机号")
@Pattern(regexp="^[1]([3-9])[0-9]{9}$",message="请输入正确的手机号")
@ApiModelProperty("联系电话")
private String phone;
@NotEmpty(message = "请输入正确的身份证号")
@ApiModelProperty("身份证号")
private String idCard;
@ApiModelProperty("学院id")
@ -121,8 +131,10 @@ public class UserDto {
private String dormitoryName;
@ApiModelProperty("所在年级")
private String grade;
@ApiModelProperty("所在班级")
private String stuClass;
@ApiModelProperty("所在班级Id")
private Long stuClassId;
@ApiModelProperty("所在班级名称")
private String stuClassName;
@ApiModelProperty("详细地址")
private String address;
@ApiModelProperty("是否同意用户协议")

41
src/main/java/com/ccsens/delivery/bean/po/RecordHealth.java

@ -10,7 +10,13 @@ public class RecordHealth implements Serializable {
private Byte type;
private String fileId;
private Long fileId;
private Byte colour;
private Byte star;
private Byte positive;
private Long submitTime;
@ -48,12 +54,36 @@ public class RecordHealth implements Serializable {
this.type = type;
}
public String getFileId() {
public Long getFileId() {
return fileId;
}
public void setFileId(String fileId) {
this.fileId = fileId == null ? null : fileId.trim();
public void setFileId(Long fileId) {
this.fileId = fileId;
}
public Byte getColour() {
return colour;
}
public void setColour(Byte colour) {
this.colour = colour;
}
public Byte getStar() {
return star;
}
public void setStar(Byte star) {
this.star = star;
}
public Byte getPositive() {
return positive;
}
public void setPositive(Byte positive) {
this.positive = positive;
}
public Long getSubmitTime() {
@ -106,6 +136,9 @@ public class RecordHealth implements Serializable {
sb.append(", userId=").append(userId);
sb.append(", type=").append(type);
sb.append(", fileId=").append(fileId);
sb.append(", colour=").append(colour);
sb.append(", star=").append(star);
sb.append(", positive=").append(positive);
sb.append(", submitTime=").append(submitTime);
sb.append(", operator=").append(operator);
sb.append(", createdAt=").append(createdAt);

206
src/main/java/com/ccsens/delivery/bean/po/RecordHealthExample.java

@ -295,63 +295,233 @@ public class RecordHealthExample {
return (Criteria) this;
}
public Criteria andFileIdEqualTo(String value) {
public Criteria andFileIdEqualTo(Long value) {
addCriterion("file_id =", value, "fileId");
return (Criteria) this;
}
public Criteria andFileIdNotEqualTo(String value) {
public Criteria andFileIdNotEqualTo(Long value) {
addCriterion("file_id <>", value, "fileId");
return (Criteria) this;
}
public Criteria andFileIdGreaterThan(String value) {
public Criteria andFileIdGreaterThan(Long value) {
addCriterion("file_id >", value, "fileId");
return (Criteria) this;
}
public Criteria andFileIdGreaterThanOrEqualTo(String value) {
public Criteria andFileIdGreaterThanOrEqualTo(Long value) {
addCriterion("file_id >=", value, "fileId");
return (Criteria) this;
}
public Criteria andFileIdLessThan(String value) {
public Criteria andFileIdLessThan(Long value) {
addCriterion("file_id <", value, "fileId");
return (Criteria) this;
}
public Criteria andFileIdLessThanOrEqualTo(String value) {
public Criteria andFileIdLessThanOrEqualTo(Long value) {
addCriterion("file_id <=", value, "fileId");
return (Criteria) this;
}
public Criteria andFileIdLike(String value) {
addCriterion("file_id like", value, "fileId");
public Criteria andFileIdIn(List<Long> values) {
addCriterion("file_id in", values, "fileId");
return (Criteria) this;
}
public Criteria andFileIdNotLike(String value) {
addCriterion("file_id not like", value, "fileId");
public Criteria andFileIdNotIn(List<Long> values) {
addCriterion("file_id not in", values, "fileId");
return (Criteria) this;
}
public Criteria andFileIdIn(List<String> values) {
addCriterion("file_id in", values, "fileId");
public Criteria andFileIdBetween(Long value1, Long value2) {
addCriterion("file_id between", value1, value2, "fileId");
return (Criteria) this;
}
public Criteria andFileIdNotIn(List<String> values) {
addCriterion("file_id not in", values, "fileId");
public Criteria andFileIdNotBetween(Long value1, Long value2) {
addCriterion("file_id not between", value1, value2, "fileId");
return (Criteria) this;
}
public Criteria andFileIdBetween(String value1, String value2) {
addCriterion("file_id between", value1, value2, "fileId");
public Criteria andColourIsNull() {
addCriterion("colour is null");
return (Criteria) this;
}
public Criteria andFileIdNotBetween(String value1, String value2) {
addCriterion("file_id not between", value1, value2, "fileId");
public Criteria andColourIsNotNull() {
addCriterion("colour is not null");
return (Criteria) this;
}
public Criteria andColourEqualTo(Byte value) {
addCriterion("colour =", value, "colour");
return (Criteria) this;
}
public Criteria andColourNotEqualTo(Byte value) {
addCriterion("colour <>", value, "colour");
return (Criteria) this;
}
public Criteria andColourGreaterThan(Byte value) {
addCriterion("colour >", value, "colour");
return (Criteria) this;
}
public Criteria andColourGreaterThanOrEqualTo(Byte value) {
addCriterion("colour >=", value, "colour");
return (Criteria) this;
}
public Criteria andColourLessThan(Byte value) {
addCriterion("colour <", value, "colour");
return (Criteria) this;
}
public Criteria andColourLessThanOrEqualTo(Byte value) {
addCriterion("colour <=", value, "colour");
return (Criteria) this;
}
public Criteria andColourIn(List<Byte> values) {
addCriterion("colour in", values, "colour");
return (Criteria) this;
}
public Criteria andColourNotIn(List<Byte> values) {
addCriterion("colour not in", values, "colour");
return (Criteria) this;
}
public Criteria andColourBetween(Byte value1, Byte value2) {
addCriterion("colour between", value1, value2, "colour");
return (Criteria) this;
}
public Criteria andColourNotBetween(Byte value1, Byte value2) {
addCriterion("colour not between", value1, value2, "colour");
return (Criteria) this;
}
public Criteria andStarIsNull() {
addCriterion("star is null");
return (Criteria) this;
}
public Criteria andStarIsNotNull() {
addCriterion("star is not null");
return (Criteria) this;
}
public Criteria andStarEqualTo(Byte value) {
addCriterion("star =", value, "star");
return (Criteria) this;
}
public Criteria andStarNotEqualTo(Byte value) {
addCriterion("star <>", value, "star");
return (Criteria) this;
}
public Criteria andStarGreaterThan(Byte value) {
addCriterion("star >", value, "star");
return (Criteria) this;
}
public Criteria andStarGreaterThanOrEqualTo(Byte value) {
addCriterion("star >=", value, "star");
return (Criteria) this;
}
public Criteria andStarLessThan(Byte value) {
addCriterion("star <", value, "star");
return (Criteria) this;
}
public Criteria andStarLessThanOrEqualTo(Byte value) {
addCriterion("star <=", value, "star");
return (Criteria) this;
}
public Criteria andStarIn(List<Byte> values) {
addCriterion("star in", values, "star");
return (Criteria) this;
}
public Criteria andStarNotIn(List<Byte> values) {
addCriterion("star not in", values, "star");
return (Criteria) this;
}
public Criteria andStarBetween(Byte value1, Byte value2) {
addCriterion("star between", value1, value2, "star");
return (Criteria) this;
}
public Criteria andStarNotBetween(Byte value1, Byte value2) {
addCriterion("star not between", value1, value2, "star");
return (Criteria) this;
}
public Criteria andPositiveIsNull() {
addCriterion("positive is null");
return (Criteria) this;
}
public Criteria andPositiveIsNotNull() {
addCriterion("positive is not null");
return (Criteria) this;
}
public Criteria andPositiveEqualTo(Byte value) {
addCriterion("positive =", value, "positive");
return (Criteria) this;
}
public Criteria andPositiveNotEqualTo(Byte value) {
addCriterion("positive <>", value, "positive");
return (Criteria) this;
}
public Criteria andPositiveGreaterThan(Byte value) {
addCriterion("positive >", value, "positive");
return (Criteria) this;
}
public Criteria andPositiveGreaterThanOrEqualTo(Byte value) {
addCriterion("positive >=", value, "positive");
return (Criteria) this;
}
public Criteria andPositiveLessThan(Byte value) {
addCriterion("positive <", value, "positive");
return (Criteria) this;
}
public Criteria andPositiveLessThanOrEqualTo(Byte value) {
addCriterion("positive <=", value, "positive");
return (Criteria) this;
}
public Criteria andPositiveIn(List<Byte> values) {
addCriterion("positive in", values, "positive");
return (Criteria) this;
}
public Criteria andPositiveNotIn(List<Byte> values) {
addCriterion("positive not in", values, "positive");
return (Criteria) this;
}
public Criteria andPositiveBetween(Byte value1, Byte value2) {
addCriterion("positive between", value1, value2, "positive");
return (Criteria) this;
}
public Criteria andPositiveNotBetween(Byte value1, Byte value2) {
addCriterion("positive not between", value1, value2, "positive");
return (Criteria) this;
}

8
src/main/java/com/ccsens/delivery/bean/po/RecordTrails.java

@ -8,7 +8,7 @@ public class RecordTrails implements Serializable {
private Long userId;
private String trailsDate;
private Date trailsDate;
private Long submitTime;
@ -40,12 +40,12 @@ public class RecordTrails implements Serializable {
this.userId = userId;
}
public String getTrailsDate() {
public Date getTrailsDate() {
return trailsDate;
}
public void setTrailsDate(String trailsDate) {
this.trailsDate = trailsDate == null ? null : trailsDate.trim();
public void setTrailsDate(Date trailsDate) {
this.trailsDate = trailsDate;
}
public Long getSubmitTime() {

30
src/main/java/com/ccsens/delivery/bean/po/RecordTrailsDetail.java

@ -16,7 +16,11 @@ public class RecordTrailsDetail implements Serializable {
private String vehicle;
private Byte mask;
private String vehicleRemark;
private String mask;
private String otherMask;
private Long operator;
@ -76,12 +80,28 @@ public class RecordTrailsDetail implements Serializable {
this.vehicle = vehicle == null ? null : vehicle.trim();
}
public Byte getMask() {
public String getVehicleRemark() {
return vehicleRemark;
}
public void setVehicleRemark(String vehicleRemark) {
this.vehicleRemark = vehicleRemark == null ? null : vehicleRemark.trim();
}
public String getMask() {
return mask;
}
public void setMask(Byte mask) {
this.mask = mask;
public void setMask(String mask) {
this.mask = mask == null ? null : mask.trim();
}
public String getOtherMask() {
return otherMask;
}
public void setOtherMask(String otherMask) {
this.otherMask = otherMask == null ? null : otherMask.trim();
}
public Long getOperator() {
@ -128,7 +148,9 @@ public class RecordTrailsDetail implements Serializable {
sb.append(", endTime=").append(endTime);
sb.append(", trailsDetail=").append(trailsDetail);
sb.append(", vehicle=").append(vehicle);
sb.append(", vehicleRemark=").append(vehicleRemark);
sb.append(", mask=").append(mask);
sb.append(", otherMask=").append(otherMask);
sb.append(", operator=").append(operator);
sb.append(", createdAt=").append(createdAt);
sb.append(", updatedAt=").append(updatedAt);

170
src/main/java/com/ccsens/delivery/bean/po/RecordTrailsDetailExample.java

@ -485,6 +485,76 @@ public class RecordTrailsDetailExample {
return (Criteria) this;
}
public Criteria andVehicleRemarkIsNull() {
addCriterion("vehicle_remark is null");
return (Criteria) this;
}
public Criteria andVehicleRemarkIsNotNull() {
addCriterion("vehicle_remark is not null");
return (Criteria) this;
}
public Criteria andVehicleRemarkEqualTo(String value) {
addCriterion("vehicle_remark =", value, "vehicleRemark");
return (Criteria) this;
}
public Criteria andVehicleRemarkNotEqualTo(String value) {
addCriterion("vehicle_remark <>", value, "vehicleRemark");
return (Criteria) this;
}
public Criteria andVehicleRemarkGreaterThan(String value) {
addCriterion("vehicle_remark >", value, "vehicleRemark");
return (Criteria) this;
}
public Criteria andVehicleRemarkGreaterThanOrEqualTo(String value) {
addCriterion("vehicle_remark >=", value, "vehicleRemark");
return (Criteria) this;
}
public Criteria andVehicleRemarkLessThan(String value) {
addCriterion("vehicle_remark <", value, "vehicleRemark");
return (Criteria) this;
}
public Criteria andVehicleRemarkLessThanOrEqualTo(String value) {
addCriterion("vehicle_remark <=", value, "vehicleRemark");
return (Criteria) this;
}
public Criteria andVehicleRemarkLike(String value) {
addCriterion("vehicle_remark like", value, "vehicleRemark");
return (Criteria) this;
}
public Criteria andVehicleRemarkNotLike(String value) {
addCriterion("vehicle_remark not like", value, "vehicleRemark");
return (Criteria) this;
}
public Criteria andVehicleRemarkIn(List<String> values) {
addCriterion("vehicle_remark in", values, "vehicleRemark");
return (Criteria) this;
}
public Criteria andVehicleRemarkNotIn(List<String> values) {
addCriterion("vehicle_remark not in", values, "vehicleRemark");
return (Criteria) this;
}
public Criteria andVehicleRemarkBetween(String value1, String value2) {
addCriterion("vehicle_remark between", value1, value2, "vehicleRemark");
return (Criteria) this;
}
public Criteria andVehicleRemarkNotBetween(String value1, String value2) {
addCriterion("vehicle_remark not between", value1, value2, "vehicleRemark");
return (Criteria) this;
}
public Criteria andMaskIsNull() {
addCriterion("mask is null");
return (Criteria) this;
@ -495,56 +565,136 @@ public class RecordTrailsDetailExample {
return (Criteria) this;
}
public Criteria andMaskEqualTo(Byte value) {
public Criteria andMaskEqualTo(String value) {
addCriterion("mask =", value, "mask");
return (Criteria) this;
}
public Criteria andMaskNotEqualTo(Byte value) {
public Criteria andMaskNotEqualTo(String value) {
addCriterion("mask <>", value, "mask");
return (Criteria) this;
}
public Criteria andMaskGreaterThan(Byte value) {
public Criteria andMaskGreaterThan(String value) {
addCriterion("mask >", value, "mask");
return (Criteria) this;
}
public Criteria andMaskGreaterThanOrEqualTo(Byte value) {
public Criteria andMaskGreaterThanOrEqualTo(String value) {
addCriterion("mask >=", value, "mask");
return (Criteria) this;
}
public Criteria andMaskLessThan(Byte value) {
public Criteria andMaskLessThan(String value) {
addCriterion("mask <", value, "mask");
return (Criteria) this;
}
public Criteria andMaskLessThanOrEqualTo(Byte value) {
public Criteria andMaskLessThanOrEqualTo(String value) {
addCriterion("mask <=", value, "mask");
return (Criteria) this;
}
public Criteria andMaskIn(List<Byte> values) {
public Criteria andMaskLike(String value) {
addCriterion("mask like", value, "mask");
return (Criteria) this;
}
public Criteria andMaskNotLike(String value) {
addCriterion("mask not like", value, "mask");
return (Criteria) this;
}
public Criteria andMaskIn(List<String> values) {
addCriterion("mask in", values, "mask");
return (Criteria) this;
}
public Criteria andMaskNotIn(List<Byte> values) {
public Criteria andMaskNotIn(List<String> values) {
addCriterion("mask not in", values, "mask");
return (Criteria) this;
}
public Criteria andMaskBetween(Byte value1, Byte value2) {
public Criteria andMaskBetween(String value1, String value2) {
addCriterion("mask between", value1, value2, "mask");
return (Criteria) this;
}
public Criteria andMaskNotBetween(Byte value1, Byte value2) {
public Criteria andMaskNotBetween(String value1, String value2) {
addCriterion("mask not between", value1, value2, "mask");
return (Criteria) this;
}
public Criteria andOtherMaskIsNull() {
addCriterion("other_mask is null");
return (Criteria) this;
}
public Criteria andOtherMaskIsNotNull() {
addCriterion("other_mask is not null");
return (Criteria) this;
}
public Criteria andOtherMaskEqualTo(String value) {
addCriterion("other_mask =", value, "otherMask");
return (Criteria) this;
}
public Criteria andOtherMaskNotEqualTo(String value) {
addCriterion("other_mask <>", value, "otherMask");
return (Criteria) this;
}
public Criteria andOtherMaskGreaterThan(String value) {
addCriterion("other_mask >", value, "otherMask");
return (Criteria) this;
}
public Criteria andOtherMaskGreaterThanOrEqualTo(String value) {
addCriterion("other_mask >=", value, "otherMask");
return (Criteria) this;
}
public Criteria andOtherMaskLessThan(String value) {
addCriterion("other_mask <", value, "otherMask");
return (Criteria) this;
}
public Criteria andOtherMaskLessThanOrEqualTo(String value) {
addCriterion("other_mask <=", value, "otherMask");
return (Criteria) this;
}
public Criteria andOtherMaskLike(String value) {
addCriterion("other_mask like", value, "otherMask");
return (Criteria) this;
}
public Criteria andOtherMaskNotLike(String value) {
addCriterion("other_mask not like", value, "otherMask");
return (Criteria) this;
}
public Criteria andOtherMaskIn(List<String> values) {
addCriterion("other_mask in", values, "otherMask");
return (Criteria) this;
}
public Criteria andOtherMaskNotIn(List<String> values) {
addCriterion("other_mask not in", values, "otherMask");
return (Criteria) this;
}
public Criteria andOtherMaskBetween(String value1, String value2) {
addCriterion("other_mask between", value1, value2, "otherMask");
return (Criteria) this;
}
public Criteria andOtherMaskNotBetween(String value1, String value2) {
addCriterion("other_mask not between", value1, value2, "otherMask");
return (Criteria) this;
}
public Criteria andOperatorIsNull() {
addCriterion("operator is null");
return (Criteria) this;

30
src/main/java/com/ccsens/delivery/bean/po/RecordTrailsExample.java

@ -235,62 +235,52 @@ public class RecordTrailsExample {
return (Criteria) this;
}
public Criteria andTrailsDateEqualTo(String value) {
public Criteria andTrailsDateEqualTo(Date value) {
addCriterion("trails_date =", value, "trailsDate");
return (Criteria) this;
}
public Criteria andTrailsDateNotEqualTo(String value) {
public Criteria andTrailsDateNotEqualTo(Date value) {
addCriterion("trails_date <>", value, "trailsDate");
return (Criteria) this;
}
public Criteria andTrailsDateGreaterThan(String value) {
public Criteria andTrailsDateGreaterThan(Date value) {
addCriterion("trails_date >", value, "trailsDate");
return (Criteria) this;
}
public Criteria andTrailsDateGreaterThanOrEqualTo(String value) {
public Criteria andTrailsDateGreaterThanOrEqualTo(Date value) {
addCriterion("trails_date >=", value, "trailsDate");
return (Criteria) this;
}
public Criteria andTrailsDateLessThan(String value) {
public Criteria andTrailsDateLessThan(Date value) {
addCriterion("trails_date <", value, "trailsDate");
return (Criteria) this;
}
public Criteria andTrailsDateLessThanOrEqualTo(String value) {
public Criteria andTrailsDateLessThanOrEqualTo(Date value) {
addCriterion("trails_date <=", value, "trailsDate");
return (Criteria) this;
}
public Criteria andTrailsDateLike(String value) {
addCriterion("trails_date like", value, "trailsDate");
return (Criteria) this;
}
public Criteria andTrailsDateNotLike(String value) {
addCriterion("trails_date not like", value, "trailsDate");
return (Criteria) this;
}
public Criteria andTrailsDateIn(List<String> values) {
public Criteria andTrailsDateIn(List<Date> values) {
addCriterion("trails_date in", values, "trailsDate");
return (Criteria) this;
}
public Criteria andTrailsDateNotIn(List<String> values) {
public Criteria andTrailsDateNotIn(List<Date> values) {
addCriterion("trails_date not in", values, "trailsDate");
return (Criteria) this;
}
public Criteria andTrailsDateBetween(String value1, String value2) {
public Criteria andTrailsDateBetween(Date value1, Date value2) {
addCriterion("trails_date between", value1, value2, "trailsDate");
return (Criteria) this;
}
public Criteria andTrailsDateNotBetween(String value1, String value2) {
public Criteria andTrailsDateNotBetween(Date value1, Date value2) {
addCriterion("trails_date not between", value1, value2, "trailsDate");
return (Criteria) this;
}

34
src/main/java/com/ccsens/delivery/bean/po/SysUserInfo.java

@ -30,7 +30,11 @@ public class SysUserInfo implements Serializable {
private String grade;
private String stuClass;
private String stuClassId;
private String stuClassName;
private Byte studentType;
private Long operator;
@ -146,12 +150,28 @@ public class SysUserInfo implements Serializable {
this.grade = grade == null ? null : grade.trim();
}
public String getStuClass() {
return stuClass;
public String getStuClassId() {
return stuClassId;
}
public void setStuClassId(String stuClassId) {
this.stuClassId = stuClassId == null ? null : stuClassId.trim();
}
public String getStuClassName() {
return stuClassName;
}
public void setStuClassName(String stuClassName) {
this.stuClassName = stuClassName == null ? null : stuClassName.trim();
}
public Byte getStudentType() {
return studentType;
}
public void setStuClass(String stuClass) {
this.stuClass = stuClass == null ? null : stuClass.trim();
public void setStudentType(Byte studentType) {
this.studentType = studentType;
}
public Long getOperator() {
@ -205,7 +225,9 @@ public class SysUserInfo implements Serializable {
sb.append(", dormitoryName=").append(dormitoryName);
sb.append(", address=").append(address);
sb.append(", grade=").append(grade);
sb.append(", stuClass=").append(stuClass);
sb.append(", stuClassId=").append(stuClassId);
sb.append(", stuClassName=").append(stuClassName);
sb.append(", studentType=").append(studentType);
sb.append(", operator=").append(operator);
sb.append(", createdAt=").append(createdAt);
sb.append(", updatedAt=").append(updatedAt);

186
src/main/java/com/ccsens/delivery/bean/po/SysUserInfoExample.java

@ -965,73 +965,203 @@ public class SysUserInfoExample {
return (Criteria) this;
}
public Criteria andStuClassIsNull() {
addCriterion("stu_class is null");
public Criteria andStuClassIdIsNull() {
addCriterion("stu_class_id is null");
return (Criteria) this;
}
public Criteria andStuClassIsNotNull() {
addCriterion("stu_class is not null");
public Criteria andStuClassIdIsNotNull() {
addCriterion("stu_class_id is not null");
return (Criteria) this;
}
public Criteria andStuClassEqualTo(String value) {
addCriterion("stu_class =", value, "stuClass");
public Criteria andStuClassIdEqualTo(String value) {
addCriterion("stu_class_id =", value, "stuClassId");
return (Criteria) this;
}
public Criteria andStuClassNotEqualTo(String value) {
addCriterion("stu_class <>", value, "stuClass");
public Criteria andStuClassIdNotEqualTo(String value) {
addCriterion("stu_class_id <>", value, "stuClassId");
return (Criteria) this;
}
public Criteria andStuClassGreaterThan(String value) {
addCriterion("stu_class >", value, "stuClass");
public Criteria andStuClassIdGreaterThan(String value) {
addCriterion("stu_class_id >", value, "stuClassId");
return (Criteria) this;
}
public Criteria andStuClassGreaterThanOrEqualTo(String value) {
addCriterion("stu_class >=", value, "stuClass");
public Criteria andStuClassIdGreaterThanOrEqualTo(String value) {
addCriterion("stu_class_id >=", value, "stuClassId");
return (Criteria) this;
}
public Criteria andStuClassLessThan(String value) {
addCriterion("stu_class <", value, "stuClass");
public Criteria andStuClassIdLessThan(String value) {
addCriterion("stu_class_id <", value, "stuClassId");
return (Criteria) this;
}
public Criteria andStuClassLessThanOrEqualTo(String value) {
addCriterion("stu_class <=", value, "stuClass");
public Criteria andStuClassIdLessThanOrEqualTo(String value) {
addCriterion("stu_class_id <=", value, "stuClassId");
return (Criteria) this;
}
public Criteria andStuClassLike(String value) {
addCriterion("stu_class like", value, "stuClass");
public Criteria andStuClassIdLike(String value) {
addCriterion("stu_class_id like", value, "stuClassId");
return (Criteria) this;
}
public Criteria andStuClassNotLike(String value) {
addCriterion("stu_class not like", value, "stuClass");
public Criteria andStuClassIdNotLike(String value) {
addCriterion("stu_class_id not like", value, "stuClassId");
return (Criteria) this;
}
public Criteria andStuClassIn(List<String> values) {
addCriterion("stu_class in", values, "stuClass");
public Criteria andStuClassIdIn(List<String> values) {
addCriterion("stu_class_id in", values, "stuClassId");
return (Criteria) this;
}
public Criteria andStuClassNotIn(List<String> values) {
addCriterion("stu_class not in", values, "stuClass");
public Criteria andStuClassIdNotIn(List<String> values) {
addCriterion("stu_class_id not in", values, "stuClassId");
return (Criteria) this;
}
public Criteria andStuClassBetween(String value1, String value2) {
addCriterion("stu_class between", value1, value2, "stuClass");
public Criteria andStuClassIdBetween(String value1, String value2) {
addCriterion("stu_class_id between", value1, value2, "stuClassId");
return (Criteria) this;
}
public Criteria andStuClassNotBetween(String value1, String value2) {
addCriterion("stu_class not between", value1, value2, "stuClass");
public Criteria andStuClassIdNotBetween(String value1, String value2) {
addCriterion("stu_class_id not between", value1, value2, "stuClassId");
return (Criteria) this;
}
public Criteria andStuClassNameIsNull() {
addCriterion("stu_class_name is null");
return (Criteria) this;
}
public Criteria andStuClassNameIsNotNull() {
addCriterion("stu_class_name is not null");
return (Criteria) this;
}
public Criteria andStuClassNameEqualTo(String value) {
addCriterion("stu_class_name =", value, "stuClassName");
return (Criteria) this;
}
public Criteria andStuClassNameNotEqualTo(String value) {
addCriterion("stu_class_name <>", value, "stuClassName");
return (Criteria) this;
}
public Criteria andStuClassNameGreaterThan(String value) {
addCriterion("stu_class_name >", value, "stuClassName");
return (Criteria) this;
}
public Criteria andStuClassNameGreaterThanOrEqualTo(String value) {
addCriterion("stu_class_name >=", value, "stuClassName");
return (Criteria) this;
}
public Criteria andStuClassNameLessThan(String value) {
addCriterion("stu_class_name <", value, "stuClassName");
return (Criteria) this;
}
public Criteria andStuClassNameLessThanOrEqualTo(String value) {
addCriterion("stu_class_name <=", value, "stuClassName");
return (Criteria) this;
}
public Criteria andStuClassNameLike(String value) {
addCriterion("stu_class_name like", value, "stuClassName");
return (Criteria) this;
}
public Criteria andStuClassNameNotLike(String value) {
addCriterion("stu_class_name not like", value, "stuClassName");
return (Criteria) this;
}
public Criteria andStuClassNameIn(List<String> values) {
addCriterion("stu_class_name in", values, "stuClassName");
return (Criteria) this;
}
public Criteria andStuClassNameNotIn(List<String> values) {
addCriterion("stu_class_name not in", values, "stuClassName");
return (Criteria) this;
}
public Criteria andStuClassNameBetween(String value1, String value2) {
addCriterion("stu_class_name between", value1, value2, "stuClassName");
return (Criteria) this;
}
public Criteria andStuClassNameNotBetween(String value1, String value2) {
addCriterion("stu_class_name not between", value1, value2, "stuClassName");
return (Criteria) this;
}
public Criteria andStudentTypeIsNull() {
addCriterion("student_type is null");
return (Criteria) this;
}
public Criteria andStudentTypeIsNotNull() {
addCriterion("student_type is not null");
return (Criteria) this;
}
public Criteria andStudentTypeEqualTo(Byte value) {
addCriterion("student_type =", value, "studentType");
return (Criteria) this;
}
public Criteria andStudentTypeNotEqualTo(Byte value) {
addCriterion("student_type <>", value, "studentType");
return (Criteria) this;
}
public Criteria andStudentTypeGreaterThan(Byte value) {
addCriterion("student_type >", value, "studentType");
return (Criteria) this;
}
public Criteria andStudentTypeGreaterThanOrEqualTo(Byte value) {
addCriterion("student_type >=", value, "studentType");
return (Criteria) this;
}
public Criteria andStudentTypeLessThan(Byte value) {
addCriterion("student_type <", value, "studentType");
return (Criteria) this;
}
public Criteria andStudentTypeLessThanOrEqualTo(Byte value) {
addCriterion("student_type <=", value, "studentType");
return (Criteria) this;
}
public Criteria andStudentTypeIn(List<Byte> values) {
addCriterion("student_type in", values, "studentType");
return (Criteria) this;
}
public Criteria andStudentTypeNotIn(List<Byte> values) {
addCriterion("student_type not in", values, "studentType");
return (Criteria) this;
}
public Criteria andStudentTypeBetween(Byte value1, Byte value2) {
addCriterion("student_type between", value1, value2, "studentType");
return (Criteria) this;
}
public Criteria andStudentTypeNotBetween(Byte value1, Byte value2) {
addCriterion("student_type not between", value1, value2, "studentType");
return (Criteria) this;
}

66
src/main/java/com/ccsens/delivery/bean/vo/CommonVo.java

@ -13,11 +13,71 @@ public class CommonVo {
public static class QuerySelf{
@ApiModelProperty("表单页面id")
private Long id;
@ApiModelProperty("类型 0健康码、1行程码、2核酸检测、3抗原检测")
private byte type;
// @ApiModelProperty("类型 0健康码、1行程码、2核酸检测、3抗原检测")
// private byte type;
@ApiModelProperty("提交时间")
private Long submitTime;
@ApiModelProperty("提交订单的状态")
@ApiModelProperty("提交订单的状态 0已提交/未配送 1已完成 2无货 3撤回")
private byte status;
}
@Data
@ApiModel("返回-统计")
public static class Statistics{
@ApiModelProperty("健康码")
private HealthNum healthCode;
@ApiModelProperty("行程码")
private HealthNum tourCode;
@ApiModelProperty("核酸检测")
private HealthNum nucleic;
@ApiModelProperty("抗原检测")
private HealthNum antigens;
@ApiModelProperty("活动轨迹")
private OrderNum track;
@ApiModelProperty("物资需求")
private OrderNum material;
@ApiModelProperty("药品需求")
private OrderNum drug;
}
@Data
@ApiModel("返回-统计分析-健康码")
public static class HealthNum{
@ApiModelProperty("总人数")
private int totalNum;
@ApiModelProperty("已上报/已检测数量")
private int reportNum;
@ApiModelProperty("未上报/未检测数量")
private int notReportNum;
@ApiModelProperty("绿码")
private int greenNum;
@ApiModelProperty("黄码")
private int yellowNum;
@ApiModelProperty("红码")
private int redNum;
@ApiModelProperty("带星")
private int starNum;
@ApiModelProperty("不带星")
private int notStarNum;
@ApiModelProperty("阴性")
private int feminineNum;
@ApiModelProperty("阳性")
private int positiveNum;
public void setTotalNumAndNotReportNum(int total) {
this.totalNum = total;
this.notReportNum = Math.max(totalNum - reportNum, 0);
}
}
@Data
@ApiModel("返回-统计分析-订单")
public static class OrderNum{
@ApiModelProperty("总数")
private int totalNum;
@ApiModelProperty("已上报/已配送数量")
private int completeNum;
@ApiModelProperty("未上报/未配送数量")
private int notCompleteNum;
}
}

75
src/main/java/com/ccsens/delivery/bean/vo/HealthVo.java

@ -1,15 +1,90 @@
package com.ccsens.delivery.bean.vo;
import cn.hutool.core.util.StrUtil;
import com.ccsens.delivery.util.DeliveryConstant;
import com.ccsens.util.SymmetricCryptoUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* @author
*/
@Data
public class HealthVo {
@Data
@ApiModel("返回-健康相关的信息")
public static class HealthList{
@ApiModelProperty("提交记录id")
private Long id;
@ApiModelProperty("类型 0健康码、1行程码、2核酸检测、3抗原检测")
private byte type;
@ApiModelProperty("图片路径")
private String path;
@ApiModelProperty("是否已经标注过 0否 1是")
private byte ocr;
}
@Data
@ApiModel("返回-健康相关信息列表")
public static class BackQueryHealthVo{
@ApiModelProperty("记录id")
private Long id;
@ApiModelProperty("姓名")
private String name;
@ApiModelProperty("学号")
private String number;
@ApiModelProperty("联系电话")
private String phone;
@ApiModelProperty("所在学院Id")
private Long collegeId;
@ApiModelProperty("所在学院名称")
private String collegeName;
@ApiModelProperty("所在年级")
private String grade;
@ApiModelProperty("所在班级Id")
private Long stuClassId;
@ApiModelProperty("所在班级名称")
private String stuClassName;
@ApiModelProperty("提交时间")
private Long submitTime;
@ApiModelProperty("图片路径")
private String imgPath;
@ApiModelProperty("提交状态 0未上报 1已上报 ")
private Byte status;
@ApiModelProperty("颜色 0绿色 1黄色 2红色")
private Byte colour;
@ApiModelProperty("是否带星 0否 1是")
private Byte star;
@ApiModelProperty("是否阳性 0阴性 1阳性")
private Byte positive;
public String getNumber() {
String s = number;
if(StrUtil.isNotBlank(number)){
String decode = SymmetricCryptoUtil.decode(DeliveryConstant.ENCRYPT_KEY, number);
if(StrUtil.isNotBlank(decode)){
s = decode;
}
}
return s;
}
public String getPhone() {
String s = phone;
if(StrUtil.isNotBlank(phone)){
String decode = SymmetricCryptoUtil.decode(DeliveryConstant.ENCRYPT_KEY, phone);
if(StrUtil.isNotBlank(decode)){
s = decode;
}
}
return s;
}
}
}

94
src/main/java/com/ccsens/delivery/bean/vo/MaterialVo.java

@ -1,9 +1,14 @@
package com.ccsens.delivery.bean.vo;
import cn.hutool.core.util.StrUtil;
import com.ccsens.delivery.util.DeliveryConstant;
import com.ccsens.util.SymmetricCryptoUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author
*/
@ -20,4 +25,93 @@ public class MaterialVo {
@ApiModelProperty("物资最多可购买数量")
private int max;
}
@Data
@ApiModel("返回-物资订单信息")
public static class MaterialOrder{
@ApiModelProperty("订单id")
private Long id;
@ApiModelProperty("姓名")
private String name;
@ApiModelProperty("学号")
private String number;
@ApiModelProperty("联系电话")
private String phone;
@ApiModelProperty("身份证号")
private String idCard;
@ApiModelProperty("所在学院Id")
private Long collegeId;
@ApiModelProperty("所在学院名称")
private String collegeName;
@ApiModelProperty("所在楼栋Id")
private Long dormitoryId;
@ApiModelProperty("所在楼栋名称")
private String dormitoryName;
@ApiModelProperty("所在年级")
private String grade;
@ApiModelProperty("所在班级Id")
private Long stuClassId;
@ApiModelProperty("所在班级名称")
private String stuClassName;
@ApiModelProperty("详细地址")
private String address;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("希望配送时间")
private Long planTime;
@ApiModelProperty("实际配送时间")
private Long realTime;
@ApiModelProperty("配送状态 0未配送 1已完成 2无药 3撤回")
private byte status;
@ApiModelProperty("提交时间")
private Long submitTime;
@ApiModelProperty("物资列表信息")
private List<MaterialOrderDetail> materialList;
public String getNumber() {
String s = number;
if(StrUtil.isNotBlank(number)){
String decode = SymmetricCryptoUtil.decode(DeliveryConstant.ENCRYPT_KEY, number);
if(StrUtil.isNotBlank(decode)){
s = decode;
}
}
return s;
}
public String getPhone() {
String s = phone;
if(StrUtil.isNotBlank(phone)){
String decode = SymmetricCryptoUtil.decode(DeliveryConstant.ENCRYPT_KEY, phone);
if(StrUtil.isNotBlank(decode)){
s = decode;
}
}
return s;
}
public String getIdCard() {
String s = idCard;
if(StrUtil.isNotBlank(idCard)){
String decode = SymmetricCryptoUtil.decode(DeliveryConstant.ENCRYPT_KEY, idCard);
if(StrUtil.isNotBlank(decode)){
s = decode;
}
}
return s;
}
}
@Data
@ApiModel("请求-物资购买详情")
public static class MaterialOrderDetail{
@ApiModelProperty("物品id")
private Long id;
@ApiModelProperty("物品名称")
private String name;
@ApiModelProperty("数量")
private int num;
}
}

16
src/main/java/com/ccsens/delivery/bean/vo/StudentVo.java

@ -24,7 +24,7 @@ public class StudentVo {
@ApiModelProperty("姓名")
private String name;
@ApiModelProperty("学号")
private String stuNum;
private String number;
@ApiModelProperty("联系电话")
private String phone;
@ApiModelProperty("身份证号")
@ -33,6 +33,12 @@ public class StudentVo {
private Long collegeId;
@ApiModelProperty("所在学院名称")
private String collegeName;
@ApiModelProperty("所在年级")
private String grade;
@ApiModelProperty("所在班级Id")
private Long stuClassId;
@ApiModelProperty("所在班级名称")
private String stuClassName;
@ApiModelProperty("所在宿舍Id")
private Long dormitoryId;
@ApiModelProperty("所在宿舍名称")
@ -56,10 +62,10 @@ public class StudentVo {
@ApiModelProperty("药品信息")
private List<StudentOrderItem> orderItemList;
public String getStuNum() {
String s = stuNum;
if(StrUtil.isNotBlank(stuNum)){
String decode = SymmetricCryptoUtil.decode(DeliveryConstant.ENCRYPT_KEY, stuNum);
public String getNumber() {
String s = number;
if(StrUtil.isNotBlank(number)){
String decode = SymmetricCryptoUtil.decode(DeliveryConstant.ENCRYPT_KEY, number);
if(StrUtil.isNotBlank(decode)){
s = decode;
}

101
src/main/java/com/ccsens/delivery/bean/vo/TrailsVo.java

@ -0,0 +1,101 @@
package com.ccsens.delivery.bean.vo;
import cn.hutool.core.util.StrUtil;
import com.ccsens.delivery.util.DeliveryConstant;
import com.ccsens.util.SymmetricCryptoUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import java.util.Date;
import java.util.List;
/**
* @author
*/
@Data
public class TrailsVo {
@Data
@ApiModel("返回-后台分页查找轨迹信息")
public static class BackQueryTrailsVo{
@ApiModelProperty("订单id")
private Long id;
@ApiModelProperty("姓名")
private String name;
@ApiModelProperty("学号")
private String number;
@ApiModelProperty("联系电话")
private String phone;
@ApiModelProperty("所在学院Id")
private Long collegeId;
@ApiModelProperty("所在学院名称")
private String collegeName;
@ApiModelProperty("所在楼栋Id")
private Long dormitoryId;
@ApiModelProperty("所在楼栋名称")
private String dormitoryName;
@ApiModelProperty("所在年级")
private String grade;
@ApiModelProperty("所在班级Id")
private Long stuClassId;
@ApiModelProperty("所在班级名称")
private String stuClassName;
@ApiModelProperty("详细地址")
private String address;
@ApiModelProperty("轨迹日期")
private Date trailsDate;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("是否提交 0未上报 1已上报")
private byte status;
@ApiModelProperty("轨迹详情")
private List<TrailsDetailVo> trailsDetailVoList;
public String getNumber() {
String s = number;
if(StrUtil.isNotBlank(number)){
String decode = SymmetricCryptoUtil.decode(DeliveryConstant.ENCRYPT_KEY, number);
if(StrUtil.isNotBlank(decode)){
s = decode;
}
}
return s;
}
public String getPhone() {
String s = phone;
if(StrUtil.isNotBlank(phone)){
String decode = SymmetricCryptoUtil.decode(DeliveryConstant.ENCRYPT_KEY, phone);
if(StrUtil.isNotBlank(decode)){
s = decode;
}
}
return s;
}
}
@Data
@ApiModel("返回-时间段轨迹详情")
public static class TrailsDetailVo{
@ApiModelProperty("详情id")
private Long id;
@ApiModelProperty("时间段")
private String time;
@ApiModelProperty("轨迹详情")
private String trailsDetail;
@ApiModelProperty("交通工具")
private String vehicle;
@ApiModelProperty("交通工具备注")
private String vehicleRemark;
@ApiModelProperty("防护手段")
private String mask;
@ApiModelProperty("防护手段备注")
private String otherMask;
}
}

46
src/main/java/com/ccsens/delivery/bean/vo/UserVo.java

@ -1,5 +1,8 @@
package com.ccsens.delivery.bean.vo;
import cn.hutool.core.util.StrUtil;
import com.ccsens.delivery.util.DeliveryConstant;
import com.ccsens.util.SymmetricCryptoUtil;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -129,7 +132,9 @@ public class UserVo {
@ApiModelProperty("信息id")
private Long id;
@ApiModelProperty("身份 0学生 1教师")
private String post;
private byte post;
@ApiModelProperty("学生身份 0 本科生 1研究生 2留学生")
private byte studentType;
@ApiModelProperty("姓名")
private String name;
@ApiModelProperty("学号/工号")
@ -148,9 +153,44 @@ public class UserVo {
private String dormitoryName;
@ApiModelProperty("所在年级")
private String grade;
@ApiModelProperty("所在班级")
private String stuClass;
@ApiModelProperty("所在班级Id")
private String stuClassId;
@ApiModelProperty("所在班级名称")
private String stuClassName;
@ApiModelProperty("详细地址")
private String address;
public String getNumber() {
String s = number;
if(StrUtil.isNotBlank(number)){
String decode = SymmetricCryptoUtil.decode(DeliveryConstant.ENCRYPT_KEY, number);
if(StrUtil.isNotBlank(decode)){
s = decode;
}
}
return s;
}
public String getPhone() {
String s = phone;
if(StrUtil.isNotBlank(phone)){
String decode = SymmetricCryptoUtil.decode(DeliveryConstant.ENCRYPT_KEY, phone);
if(StrUtil.isNotBlank(decode)){
s = decode;
}
}
return s;
}
public String getIdCard() {
String s = idCard;
if(StrUtil.isNotBlank(idCard)){
String decode = SymmetricCryptoUtil.decode(DeliveryConstant.ENCRYPT_KEY, idCard);
if(StrUtil.isNotBlank(decode)){
s = decode;
}
}
return s;
}
}
}

86
src/main/java/com/ccsens/delivery/persist/dao/FormRecordDao.java

@ -0,0 +1,86 @@
package com.ccsens.delivery.persist.dao;
import com.ccsens.delivery.bean.dto.HealthDto;
import com.ccsens.delivery.bean.dto.MaterialDto;
import com.ccsens.delivery.bean.vo.CommonVo;
import com.ccsens.delivery.bean.vo.HealthVo;
import com.ccsens.delivery.bean.vo.MaterialVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author
*/
public interface FormRecordDao {
/**
* 查找自己提交的健康信息
* @param type 类型
* @param userId userId
* @return 返回提交的信息列表
*/
List<CommonVo.QuerySelf> querySelfHealth(@Param("type") byte type, @Param("userId") Long userId);
/**
* 查找自己提交的轨迹信息
* @param userId userId
* @return 返回轨迹信息提交记录
*/
List<CommonVo.QuerySelf> querySelfTrack(@Param("userId") Long userId);
/**
* 查看自己提交的物资需求
* @param userId userId
* @return 返回物资需求提交记录
*/
List<CommonVo.QuerySelf> querySelfMaterial(@Param("userId") Long userId);
/**
* 查看自己提交的药品需求
* @param userId userId
* @return 返回药品需求提交记录
*/
List<CommonVo.QuerySelf> querySelfDrug(@Param("userId") Long userId);
/**
* 修改订单完成状态
* @param orderIdList 订单id
* @param status 状态
*/
void updateMaterialStatusById(@Param("orderIdList")List<Long> orderIdList, @Param("status") Byte status);
/**
* 查找所有录入信息的学生或教职工
* @param type 职业类型
* @param collegeId 学院/部门id
* @param grade 年纪
* @param stuClassId 班级
* @return 返回成员id
*/
List<Long> selectTotalUser(@Param("type")byte type, @Param("collegeId")Long collegeId, @Param("grade")String grade, @Param("stuClassId")Long stuClassId);
/**
* 根据类型和时间统计健康信息相关的上传数据
* @param types 类型
* @param userIds userIds
* @param startTime 开始时间
* @param endTime 结束时间
* @return 返回统计数据
*/
CommonVo.HealthNum statisticsHealthByType(@Param("types")byte types, @Param("userIds")List<Long> userIds, @Param("startTime")Long startTime, @Param("endTime")Long endTime);
CommonVo.OrderNum statisticsTrack(@Param("userIds")List<Long> userIds, @Param("startTime")Long startTime, @Param("endTime")Long endTime);
CommonVo.OrderNum statisticsMaterial(@Param("userIds")List<Long> userIds, @Param("startTime")Long startTime, @Param("endTime")Long endTime);
CommonVo.OrderNum statisticsDrug(@Param("userIds")List<Long> userIds, @Param("startTime")Long startTime, @Param("endTime")Long endTime);
/**
* 查找规定时间内上传的健康码信息
* @param params 类型和时间
* @return 返回图片数组
*/
List<HealthVo.HealthList> queryHealthImg(@Param("params")HealthDto.HealthByDay params);
}

20
src/main/java/com/ccsens/delivery/persist/dao/RecordHealthDao.java

@ -0,0 +1,20 @@
package com.ccsens.delivery.persist.dao;
import com.ccsens.delivery.bean.dto.HealthDto;
import com.ccsens.delivery.bean.vo.HealthVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author
*/
public interface RecordHealthDao {
/**
* 后台查看提交的健康相关信息
* @param param 筛选条件
* @return 返回列表
*/
List<HealthVo.BackQueryHealthVo> backQueryMaterialOrder(@Param("param") HealthDto.BackQueryHealth param);
}

28
src/main/java/com/ccsens/delivery/persist/dao/RecordTrailsDao.java

@ -0,0 +1,28 @@
package com.ccsens.delivery.persist.dao;
import com.ccsens.delivery.bean.dto.TrailsDto;
import com.ccsens.delivery.bean.vo.TrailsVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author
*/
public interface RecordTrailsDao {
/**
* 查找轨迹
* @param param 筛选条件
* @return 返回轨迹信息
*/
List<TrailsVo.BackQueryTrailsVo> backQueryTrails(@Param("param") TrailsDto.BackQueryTrails param);
/**
* 通过记录id查找每天的行程详情
* @param recordId 轨迹记录id
* @param param 筛选条件
* @return 返回详情列表
*/
List<TrailsVo.TrailsDetailVo> queryDetailByRecordId(@Param("recordId") Long recordId,@Param("param") TrailsDto.BackQueryTrails param);
}

34
src/main/java/com/ccsens/delivery/persist/dao/SysMaterialDao.java

@ -0,0 +1,34 @@
package com.ccsens.delivery.persist.dao;
import com.ccsens.delivery.bean.dto.MaterialDto;
import com.ccsens.delivery.bean.vo.MaterialVo;
import com.ccsens.delivery.persist.mapper.SysMaterialMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author
*/
public interface SysMaterialDao extends SysMaterialMapper {
/**
* 查找所有商品
* @return 返回商品列表
*/
List<MaterialVo.MaterialList> queryAllMaterial();
/**
* 后台分页查找物资订单
* @param param 筛选条件
* @return 返回物资需求列表
*/
List<MaterialVo.MaterialOrder> backQueryMaterialOrder(@Param("param")MaterialDto.BackQueryMaterialOrder param);
/**
* 根据订单查找需求的物品内容
* @param recordId 订单id
* @return 返回物品列表
*/
List<MaterialVo.MaterialOrderDetail> queryItemByOrderId(@Param("recordId")Long recordId);
}

83
src/main/java/com/ccsens/delivery/service/CommonService.java

@ -1,5 +1,6 @@
package com.ccsens.delivery.service;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.lang.Snowflake;
@ -10,14 +11,18 @@ import com.ccsens.delivery.bean.dto.CommonDto;
import com.ccsens.delivery.bean.po.FileCommit;
import com.ccsens.delivery.bean.vo.CommonVo;
import com.ccsens.delivery.bean.vo.FileVo;
import com.ccsens.delivery.persist.dao.FormRecordDao;
import com.ccsens.delivery.persist.mapper.FileCommitMapper;
import com.ccsens.delivery.persist.mapper.RecordHealthMapper;
import com.ccsens.delivery.util.DeliveryCodeError;
import com.ccsens.delivery.util.DeliveryConstant;
import com.ccsens.util.PropUtil;
import com.ccsens.util.RedisUtil;
import com.ccsens.util.exception.BaseException;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
@ -26,7 +31,9 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.File;
import java.io.IOException;
import java.util.Collection;
import java.util.Date;
import java.util.List;
/**
* @author
@ -40,6 +47,10 @@ public class CommonService implements ICommonService {
private Snowflake snowflake;
@Resource
private FileCommitMapper fileCommitMapper;
@Resource
private RedisUtil redisUtil;
@Resource
private FormRecordDao formRecordDao;
@Override
public FileVo.FileInfo uploadFile(MultipartFile f, Long userId) throws IOException {
@ -83,13 +94,79 @@ public class CommonService implements ICommonService {
@Override
public Long getFormId(Byte type) {
return null;
long id = snowflake.nextId();
String formType = DeliveryConstant.FormType.valueOf(type).value;
String key = formType + "_" + id;
//存入redis,有效期半小时
redisUtil.set(key,type,60 * 30);
return id;
}
@Override
public PageInfo<CommonVo.QuerySelf> querySelf(CommonDto.QuerySelf param, Long userId) {
return null;
DeliveryConstant.FormType formType = DeliveryConstant.FormType.valueOf(param.getType());
PageHelper.startPage(param.getPageNum(),param.getPageSize());
PageInfo<CommonVo.QuerySelf> querySelfPageInfo = null;
List<CommonVo.QuerySelf> querySelfList = null;
switch (formType){
case HEALTH_CODE:
case TOUR_CODE:
case NUCLEIC_REPORT:
case ANTIGEN_DETECTION:
//健康相关的信息
querySelfList = formRecordDao.querySelfHealth(param.getType(),userId);
break;
case TRACK_EVENTS:
querySelfList = formRecordDao.querySelfTrack(userId);
break;
case MATERIAL_DEMAND:
querySelfList = formRecordDao.querySelfMaterial(userId);
break;
case DRUG_DEMAND:
querySelfList = formRecordDao.querySelfDrug(userId);
default:
}
if(ObjectUtil.isNotNull(querySelfList)){
querySelfPageInfo = new PageInfo<>(querySelfList);
}
return querySelfPageInfo;
}
@Override
public CommonVo.Statistics statistics(CommonDto.Statistics param, Long userId) {
CommonVo.Statistics statistics = new CommonVo.Statistics();
//查询总人数
List<Long> userIds = formRecordDao.selectTotalUser(param.getType(),param.getCollegeId(),param.getGrade(),param.getStuClassId());
if(CollectionUtil.isEmpty(userIds)){
return statistics;
}
//查找健康码统计
CommonVo.HealthNum healthCode = formRecordDao.statisticsHealthByType((byte) 0, userIds, param.getStartTime(),param.getEndTime());
healthCode.setTotalNumAndNotReportNum(userIds.size());
CommonVo.HealthNum tourCode = formRecordDao.statisticsHealthByType((byte) 1, userIds, param.getStartTime(),param.getEndTime());
tourCode.setTotalNumAndNotReportNum(userIds.size());
CommonVo.HealthNum nucleic = formRecordDao.statisticsHealthByType((byte) 2, userIds, param.getStartTime(),param.getEndTime());
nucleic.setTotalNumAndNotReportNum(userIds.size());
CommonVo.HealthNum antigens = formRecordDao.statisticsHealthByType((byte) 3, userIds, param.getStartTime(),param.getEndTime());
antigens.setTotalNumAndNotReportNum(userIds.size());
statistics.setHealthCode(healthCode);
statistics.setTourCode(tourCode);
statistics.setNucleic(nucleic);
statistics.setAntigens(antigens);
//查找行程统计
CommonVo.OrderNum track = formRecordDao.statisticsTrack(userIds,param.getStartTime(),param.getEndTime());
track.setTotalNum(userIds.size());
track.setNotCompleteNum(Math.max(track.getTotalNum() - track.getCompleteNum(), 0));
statistics.setTrack(track);
//查找物资需求统计
CommonVo.OrderNum material = formRecordDao.statisticsMaterial(userIds,param.getStartTime(),param.getEndTime());
material.setTotalNum(userIds.size());
statistics.setMaterial(material);
//查找药品需求统计
CommonVo.OrderNum drug = formRecordDao.statisticsDrug(userIds,param.getStartTime(),param.getEndTime());
drug.setTotalNum(userIds.size());
statistics.setDrug(drug);
return statistics;
}
}

77
src/main/java/com/ccsens/delivery/service/HealthService.java

@ -1,11 +1,30 @@
package com.ccsens.delivery.service;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.ccsens.delivery.bean.dto.HealthDto;
import com.ccsens.delivery.bean.po.RecordHealth;
import com.ccsens.delivery.bean.po.RecordHealthExample;
import com.ccsens.delivery.bean.po.SysMaterial;
import com.ccsens.delivery.bean.vo.HealthVo;
import com.ccsens.delivery.bean.vo.MaterialVo;
import com.ccsens.delivery.persist.dao.FormRecordDao;
import com.ccsens.delivery.persist.dao.RecordHealthDao;
import com.ccsens.delivery.persist.mapper.RecordHealthMapper;
import com.ccsens.delivery.util.DeliveryCodeError;
import com.ccsens.delivery.util.DeliveryConstant;
import com.ccsens.util.RedisUtil;
import com.ccsens.util.exception.BaseException;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
/**
* @author
*/
@ -13,8 +32,64 @@ import org.springframework.transaction.annotation.Transactional;
@Service
@Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
public class HealthService implements IHealthService {
@Resource
private RedisUtil redisUtil;
@Resource
private RecordHealthMapper recordHealthMapper;
@Resource
private RecordHealthDao recordHealthDao;
@Resource
private FormRecordDao formRecordDao;
@Override
public void submitHealth(HealthDto.HealthForm param, Long userId) {
public void submitHealth(HealthDto.HealthForm param, Long userId) throws InterruptedException {
//加锁 根据id查找是否是有效提交
synchronized (this) {
String formType = DeliveryConstant.FormType.valueOf(param.getType()).value;
String key = formType + "_" + param.getId();
Object o = redisUtil.get(key);
if(ObjectUtil.isNull(o)){
throw new BaseException(DeliveryCodeError.REPEAT_SUBMIT);
}
//删除redis内的id
redisUtil.del(key);
}
//添加信息
RecordHealth recordHealth = new RecordHealth();
recordHealth.setId(param.getId());
recordHealth.setUserId(userId);
recordHealth.setType(param.getType());
recordHealth.setFileId(param.getFileId());
recordHealth.setSubmitTime(System.currentTimeMillis());
recordHealthMapper.insertSelective(recordHealth);
}
@Override
public List<HealthVo.HealthList> queryHealthImg(HealthDto.HealthByDay params) {
return formRecordDao.queryHealthImg(params);
}
@Override
public void ocrHealthConclusion(List<HealthDto.HealthConclusion> params) {
if(CollectionUtil.isNotEmpty(params)){
params.forEach(param -> {
RecordHealth recordHealth = recordHealthMapper.selectByPrimaryKey(param.getId());
if(ObjectUtil.isNotNull(recordHealth) && recordHealth.getType() == param.getType()){
recordHealth.setColour(param.getColour());
recordHealth.setStar(param.getStar());
recordHealth.setPositive(param.getPositive());
recordHealthMapper.updateByPrimaryKeySelective(recordHealth);
}
});
}
}
@Override
public PageInfo<HealthVo.BackQueryHealthVo> backQueryHealth(HealthDto.BackQueryHealth param,Long userId) {
//根据条件查询提交的信息
PageHelper.startPage(param.getPageNum(),param.getPageSize());
List<HealthVo.BackQueryHealthVo> queryHealthVoList = recordHealthDao.backQueryMaterialOrder(param);
return new PageInfo<>(queryHealthVoList);
}
}

8
src/main/java/com/ccsens/delivery/service/ICommonService.java

@ -37,4 +37,12 @@ public interface ICommonService {
* @return 分页返回表单列表
*/
PageInfo<CommonVo.QuerySelf> querySelf(CommonDto.QuerySelf param, Long userId);
/**
* 统计分析
* @param param 筛选条件
* @param userId userId
* @return 返回统计数据
*/
CommonVo.Statistics statistics(CommonDto.Statistics param, Long userId);
}

26
src/main/java/com/ccsens/delivery/service/IHealthService.java

@ -1,6 +1,10 @@
package com.ccsens.delivery.service;
import com.ccsens.delivery.bean.dto.HealthDto;
import com.ccsens.delivery.bean.vo.HealthVo;
import com.github.pagehelper.PageInfo;
import java.util.List;
/**
@ -13,6 +17,26 @@ public interface IHealthService {
* @param param 表单信息
* @param userId userId
*/
void submitHealth(HealthDto.HealthForm param, Long userId);
void submitHealth(HealthDto.HealthForm param, Long userId) throws InterruptedException;
/**
* 查询一段时间提交的健康图片信息
* @param params 时间和类型
* @return 返回图片信息
*/
List<HealthVo.HealthList> queryHealthImg(HealthDto.HealthByDay params);
/**
* 上传识别后的信息
* @param params 信息
*/
void ocrHealthConclusion(List<HealthDto.HealthConclusion> params);
/**
* 后台查看健康信息的提交记录
* @param param 筛选条件
* @param userId userId
* @return 返回列表
*/
PageInfo<HealthVo.BackQueryHealthVo> backQueryHealth(HealthDto.BackQueryHealth param,Long userId);
}

17
src/main/java/com/ccsens/delivery/service/IMaterialService.java

@ -2,7 +2,9 @@ package com.ccsens.delivery.service;
import com.ccsens.delivery.bean.dto.CommonDto;
import com.ccsens.delivery.bean.dto.MaterialDto;
import com.ccsens.delivery.bean.dto.StudentDto;
import com.ccsens.delivery.bean.vo.MaterialVo;
import com.github.pagehelper.PageInfo;
import java.util.List;
@ -30,4 +32,19 @@ public interface IMaterialService {
* @param param 订单id
*/
void revocationOrder(Long userId, CommonDto.FormId param);
/**
* 后台分页查找物资订单
* @param userId userId
* @param param 筛选条件
* @return 返回物资订单列表
*/
PageInfo<MaterialVo.MaterialOrder> backQueryMaterialOrder(Long userId, MaterialDto.BackQueryMaterialOrder param);
/**
* 修改订单的完成状态
* @param userId userId
* @param param 订单id和状态
*/
void updateOrderStatus(Long userId, StudentDto.UpdateOrderStatus param);
}

9
src/main/java/com/ccsens/delivery/service/ITrailsService.java

@ -1,6 +1,8 @@
package com.ccsens.delivery.service;
import com.ccsens.delivery.bean.dto.TrailsDto;
import com.ccsens.delivery.bean.vo.TrailsVo;
import com.github.pagehelper.PageInfo;
/**
* @author
@ -14,4 +16,11 @@ public interface ITrailsService {
*/
void submitTrails(TrailsDto.TrailsForm param, Long userId);
/**
* 后台查看活动轨迹
* @param param 筛选条件
* @param userId userId
* @return 返回活动轨迹
*/
PageInfo<TrailsVo.BackQueryTrailsVo> backQueryTrails(TrailsDto.BackQueryTrails param, Long userId);
}

104
src/main/java/com/ccsens/delivery/service/MaterialService.java

@ -1,13 +1,31 @@
package com.ccsens.delivery.service;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.ObjectUtil;
import com.ccsens.delivery.bean.dto.CommonDto;
import com.ccsens.delivery.bean.dto.MaterialDto;
import com.ccsens.delivery.bean.dto.StudentDto;
import com.ccsens.delivery.bean.po.RecordMaterial;
import com.ccsens.delivery.bean.po.RecordMaterialDetail;
import com.ccsens.delivery.bean.vo.MaterialVo;
import com.ccsens.delivery.bean.vo.StudentVo;
import com.ccsens.delivery.persist.dao.FormRecordDao;
import com.ccsens.delivery.persist.dao.SysMaterialDao;
import com.ccsens.delivery.persist.mapper.RecordMaterialDetailMapper;
import com.ccsens.delivery.persist.mapper.RecordMaterialMapper;
import com.ccsens.delivery.util.DeliveryCodeError;
import com.ccsens.delivery.util.DeliveryConstant;
import com.ccsens.util.RedisUtil;
import com.ccsens.util.exception.BaseException;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
/**
* @author
@ -16,18 +34,100 @@ import java.util.List;
@Service
@Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
public class MaterialService implements IMaterialService {
@Resource
private SysMaterialDao materialDao;
@Resource
private Snowflake snowflake;
@Resource
private RecordMaterialMapper recordMaterialMapper;
@Resource
private RecordMaterialDetailMapper recordMaterialDetailMapper;
@Resource
private RedisUtil redisUtil;
@Resource
private FormRecordDao formRecordDao;
@Override
public List<MaterialVo.MaterialList> queryMaterial() {
return null;
return materialDao.queryAllMaterial();
}
@Override
public void submitMaterial(MaterialDto.MaterialForm param, Long userId) {
//加锁 根据id查找是否是有效提交
synchronized (this) {
String formType = DeliveryConstant.FormType.valueOf(5).value;
String key = formType + "_" + param.getId();
Object o = redisUtil.get(key);
if(ObjectUtil.isNull(o)){
throw new BaseException(DeliveryCodeError.REPEAT_SUBMIT);
}
//删除redis内的id
redisUtil.del(key);
}
//添加信息
RecordMaterial recordMaterial = new RecordMaterial();
recordMaterial.setId(snowflake.nextId());
recordMaterial.setUserId(userId);
recordMaterial.setPlanTime(param.getPlanTime());
recordMaterial.setRemark(param.getRemark());
recordMaterial.setSubmitTime(System.currentTimeMillis());
recordMaterialMapper.insertSelective(recordMaterial);
if(CollectionUtil.isNotEmpty(param.getDetailList())){
param.getDetailList().forEach(materialFormDetail -> {
//TODO 判断物品是否存在或数量限制
RecordMaterialDetail recordMaterialDetail = new RecordMaterialDetail();
recordMaterialDetail.setId(snowflake.nextId());
recordMaterialDetail.setRecordMaterialId(recordMaterial.getId());
recordMaterialDetail.setMaterialId(materialFormDetail.getId());
recordMaterialDetail.setNum(materialFormDetail.getNum());
recordMaterialDetailMapper.insertSelective(recordMaterialDetail);
});
}
}
@Override
public void revocationOrder(Long userId, CommonDto.FormId param) {
//查找订单
RecordMaterial recordMaterial = recordMaterialMapper.selectByPrimaryKey(param.getId());
if(ObjectUtil.isNull(recordMaterial)){
throw new BaseException(DeliveryCodeError.NOT_ORDER);
}
if(!recordMaterial.getUserId().equals(userId)){
throw new BaseException(DeliveryCodeError.NOT_ORDER_POWER);
}
if(recordMaterial.getStatus() == 1 || recordMaterial.getStatus() == 3){
throw new BaseException(DeliveryCodeError.NOT_ORDER_POWER);
}
RecordMaterial material = new RecordMaterial();
material.setId(recordMaterial.getId());
material.setStatus((byte) 3);
recordMaterialMapper.updateByPrimaryKeySelective(material);
}
@Override
public PageInfo<MaterialVo.MaterialOrder> backQueryMaterialOrder(Long userId, MaterialDto.BackQueryMaterialOrder param) {
//根据条件查询所有的物资订单
PageHelper.startPage(param.getPageNum(),param.getPageSize());
List<MaterialVo.MaterialOrder> materialOrders = materialDao.backQueryMaterialOrder(param);
//循环查找每个订单的订单项
if(CollectionUtil.isNotEmpty(materialOrders)){
materialOrders.forEach(materialOrder -> {
List<MaterialVo.MaterialOrderDetail> orderItemList = materialDao.queryItemByOrderId(materialOrder.getId());
if(CollectionUtil.isNotEmpty(orderItemList)){
materialOrder.setMaterialList(orderItemList);
}
});
}
return new PageInfo<>(materialOrders);
}
@Override
public void updateOrderStatus(Long userId, StudentDto.UpdateOrderStatus param) {
//修改订单的完成状态
if(ObjectUtil.isNotNull(param) && CollectionUtil.isNotEmpty(param.getOrderIdList())){
formRecordDao.updateMaterialStatusById(param.getOrderIdList(),param.getStatus());
}
}
}

50
src/main/java/com/ccsens/delivery/service/StudentService.java

@ -91,33 +91,45 @@ public class StudentService implements IStudentService {
@Override
public void submitOrder(Long userId, StudentDto.SubmitOrder param) {
//身份证
if(StrUtil.isBlank(param.getIdCard()) || !IdcardUtil.isValidCard(param.getIdCard())){
throw new BaseException(DeliveryCodeError.ID_CARD_ERROR);
}
//获取对象的MD5值
String paramMd5 = Md5Util.stringTo(JSONObject.toJSONString(param));
synchronized (this){
// //检查redis内是否有相同的信息
String key = userId + paramMd5;
//加锁 根据id查找是否是有效提交
synchronized (this) {
String formType = DeliveryConstant.FormType.valueOf(6).value;
String key = formType + "_" + param.getId();
Object o = redisUtil.get(key);
if(ObjectUtil.isNotNull(o)){
if(ObjectUtil.isNull(o)){
throw new BaseException(DeliveryCodeError.REPEAT_SUBMIT);
}
redisUtil.set(key,JSONObject.toJSONString(param),60 * 30);
//删除redis内的id
redisUtil.del(key);
}
//身份证
// if(StrUtil.isBlank(param.getIdCard()) || !IdcardUtil.isValidCard(param.getIdCard())){
// throw new BaseException(DeliveryCodeError.ID_CARD_ERROR);
// }
// //获取对象的MD5值
// String paramMd5 = Md5Util.stringTo(JSONObject.toJSONString(param));
// synchronized (this){
//// //检查redis内是否有相同的信息
// String key = userId + paramMd5;
// Object o = redisUtil.get(key);
// if(ObjectUtil.isNotNull(o)){
// throw new BaseException(DeliveryCodeError.REPEAT_SUBMIT);
// }
// redisUtil.set(key,JSONObject.toJSONString(param),60 * 30);
// }
//添加订单信息
StuOrder stuOrder = new StuOrder();
BeanUtil.copyProperties(param,stuOrder);
stuOrder.setId(snowflake.nextId());
stuOrder.setUserId(userId);
String stuNum = SymmetricCryptoUtil.encrypt(DeliveryConstant.ENCRYPT_KEY,param.getStuNum());
stuOrder.setStuNum(stuNum == null ? param.getStuNum() : stuNum);
String phone = SymmetricCryptoUtil.encrypt(DeliveryConstant.ENCRYPT_KEY,param.getPhone());
stuOrder.setPhone(phone == null ? param.getPhone() : phone);
String idCard = SymmetricCryptoUtil.encrypt(DeliveryConstant.ENCRYPT_KEY,param.getIdCard());
stuOrder.setIdCard(idCard == null ? param.getIdCard() : idCard);
// String stuNum = SymmetricCryptoUtil.encrypt(DeliveryConstant.ENCRYPT_KEY,param.getStuNum());
// stuOrder.setStuNum(stuNum == null ? param.getStuNum() : stuNum);
// String phone = SymmetricCryptoUtil.encrypt(DeliveryConstant.ENCRYPT_KEY,param.getPhone());
// stuOrder.setPhone(phone == null ? param.getPhone() : phone);
// String idCard = SymmetricCryptoUtil.encrypt(DeliveryConstant.ENCRYPT_KEY,param.getIdCard());
// stuOrder.setIdCard(idCard == null ? param.getIdCard() : idCard);
stuOrderMapper.insertSelective(stuOrder);
//添加订单项信息
if(CollectionUtil.isNotEmpty(param.getOrderItemList())){
@ -243,7 +255,7 @@ public class StudentService implements IStudentService {
if (j == 0) {
order.add(new PoiUtil.PoiUtilCell((sort++) + "", 1, size));
order.add(new PoiUtil.PoiUtilCell(studentOrder.getName(), 1, size));
order.add(new PoiUtil.PoiUtilCell("'" + studentOrder.getStuNum(), 1, size));
order.add(new PoiUtil.PoiUtilCell("'" + studentOrder.getNumber(), 1, size));
order.add(new PoiUtil.PoiUtilCell("'" + studentOrder.getPhone(), 1, size));
// order.add(new PoiUtil.PoiUtilCell("'" + studentOrder.getIdCard(), 1, size));
order.add(new PoiUtil.PoiUtilCell(studentOrder.getCollegeName(), 1, size));
@ -286,7 +298,7 @@ public class StudentService implements IStudentService {
List<PoiUtil.PoiUtilCell> order = new ArrayList<>();
order.add(new PoiUtil.PoiUtilCell((sort++) + ""));
order.add(new PoiUtil.PoiUtilCell(studentOrder.getName()));
order.add(new PoiUtil.PoiUtilCell("'" + studentOrder.getStuNum()));
order.add(new PoiUtil.PoiUtilCell("'" + studentOrder.getNumber()));
order.add(new PoiUtil.PoiUtilCell("'" + studentOrder.getPhone()));
// order.add(new PoiUtil.PoiUtilCell("'" + studentOrder.getIdCard()));
order.add(new PoiUtil.PoiUtilCell(studentOrder.getCollegeName()));

86
src/main/java/com/ccsens/delivery/service/TrailsService.java

@ -1,11 +1,31 @@
package com.ccsens.delivery.service;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.ObjectUtil;
import com.ccsens.delivery.bean.dto.TrailsDto;
import com.ccsens.delivery.bean.po.RecordHealth;
import com.ccsens.delivery.bean.po.RecordTrails;
import com.ccsens.delivery.bean.po.RecordTrailsDetail;
import com.ccsens.delivery.bean.vo.TrailsVo;
import com.ccsens.delivery.persist.dao.RecordTrailsDao;
import com.ccsens.delivery.persist.mapper.RecordHealthMapper;
import com.ccsens.delivery.persist.mapper.RecordTrailsDetailMapper;
import com.ccsens.delivery.persist.mapper.RecordTrailsMapper;
import com.ccsens.delivery.util.DeliveryCodeError;
import com.ccsens.delivery.util.DeliveryConstant;
import com.ccsens.util.RedisUtil;
import com.ccsens.util.exception.BaseException;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
/**
* @author
*/
@ -13,8 +33,74 @@ import org.springframework.transaction.annotation.Transactional;
@Service
@Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
public class TrailsService implements ITrailsService {
@Resource
private RedisUtil redisUtil;
@Resource
private RecordTrailsMapper recordTrailsMapper;
@Resource
private RecordTrailsDao recordTrailsDao;
@Resource
private RecordTrailsDetailMapper recordTrailsDetailMapper;
@Resource
private Snowflake snowflake;
@Override
public void submitTrails(TrailsDto.TrailsForm param, Long userId) {
//加锁 根据id查找是否是有效提交
synchronized (this) {
String formType = DeliveryConstant.FormType.valueOf(4).value;
String key = formType + "_" + param.getId();
Object o = redisUtil.get(key);
if(ObjectUtil.isNull(o)){
throw new BaseException(DeliveryCodeError.REPEAT_SUBMIT);
}
//删除redis内的id
redisUtil.del(key);
}
//添加信息
if(CollectionUtil.isNotEmpty(param.getTrailsFormDays())){
param.getTrailsFormDays().forEach(trailsFormDay -> {
RecordTrails recordTrails = new RecordTrails();
recordTrails.setId(snowflake.nextId());
recordTrails.setUserId(userId);
recordTrails.setTrailsDate(trailsFormDay.getTrailsDate());
recordTrails.setRemark(trailsFormDay.getRemark());
recordTrails.setSubmitTime(System.currentTimeMillis());
recordTrailsMapper.insertSelective(recordTrails);
if(CollectionUtil.isNotEmpty(trailsFormDay.getTrailsDetailList())){
trailsFormDay.getTrailsDetailList().forEach(trailsDetail -> {
RecordTrailsDetail recordTrailsDetail = new RecordTrailsDetail();
recordTrailsDetail.setId(snowflake.nextId());
recordTrailsDetail.setRecordTrailsId(recordTrails.getId());
recordTrailsDetail.setStartTime(trailsDetail.getStartTime());
recordTrailsDetail.setEndTime(trailsDetail.getEndTime());
recordTrailsDetail.setTrailsDetail(trailsDetail.getTrailsDetail());
recordTrailsDetail.setVehicle(trailsDetail.getVehicle());
recordTrailsDetail.setVehicleRemark(trailsDetail.getVehicleRemark());
recordTrailsDetail.setMask(trailsDetail.getMask());
recordTrailsDetail.setOtherMask(trailsDetail.getOtherMask());
recordTrailsDetailMapper.insertSelective(recordTrailsDetail);
});
}
});
}
}
@Override
public PageInfo<TrailsVo.BackQueryTrailsVo> backQueryTrails(TrailsDto.BackQueryTrails param, Long userId) {
PageHelper.startPage(param.getPageNum(),param.getPageSize());
List<TrailsVo.BackQueryTrailsVo> backQueryTrailsVos = recordTrailsDao.backQueryTrails(param);
if(CollectionUtil.isNotEmpty(backQueryTrailsVos)){
backQueryTrailsVos.forEach(backQueryTrailsVo -> {
if(ObjectUtil.isNotNull(backQueryTrailsVo.getId())){
List<TrailsVo.TrailsDetailVo> trailsDetailVoList = recordTrailsDao.queryDetailByRecordId(backQueryTrailsVo.getId(),param);
if(CollectionUtil.isNotEmpty(trailsDetailVoList)){
backQueryTrailsVo.setTrailsDetailVoList(trailsDetailVoList);
}
}
});
}
return new PageInfo<>(backQueryTrailsVos);
}
}

57
src/main/java/com/ccsens/delivery/service/UserService.java

@ -3,28 +3,24 @@ package com.ccsens.delivery.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.IdcardUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import com.ccsens.delivery.bean.dto.UserDto;
import com.ccsens.delivery.bean.po.SysAuth;
import com.ccsens.delivery.bean.po.SysAuthExample;
import com.ccsens.delivery.bean.po.SysUser;
import com.ccsens.delivery.bean.po.*;
import com.ccsens.delivery.bean.vo.UserVo;
import com.ccsens.delivery.persist.dao.SysAuthDao;
import com.ccsens.delivery.persist.dao.SysUserDao;
import com.ccsens.delivery.persist.mapper.SysUserInfoMapper;
import com.ccsens.delivery.util.DeliveryCodeError;
import com.ccsens.delivery.util.DeliveryConstant;
import com.ccsens.util.*;
import com.ccsens.util.bean.wx.po.WxOauth2UserInfo;
import com.ccsens.util.exception.BaseException;
import com.ccsens.util.wx.WxGzhUtil;
import com.ccsens.util.wx.WxXcxUtil;
import com.ccsens.wechatutil.bean.po.MiniProgramUser;
import com.ccsens.wechatutil.wxmini.MiniSigninUtil;
import io.jsonwebtoken.Claims;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.RandomStringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
@ -51,6 +47,8 @@ public class UserService implements IUserService {
private SysAuthDao sysAuthDao;
@Resource
private Snowflake snowflake;
@Resource
private SysUserInfoMapper sysUserInfoMapper;
@Override
public UserVo.TokenBean userSignin(UserDto.SigninDto params, String deviceId, String clientIp) throws Exception {
@ -727,11 +725,54 @@ public class UserService implements IUserService {
@Override
public UserVo.UserInfo getUserInfo(Long userId) {
return null;
UserVo.UserInfo userInfo = null;
SysUserInfoExample userInfoExample = new SysUserInfoExample();
userInfoExample.createCriteria().andUserIdEqualTo(userId);
List<SysUserInfo> sysUserInfos = sysUserInfoMapper.selectByExample(userInfoExample);
if(CollectionUtil.isNotEmpty(sysUserInfos)){
SysUserInfo sysUserInfo = sysUserInfos.get(0);
userInfo = new UserVo.UserInfo();
BeanUtil.copyProperties(sysUserInfo,userInfo);
}
return userInfo;
}
@Override
public void saveUserInfo(Long userId, UserDto.UserInfo param) {
//验证用户是否同意协议
if(param.getAgreement() == 0 || param.getManagement() == 0 || param.getSelf() == 0){
throw new BaseException(DeliveryCodeError.NOT_CHECK_AGREEMENT);
}
SysUserInfo sysUserInfo = new SysUserInfo();
BeanUtil.copyProperties(param,sysUserInfo);
sysUserInfo.setUserId(userId);
String number = SymmetricCryptoUtil.encrypt(DeliveryConstant.ENCRYPT_KEY, param.getNumber());
sysUserInfo.setNumber(number);
String phone = SymmetricCryptoUtil.encrypt(DeliveryConstant.ENCRYPT_KEY, param.getPhone());
sysUserInfo.setPhone(phone);
if(!IdcardUtil.isValidCard(param.getIdCard())){
throw new BaseException(DeliveryCodeError.ID_CARD_ERROR);
}
String idCard = SymmetricCryptoUtil.encrypt(DeliveryConstant.ENCRYPT_KEY, param.getIdCard());
sysUserInfo.setIdCard(idCard);
if(ObjectUtil.isNull(param.getId())){
//id为空,添加用户信息
sysUserInfo.setId(snowflake.nextId());
sysUserInfoMapper.insertSelective(sysUserInfo);
}else {
//id不为空,根据id查找用户信息,
SysUserInfo userInfo = sysUserInfoMapper.selectByPrimaryKey(param.getId());
if(ObjectUtil.isNull(userInfo)){
throw new BaseException(DeliveryCodeError.NOT_USER_INFO);
}
//修改
sysUserInfo.setId(param.getId());
sysUserInfoMapper.updateByPrimaryKeySelective(sysUserInfo);
}
}
}

4
src/main/java/com/ccsens/delivery/util/DeliveryCodeError.java

@ -18,10 +18,12 @@ public class DeliveryCodeError extends CodeError {
public static final Code NOT_DORMITORY = new Code(507,"宿舍不存在",true);
public static final Code NOT_ORDER = new Code(508,"订单不存在",true);
public static final Code NOT_ORDER_POWER = new Code(508,"该订单无法操作",true);
public static final Code REPEAT_SUBMIT = new Code(509,"请勿重复提交订单",true);
public static final Code REPEAT_SUBMIT = new Code(509,"请勿重复提交",true);
public static final Code ID_CARD_ERROR = new Code(509,"请输入正确的身份证号",true);
public static final Code NOT_FILE = new Code(510,"找不到文件", true);
public static final Code FILE_FORMAT_ERROR = new Code(511,"不支持的格式类型", true);
public static final Code NOT_USER_INFO = new Code(511,"未找到用户的详细信息,请重新添加", true);
public static final Code NOT_CHECK_AGREEMENT = new Code(512,"请勾选免责条款后提交", true);

37
src/main/java/com/ccsens/delivery/util/DeliveryConstant.java

@ -1,6 +1,8 @@
package com.ccsens.delivery.util;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
@ -21,16 +23,47 @@ public class DeliveryConstant {
/**文档类型*/
public static final String FILE_TYPE_DOCUMENT = "doc, dot, wps, wpt, docx, dotx, docm, dotm, xls, xlt, et, xlsx, xltx, csv, xlsm, xltm, ppt,pptx,pptm,ppsx,ppsm,pps,potx,potm,dpt,dps, pdf";
/**验证手机正则*/
public static final String PHONE_REGEX = "^[1]([3-9])[0-9]{9}$";
/**字符串分隔符*/
public static final String STRING_REGEX = ",|,|;|;|、|/";
/**身份信息加密*/
public static final String ENCRYPT_KEY = "nzYM1LARgQ/7cKZY1Rm15A==";
public enum FormType {
/**
* 职位归属 0健康码1行程码2核酸检测3抗原检测 4活动轨迹5物资需求6药品需求
*/
HEALTH_CODE((byte) 0, "HEALTH_CODE"),
TOUR_CODE((byte) 1, "TOUR_CODE"),
NUCLEIC_REPORT((byte) 2, "NUCLEIC_REPORT"),
ANTIGEN_DETECTION((byte) 3, "ANTIGEN_DETECTION"),
TRACK_EVENTS((byte) 4, "TRACK_EVENTS"),
MATERIAL_DEMAND((byte) 5, "MATERIAL_DEMAND"),
DRUG_DEMAND((byte) 6, "DRUG_DEMAND");
public byte type;
public String value;
FormType(byte type, String value) {
this.type = type;
this.value = value;
}
public static FormType valueOf(int type) {
switch (type) {
case 0: return HEALTH_CODE;
case 1: return TOUR_CODE;
case 2: return NUCLEIC_REPORT;
case 3: return ANTIGEN_DETECTION;
case 4: return TRACK_EVENTS;
case 5: return MATERIAL_DEMAND;
default: return DRUG_DEMAND;
}
}
}
}

240
src/main/resources/mapper_dao/FormRecordDao.xml

@ -0,0 +1,240 @@
<?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.delivery.persist.dao.FormRecordDao">
<update id="updateMaterialStatusById">
UPDATE
t_record_material
set
`status` = #{status}
WHERE
rec_status = 0
and `status` != 1
and `status` != 3
and id in
<foreach collection="orderIdList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</update>
<select id="querySelfHealth" resultType="com.ccsens.delivery.bean.vo.CommonVo$QuerySelf">
SELECT
id,
submit_time as submitTime
FROM
t_record_health
WHERE
`type` = #{type}
and user_id = #{userId}
and rec_status = 0
</select>
<select id="querySelfTrack" resultType="com.ccsens.delivery.bean.vo.CommonVo$QuerySelf">
SELECT
id,
submit_time as submitTime
FROM
t_record_trails
WHERE
user_id = #{userId}
and rec_status = 0
</select>
<select id="querySelfMaterial" resultType="com.ccsens.delivery.bean.vo.CommonVo$QuerySelf">
SELECT
id,
submit_time as submitTime,
`status`
FROM
t_record_material
WHERE
user_id = #{userId}
and rec_status = 0
</select>
<select id="querySelfDrug" resultType="com.ccsens.delivery.bean.vo.CommonVo$QuerySelf">
SELECT
id,
UNIX_TIMESTAMP(created_at) * 1000 as submitTime,
`status`
FROM
t_stu_order
WHERE
user_id = #{userId}
and rec_status = 0
</select>
<select id="selectTotalUser" resultType="java.lang.Long">
SELECT
user_id
FROM
t_sys_user_info
WHERE
rec_status = 0
and post = #{type}
<if test="collegeId != null">
and college_id = #{collegeId}
</if>
<if test="grade != null and grade != ''">
and grade = #{grade}
</if>
<if test="stuClassId != null">
and stu_class_id = #{stuClassId}
</if>
</select>
<select id="statisticsHealthByType" resultType="com.ccsens.delivery.bean.vo.CommonVo$HealthNum">
SELECT
count(*) as reportNum
<if test="type = 0 or type = 1">
,count(if(h.colour = 0,1,null)) as greenNum,
count(if(h.colour = 1,1,null)) as yellowNum,
count(if(h.colour = 2,1,null)) as redNum
</if>
<if test="type = 1">
,count(if(h.star = 0,1,null)) as notStarNum,
count(if(h.star = 1,1,null)) as starNum
</if>
<if test="type = 2 or type = 3">
,count(if(h.positive = 0,1,null)) as feminineNum,
count(if(h.positive = 1,1,null)) as positiveNum
</if>
FROM
(
SELECT
*
FROM
(
SELECT
DISTINCT
*
FROM
t_record_health
WHERE
user_id IN
(
<foreach collection="userIds" item="id" separator=",">
#{id}
</foreach>
)
AND ocr = 0
and `type` = #{types}
and submit_time >= #{startTime}
and submit_time &lt; #{endTime}
AND rec_status = 0
ORDER BY submit_time desc
)a
GROUP BY user_id
)h
</select>
<select id="statisticsTrack" resultType="com.ccsens.delivery.bean.vo.CommonVo$OrderNum">
SELECT
count(DISTINCT user_id) as completeNum
FROM
t_record_trails
WHERE
user_id in (
<foreach collection="userIds" item="id" separator=",">
#{id}
</foreach>
)
and UNIX_TIMESTAMP(trails_date) * 1000 >= #{startTime}
and UNIX_TIMESTAMP(trails_date) * 1000 &lt; #{endTime}
and rec_status = 0
</select>
<select id="statisticsMaterial" resultType="com.ccsens.delivery.bean.vo.CommonVo$OrderNum">
SELECT
MAX( CASE m.type WHEN 'N' THEN num ELSE 0 END ) as `notCompleteNum`,
MAX( CASE m.type WHEN 'Y' THEN num ELSE 0 END ) as `completeNum`
FROM
(
SELECT
count(DISTINCT id) as num,
'Y' as type
FROM
t_record_material
WHERE
user_id in (
<foreach collection="userIds" item="id" separator=",">
#{id}
</foreach>
)
and `status` = 1
and submit_time >= #{startTime}
and submit_time &lt; #{endTime}
and rec_status = 0
UNION
SELECT
count(DISTINCT id) as num,
'N' as type
FROM
t_record_material
WHERE
user_id in (
<foreach collection="userIds" item="id" separator=",">
#{id}
</foreach>
)
and `status` = 0
and submit_time >= #{startTime}
and submit_time &lt; #{endTime}
and rec_status = 0
)m
</select>
<select id="statisticsDrug" resultType="com.ccsens.delivery.bean.vo.CommonVo$OrderNum">
SELECT
MAX( CASE m.type WHEN 'N' THEN num ELSE 0 END ) as `notCompleteNum`,
MAX( CASE m.type WHEN 'Y' THEN num ELSE 0 END ) as `completeNum`
FROM
(
SELECT
count(DISTINCT id) as num,
'Y' as type
FROM
t_stu_order
WHERE
user_id in (
<foreach collection="userIds" item="id" separator=",">
#{id}
</foreach>
)
and `status` = 1
and UNIX_TIMESTAMP(created_at) * 1000 >= #{startTime}
and UNIX_TIMESTAMP(created_at) * 1000 &lt; #{endTime}
and rec_status = 0
UNION
SELECT
count(DISTINCT id) as num,
'N' as type
FROM
t_stu_order
WHERE
user_id in (
<foreach collection="userIds" item="id" separator=",">
#{id}
</foreach>
)
and `status` = 0
and UNIX_TIMESTAMP(created_at) * 1000 >= #{startTime}
and UNIX_TIMESTAMP(created_at) * 1000 &lt; #{endTime}
and rec_status = 0
)m
</select>
<select id="queryHealthImg" resultType="com.ccsens.delivery.bean.vo.HealthVo$HealthList">
SELECT
h.id,
h.type,
f.visit_path,
h.ocr
FROM
t_record_health h,
t_file_commit f
WHERE
h.file_id = f.id
and h.type = #{params.type}
and submit_time >= #{params.startTime}
and submit_time &lt; #{params.endTime}
</select>
</mapper>

103
src/main/resources/mapper_dao/RecordHealthDao.xml

@ -0,0 +1,103 @@
<?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.delivery.persist.dao.RecordHealthDao">
<select id="backQueryMaterialOrder" resultType="com.ccsens.delivery.bean.vo.HealthVo$BackQueryHealthVo">
SELECT
h.*,
if(a1.`name` is null, h.college_name,a1.`name`) as collegeName,
if(a3.`name` is null, h.stu_class_name,a3.`name`) as stuClassName
FROM
(
SELECT
h.id,
u.`name`,
u.number,
u.phone,
u.grade,
h.submit_time as submitTime,
if(h.id is null, 0, 1) as `status`,
u.college_id as collegeId,
u.college_name,
u.stu_class_id as stuClassId,
u.stu_class_name,
h.visit_path as imgPath,
h.colour,
h.star,
h.positive
FROM
(
SELECT
*
FROM
t_sys_user_info u
WHERE
u.rec_status = 0
and u.post = #{param.post}
<if test="param.name != null and param.name != ''">
and u.name like CONCAT('%',#{param.name},'%')
</if>
<if test="param.number != null and param.number != ''">
and u.number = #{param.number}
</if>
<if test="param.phone != null and param.phone != ''">
and u.phone = #{param.phone}
</if>
<if test="param.collegeId != null">
and u.college_id = #{param.collegeId}
</if>
<if test="param.stuClassId != null">
and u.stu_class_id = #{param.stuClassId}
</if>
<if test="param.grade != null and param.grade != ''">
and u.grade = #{param.grade}
</if>
)u
LEFT JOIN (
SELECT
*
FROM
(
SELECT
DISTINCT
h.*,
f.visit_path
FROM
t_record_health h
LEFT JOIN t_file_commit f on h.file_id = f.id and f.rec_status = 0
WHERE
h.`type` = #{param.type}
<if test="param.submitTime != null">
and FROM_UNIXTIME(h.submit_time / 1000,'%Y-%m-%d') = FROM_UNIXTIME(#{params.submitTime} / 1000,'%Y-%m-%d')
</if>
AND h.rec_status = 0
ORDER BY h.submit_time desc
)a
GROUP BY user_id
) h on h.user_id = u.user_id
<where>
<if test="param.status != null and param.status == 0">
and h.id is null
</if>
<if test="param.status == null or param.status == 1">
<if test="param.status != null and param.status == 1">
and h.id is not null
</if>
<if test="param.colour != null">
and h.colour = #{param.colour}
</if>
<if test="param.star != null">
and h.star = #{param.star}
</if>
<if test="param.positive != null">
and h.positive = #{param.positive}
</if>
</if>
</where>
)h
LEFT JOIN t_sys_area a1 on h.collegeId = a1.id and a1.rec_status = 0
LEFT JOIN t_sys_area a3 on h.stuClassId = a3.id and a3.rec_status = 0
order by h.submitTime desc
</select>
</mapper>

122
src/main/resources/mapper_dao/RecordTrailsDao.xml

@ -0,0 +1,122 @@
<?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.delivery.persist.dao.RecordTrailsDao">
<select id="backQueryTrails" resultType="com.ccsens.delivery.bean.vo.TrailsVo$BackQueryTrailsVo">
SELECT
t.*,
if(a1.`name` is null, t.college_name,a1.`name`) as collegeName,
if(a2.`name` is null, t.dormitory_name,a2.`name`) as dormitoryName,
if(a3.`name` is null, t.stu_class_name,a3.`name`) as stuClassName
FROM
(
SELECT
t.id,
u.`name`,
u.number,
u.phone,
u.college_id as collegeId,
u.college_name,
u.dormitory_id as dormitoryId,
u.dormitory_name,
u.grade,
u.stu_class_id as stuClassId,
u.stu_class_name,
u.address,
t.trails_date as trailsDate,
t.submit_time,
t.remark,
if(t.id is null, 0, 1) as `status`
FROM
(
SELECT
*
FROM
t_sys_user_info u
WHERE
u.rec_status = 0
and u.post = #{param.post}
<if test="param.name != null and param.name != ''">
and u.name like CONCAT('%',#{param.name},'%')
</if>
<if test="param.number != null and param.number != ''">
and u.number = #{param.number}
</if>
<if test="param.phone != null and param.phone != ''">
and u.phone = #{param.phone}
</if>
<if test="param.collegeId != null">
and u.college_id = #{param.collegeId}
</if>
<if test="param.stuClassId != null">
and u.stu_class_id = #{param.stuClassId}
</if>
<if test="param.grade != null and param.grade != ''">
and u.grade = #{param.grade}
</if>
<if test="param.dormitoryId != null and param.dormitoryId.size != 0">
and u.dormitory_id in
<foreach collection="param.dormitoryId" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="param.address != null and param.address != ''">
and u.address like CONCAT('%',#{param.address},'%')
</if>
)u
LEFT JOIN
(
SELECT
*
FROM
(
SELECT
DISTINCT
*
FROM
t_record_trails t
WHERE
t.rec_status = 0
<if test="param.startDate != null and param.endDate != null">
and t.trails_date >= #{param.startDate}
and t.trails_date &lt;= #{param.endDate}
</if>
ORDER BY t.submit_time desc
)a
GROUP BY a.user_id,a.trails_date
)t on u.user_id = t.user_id
)t
LEFT JOIN t_sys_area a1 on t.collegeId = a1.id and a1.rec_status = 0
LEFT JOIN t_sys_area a2 on t.dormitoryId = a2.id and a2.rec_status = 0
LEFT JOIN t_sys_area a3 on t.stuClassId = a3.id and a3.rec_status = 0
order by t.trailsDate desc, t.submit_time desc
</select>
<select id="queryDetailByRecordId" resultType="com.ccsens.delivery.bean.vo.TrailsVo$TrailsDetailVo">
SELECT
id,
CONCAT(FROM_UNIXTIME(start_time / 1000,'%h:%i'),'至',FROM_UNIXTIME(end_time / 1000,'%h:%i')) as time,
trails_detail as trailsDetail,
vehicle,
vehicle_remark as vehicleRemark,
mask,
other_mask as otherMask
FROM
t_record_trails_detail
WHERE
record_trails_id = #{recordId}
and rec_status = 0
<if test="param.vehicle != null and param.vehicle != ''">
and vehicle like CONCAT('%',#{param.vehicle},'%')
</if>
<if test="param.trailsDetail != null and param.trailsDetail != ''">
and trails_detail like CONCAT('%',#{param.trailsDetail},'%')
</if>
<if test="param.startTime != null and param.endTime != null">
and FROM_UNIXTIME(start_time / 1000,'%h:%i') &lt;= #{param.endTime}
and FROM_UNIXTIME(end_time / 1000,'%h:%i') >= #{param.startTime}
</if>
</select>
</mapper>

87
src/main/resources/mapper_dao/StudentDao.xml

@ -164,74 +164,99 @@
<select id="backQueryStuOrder" resultType="com.ccsens.delivery.bean.vo.StudentVo$StudentOrder">
SELECT
m.*,
if(a1.`name` is null, m.college_name,a1.`name`) as collegeName,
if(a2.`name` is null, m.dormitory_name,a2.`name`) as dormitoryName,
if(a3.`name` is null, m.stu_class_name,a3.`name`) as stuClassName
FROM
(
SELECT
o.id,
o.`name`,
o.stu_num,
o.phone,
o.id_card,
o.college_id,
if(a1.`name` is null, o.college_name, a1.`name`) as collegeName,
o.dormitory_id,
if(a2.`name` is null, o.dormitory_name, a2.`name`) as dormitoryName,
o.address,
u.`name`,
u.number,
u.phone,
u.id_card as idCard,
u.college_id as collegeId,
u.college_name,
u.dormitory_id as dormitoryId,
u.dormitory_name,
u.stu_class_id as stuClassId,
u.stu_class_name,
u.grade,
u.address,
o.symptom,
o.broken,
o.remark,
o.plan_time,
o.real_time,
o.remark as remark,
o.plan_time as planTime,
o.real_time as realTime,
o.`status`,
UNIX_TIMESTAMP(o.created_at) * 1000 as submitTime
o.submit_time as submitTime
FROM
t_stu_order o
LEFT JOIN t_sys_area a1 on o.college_id = a1.id and a1.rec_status = 0
LEFT JOIN t_sys_area a2 on o.dormitory_id = a2.id and a2.rec_status = 0
LEFT JOIN t_stu_order_item i on o.id = i.order_id and i.rec_status = 0
t_stu_order o,
t_sys_user_info u,
t_stu_order_item oi
WHERE
o.rec_status = 0
o.user_id = u.user_id
and o.id = oi.order_id
and o.rec_status = 0
and oi.rec_status = 0
and u.rec_status = 0
and o.status != 3
<if test="param.name != null and param.name != ''">
and o.name like CONCAT('%',#{param.name},'%')
and u.name like CONCAT('%',#{param.name},'%')
</if>
<if test="param.stuNum != null and param.stuNum != ''">
and o.stu_num = #{param.stuNum}
<if test="param.number != null and param.number != ''">
and u.number = #{param.number}
</if>
<if test="param.phone != null and param.phone != ''">
and o.phone = #{param.phone}
and u.phone = #{param.phone}
</if>
<if test="param.idCard != null and param.idCard != ''">
and o.id_card = #{param.idCard}
and u.id_card = #{param.idCard}
</if>
<if test="param.collegeId != null">
and o.college_id = #{param.collegeId}
and u.college_id = #{param.collegeId}
</if>
<if test="param.dormitoryId != null and param.dormitoryId.size != 0">
and o.dormitory_id in
and u.dormitory_id in
<foreach collection="param.dormitoryId" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="param.stuClassId != null">
and u.stu_class_id = #{param.stuClassId}
</if>
<if test="param.grade != null and param.grade != ''">
and u.grade = #{param.grade}
</if>
<if test="param.address != null and param.address != ''">
and o.address like CONCAT('%',#{param.address},'%')
and u.address like CONCAT('%',#{param.address},'%')
</if>
<if test="param.symptom != null and param.symptom != ''">
and o.symptom like CONCAT('%',#{param.symptom},'%')
</if>
<if test="param.drugName != null and param.drugName != ''">
and oi.`name` like CONCAT('%',#{param.drugName},'%')
</if>
<if test="param.broken != null">
and o.broken = #{param.broken}
</if>
<if test="param.status != null">
and o.status = #{param.status}
</if>
<if test="param.submitTime != null">
and FROM_UNIXTIME(o.submit_time / 1000,'%Y-%m-%d') = FROM_UNIXTIME(#{params.submitTime} / 1000,'%Y-%m-%d')
</if>
<if test="param.startTime != null and param.endTime != null">
and o.plan_time >= #{param.startTime}
and o.plan_time &lt;= #{param.endTime}
</if>
<if test="param.drugName != null and param.drugName != ''">
and i.name like CONCAT('%',#{param.drugName},'%')
</if>
GROUP BY o.id
order by submitTime DESC
)m
LEFT JOIN t_sys_area a1 on m.collegeId = a1.id and a1.rec_status = 0
LEFT JOIN t_sys_area a2 on m.dormitoryId = a2.id and a2.rec_status = 0
LEFT JOIN t_sys_area a3 on m.stuClassId = a2.id and a3.rec_status = 0
order by m.submitTime desc
</select>
<select id="queryItemByOrderId" resultType="com.ccsens.delivery.bean.vo.StudentVo$StudentOrderItem">
SELECT

119
src/main/resources/mapper_dao/SysMaterialDao.xml

@ -0,0 +1,119 @@
<?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.delivery.persist.dao.SysMaterialDao">
<select id="queryAllMaterial" resultType="com.ccsens.delivery.bean.vo.MaterialVo$MaterialList">
SELECT
id,
`name`,
pay_max as max
FROM
t_sys_material
WHERE
rec_status = 0
</select>
<select id="backQueryMaterialOrder" resultType="com.ccsens.delivery.bean.vo.MaterialVo$MaterialOrder">
SELECT
m.*,
if(a1.`name` is null, m.college_name,a1.`name`) as collegeName,
if(a2.`name` is null, m.dormitory_name,a2.`name`) as dormitoryName,
if(a3.`name` is null, m.stu_class_name,a3.`name`) as stuClassName
FROM
(
SELECT
rm.id,
u.`name`,
rm.remark as remark,
rm.plan_time as planTime,
u.number,
u.grade,
rm.submit_time as submitTime,
u.address,
u.phone,
rm.`status`,
u.college_id as collegeId,
u.college_name,
u.dormitory_id as dormitoryId,
u.dormitory_name,
u.stu_class_id as stuClassId,
u.stu_class_name
FROM
t_record_material rm,
t_sys_user_info u,
t_record_material_detail md,
t_sys_material m
WHERE
rm.user_id = u.user_id
and rm.id = md.record_material_id
and md.material_id = m.id
and m.rec_status = 0
and md.rec_status = 0
and rm.rec_status = 0
and u.rec_status = 0
and rm.status != 3
and u.post = #{param.post}
<if test="param.name != null and param.name != ''">
and u.name like CONCAT('%',#{param.name},'%')
</if>
<if test="param.number != null and param.number != ''">
and u.number = #{param.number}
</if>
<if test="param.phone != null and param.phone != ''">
and u.phone = #{param.phone}
</if>
<if test="param.collegeId != null">
and u.college_id = #{param.collegeId}
</if>
<if test="param.dormitoryId != null and param.dormitoryId.size != 0">
and u.dormitory_id in
<foreach collection="param.dormitoryId" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="param.stuClassId != null">
and u.stu_class_id = #{param.stuClassId}
</if>
<if test="param.grade != null and param.grade != ''">
and u.grade = #{param.grade}
</if>
<if test="param.address != null and param.address != ''">
and u.address like CONCAT('%',#{param.address},'%')
</if>
<if test="param.materialName != null and param.materialName != ''">
and m.name like CONCAT('%',#{param.drugName},'%')
</if>
<if test="param.status != null">
and rm.status = #{param.status}
</if>
<if test="param.submitTime != null">
and FROM_UNIXTIME(rm.submit_time / 1000,'%Y-%m-%d') = FROM_UNIXTIME(#{params.submitTime} / 1000,'%Y-%m-%d')
</if>
<if test="param.startTime != null and param.endTime != null">
and rm.plan_time >= #{param.startTime}
and rm.plan_time &lt;= #{param.endTime}
</if>
group by rm.id
)m
LEFT JOIN t_sys_area a1 on m.collegeId = a1.id and a1.rec_status = 0
LEFT JOIN t_sys_area a2 on m.dormitoryId = a2.id and a2.rec_status = 0
LEFT JOIN t_sys_area a3 on m.stuClassId = a3.id and a3.rec_status = 0
order by m.submitTime desc
</select>
<select id="queryItemByOrderId" resultType="com.ccsens.delivery.bean.vo.MaterialVo$MaterialOrderDetail">
SELECT
m.id,
m.`name`,
d.num
FROM
t_sys_material m,
t_record_material rm,
t_record_material_detail d
WHERE
m.id = d.material_id
and rm.id = d.record_material_id
and rm.id = #{recordId}
and m.rec_status = 0
and rm.rec_status = 0
and d.rec_status = 0
</select>
</mapper>

66
src/main/resources/mapper_raw/RecordHealthMapper.xml

@ -5,7 +5,10 @@
<id column="id" jdbcType="BIGINT" property="id" />
<result column="user_id" jdbcType="BIGINT" property="userId" />
<result column="type" jdbcType="TINYINT" property="type" />
<result column="file_id" jdbcType="VARCHAR" property="fileId" />
<result column="file_id" jdbcType="BIGINT" property="fileId" />
<result column="colour" jdbcType="TINYINT" property="colour" />
<result column="star" jdbcType="TINYINT" property="star" />
<result column="positive" jdbcType="TINYINT" property="positive" />
<result column="submit_time" jdbcType="BIGINT" property="submitTime" />
<result column="operator" jdbcType="BIGINT" property="operator" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
@ -71,7 +74,8 @@
</where>
</sql>
<sql id="Base_Column_List">
id, user_id, type, file_id, submit_time, operator, created_at, updated_at, rec_status
id, user_id, type, file_id, colour, star, positive, submit_time, operator, created_at,
updated_at, rec_status
</sql>
<select id="selectByExample" parameterType="com.ccsens.delivery.bean.po.RecordHealthExample" resultMap="BaseResultMap">
select
@ -105,11 +109,13 @@
</delete>
<insert id="insert" parameterType="com.ccsens.delivery.bean.po.RecordHealth">
insert into t_record_health (id, user_id, type,
file_id, submit_time, operator,
file_id, colour, star,
positive, submit_time, operator,
created_at, updated_at, rec_status
)
values (#{id,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{type,jdbcType=TINYINT},
#{fileId,jdbcType=VARCHAR}, #{submitTime,jdbcType=BIGINT}, #{operator,jdbcType=BIGINT},
#{fileId,jdbcType=BIGINT}, #{colour,jdbcType=TINYINT}, #{star,jdbcType=TINYINT},
#{positive,jdbcType=TINYINT}, #{submitTime,jdbcType=BIGINT}, #{operator,jdbcType=BIGINT},
#{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}
)
</insert>
@ -128,6 +134,15 @@
<if test="fileId != null">
file_id,
</if>
<if test="colour != null">
colour,
</if>
<if test="star != null">
star,
</if>
<if test="positive != null">
positive,
</if>
<if test="submitTime != null">
submit_time,
</if>
@ -155,7 +170,16 @@
#{type,jdbcType=TINYINT},
</if>
<if test="fileId != null">
#{fileId,jdbcType=VARCHAR},
#{fileId,jdbcType=BIGINT},
</if>
<if test="colour != null">
#{colour,jdbcType=TINYINT},
</if>
<if test="star != null">
#{star,jdbcType=TINYINT},
</if>
<if test="positive != null">
#{positive,jdbcType=TINYINT},
</if>
<if test="submitTime != null">
#{submitTime,jdbcType=BIGINT},
@ -193,7 +217,16 @@
type = #{record.type,jdbcType=TINYINT},
</if>
<if test="record.fileId != null">
file_id = #{record.fileId,jdbcType=VARCHAR},
file_id = #{record.fileId,jdbcType=BIGINT},
</if>
<if test="record.colour != null">
colour = #{record.colour,jdbcType=TINYINT},
</if>
<if test="record.star != null">
star = #{record.star,jdbcType=TINYINT},
</if>
<if test="record.positive != null">
positive = #{record.positive,jdbcType=TINYINT},
</if>
<if test="record.submitTime != null">
submit_time = #{record.submitTime,jdbcType=BIGINT},
@ -220,7 +253,10 @@
set id = #{record.id,jdbcType=BIGINT},
user_id = #{record.userId,jdbcType=BIGINT},
type = #{record.type,jdbcType=TINYINT},
file_id = #{record.fileId,jdbcType=VARCHAR},
file_id = #{record.fileId,jdbcType=BIGINT},
colour = #{record.colour,jdbcType=TINYINT},
star = #{record.star,jdbcType=TINYINT},
positive = #{record.positive,jdbcType=TINYINT},
submit_time = #{record.submitTime,jdbcType=BIGINT},
operator = #{record.operator,jdbcType=BIGINT},
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
@ -240,7 +276,16 @@
type = #{type,jdbcType=TINYINT},
</if>
<if test="fileId != null">
file_id = #{fileId,jdbcType=VARCHAR},
file_id = #{fileId,jdbcType=BIGINT},
</if>
<if test="colour != null">
colour = #{colour,jdbcType=TINYINT},
</if>
<if test="star != null">
star = #{star,jdbcType=TINYINT},
</if>
<if test="positive != null">
positive = #{positive,jdbcType=TINYINT},
</if>
<if test="submitTime != null">
submit_time = #{submitTime,jdbcType=BIGINT},
@ -264,7 +309,10 @@
update t_record_health
set user_id = #{userId,jdbcType=BIGINT},
type = #{type,jdbcType=TINYINT},
file_id = #{fileId,jdbcType=VARCHAR},
file_id = #{fileId,jdbcType=BIGINT},
colour = #{colour,jdbcType=TINYINT},
star = #{star,jdbcType=TINYINT},
positive = #{positive,jdbcType=TINYINT},
submit_time = #{submitTime,jdbcType=BIGINT},
operator = #{operator,jdbcType=BIGINT},
created_at = #{createdAt,jdbcType=TIMESTAMP},

56
src/main/resources/mapper_raw/RecordTrailsDetailMapper.xml

@ -8,7 +8,9 @@
<result column="end_time" jdbcType="BIGINT" property="endTime" />
<result column="trails_detail" jdbcType="VARCHAR" property="trailsDetail" />
<result column="vehicle" jdbcType="VARCHAR" property="vehicle" />
<result column="mask" jdbcType="TINYINT" property="mask" />
<result column="vehicle_remark" jdbcType="VARCHAR" property="vehicleRemark" />
<result column="mask" jdbcType="VARCHAR" property="mask" />
<result column="other_mask" jdbcType="VARCHAR" property="otherMask" />
<result column="operator" jdbcType="BIGINT" property="operator" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
@ -73,8 +75,8 @@
</where>
</sql>
<sql id="Base_Column_List">
id, record_trails_id, start_time, end_time, trails_detail, vehicle, mask, operator,
created_at, updated_at, rec_status
id, record_trails_id, start_time, end_time, trails_detail, vehicle, vehicle_remark,
mask, other_mask, operator, created_at, updated_at, rec_status
</sql>
<select id="selectByExample" parameterType="com.ccsens.delivery.bean.po.RecordTrailsDetailExample" resultMap="BaseResultMap">
select
@ -109,12 +111,14 @@
<insert id="insert" parameterType="com.ccsens.delivery.bean.po.RecordTrailsDetail">
insert into t_record_trails_detail (id, record_trails_id, start_time,
end_time, trails_detail, vehicle,
mask, operator, created_at,
updated_at, rec_status)
vehicle_remark, mask, other_mask,
operator, created_at, updated_at,
rec_status)
values (#{id,jdbcType=BIGINT}, #{recordTrailsId,jdbcType=BIGINT}, #{startTime,jdbcType=BIGINT},
#{endTime,jdbcType=BIGINT}, #{trailsDetail,jdbcType=VARCHAR}, #{vehicle,jdbcType=VARCHAR},
#{mask,jdbcType=TINYINT}, #{operator,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP},
#{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT})
#{vehicleRemark,jdbcType=VARCHAR}, #{mask,jdbcType=VARCHAR}, #{otherMask,jdbcType=VARCHAR},
#{operator,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP},
#{recStatus,jdbcType=TINYINT})
</insert>
<insert id="insertSelective" parameterType="com.ccsens.delivery.bean.po.RecordTrailsDetail">
insert into t_record_trails_detail
@ -137,9 +141,15 @@
<if test="vehicle != null">
vehicle,
</if>
<if test="vehicleRemark != null">
vehicle_remark,
</if>
<if test="mask != null">
mask,
</if>
<if test="otherMask != null">
other_mask,
</if>
<if test="operator != null">
operator,
</if>
@ -172,8 +182,14 @@
<if test="vehicle != null">
#{vehicle,jdbcType=VARCHAR},
</if>
<if test="vehicleRemark != null">
#{vehicleRemark,jdbcType=VARCHAR},
</if>
<if test="mask != null">
#{mask,jdbcType=TINYINT},
#{mask,jdbcType=VARCHAR},
</if>
<if test="otherMask != null">
#{otherMask,jdbcType=VARCHAR},
</if>
<if test="operator != null">
#{operator,jdbcType=BIGINT},
@ -216,8 +232,14 @@
<if test="record.vehicle != null">
vehicle = #{record.vehicle,jdbcType=VARCHAR},
</if>
<if test="record.vehicleRemark != null">
vehicle_remark = #{record.vehicleRemark,jdbcType=VARCHAR},
</if>
<if test="record.mask != null">
mask = #{record.mask,jdbcType=TINYINT},
mask = #{record.mask,jdbcType=VARCHAR},
</if>
<if test="record.otherMask != null">
other_mask = #{record.otherMask,jdbcType=VARCHAR},
</if>
<if test="record.operator != null">
operator = #{record.operator,jdbcType=BIGINT},
@ -244,7 +266,9 @@
end_time = #{record.endTime,jdbcType=BIGINT},
trails_detail = #{record.trailsDetail,jdbcType=VARCHAR},
vehicle = #{record.vehicle,jdbcType=VARCHAR},
mask = #{record.mask,jdbcType=TINYINT},
vehicle_remark = #{record.vehicleRemark,jdbcType=VARCHAR},
mask = #{record.mask,jdbcType=VARCHAR},
other_mask = #{record.otherMask,jdbcType=VARCHAR},
operator = #{record.operator,jdbcType=BIGINT},
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
@ -271,8 +295,14 @@
<if test="vehicle != null">
vehicle = #{vehicle,jdbcType=VARCHAR},
</if>
<if test="vehicleRemark != null">
vehicle_remark = #{vehicleRemark,jdbcType=VARCHAR},
</if>
<if test="mask != null">
mask = #{mask,jdbcType=TINYINT},
mask = #{mask,jdbcType=VARCHAR},
</if>
<if test="otherMask != null">
other_mask = #{otherMask,jdbcType=VARCHAR},
</if>
<if test="operator != null">
operator = #{operator,jdbcType=BIGINT},
@ -296,7 +326,9 @@
end_time = #{endTime,jdbcType=BIGINT},
trails_detail = #{trailsDetail,jdbcType=VARCHAR},
vehicle = #{vehicle,jdbcType=VARCHAR},
mask = #{mask,jdbcType=TINYINT},
vehicle_remark = #{vehicleRemark,jdbcType=VARCHAR},
mask = #{mask,jdbcType=VARCHAR},
other_mask = #{otherMask,jdbcType=VARCHAR},
operator = #{operator,jdbcType=BIGINT},
created_at = #{createdAt,jdbcType=TIMESTAMP},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},

14
src/main/resources/mapper_raw/RecordTrailsMapper.xml

@ -4,7 +4,7 @@
<resultMap id="BaseResultMap" type="com.ccsens.delivery.bean.po.RecordTrails">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="user_id" jdbcType="BIGINT" property="userId" />
<result column="trails_date" jdbcType="VARCHAR" property="trailsDate" />
<result column="trails_date" jdbcType="TIMESTAMP" property="trailsDate" />
<result column="submit_time" jdbcType="BIGINT" property="submitTime" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
<result column="operator" jdbcType="BIGINT" property="operator" />
@ -109,7 +109,7 @@
submit_time, remark, operator,
created_at, updated_at, rec_status
)
values (#{id,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{trailsDate,jdbcType=VARCHAR},
values (#{id,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{trailsDate,jdbcType=TIMESTAMP},
#{submitTime,jdbcType=BIGINT}, #{remark,jdbcType=VARCHAR}, #{operator,jdbcType=BIGINT},
#{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}
)
@ -153,7 +153,7 @@
#{userId,jdbcType=BIGINT},
</if>
<if test="trailsDate != null">
#{trailsDate,jdbcType=VARCHAR},
#{trailsDate,jdbcType=TIMESTAMP},
</if>
<if test="submitTime != null">
#{submitTime,jdbcType=BIGINT},
@ -191,7 +191,7 @@
user_id = #{record.userId,jdbcType=BIGINT},
</if>
<if test="record.trailsDate != null">
trails_date = #{record.trailsDate,jdbcType=VARCHAR},
trails_date = #{record.trailsDate,jdbcType=TIMESTAMP},
</if>
<if test="record.submitTime != null">
submit_time = #{record.submitTime,jdbcType=BIGINT},
@ -220,7 +220,7 @@
update t_record_trails
set id = #{record.id,jdbcType=BIGINT},
user_id = #{record.userId,jdbcType=BIGINT},
trails_date = #{record.trailsDate,jdbcType=VARCHAR},
trails_date = #{record.trailsDate,jdbcType=TIMESTAMP},
submit_time = #{record.submitTime,jdbcType=BIGINT},
remark = #{record.remark,jdbcType=VARCHAR},
operator = #{record.operator,jdbcType=BIGINT},
@ -238,7 +238,7 @@
user_id = #{userId,jdbcType=BIGINT},
</if>
<if test="trailsDate != null">
trails_date = #{trailsDate,jdbcType=VARCHAR},
trails_date = #{trailsDate,jdbcType=TIMESTAMP},
</if>
<if test="submitTime != null">
submit_time = #{submitTime,jdbcType=BIGINT},
@ -264,7 +264,7 @@
<update id="updateByPrimaryKey" parameterType="com.ccsens.delivery.bean.po.RecordTrails">
update t_record_trails
set user_id = #{userId,jdbcType=BIGINT},
trails_date = #{trailsDate,jdbcType=VARCHAR},
trails_date = #{trailsDate,jdbcType=TIMESTAMP},
submit_time = #{submitTime,jdbcType=BIGINT},
remark = #{remark,jdbcType=VARCHAR},
operator = #{operator,jdbcType=BIGINT},

67
src/main/resources/mapper_raw/SysUserInfoMapper.xml

@ -15,7 +15,9 @@
<result column="dormitory_name" jdbcType="VARCHAR" property="dormitoryName" />
<result column="address" jdbcType="VARCHAR" property="address" />
<result column="grade" jdbcType="VARCHAR" property="grade" />
<result column="stu_class" jdbcType="VARCHAR" property="stuClass" />
<result column="stu_class_id" jdbcType="VARCHAR" property="stuClassId" />
<result column="stu_class_name" jdbcType="VARCHAR" property="stuClassName" />
<result column="student_type" jdbcType="TINYINT" property="studentType" />
<result column="operator" jdbcType="BIGINT" property="operator" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
@ -81,7 +83,8 @@
</sql>
<sql id="Base_Column_List">
id, user_id, post, name, number, phone, id_card, college_id, college_name, dormitory_id,
dormitory_name, address, grade, stu_class, operator, created_at, updated_at, rec_status
dormitory_name, address, grade, stu_class_id, stu_class_name, student_type, operator,
created_at, updated_at, rec_status
</sql>
<select id="selectByExample" parameterType="com.ccsens.delivery.bean.po.SysUserInfoExample" resultMap="BaseResultMap">
select
@ -118,16 +121,16 @@
name, number, phone,
id_card, college_id, college_name,
dormitory_id, dormitory_name, address,
grade, stu_class, operator,
created_at, updated_at, rec_status
)
grade, stu_class_id, stu_class_name,
student_type, operator, created_at,
updated_at, rec_status)
values (#{id,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{post,jdbcType=TINYINT},
#{name,jdbcType=VARCHAR}, #{number,jdbcType=VARCHAR}, #{phone,jdbcType=VARCHAR},
#{idCard,jdbcType=VARCHAR}, #{collegeId,jdbcType=BIGINT}, #{collegeName,jdbcType=VARCHAR},
#{dormitoryId,jdbcType=BIGINT}, #{dormitoryName,jdbcType=VARCHAR}, #{address,jdbcType=VARCHAR},
#{grade,jdbcType=VARCHAR}, #{stuClass,jdbcType=VARCHAR}, #{operator,jdbcType=BIGINT},
#{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}
)
#{grade,jdbcType=VARCHAR}, #{stuClassId,jdbcType=VARCHAR}, #{stuClassName,jdbcType=VARCHAR},
#{studentType,jdbcType=TINYINT}, #{operator,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP},
#{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT})
</insert>
<insert id="insertSelective" parameterType="com.ccsens.delivery.bean.po.SysUserInfo">
insert into t_sys_user_info
@ -171,8 +174,14 @@
<if test="grade != null">
grade,
</if>
<if test="stuClass != null">
stu_class,
<if test="stuClassId != null">
stu_class_id,
</if>
<if test="stuClassName != null">
stu_class_name,
</if>
<if test="studentType != null">
student_type,
</if>
<if test="operator != null">
operator,
@ -227,8 +236,14 @@
<if test="grade != null">
#{grade,jdbcType=VARCHAR},
</if>
<if test="stuClass != null">
#{stuClass,jdbcType=VARCHAR},
<if test="stuClassId != null">
#{stuClassId,jdbcType=VARCHAR},
</if>
<if test="stuClassName != null">
#{stuClassName,jdbcType=VARCHAR},
</if>
<if test="studentType != null">
#{studentType,jdbcType=TINYINT},
</if>
<if test="operator != null">
#{operator,jdbcType=BIGINT},
@ -292,8 +307,14 @@
<if test="record.grade != null">
grade = #{record.grade,jdbcType=VARCHAR},
</if>
<if test="record.stuClass != null">
stu_class = #{record.stuClass,jdbcType=VARCHAR},
<if test="record.stuClassId != null">
stu_class_id = #{record.stuClassId,jdbcType=VARCHAR},
</if>
<if test="record.stuClassName != null">
stu_class_name = #{record.stuClassName,jdbcType=VARCHAR},
</if>
<if test="record.studentType != null">
student_type = #{record.studentType,jdbcType=TINYINT},
</if>
<if test="record.operator != null">
operator = #{record.operator,jdbcType=BIGINT},
@ -327,7 +348,9 @@
dormitory_name = #{record.dormitoryName,jdbcType=VARCHAR},
address = #{record.address,jdbcType=VARCHAR},
grade = #{record.grade,jdbcType=VARCHAR},
stu_class = #{record.stuClass,jdbcType=VARCHAR},
stu_class_id = #{record.stuClassId,jdbcType=VARCHAR},
stu_class_name = #{record.stuClassName,jdbcType=VARCHAR},
student_type = #{record.studentType,jdbcType=TINYINT},
operator = #{record.operator,jdbcType=BIGINT},
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
@ -375,8 +398,14 @@
<if test="grade != null">
grade = #{grade,jdbcType=VARCHAR},
</if>
<if test="stuClass != null">
stu_class = #{stuClass,jdbcType=VARCHAR},
<if test="stuClassId != null">
stu_class_id = #{stuClassId,jdbcType=VARCHAR},
</if>
<if test="stuClassName != null">
stu_class_name = #{stuClassName,jdbcType=VARCHAR},
</if>
<if test="studentType != null">
student_type = #{studentType,jdbcType=TINYINT},
</if>
<if test="operator != null">
operator = #{operator,jdbcType=BIGINT},
@ -407,7 +436,9 @@
dormitory_name = #{dormitoryName,jdbcType=VARCHAR},
address = #{address,jdbcType=VARCHAR},
grade = #{grade,jdbcType=VARCHAR},
stu_class = #{stuClass,jdbcType=VARCHAR},
stu_class_id = #{stuClassId,jdbcType=VARCHAR},
stu_class_name = #{stuClassName,jdbcType=VARCHAR},
student_type = #{studentType,jdbcType=TINYINT},
operator = #{operator,jdbcType=BIGINT},
created_at = #{createdAt,jdbcType=TIMESTAMP},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},

4
src/main/resources/mbg.xml

@ -64,11 +64,11 @@
<!-- <table tableName="t_sys_user_info" domainObjectName="SysUserInfo"/>-->
<!-- <table tableName="t_record_health" domainObjectName="RecordHealth"/>-->
<!-- <table tableName="t_record_trails" domainObjectName="RecordTrails"/>-->
<!-- <table tableName="t_record_trails_detail" domainObjectName="RecordTrailsDetail"/>-->
<table tableName="t_record_trails_detail" domainObjectName="RecordTrailsDetail"/>
<!-- <table tableName="t_record_material" domainObjectName="RecordMaterial"/>-->
<!-- <table tableName="t_record_material_detail" domainObjectName="RecordMaterialDetail"/>-->
<!-- <table tableName="t_sys_material" domainObjectName="SysMaterial"/>-->
<table tableName="t_file_commit" domainObjectName="FileCommit"/>
<!-- <table tableName="t_file_commit" domainObjectName="FileCommit"/>-->
</context>
</generatorConfiguration>
Loading…
Cancel
Save