提交 eb388916 编写于 作者:  Peijun.zhao's avatar Peijun.zhao

获取机构用户资质详情页

上级 fd361e26
流水线 #42893 已取消 于阶段
...@@ -201,6 +201,11 @@ ...@@ -201,6 +201,11 @@
<artifactId>xxl-job-core</artifactId> <artifactId>xxl-job-core</artifactId>
<version>2.1.0</version> <version>2.1.0</version>
</dependency> </dependency>
<dependency>
<groupId>com.pica.cloud.trade</groupId>
<artifactId>pica-cloud-store-client</artifactId>
<version>1.4.7-SNAPSHOT</version>
</dependency>
<dependency> <dependency>
<groupId>com.squareup.okhttp3</groupId> <groupId>com.squareup.okhttp3</groupId>
......
...@@ -60,7 +60,7 @@ public class HospitalSaasUserController extends AccountBaseController { ...@@ -60,7 +60,7 @@ public class HospitalSaasUserController extends AccountBaseController {
@GetMapping(value = "/hospital/userDetail") @GetMapping(value = "/hospital/userDetail")
@EnabledLoginValidate @EnabledLoginValidate
public PicaResponse<HospitalSaasUserDetailResp> userDetail(@RequestHeader("token") String token) { public PicaResponse<HospitalSaasUserDetailResp> userDetail(@RequestHeader("token") String token) {
return PicaResponse.toResponse(new HospitalSaasUserDetailResp()); return PicaResponse.toResponse(hospitalSaasUserService.userDetail(fetchPicaUser()));
} }
@ApiOperation("机构saas平台人员-角色列表") @ApiOperation("机构saas平台人员-角色列表")
......
...@@ -78,6 +78,8 @@ public class Account { ...@@ -78,6 +78,8 @@ public class Account {
private Integer hospitalId; private Integer hospitalId;
private String hospital;
public Integer getHospitalId() { public Integer getHospitalId() {
return hospitalId; return hospitalId;
} }
...@@ -333,4 +335,12 @@ public class Account { ...@@ -333,4 +335,12 @@ public class Account {
public void setBirthday(Date birthday) { public void setBirthday(Date birthday) {
this.birthday = birthday; this.birthday = birthday;
} }
public String getHospital() {
return hospital;
}
public void setHospital(String hospital) {
this.hospital = hospital;
}
} }
...@@ -31,4 +31,6 @@ public interface PermissionRoleMapper { ...@@ -31,4 +31,6 @@ public interface PermissionRoleMapper {
List<RoleDto> querySaasRoles(); List<RoleDto> querySaasRoles();
PermissionRole selectByNameCode(PermissionRole record); PermissionRole selectByNameCode(PermissionRole record);
List<PermissionRole> selectByDoctorId(Map<String, Long> map);
} }
\ No newline at end of file
...@@ -10,22 +10,24 @@ import lombok.Data; ...@@ -10,22 +10,24 @@ import lombok.Data;
*/ */
@Data @Data
public class HospitalSaasUserDetailResp { public class HospitalSaasUserDetailResp {
@ApiModelProperty("id") @ApiModelProperty("医生id")
private Long id; private Long id;
@ApiModelProperty("姓名") @ApiModelProperty("姓名")
private String name; private String name;
@ApiModelProperty("机构id") @ApiModelProperty("机构id")
private Long hospitalId; private Long hospitalId;
@ApiModelProperty("机构名称") @ApiModelProperty("机构名称")
private Long hospitalName; private String hospitalName;
@ApiModelProperty("机构地址") @ApiModelProperty("机构地址")
private Long hospitalAddress; private String hospitalAddress;
@ApiModelProperty("手机号") @ApiModelProperty("手机号")
private String mobile; private String mobile;
@ApiModelProperty("角色id") @ApiModelProperty("角色id")
private Integer roleId; private Integer roleId;
@ApiModelProperty("角色名称") @ApiModelProperty("角色名称")
private String roleName; private String roleName;
@ApiModelProperty("验证是否通过(1未认证,2认证中,3认证通过,4认证不通过,5验证码认证,6 重新认证中,7 重新认证失败)") @ApiModelProperty("资质认证status")
private Integer status; private Integer status;
@ApiModelProperty("资质认证statusStr")
private String statusStr;
} }
...@@ -63,4 +63,5 @@ public interface DoctorService { ...@@ -63,4 +63,5 @@ public interface DoctorService {
List<Integer> getDoctorsByInnerOrg(); List<Integer> getDoctorsByInnerOrg();
void cancelAccountByDoctorId(CancelAccountDto cancelAccountDto, PicaUser fetchPicaUser); void cancelAccountByDoctorId(CancelAccountDto cancelAccountDto, PicaUser fetchPicaUser);
} }
...@@ -5,6 +5,7 @@ import com.pica.cloud.account.account.server.entity.LoginResult; ...@@ -5,6 +5,7 @@ import com.pica.cloud.account.account.server.entity.LoginResult;
import com.pica.cloud.account.account.server.req.BaseRequest; import com.pica.cloud.account.account.server.req.BaseRequest;
import com.pica.cloud.account.account.server.req.HospitalSaasUserListReq; import com.pica.cloud.account.account.server.req.HospitalSaasUserListReq;
import com.pica.cloud.account.account.server.req.HospitalSaasUserReq; import com.pica.cloud.account.account.server.req.HospitalSaasUserReq;
import com.pica.cloud.account.account.server.resp.HospitalSaasUserDetailResp;
import com.pica.cloud.account.account.server.resp.HospitalSaasUserResp; import com.pica.cloud.account.account.server.resp.HospitalSaasUserResp;
import com.pica.cloud.foundation.entity.PicaResponse; import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.utils.entity.PicaUser; import com.pica.cloud.foundation.utils.entity.PicaUser;
...@@ -24,4 +25,6 @@ public interface HospitalSaasUserService { ...@@ -24,4 +25,6 @@ public interface HospitalSaasUserService {
int upsert(HospitalSaasUserReq req, PicaUser user); int upsert(HospitalSaasUserReq req, PicaUser user);
int delete(Long id); int delete(Long id);
HospitalSaasUserDetailResp userDetail(PicaUser user);
} }
...@@ -363,7 +363,6 @@ public class DoctorServiceImpl implements DoctorService { ...@@ -363,7 +363,6 @@ public class DoctorServiceImpl implements DoctorService {
simpleProducer.send(kafkaSendTopic, kafkaModel); simpleProducer.send(kafkaSendTopic, kafkaModel);
} }
private void checkResponse(String checkExecute) { private void checkResponse(String checkExecute) {
PicaResponse checkResponse = JSON.parseObject(checkExecute, PicaResponse.class); PicaResponse checkResponse = JSON.parseObject(checkExecute, PicaResponse.class);
if (!checkResponse.getCode().equals(PicaResultCode.SUCCESS.code())) { if (!checkResponse.getCode().equals(PicaResultCode.SUCCESS.code())) {
......
...@@ -11,15 +11,20 @@ import com.pica.cloud.account.account.server.log.AccountLogUtils; ...@@ -11,15 +11,20 @@ import com.pica.cloud.account.account.server.log.AccountLogUtils;
import com.pica.cloud.account.account.server.mapper.*; import com.pica.cloud.account.account.server.mapper.*;
import com.pica.cloud.account.account.server.req.HospitalSaasUserListReq; import com.pica.cloud.account.account.server.req.HospitalSaasUserListReq;
import com.pica.cloud.account.account.server.req.HospitalSaasUserReq; import com.pica.cloud.account.account.server.req.HospitalSaasUserReq;
import com.pica.cloud.account.account.server.resp.HospitalSaasUserDetailResp;
import com.pica.cloud.account.account.server.resp.HospitalSaasUserResp; import com.pica.cloud.account.account.server.resp.HospitalSaasUserResp;
import com.pica.cloud.account.account.server.service.HospitalSaasUserService; import com.pica.cloud.account.account.server.service.HospitalSaasUserService;
import com.pica.cloud.account.account.server.util.AESUtil; import com.pica.cloud.account.account.server.util.AESUtil;
import com.pica.cloud.account.account.server.util.ExecutorServiceUtils; import com.pica.cloud.account.account.server.util.ExecutorServiceUtils;
import com.pica.cloud.account.account.server.util.captcha.CommonUtils; import com.pica.cloud.account.account.server.util.captcha.CommonUtils;
import com.pica.cloud.foundation.encryption.common.constants.EncryptConstants;
import com.pica.cloud.foundation.encryption.util.EncryptUtils;
import com.pica.cloud.foundation.entity.PicaException; import com.pica.cloud.foundation.entity.PicaException;
import com.pica.cloud.foundation.entity.PicaResultCode; import com.pica.cloud.foundation.entity.PicaResultCode;
import com.pica.cloud.foundation.redis.ICacheClient; import com.pica.cloud.foundation.redis.ICacheClient;
import com.pica.cloud.foundation.utils.entity.PicaUser; import com.pica.cloud.foundation.utils.entity.PicaUser;
import com.pica.cloud.trade.store.client.StoreCertifyServiceClient;
import com.pica.cloud.trade.store.resp.certify.StoreCertifyStatus;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -52,6 +57,14 @@ public class HospitalSaasUserServiceImpl implements HospitalSaasUserService { ...@@ -52,6 +57,14 @@ public class HospitalSaasUserServiceImpl implements HospitalSaasUserService {
private AgreementLogEntityMapper agreementLogEntityMapper; private AgreementLogEntityMapper agreementLogEntityMapper;
@Autowired @Autowired
private PermissionDoctorRoleMapper doctorRoleMapper; private PermissionDoctorRoleMapper doctorRoleMapper;
@Autowired
private HospitalMapper hospitalMapper;
@Autowired
private PermissionRoleMapper permissionRoleMapper;
@Autowired
private StoreCertifyServiceClient storeCertifyServiceClient;
@Override @Override
@Transactional @Transactional
...@@ -177,6 +190,57 @@ public class HospitalSaasUserServiceImpl implements HospitalSaasUserService { ...@@ -177,6 +190,57 @@ public class HospitalSaasUserServiceImpl implements HospitalSaasUserService {
return 0; return 0;
} }
/**
* 获取机构用户账户信息
*
* @param user
* @return
*/
@Override
public HospitalSaasUserDetailResp userDetail(PicaUser user) {
HospitalSaasUserDetailResp resp = new HospitalSaasUserDetailResp();
Account pDoctor = accountMapper.selectById(user.getId());
if (null == pDoctor) {
return resp;
}
if (null != pDoctor.getHospitalId() && 0L != pDoctor.getHospitalId()) {
Hospital hospital = hospitalMapper.selectByPrimaryKey(pDoctor.getHospitalId());
if (null != hospital) {
resp.setHospitalId(hospital.getId().longValue());
resp.setHospitalName(hospital.getName());
resp.setHospitalAddress(hospital.getHospitalAddress());
} else {
return resp;
}
} else {
return resp;
}
resp.setName(pDoctor.getName());
resp.setMobile(EncryptUtils.decryptContent(pDoctor.getMobilePhone()
, EncryptConstants.ENCRYPT_TYPE_MOBILE, EncryptConstants.ENCRYPT_DECRYPT_KEY));
// saas角色获取
Map<String, Long> map = new HashMap<>();
map.put("doctorId", pDoctor.getId());
map.put("hospitalId", pDoctor.getHospitalId().longValue());
List<PermissionRole> roles = permissionRoleMapper.selectByDoctorId(map);
roles.stream().forEach(o -> {
resp.setRoleName(resp.getRoleName() + o.getRoleName() + " ");
});
// 获取批发资质
StoreCertifyStatus storeCertifyStatus = null;
try {
storeCertifyStatus = storeCertifyServiceClient.statusByDoctorId(user.getToken(), pDoctor.getId().intValue()).getData();
resp.setStatusStr(storeCertifyStatus.getCertifyStatusStr());
resp.setStatus(storeCertifyStatus.getCertifyStatus());
} catch (Exception e) {
logger.error("userDetail storeCertifyServiceClient.statusByDoctorId error {}", e);
}
return resp;
}
//处理app端 用户-角色关系 //处理app端 用户-角色关系
private void insertAppRole(Long userId, HospitalSaasUserReq req, PicaUser user) { private void insertAppRole(Long userId, HospitalSaasUserReq req, PicaUser user) {
ExecutorServiceUtils.getExecutor().submit(new Runnable() { ExecutorServiceUtils.getExecutor().submit(new Runnable() {
......
...@@ -34,12 +34,13 @@ ...@@ -34,12 +34,13 @@
<result column="card" jdbcType="VARCHAR" property="card" /> <result column="card" jdbcType="VARCHAR" property="card" />
<result column="birthday" jdbcType="DATE" property="birthday" /> <result column="birthday" jdbcType="DATE" property="birthday" />
<result column="hospital_id" jdbcType="INTEGER" property="hospitalId" /> <result column="hospital_id" jdbcType="INTEGER" property="hospitalId" />
<result column="hospital" jdbcType="VARCHAR" property="hospital" />
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, sex, name, mobile_phone, status, certify_status, nation, avatar_image_url, email, qrcode, nickname, personal_sign, delete_flag, id, sex, name, mobile_phone, status, certify_status, nation, avatar_image_url, email, qrcode, nickname, personal_sign, delete_flag,
creat_id, creat_time, modify_id, modify_time, password, info, entire_flag, reg_time, last_login_time, creat_id, creat_time, modify_id, modify_time, password, info, entire_flag, reg_time, last_login_time,
unionid, register_source, comment, register_type, first_login_time, card, birthday, hospital_id unionid, register_source, comment, register_type, first_login_time, card, birthday, hospital_id, hospital
</sql> </sql>
<select id="selectById" parameterType="java.lang.Long" resultMap="BaseResultMap"> <select id="selectById" parameterType="java.lang.Long" resultMap="BaseResultMap">
......
...@@ -201,4 +201,14 @@ ...@@ -201,4 +201,14 @@
and role_name = #{roleName} and role_name = #{roleName}
</if> </if>
</select> </select>
<select id="selectByDoctorId" resultMap="BaseResultMap" parameterType="java.util.Map">
select
r.role_code as roleCode, r.role_name as roleName
from
permission_doctor_role dr
JOIN permission_role r on dr.role_id = r.id
WHERE
dr.delete_flag = 1 and dr.doctor_id = 1 AND dr.hospital_id = 2 and r.delete_flag = 1
</select>
</mapper> </mapper>
\ No newline at end of file
package com.pica.cloud.account.account.server.mapper;
import com.pica.cloud.account.account.server.service.impl.HospitalSaasUserServiceImpl;
import com.pica.cloud.foundation.utils.entity.PicaUser;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
/**
* User: Joy
* Description:
* Date: 2022-03-03 18:08
*/
@RunWith(SpringRunner.class)
@SpringBootTest
public class HospitalSaasUserServiceTest {
@Autowired
private HospitalSaasUserServiceImpl hospitalSaasUserService;
@Test
public void test1(){
PicaUser user = new PicaUser();
user.setId(1000005487);
user.setToken("1234");
hospitalSaasUserService.userDetail(user);
}
}
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册