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

获取机构用户资质详情页

上级 fd361e26
流水线 #42893 已取消 于阶段
......@@ -201,6 +201,11 @@
<artifactId>xxl-job-core</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>com.pica.cloud.trade</groupId>
<artifactId>pica-cloud-store-client</artifactId>
<version>1.4.7-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
......
......@@ -60,7 +60,7 @@ public class HospitalSaasUserController extends AccountBaseController {
@GetMapping(value = "/hospital/userDetail")
@EnabledLoginValidate
public PicaResponse<HospitalSaasUserDetailResp> userDetail(@RequestHeader("token") String token) {
return PicaResponse.toResponse(new HospitalSaasUserDetailResp());
return PicaResponse.toResponse(hospitalSaasUserService.userDetail(fetchPicaUser()));
}
@ApiOperation("机构saas平台人员-角色列表")
......
......@@ -78,6 +78,8 @@ public class Account {
private Integer hospitalId;
private String hospital;
public Integer getHospitalId() {
return hospitalId;
}
......@@ -333,4 +335,12 @@ public class Account {
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getHospital() {
return hospital;
}
public void setHospital(String hospital) {
this.hospital = hospital;
}
}
......@@ -31,4 +31,6 @@ public interface PermissionRoleMapper {
List<RoleDto> querySaasRoles();
PermissionRole selectByNameCode(PermissionRole record);
List<PermissionRole> selectByDoctorId(Map<String, Long> map);
}
\ No newline at end of file
......@@ -10,22 +10,24 @@ import lombok.Data;
*/
@Data
public class HospitalSaasUserDetailResp {
@ApiModelProperty("id")
@ApiModelProperty("医生id")
private Long id;
@ApiModelProperty("姓名")
private String name;
@ApiModelProperty("机构id")
private Long hospitalId;
@ApiModelProperty("机构名称")
private Long hospitalName;
private String hospitalName;
@ApiModelProperty("机构地址")
private Long hospitalAddress;
private String hospitalAddress;
@ApiModelProperty("手机号")
private String mobile;
@ApiModelProperty("角色id")
private Integer roleId;
@ApiModelProperty("角色名称")
private String roleName;
@ApiModelProperty("验证是否通过(1未认证,2认证中,3认证通过,4认证不通过,5验证码认证,6 重新认证中,7 重新认证失败)")
@ApiModelProperty("资质认证status")
private Integer status;
@ApiModelProperty("资质认证statusStr")
private String statusStr;
}
......@@ -63,4 +63,5 @@ public interface DoctorService {
List<Integer> getDoctorsByInnerOrg();
void cancelAccountByDoctorId(CancelAccountDto cancelAccountDto, PicaUser fetchPicaUser);
}
......@@ -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.HospitalSaasUserListReq;
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.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.utils.entity.PicaUser;
......@@ -24,4 +25,6 @@ public interface HospitalSaasUserService {
int upsert(HospitalSaasUserReq req, PicaUser user);
int delete(Long id);
HospitalSaasUserDetailResp userDetail(PicaUser user);
}
......@@ -363,7 +363,6 @@ public class DoctorServiceImpl implements DoctorService {
simpleProducer.send(kafkaSendTopic, kafkaModel);
}
private void checkResponse(String checkExecute) {
PicaResponse checkResponse = JSON.parseObject(checkExecute, PicaResponse.class);
if (!checkResponse.getCode().equals(PicaResultCode.SUCCESS.code())) {
......
......@@ -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.req.HospitalSaasUserListReq;
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.service.HospitalSaasUserService;
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.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.PicaResultCode;
import com.pica.cloud.foundation.redis.ICacheClient;
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.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -52,6 +57,14 @@ public class HospitalSaasUserServiceImpl implements HospitalSaasUserService {
private AgreementLogEntityMapper agreementLogEntityMapper;
@Autowired
private PermissionDoctorRoleMapper doctorRoleMapper;
@Autowired
private HospitalMapper hospitalMapper;
@Autowired
private PermissionRoleMapper permissionRoleMapper;
@Autowired
private StoreCertifyServiceClient storeCertifyServiceClient;
@Override
@Transactional
......@@ -177,6 +190,57 @@ public class HospitalSaasUserServiceImpl implements HospitalSaasUserService {
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端 用户-角色关系
private void insertAppRole(Long userId, HospitalSaasUserReq req, PicaUser user) {
ExecutorServiceUtils.getExecutor().submit(new Runnable() {
......
......@@ -34,12 +34,13 @@
<result column="card" jdbcType="VARCHAR" property="card" />
<result column="birthday" jdbcType="DATE" property="birthday" />
<result column="hospital_id" jdbcType="INTEGER" property="hospitalId" />
<result column="hospital" jdbcType="VARCHAR" property="hospital" />
</resultMap>
<sql id="Base_Column_List">
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,
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>
<select id="selectById" parameterType="java.lang.Long" resultMap="BaseResultMap">
......
......@@ -201,4 +201,14 @@
and role_name = #{roleName}
</if>
</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>
\ 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 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册