Browse Source

药物使用的增删查,使用者信息的修改与查看

master
ma 4 years ago
parent
commit
12719c3abd
  1. 66
      src/main/java/com/ccsens/yanyuan/api/MedicineUseController.java
  2. 20
      src/main/java/com/ccsens/yanyuan/api/TraineeController.java
  3. 93
      src/main/java/com/ccsens/yanyuan/bean/dto/MedicineDto.java
  4. 104
      src/main/java/com/ccsens/yanyuan/bean/dto/TraineeDto.java
  5. 22
      src/main/java/com/ccsens/yanyuan/bean/po/Care.java
  6. 120
      src/main/java/com/ccsens/yanyuan/bean/po/CareExample.java
  7. 49
      src/main/java/com/ccsens/yanyuan/bean/vo/MedicineVo.java
  8. 93
      src/main/java/com/ccsens/yanyuan/bean/vo/TraineeVo.java
  9. 20
      src/main/java/com/ccsens/yanyuan/persist/dao/FollowUpDao.java
  10. 8
      src/main/java/com/ccsens/yanyuan/persist/dao/UserRelationDao.java
  11. 15
      src/main/java/com/ccsens/yanyuan/persist/dao/UserYDao.java
  12. 35
      src/main/java/com/ccsens/yanyuan/service/IMedicineService.java
  13. 16
      src/main/java/com/ccsens/yanyuan/service/ITraineeService.java
  14. 66
      src/main/java/com/ccsens/yanyuan/service/MedicineService.java
  15. 44
      src/main/java/com/ccsens/yanyuan/service/TraineeService.java
  16. 32
      src/main/resources/mapper_dao/FollowUpDao.xml
  17. 10
      src/main/resources/mapper_dao/UserRelationDao.xml
  18. 16
      src/main/resources/mapper_dao/UserYDao.xml
  19. 61
      src/main/resources/mapper_raw/CareMapper.xml
  20. 4
      src/main/resources/mbg.xml

66
src/main/java/com/ccsens/yanyuan/api/MedicineUseController.java

@ -0,0 +1,66 @@
package com.ccsens.yanyuan.api;
import com.ccsens.cloudutil.annotation.MustLogin;
import com.ccsens.util.CodeError;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.bean.dto.QueryDto;
import com.ccsens.yanyuan.bean.dto.MedicineDto;
import com.ccsens.yanyuan.bean.dto.ToolDto;
import com.ccsens.yanyuan.bean.vo.MedicineVo;
import com.ccsens.yanyuan.bean.vo.ToolVo;
import com.ccsens.yanyuan.service.IMedicineService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
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 javax.annotation.Resource;
/**
* @author AUSU
*/
@Slf4j
@Api(tags = "药物使用相关" , description = "MedicineUseController | ")
@RestController
@RequestMapping("/medicine")
public class MedicineUseController {
@Resource
private IMedicineService medicineService;
@MustLogin
@ApiOperation(value = "查询药物使用", notes = "查询药物使用")
@RequestMapping(value = "/query", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<MedicineVo.MedicineUse> queryMedicineUse(@ApiParam @Validated @RequestBody QueryDto<MedicineDto.QueryMedicineUse> params) throws Exception{
log.info("查询药物使用:{}",params);
MedicineVo.MedicineUse medicineUse = medicineService.queryMedicineUse(params.getParam(),params.getUserId());
log.info("查询药物使用结束{}",medicineUse);
return JsonResponse.newInstance().ok(medicineUse);
}
@MustLogin
@ApiOperation(value = "添加药物使用", notes = "添加药物使用")
@RequestMapping(value = "/add", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse addMedicineUse(@ApiParam @Validated @RequestBody QueryDto<MedicineDto.AddMedicineUse> params) throws Exception{
log.info("添加药物使用:{}",params);
CodeError.Code code = medicineService.addMedicineUse(params.getParam(),params.getUserId());
log.info("添加药物使用结束{}",code);
return JsonResponse.newInstance().ok(code);
}
@MustLogin
@ApiOperation(value = "修改药物使用", notes = "修改药物使用")
@RequestMapping(value = "/update", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse updateMedicineUse(@ApiParam @Validated @RequestBody QueryDto<MedicineDto.UpdateMedicineUse> params) throws Exception{
log.info("修改药物使用:{}",params);
CodeError.Code code = medicineService.updateMedicineUse(params.getParam(),params.getUserId());
log.info("修改药物使用结束{}",code);
return JsonResponse.newInstance().ok(code);
}
}

20
src/main/java/com/ccsens/yanyuan/api/TraineeController.java

@ -84,4 +84,24 @@ public class TraineeController {
log.info("填写用户信息结果: {}",code);
return JsonResponse.newInstance().ok(code);
}
@MustLogin
@ApiOperation(value = "修改用户信息", notes = "")
@RequestMapping(value = "/update", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse update(@ApiParam @Validated @RequestBody QueryDto<TraineeDto.UpdateUser> params) throws Exception{
log.info("修改用户信息:{}",params);
CodeError.Code code = traineeService.update(params.getParam(), params.getPhone(), params.getUserId());
log.info("修改用户信息结束: {}",code);
return JsonResponse.newInstance().ok(code);
}
@MustLogin
@ApiOperation(value = "查询用户信息", notes = "")
@RequestMapping(value = "/query", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<TraineeVo.UserInfo> query(@ApiParam @Validated @RequestBody QueryDto<TraineeDto.QueryUserInfo> params) throws Exception{
log.info("查询用户信息:{}",params);
TraineeVo.UserInfo userInfo = traineeService.query(params.getParam(), params.getUserId());
log.info("查询用户信息结束: {}",userInfo);
return JsonResponse.newInstance().ok(userInfo);
}
}

93
src/main/java/com/ccsens/yanyuan/bean/dto/MedicineDto.java

@ -0,0 +1,93 @@
package com.ccsens.yanyuan.bean.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author AUSU
*/
public class MedicineDto {
@Data
@ApiModel("查询药物使用记录-入参")
public static class QueryMedicineUse {
@ApiModelProperty("项目id")
private Long projectId;
}
@Data
@ApiModel("添加药物使用记录-入参")
public static class AddMedicineUse {
@ApiModelProperty("项目id(使用者id)")
private Long projectId;
@ApiModelProperty("是否测评")
private String isTest;
@ApiModelProperty("测试时间")
private Date testAt;
@ApiModelProperty("Mmse得分")
private String mmseScore;
@ApiModelProperty("moca得分")
private String mocaScore;
@ApiModelProperty("adl得分")
private String adlScore;
@ApiModelProperty("npi得分")
private String npiScore;
@ApiModelProperty("总分")
private String totalScore;
@ApiModelProperty("第一种药物")
private String firstMedicine;
@ApiModelProperty("第二种药物")
private String secondMedicine;
@ApiModelProperty("第三种药物")
private String thirdMedicine;
@ApiModelProperty("第四种药物")
private String forthMedicine;
@ApiModelProperty("第五种药物")
private String fifthMedicine;
@ApiModelProperty("第六种药物")
private String sixthMedicine;
@ApiModelProperty("其他药物")
private String sevName;
@ApiModelProperty("其他药物服用情况")
private String sevMedicine;
}
@Data
@ApiModel("修改药物使用记录-入参")
public static class UpdateMedicineUse {
@ApiModelProperty("药物使用记录id")
private String id;
@ApiModelProperty("是否测评")
private String isTest;
@ApiModelProperty("测试时间")
private Date testAt;
@ApiModelProperty("Mmse得分")
private String mmseScore;
@ApiModelProperty("moca得分")
private String mocaScore;
@ApiModelProperty("adl得分")
private String adlScore;
@ApiModelProperty("npi得分")
private String npiScore;
@ApiModelProperty("总分")
private String totalScore;
@ApiModelProperty("第一种药物")
private String firstMedicine;
@ApiModelProperty("第二种药物")
private String secondMedicine;
@ApiModelProperty("第三种药物")
private String thirdMedicine;
@ApiModelProperty("第四种药物")
private String forthMedicine;
@ApiModelProperty("第五种药物")
private String fifthMedicine;
@ApiModelProperty("第六种药物")
private String sixthMedicine;
@ApiModelProperty("其他药物")
private String sevName;
@ApiModelProperty("其他药物服用情况")
private String sevMedicine;
}
}

104
src/main/java/com/ccsens/yanyuan/bean/dto/TraineeDto.java

@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
@ -134,4 +135,107 @@ public class TraineeDto {
@ApiModelProperty("是否多油 0 不 1 是")
private Byte isMoreOil;
}
@Data
@ApiModel("修改用户信息-入参")
public static class UpdateUser {
@ApiModelProperty("项目id(用户信息id)")
private Long projectId;
@ApiModelProperty("用户姓名")
private String userName;
// private String mobile;
@ApiModelProperty("用户的性别,值为1时是男性,值为2时是女性,值为0时是未知")
private Integer sex;
@ApiModelProperty("就诊医院")
private String clinicHospital;
@ApiModelProperty("医院所在省ID")
private Integer hospitalProvinceId;
@ApiModelProperty("医院所在城市ID")
private Integer hospitalCityId;
@ApiModelProperty("医院详细地址")
private String hospitalAddress;
@ApiModelProperty("就诊科室")
private String clinicOffice;
@ApiModelProperty("就诊医生")
private String clinicDoctor;
@ApiModelProperty("出生年月")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date birthDate;
@ApiModelProperty("身高")
private String height;
@ApiModelProperty("体重")
private String weight;
@ApiModelProperty("职业")
private String jobTitle;
@ApiModelProperty("受教育程度")
private String educateStatus;
@ApiModelProperty("受教育年限")
private String educateDate;
@ApiModelProperty("长期居住地")
private String abodePlace;
@ApiModelProperty("出现认知障碍时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date appearTime;
@ApiModelProperty("首次诊断痴呆时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date diagnoseTime;
@ApiModelProperty("诊断")
private String diagnoseResult;
@ApiModelProperty("血压最低值")
private String minBloodPressure;
@ApiModelProperty("最大血压值")
private String maxBloodPressure;
@ApiModelProperty("血脂")
private String bloodFat;
@ApiModelProperty("体力活动")
private String physicalAct;
@ApiModelProperty("ApoE基因")
private String apoeGene;
@ApiModelProperty("疾病史")
private String diseasesRecord;
@ApiModelProperty("亲属疾病史")
private String relativeDiseasesRecord;
@ApiModelProperty("是否失眠: 0 不 1 是")
private Byte isInsomnic;
@ApiModelProperty("每天平均睡眠时间")
private String insomnicPeriod;
@ApiModelProperty("是否吸烟 0 不 1 吸烟已戒 2 吸烟未戒")
private Byte isSmoke;
@ApiModelProperty("已戒烟时长")
private String quitPeriod;
@ApiModelProperty("吸烟持续时间")
private String sustainPeriod;
@ApiModelProperty("平均每天吸烟数量")
private String averageNum;
@ApiModelProperty("是否饮酒 0 不 1 是 已戒 2 是 未戒")
private Byte isDrink;
@ApiModelProperty("戒酒时长")
private String abstinencePeriod;
@ApiModelProperty("饮酒种类")
private String drinkType;
@ApiModelProperty("是否喝茶 0 不 2 是 不喝 3 喝 继续中")
private Byte isTea;
@ApiModelProperty("已不喝茶时长")
private String quitTea;
@ApiModelProperty("喝茶持续时长")
private String continuePeriod;
@ApiModelProperty("喝茶种类")
private String teaType;
@ApiModelProperty("喝茶频率")
private String teaPeriod;
@ApiModelProperty("是否口味重 0 不 1 是")
private Byte isStrongFlavour;
@ApiModelProperty("是否偏爱荤菜 0 不 1 是")
private Byte isLikeMeat;
@ApiModelProperty("是否多油 0 不 1 是")
private Byte isMoreOil;
}
@Data
@ApiModel("查询用户信息-入参")
public static class QueryUserInfo {
@ApiModelProperty("项目id(用户信息id)")
private Long projectId;
}
}

22
src/main/java/com/ccsens/yanyuan/bean/po/Care.java

@ -6,6 +6,10 @@ import java.util.Date;
public class Care implements Serializable {
private String id;
private Long keyId;
private Long keyUserId;
private String userId;
private String careName;
@ -44,6 +48,22 @@ public class Care implements Serializable {
this.id = id == null ? null : id.trim();
}
public Long getKeyId() {
return keyId;
}
public void setKeyId(Long keyId) {
this.keyId = keyId;
}
public Long getKeyUserId() {
return keyUserId;
}
public void setKeyUserId(Long keyUserId) {
this.keyUserId = keyUserId;
}
public String getUserId() {
return userId;
}
@ -163,6 +183,8 @@ public class Care implements Serializable {
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", keyId=").append(keyId);
sb.append(", keyUserId=").append(keyUserId);
sb.append(", userId=").append(userId);
sb.append(", careName=").append(careName);
sb.append(", careSex=").append(careSex);

120
src/main/java/com/ccsens/yanyuan/bean/po/CareExample.java

@ -175,6 +175,126 @@ public class CareExample {
return (Criteria) this;
}
public Criteria andKeyIdIsNull() {
addCriterion("key_id is null");
return (Criteria) this;
}
public Criteria andKeyIdIsNotNull() {
addCriterion("key_id is not null");
return (Criteria) this;
}
public Criteria andKeyIdEqualTo(Long value) {
addCriterion("key_id =", value, "keyId");
return (Criteria) this;
}
public Criteria andKeyIdNotEqualTo(Long value) {
addCriterion("key_id <>", value, "keyId");
return (Criteria) this;
}
public Criteria andKeyIdGreaterThan(Long value) {
addCriterion("key_id >", value, "keyId");
return (Criteria) this;
}
public Criteria andKeyIdGreaterThanOrEqualTo(Long value) {
addCriterion("key_id >=", value, "keyId");
return (Criteria) this;
}
public Criteria andKeyIdLessThan(Long value) {
addCriterion("key_id <", value, "keyId");
return (Criteria) this;
}
public Criteria andKeyIdLessThanOrEqualTo(Long value) {
addCriterion("key_id <=", value, "keyId");
return (Criteria) this;
}
public Criteria andKeyIdIn(List<Long> values) {
addCriterion("key_id in", values, "keyId");
return (Criteria) this;
}
public Criteria andKeyIdNotIn(List<Long> values) {
addCriterion("key_id not in", values, "keyId");
return (Criteria) this;
}
public Criteria andKeyIdBetween(Long value1, Long value2) {
addCriterion("key_id between", value1, value2, "keyId");
return (Criteria) this;
}
public Criteria andKeyIdNotBetween(Long value1, Long value2) {
addCriterion("key_id not between", value1, value2, "keyId");
return (Criteria) this;
}
public Criteria andKeyUserIdIsNull() {
addCriterion("key_user_id is null");
return (Criteria) this;
}
public Criteria andKeyUserIdIsNotNull() {
addCriterion("key_user_id is not null");
return (Criteria) this;
}
public Criteria andKeyUserIdEqualTo(Long value) {
addCriterion("key_user_id =", value, "keyUserId");
return (Criteria) this;
}
public Criteria andKeyUserIdNotEqualTo(Long value) {
addCriterion("key_user_id <>", value, "keyUserId");
return (Criteria) this;
}
public Criteria andKeyUserIdGreaterThan(Long value) {
addCriterion("key_user_id >", value, "keyUserId");
return (Criteria) this;
}
public Criteria andKeyUserIdGreaterThanOrEqualTo(Long value) {
addCriterion("key_user_id >=", value, "keyUserId");
return (Criteria) this;
}
public Criteria andKeyUserIdLessThan(Long value) {
addCriterion("key_user_id <", value, "keyUserId");
return (Criteria) this;
}
public Criteria andKeyUserIdLessThanOrEqualTo(Long value) {
addCriterion("key_user_id <=", value, "keyUserId");
return (Criteria) this;
}
public Criteria andKeyUserIdIn(List<Long> values) {
addCriterion("key_user_id in", values, "keyUserId");
return (Criteria) this;
}
public Criteria andKeyUserIdNotIn(List<Long> values) {
addCriterion("key_user_id not in", values, "keyUserId");
return (Criteria) this;
}
public Criteria andKeyUserIdBetween(Long value1, Long value2) {
addCriterion("key_user_id between", value1, value2, "keyUserId");
return (Criteria) this;
}
public Criteria andKeyUserIdNotBetween(Long value1, Long value2) {
addCriterion("key_user_id not between", value1, value2, "keyUserId");
return (Criteria) this;
}
public Criteria andUserIdIsNull() {
addCriterion("user_id is null");
return (Criteria) this;

49
src/main/java/com/ccsens/yanyuan/bean/vo/MedicineVo.java

@ -0,0 +1,49 @@
package com.ccsens.yanyuan.bean.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author AUSU
*/
public class MedicineVo {
@Data
@ApiModel("药物使用记录-返参")
public static class MedicineUse {
@ApiModelProperty("药物使用记录id")
private String id;
@ApiModelProperty("是否测评")
private String isTest;
@ApiModelProperty("测试时间")
private Date testAt;
@ApiModelProperty("Mmse得分")
private String mmseScore;
@ApiModelProperty("moca得分")
private String mocaScore;
@ApiModelProperty("adl得分")
private String adlScore;
@ApiModelProperty("npi得分")
private String npiScore;
@ApiModelProperty("总分")
private String totalScore;
@ApiModelProperty("第一种药物")
private String firstMedicine;
@ApiModelProperty("第二种药物")
private String secondMedicine;
@ApiModelProperty("第三种药物")
private String thirdMedicine;
@ApiModelProperty("第四种药物")
private String forthMedicine;
@ApiModelProperty("第五种药物")
private String fifthMedicine;
@ApiModelProperty("第六种药物")
private String sixthMedicine;
@ApiModelProperty("其他药物")
private String sevName;
@ApiModelProperty("其他药物服用情况")
private String sevMedicine;
}
}

93
src/main/java/com/ccsens/yanyuan/bean/vo/TraineeVo.java

@ -1,10 +1,12 @@
package com.ccsens.yanyuan.bean.vo;
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;
/**
* @description:
@ -31,4 +33,95 @@ public class TraineeVo {
private String id;
}
@Data
@ApiModel("使用者的信息-返参")
public static class UserInfo {
@ApiModelProperty("用户姓名")
private String userName;
@ApiModelProperty("用户的性别,值为1时是男性,值为2时是女性,值为0时是未知")
private Integer sex;
@ApiModelProperty("就诊医院")
private String clinicHospital;
@ApiModelProperty("医院所在省ID")
private Integer hospitalProvinceId;
@ApiModelProperty("医院所在城市ID")
private Integer hospitalCityId;
@ApiModelProperty("医院详细地址")
private String hospitalAddress;
@ApiModelProperty("就诊科室")
private String clinicOffice;
@ApiModelProperty("就诊医生")
private String clinicDoctor;
@ApiModelProperty("出生年月")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date birthDate;
@ApiModelProperty("身高")
private String height;
@ApiModelProperty("体重")
private String weight;
@ApiModelProperty("职业")
private String jobTitle;
@ApiModelProperty("受教育程度")
private String educateStatus;
@ApiModelProperty("受教育年限")
private String educateDate;
@ApiModelProperty("长期居住地")
private String abodePlace;
@ApiModelProperty("出现认知障碍时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date appearTime;
@ApiModelProperty("首次诊断痴呆时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date diagnoseTime;
@ApiModelProperty("诊断")
private String diagnoseResult;
@ApiModelProperty("血压最低值")
private String minBloodPressure;
@ApiModelProperty("最大血压值")
private String maxBloodPressure;
@ApiModelProperty("血脂")
private String bloodFat;
@ApiModelProperty("体力活动")
private String physicalAct;
@ApiModelProperty("ApoE基因")
private String apoeGene;
@ApiModelProperty("疾病史")
private String diseasesRecord;
@ApiModelProperty("亲属疾病史")
private String relativeDiseasesRecord;
@ApiModelProperty("是否失眠: 0 不 1 是")
private Byte isInsomnic;
@ApiModelProperty("每天平均睡眠时间")
private String insomnicPeriod;
@ApiModelProperty("是否吸烟 0 不 1 吸烟已戒 2 吸烟未戒")
private Byte isSmoke;
@ApiModelProperty("已戒烟时长")
private String quitPeriod;
@ApiModelProperty("吸烟持续时间")
private String sustainPeriod;
@ApiModelProperty("平均每天吸烟数量")
private String averageNum;
@ApiModelProperty("是否饮酒 0 不 1 是 已戒 2 是 未戒")
private Byte isDrink;
@ApiModelProperty("戒酒时长")
private String abstinencePeriod;
@ApiModelProperty("饮酒种类")
private String drinkType;
@ApiModelProperty("是否喝茶 0 不 2 是 不喝 3 喝 继续中")
private Byte isTea;
@ApiModelProperty("已不喝茶时长")
private String quitTea;
@ApiModelProperty("喝茶持续时长")
private String continuePeriod;
@ApiModelProperty("喝茶种类")
private String teaType;
@ApiModelProperty("喝茶频率")
private String teaPeriod;
@ApiModelProperty("是否口味重 0 不 1 是")
private Byte isStrongFlavour;
@ApiModelProperty("是否偏爱荤菜 0 不 1 是")
private Byte isLikeMeat;
@ApiModelProperty("是否多油 0 不 1 是")
private Byte isMoreOil;
}
}

20
src/main/java/com/ccsens/yanyuan/persist/dao/FollowUpDao.java

@ -0,0 +1,20 @@
package com.ccsens.yanyuan.persist.dao;
import com.ccsens.yanyuan.bean.vo.MedicineVo;
import com.ccsens.yanyuan.persist.mapper.FollowUpMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
/**
* @author AUSU
*/
@Repository
public interface FollowUpDao extends FollowUpMapper {
/**
* 查询使用者用药情况
* @param uuId 使用者uuid
* @return 使用者用药情况
*/
MedicineVo.MedicineUse queryByUserId(@Param("userId") String uuId);
}

8
src/main/java/com/ccsens/yanyuan/persist/dao/UserRelationDao.java

@ -25,4 +25,12 @@ public interface UserRelationDao extends UserRelationMapper {
* @return 体验用户列表
*/
List<ToolVo.UxUserInfo> queryUxUser(@Param("userId") Long userId);
/**
* 查询当前用户是否可以修改用户信息
* @param projectId 项目id(使用者id)
* @param userId 修改人id
* @return 0否 >1是
*/
Integer queryUpdatePower(@Param("projectId") Long projectId,@Param("userId") Long userId);
}

15
src/main/java/com/ccsens/yanyuan/persist/dao/UserYDao.java

@ -0,0 +1,15 @@
package com.ccsens.yanyuan.persist.dao;
import com.ccsens.yanyuan.persist.mapper.UserMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@Repository
public interface UserYDao extends UserMapper {
/**
* 查询使用者的uuid
* @param projectId 项目id(snowId)
* @return 使用者的uuid
*/
String queryUUIdById(@Param("keyId") Long projectId);
}

35
src/main/java/com/ccsens/yanyuan/service/IMedicineService.java

@ -0,0 +1,35 @@
package com.ccsens.yanyuan.service;
import com.ccsens.util.CodeError;
import com.ccsens.yanyuan.bean.dto.MedicineDto;
import com.ccsens.yanyuan.bean.vo.MedicineVo;
/**
* @author AUSU
*/
public interface IMedicineService {
/**
* 查询药物使用记录
* @param param 项目id
* @param userId 用户id
* @return 药物使用记录
*/
MedicineVo.MedicineUse queryMedicineUse(MedicineDto.QueryMedicineUse param, Long userId);
/**
* 添加药物使用记录
* @param param 药物使用情况
* @param userId 添加者id
* @return 成功/失败
*/
CodeError.Code addMedicineUse(MedicineDto.AddMedicineUse param, Long userId);
/**
* 修改药物使用记录
* @param param 药物使用情况
* @param userId 修改者id
* @return 成功/失败
*/
CodeError.Code updateMedicineUse(MedicineDto.UpdateMedicineUse param, Long userId);
}

16
src/main/java/com/ccsens/yanyuan/service/ITraineeService.java

@ -49,4 +49,20 @@ public interface ITraineeService {
* @return 结果
*/
CodeError.Code add(TraineeDto.User param, String phone, Long userId);
/**
* 修改用户信息
* @param param 用户信息
* @param phone 修改者手机号
* @param userId 修改者用户id
* @return 结果
*/
CodeError.Code update(TraineeDto.UpdateUser param, String phone, Long userId);
/**
* 查询用户信息
* @param param 使用者id(snowId)
* @param userId 查询者用户id
* @return 使用者信息
*/
TraineeVo.UserInfo query(TraineeDto.QueryUserInfo param, Long userId);
}

66
src/main/java/com/ccsens/yanyuan/service/MedicineService.java

@ -0,0 +1,66 @@
package com.ccsens.yanyuan.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import com.ccsens.util.CodeError;
import com.ccsens.util.RedisUtil;
import com.ccsens.yanyuan.bean.dto.MedicineDto;
import com.ccsens.yanyuan.bean.po.FollowUp;
import com.ccsens.yanyuan.bean.vo.MedicineVo;
import com.ccsens.yanyuan.persist.dao.FollowUpDao;
import com.ccsens.yanyuan.persist.dao.UserYDao;
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.UUID;
@Slf4j
@Service
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public class MedicineService implements IMedicineService {
@Resource
private FollowUpDao followUpDao;
@Resource
private UserYDao userYDao;
@Resource
private RedisUtil redisUtil;
@Override
public MedicineVo.MedicineUse queryMedicineUse(MedicineDto.QueryMedicineUse param, Long userId) {
String uuId = userYDao.queryUUIdById(param.getProjectId());
return followUpDao.queryByUserId(uuId);
}
@Override
public CodeError.Code addMedicineUse(MedicineDto.AddMedicineUse param, Long userId) {
String uuIdById = userYDao.queryUUIdById(userId);
FollowUp followUp = new FollowUp();
BeanUtil.copyProperties(param,followUp);
followUp.setId(UUID.randomUUID().toString());
followUp.setUserId(uuIdById);
followUpDao.insertSelective(followUp);
return CodeError.SUCCESS;
}
@Override
public CodeError.Code updateMedicineUse(MedicineDto.UpdateMedicineUse param, Long userId) {
Object o = redisUtil.get(param.getId());
if (ObjectUtil.isNull(o)){
redisUtil.set(param.getId(),"1");
FollowUp followUp = new FollowUp();
BeanUtil.copyProperties(param,followUp);
followUp.setId(param.getId());
followUpDao.updateByPrimaryKeySelective(followUp);
redisUtil.del(param.getId());
}
return CodeError.SUCCESS;
}
}

44
src/main/java/com/ccsens/yanyuan/service/TraineeService.java

@ -1,11 +1,14 @@
package com.ccsens.yanyuan.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.ObjectUtil;
import com.ccsens.cloudutil.bean.tall.dto.ProjectDto;
import com.ccsens.cloudutil.feign.Tall3FeignClient;
import com.ccsens.util.CodeError;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.RedisUtil;
import com.ccsens.yanyuan.bean.dto.MentalTestDto;
import com.ccsens.yanyuan.bean.dto.TraineeDto;
import com.ccsens.yanyuan.bean.po.Tool;
@ -14,10 +17,7 @@ import com.ccsens.yanyuan.bean.po.UserExample;
import com.ccsens.yanyuan.bean.po.UserRelation;
import com.ccsens.yanyuan.bean.vo.MentalTestVo;
import com.ccsens.yanyuan.bean.vo.TraineeVo;
import com.ccsens.yanyuan.persist.dao.ToolDao;
import com.ccsens.yanyuan.persist.dao.TraineeDao;
import com.ccsens.yanyuan.persist.dao.UserPowerDao;
import com.ccsens.yanyuan.persist.dao.UserRelationDao;
import com.ccsens.yanyuan.persist.dao.*;
import com.ccsens.yanyuan.util.YanYuanCodeError;
import com.ccsens.yanyuan.util.YanYuanConstant;
import lombok.extern.slf4j.Slf4j;
@ -55,6 +55,10 @@ public class TraineeService implements ITraineeService {
private ToolDao toolDao;
@Resource
private IMentalTestService mentalTestService;
@Resource
private UserYDao userYDao;
@Resource
private RedisUtil redisUtil;
@Override
public List<TraineeVo.UserInfoSimple> queryCreateUser(TraineeDto.Create param, Long userId) {
@ -169,6 +173,38 @@ public class TraineeService implements ITraineeService {
return YanYuanCodeError.SUCCESS;
}
@Override
public CodeError.Code update(TraineeDto.UpdateUser param, String phone, Long userId) {
//查询是否当前用户是否可以修改
Integer power = userRelationDao.queryUpdatePower(param.getProjectId(),userId);
if (0 >= power) {
return CodeError.SYS_ERROR;
}
Object o = redisUtil.get(String.valueOf(param.getProjectId() + userId));
log.info("redis是否有修改记录:{}",o);
if (ObjectUtil.isNull(o)){
redisUtil.set(String.valueOf(param.getProjectId() + userId),"1");
User user = new User();
//查询使用者的uuid
String uuId = userYDao.queryUUIdById(param.getProjectId());
log.info("使用者的uuId:{}",uuId);
BeanUtil.copyProperties(param,user);
user.setId(uuId);
traineeDao.updateByPrimaryKeySelective(user);
redisUtil.del(String.valueOf(param.getProjectId() + userId));
}
return CodeError.SUCCESS;
}
@Override
public TraineeVo.UserInfo query(TraineeDto.QueryUserInfo param, Long userId) {
String uuIdById = userYDao.queryUUIdById(param.getProjectId());
User user = traineeDao.selectByPrimaryKey(uuIdById);
TraineeVo.UserInfo userInfo = new TraineeVo.UserInfo();
BeanUtil.copyProperties(user,userInfo);
return userInfo;
}
/**
* 生成脑力测评
* @param userId 操作者

32
src/main/resources/mapper_dao/FollowUpDao.xml

@ -0,0 +1,32 @@
<?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.yanyuan.persist.dao.FollowUpDao">
<select id="queryByUserId" resultType="com.ccsens.yanyuan.bean.vo.MedicineVo$MedicineUse">
SELECT
id,
user_id,
is_test,
test_at,
mmse_score,
moca_score,
adl_score,
npi_score,
total_score,
first_medicine,
second_medicine,
third_medicine,
forth_medicine,
fifth_medicine,
sixth_medicine,
sev_name,
sev_medicine
FROM
u_follow_up
WHERE
rec_status = 0
AND user_id = #{userId}
</select>
</mapper>

10
src/main/resources/mapper_dao/UserRelationDao.xml

@ -38,4 +38,14 @@
AND u.use_level = 0
AND ur.user_id = #{userId}
</select>
<select id="queryUpdatePower" resultType="java.lang.Integer">
SELECT
COUNT(id)
FROM
u_user_relation
WHERE
rec_status = 0
AND key_user_id = #{projectId}
AND user_id = #{userId}
</select>
</mapper>

16
src/main/resources/mapper_dao/UserYDao.xml

@ -0,0 +1,16 @@
<?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.yanyuan.persist.dao.UserYDao">
<select id="queryUUIdById" resultType="String">
SELECT
id
FROM
u_user
WHERE
rec_status = 0
AND key_id = #{keyId}
</select>
</mapper>

61
src/main/resources/mapper_raw/CareMapper.xml

@ -3,6 +3,8 @@
<mapper namespace="com.ccsens.yanyuan.persist.mapper.CareMapper">
<resultMap id="BaseResultMap" type="com.ccsens.yanyuan.bean.po.Care">
<id column="id" jdbcType="VARCHAR" property="id" />
<result column="key_id" jdbcType="BIGINT" property="keyId" />
<result column="key_user_id" jdbcType="BIGINT" property="keyUserId" />
<result column="user_id" jdbcType="VARCHAR" property="userId" />
<result column="care_name" jdbcType="VARCHAR" property="careName" />
<result column="care_sex" jdbcType="TINYINT" property="careSex" />
@ -77,8 +79,9 @@
</where>
</sql>
<sql id="Base_Column_List">
id, user_id, care_name, care_sex, care_age, job_title, educate_level, care_period,
care_relation, zarit_point, zarit_state, create_at, update_at, status, rec_status
id, key_id, key_user_id, user_id, care_name, care_sex, care_age, job_title, educate_level,
care_period, care_relation, zarit_point, zarit_state, create_at, update_at, status,
rec_status
</sql>
<select id="selectByExample" parameterType="com.ccsens.yanyuan.bean.po.CareExample" resultMap="BaseResultMap">
select
@ -111,18 +114,18 @@
</if>
</delete>
<insert id="insert" parameterType="com.ccsens.yanyuan.bean.po.Care">
insert into u_care (id, user_id, care_name,
care_sex, care_age, job_title,
educate_level, care_period, care_relation,
zarit_point, zarit_state, create_at,
update_at, status, rec_status
)
values (#{id,jdbcType=VARCHAR}, #{userId,jdbcType=VARCHAR}, #{careName,jdbcType=VARCHAR},
#{careSex,jdbcType=TINYINT}, #{careAge,jdbcType=VARCHAR}, #{jobTitle,jdbcType=VARCHAR},
#{educateLevel,jdbcType=VARCHAR}, #{carePeriod,jdbcType=VARCHAR}, #{careRelation,jdbcType=VARCHAR},
#{zaritPoint,jdbcType=VARCHAR}, #{zaritState,jdbcType=VARCHAR}, #{createAt,jdbcType=TIMESTAMP},
#{updateAt,jdbcType=TIMESTAMP}, #{status,jdbcType=TINYINT}, #{recStatus,jdbcType=TINYINT}
)
insert into u_care (id, key_id, key_user_id,
user_id, care_name, care_sex,
care_age, job_title, educate_level,
care_period, care_relation, zarit_point,
zarit_state, create_at, update_at,
status, rec_status)
values (#{id,jdbcType=VARCHAR}, #{keyId,jdbcType=BIGINT}, #{keyUserId,jdbcType=BIGINT},
#{userId,jdbcType=VARCHAR}, #{careName,jdbcType=VARCHAR}, #{careSex,jdbcType=TINYINT},
#{careAge,jdbcType=VARCHAR}, #{jobTitle,jdbcType=VARCHAR}, #{educateLevel,jdbcType=VARCHAR},
#{carePeriod,jdbcType=VARCHAR}, #{careRelation,jdbcType=VARCHAR}, #{zaritPoint,jdbcType=VARCHAR},
#{zaritState,jdbcType=VARCHAR}, #{createAt,jdbcType=TIMESTAMP}, #{updateAt,jdbcType=TIMESTAMP},
#{status,jdbcType=TINYINT}, #{recStatus,jdbcType=TINYINT})
</insert>
<insert id="insertSelective" parameterType="com.ccsens.yanyuan.bean.po.Care">
insert into u_care
@ -130,6 +133,12 @@
<if test="id != null">
id,
</if>
<if test="keyId != null">
key_id,
</if>
<if test="keyUserId != null">
key_user_id,
</if>
<if test="userId != null">
user_id,
</if>
@ -177,6 +186,12 @@
<if test="id != null">
#{id,jdbcType=VARCHAR},
</if>
<if test="keyId != null">
#{keyId,jdbcType=BIGINT},
</if>
<if test="keyUserId != null">
#{keyUserId,jdbcType=BIGINT},
</if>
<if test="userId != null">
#{userId,jdbcType=VARCHAR},
</if>
@ -233,6 +248,12 @@
<if test="record.id != null">
id = #{record.id,jdbcType=VARCHAR},
</if>
<if test="record.keyId != null">
key_id = #{record.keyId,jdbcType=BIGINT},
</if>
<if test="record.keyUserId != null">
key_user_id = #{record.keyUserId,jdbcType=BIGINT},
</if>
<if test="record.userId != null">
user_id = #{record.userId,jdbcType=VARCHAR},
</if>
@ -283,6 +304,8 @@
<update id="updateByExample" parameterType="map">
update u_care
set id = #{record.id,jdbcType=VARCHAR},
key_id = #{record.keyId,jdbcType=BIGINT},
key_user_id = #{record.keyUserId,jdbcType=BIGINT},
user_id = #{record.userId,jdbcType=VARCHAR},
care_name = #{record.careName,jdbcType=VARCHAR},
care_sex = #{record.careSex,jdbcType=TINYINT},
@ -304,6 +327,12 @@
<update id="updateByPrimaryKeySelective" parameterType="com.ccsens.yanyuan.bean.po.Care">
update u_care
<set>
<if test="keyId != null">
key_id = #{keyId,jdbcType=BIGINT},
</if>
<if test="keyUserId != null">
key_user_id = #{keyUserId,jdbcType=BIGINT},
</if>
<if test="userId != null">
user_id = #{userId,jdbcType=VARCHAR},
</if>
@ -351,7 +380,9 @@
</update>
<update id="updateByPrimaryKey" parameterType="com.ccsens.yanyuan.bean.po.Care">
update u_care
set user_id = #{userId,jdbcType=VARCHAR},
set key_id = #{keyId,jdbcType=BIGINT},
key_user_id = #{keyUserId,jdbcType=BIGINT},
user_id = #{userId,jdbcType=VARCHAR},
care_name = #{careName,jdbcType=VARCHAR},
care_sex = #{careSex,jdbcType=TINYINT},
care_age = #{careAge,jdbcType=VARCHAR},

4
src/main/resources/mbg.xml

@ -55,7 +55,8 @@
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<table tableName="u_mental_test" domainObjectName="MentalTest"></table>
<!-- <table tableName="u_mental_test" domainObjectName="MentalTest"></table>-->
<!-- <table tableName="u_mental_test" domainObjectName="MentalTest"></table>-->
<!--<table tableName="s_config" domainObjectName="Config"></table>
<table tableName="s_grade" domainObjectName="Grade"></table>
<table tableName="t_evaluation_option" domainObjectName="EvaluationOption"></table>
@ -86,6 +87,7 @@
<table tableName="u_user_family" domainObjectName="UserFamily"></table>
<table tableName="u_user_relation" domainObjectName="UserRelation"></table>
<table tableName="u_user_type" domainObjectName="UserType"></table>-->
<table tableName="u_care" domainObjectName="Care"></table>
<!-- 有些表的字段需要指定java类型
<table schema="" tableName="">

Loading…
Cancel
Save