Browse Source

添分配角色

master
6 years ago
parent
commit
3afdd5c6b5
  1. 5
      cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/MemberRoleDto.java
  2. 53
      cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java
  3. 2
      cloudutil/src/main/resources/application-util-test.yml
  4. 2
      ht/src/main/java/com/ccsens/ht/api/PatientController.java
  5. 32
      ht/src/main/java/com/ccsens/ht/service/DoctorService.java
  6. 2
      ht/src/main/java/com/ccsens/ht/service/IPatientService.java
  7. 42
      ht/src/main/java/com/ccsens/ht/service/PatientService.java
  8. 9
      ht/src/main/java/com/ccsens/ht/uitl/Constant.java
  9. 36
      tall/src/main/java/com/ccsens/tall/web/MemberRoleController.java

5
cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/MemberRoleDto.java

@ -3,6 +3,7 @@ package com.ccsens.cloudutil.bean.tall.dto;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.ccsens.util.CodeEnum;
import com.ccsens.util.PropUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -23,7 +24,7 @@ public class MemberRoleDto {
@ApiModelProperty("项目ID")
private Long projectId;
@ApiModelProperty("项目名称")
private String projectName;
private String projectName = PropUtil.projectName;
@ApiModelProperty("角色")
private List<String> roleNames;
@ApiModelProperty("用户ID")
@ -53,7 +54,7 @@ public class MemberRoleDto {
@ApiModelProperty("项目ID")
private Long projectId;
@ApiModelProperty("项目名称")
private String projectName;
private String projectName = PropUtil.projectName;
@ApiModelProperty("角色")
private List<String> roleNames;
@ApiModelProperty("用户ID")

53
cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java

@ -1,16 +1,18 @@
package com.ccsens.cloudutil.feign;
import com.ccsens.cloudutil.bean.QueryParam;
import com.ccsens.cloudutil.bean.tall.dto.MemberRoleDto;
import com.ccsens.cloudutil.bean.tall.dto.UserDto;
import com.ccsens.cloudutil.bean.tall.vo.UserVo;
import com.ccsens.util.JsonResponse;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.configurationprocessor.json.JSONObject;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@ -30,13 +32,31 @@ public interface TallFeignClient {
@PostMapping("/getPort")
String get(QueryParam map);
@GetMapping("/")
String index();
/*
1.如果使用url传参,加注解@PathVariable,不能传递对象,只能用作传递基本数值;
2.如果使用get请求传递参数,同样不能传递对象,而且如果传递参数的话,需要用到@RequestParam标注名称
3.传递对象请使用post方式,并且接收端使用@RequestBody注解
/**
* 注册用户
* @param signup
* @return
*/
@PostMapping("/defaultRegister")
JsonResponse<UserVo.DefaultUserSingup> defaultRegister(UserDto.DefaultUserSingup signup);
/**
* 为用户分配角色
* @param assign
* @return
*/
@RequestMapping("assignRoles")
JsonResponse assignRoles(MemberRoleDto.Assign assign);
/**
* 为用户删除角色
* @param deleteDto
* @return
*/
@RequestMapping("deleteRoles")
JsonResponse deleteRoles(MemberRoleDto.Delete deleteDto);
}
@Slf4j
@ -56,10 +76,19 @@ class TallFeignClientFallBack implements FallbackFactory<TallFeignClient> {
}
@Override
public String index() {
throw new RuntimeException("网络繁忙,请稍后重试");
public JsonResponse defaultRegister(UserDto.DefaultUserSingup signup) {
return JsonResponse.newInstance().fail();
}
@Override
public JsonResponse assignRoles(MemberRoleDto.Assign assign) {
return JsonResponse.newInstance().fail();
}
@Override
public JsonResponse deleteRoles(MemberRoleDto.Delete deleteDto) {
return JsonResponse.newInstance().fail();
}
};
}

2
cloudutil/src/main/resources/application-util-test.yml

@ -50,7 +50,7 @@ logging:
org.springframework.cloud.sleuth: DEBUG
spring:
zipkin:
base-url: http://anyring.cc:9411
base-url: http://127.0.0.1:9411
sleuth:
sampler:
# 采样率,模式0.1,也就是10%,为了便于观察效果,改为1.0,也就是100%。生产环境建议保持默认。

2
ht/src/main/java/com/ccsens/ht/api/PatientController.java

@ -92,7 +92,7 @@ public class PatientController {
}
//设置记录值
patient.setRecorder(patient.getId() == null ? Constant.Ht.NUMBER_DEFAULT : params.getUserId());
long id = patientService.editPatient(patient.copy());
long id = patientService.editPatient(patient.copy(), params.getUserId());
log.info("病友编辑结果:{}", id);
if (id <= 0) {
log.info("病友编辑失败");

32
ht/src/main/java/com/ccsens/ht/service/DoctorService.java

@ -1,8 +1,9 @@
package com.ccsens.ht.service;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject;
import com.ccsens.cloudutil.bean.tall.dto.MemberRoleDto;
import com.ccsens.cloudutil.feign.TallFeignClient;
import com.ccsens.ht.bean.dto.DoctorDto;
import com.ccsens.ht.bean.po.*;
import com.ccsens.ht.bean.vo.DoctorVo;
@ -46,6 +47,8 @@ public class DoctorService implements IDoctorService {
private HtTitleDao htTitleDao;
@Autowired
private HtDoctorAuditDao htDoctorAuditDao;
@Autowired
private TallFeignClient tallFeignClient;
@ -177,14 +180,25 @@ public class DoctorService implements IDoctorService {
roles.add(Constant.Ht.Doctor.MANAGE);
}
// TODO 待处理
// RoleVo vo = new RoleVo(waitDoctor, roles);
// String url = Constant.Ht.Doctor.CHECK_SUCCESS == audit.getAuditState() ? Constant.Url.ASSIGN_ROLE : Constant.Url.DELETE_ROLE;
// JsonResponse result = HttpUtil.postJson(url, vo, JsonResponse.class);
// log.info("接口调用结果:{}", result);
// if (CodeEnum.SUCCESS.getCode().intValue() != result.getCode().intValue()) {
// return CodeEnum.getByCode(result.getCode());
// }
JsonResponse result;
if (Constant.Ht.Doctor.CHECK_SUCCESS == audit.getAuditState()) {
MemberRoleDto.Assign assign = new MemberRoleDto.Assign();
assign.setUserId(waitDoctor.getUserId());
assign.setCreateBy(htDoctors.get(0).getUserId());
assign.setName(waitDoctor.getName());
assign.setRoleNames(roles);
result = tallFeignClient.assignRoles(assign);
} else {
MemberRoleDto.Delete delete = new MemberRoleDto.Delete();
delete.setUserId(waitDoctor.getUserId());
delete.setRoleNames(roles);
result = tallFeignClient.deleteRoles(delete);
}
log.info("接口调用结果:{}", result);
if (CodeEnum.SUCCESS.getCode().intValue() != result.getCode().intValue()) {
return CodeEnum.getByCode(result.getCode());
}
//修改状态
HtDoctor eidtDoctor = new HtDoctor();

2
ht/src/main/java/com/ccsens/ht/service/IPatientService.java

@ -23,7 +23,7 @@ public interface IPatientService {
* @param patient
* @return: patientId
*/
long editPatient(HtPatient patient);
long editPatient(HtPatient patient, Long userId);
/**
* 查询病友其他信息

42
ht/src/main/java/com/ccsens/ht/service/PatientService.java

@ -2,12 +2,17 @@ package com.ccsens.ht.service;
import cn.hutool.core.lang.Snowflake;
import com.alibaba.fastjson.JSONObject;
import com.ccsens.cloudutil.bean.tall.dto.MemberRoleDto;
import com.ccsens.cloudutil.bean.tall.dto.UserDto;
import com.ccsens.cloudutil.bean.tall.vo.UserVo;
import com.ccsens.cloudutil.feign.TallFeignClient;
import com.ccsens.ht.bean.dto.PatientDto;
import com.ccsens.ht.bean.po.HtPatient;
import com.ccsens.ht.bean.po.HtPatientExample;
import com.ccsens.ht.bean.po.HtPatientReport;
import com.ccsens.ht.persist.mapper.HtPatientMapper;
import com.ccsens.ht.persist.mapper.HtPatientReportMapper;
import com.ccsens.ht.uitl.Constant;
import com.ccsens.util.*;
import com.ccsens.util.exception.BaseException;
import lombok.extern.slf4j.Slf4j;
@ -40,6 +45,8 @@ public class PatientService implements IPatientService {
private HtPatientReportMapper htPatientReportMapper;
@Autowired
private HtPatientMapper htPatientMapper;
@Autowired
private TallFeignClient tallFeignClient;
@Override
@ -100,7 +107,7 @@ public class PatientService implements IPatientService {
}
@Override
public long editPatient(HtPatient patient) {
public long editPatient(HtPatient patient, Long userId) {
log.info("编辑病人信息:{}", patient);
HtPatient oldPatient = null;
//身份证唯一标识 ID 或 身份证
@ -124,18 +131,27 @@ public class PatientService implements IPatientService {
}
//TODO 为病人注册账号
// if (oldPatient == null || oldPatient.getUserId() == null || oldPatient.getUserId() == 0) {
// UserDto.DefaultUserSingup signup = new UserDto.DefaultUserSingup();
// signup.setAccount(patient.getMobile());
// signup.setPhone(patient.getMobile());
// signup.setSource(Constant.Regist.SOURCE_HT);
// JsonResponse<Map> result = HttpUtil.postJson(Constant.Url.REGIST, signup, JsonResponse.class);
// if (result.getCode() != CodeEnum.SUCCESS.getCode().longValue()) {
// return 0;
// }
// patient.setUserId(Long.parseLong(String.valueOf(result.getData().get("userId"))));
// }
if (oldPatient == null || oldPatient.getUserId() == null || oldPatient.getUserId() == 0) {
UserDto.DefaultUserSingup signup = new UserDto.DefaultUserSingup();
signup.setAccount(patient.getMobile());
signup.setPhone(patient.getMobile());
signup.setSource(Constant.Regist.SOURCE_HT);
JsonResponse<UserVo.DefaultUserSingup> result = tallFeignClient.defaultRegister(signup);
if (result.getCode() != CodeEnum.SUCCESS.getCode().longValue()) {
return 0;
}
patient.setUserId(result.getData().getId());
//为病人分配角色
MemberRoleDto.Assign assign = new MemberRoleDto.Assign();
assign.setUserId(result.getData().getId());
assign.setCreateBy(userId);
assign.setName(patient.getName());
List<String> roles = new ArrayList<>();
roles.add(Constant.Ht.Doctor.PATIENT);
assign.setRoleNames(roles);
tallFeignClient.assignRoles(assign);
}
if (oldPatient != null) {
patient.setId(oldPatient.getId());
htPatientMapper.updateByPrimaryKeySelective(patient);

9
ht/src/main/java/com/ccsens/ht/uitl/Constant.java

@ -66,9 +66,12 @@ public class Constant {
public static final byte CHECK_WAIT = 0;
public static final byte CHECK_SUCCESS = 1;
public static final byte CHECK_FAIL = 2;
public static final String COMMON = "普通医生";
public static final String AUDIT = "审核医生";
public static final String MANAGE = "管理医生";
public static final String COMMON = "评测";
public static final String AUDIT = "审核";
public static final String MANAGE = "管理";
public static final String PATIENT = "往期报告单";
}

36
tall/src/main/java/com/ccsens/tall/web/MemberRoleController.java

@ -1,9 +1,11 @@
package com.ccsens.tall.web;
import com.ccsens.cloudutil.bean.tall.dto.MemberRoleDto;
import com.ccsens.cloudutil.bean.tall.vo.UserVo;
import com.ccsens.tall.bean.dto.UserDto;
import com.ccsens.tall.service.IProMemberRoleService;
import com.ccsens.tall.service.IUserService;
import com.ccsens.util.CodeEnum;
import com.ccsens.util.JsonResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@ -24,7 +26,7 @@ import java.util.Map;
* @create: 2019/12/05 10:17
*/
@Slf4j
@Api(tags = "用户角色相关操作API" , description = "MemberRoleController | 项目中用户角色添加/删除")
@Api(tags = "用户角色相关操作API" )
@RestController
public class MemberRoleController {
@ -35,11 +37,41 @@ public class MemberRoleController {
@ApiOperation(value = "默认注册",notes = "默认帮助用户注册")
@RequestMapping("defaultRegister")
public JsonResponse defaultRegister(@Validated @RequestBody com.ccsens.cloudutil.bean.tall.dto.UserDto.DefaultUserSingup signup) {
public JsonResponse<UserVo.DefaultUserSingup> defaultRegister(@Validated @RequestBody com.ccsens.cloudutil.bean.tall.dto.UserDto.DefaultUserSingup signup) {
long userId = userService.defaultRegisterUser(signup);
UserVo.DefaultUserSingup upVo = new UserVo.DefaultUserSingup();
upVo.setId(userId);
return JsonResponse.newInstance().ok(upVo);
}
/**
* 为用户分配角色
* 查找项目名称下所有相同名称的角色若项目名称不唯一且仅想获取某一个项目下的角色请为projectId复制
* @param assign
* @return
*/
@RequestMapping("assignRoles")
public JsonResponse assignRoles(MemberRoleDto.Assign assign) {
log.info("分配角色请求参数:{}", assign);
CodeEnum codeEnum = memberRoleService.assignRoles(assign);
log.info("分配角色结果:{}", codeEnum);
return JsonResponse.newInstance().ok(codeEnum);
}
/**
* 为用户分配角色
* 查找项目名称下所有相同名称的角色若项目名称不唯一且仅想获取某一个项目下的角色请为projectId复制
* @param deleteDto
* @return
*/
@RequestMapping("deleteRoles")
public JsonResponse deleteRoles(MemberRoleDto.Delete deleteDto) {
log.info("删除角色请求参数:{}", deleteDto);
CodeEnum codeEnum = memberRoleService.deleteRole(deleteDto);
log.info("删除角色结果:{}", codeEnum);
return JsonResponse.newInstance().ok(codeEnum);
}
}

Loading…
Cancel
Save