提交 7132ac46 编写于 作者: wenhao.qin's avatar wenhao.qin

补充上次

上级 acdae6b7
流水线 #43139 已取消 于阶段
......@@ -33,6 +33,8 @@ public interface PermissionDoctorRoleMapper {
List<PermissionDoctorRole> selectByRoleId(Long id);
PermissionDoctorRole selectByUserId(Long id);
int deleteByRoleId(Map<String, Object> map);
List<PermissionDoctorRole> queryDoctorMenu(Integer doctorId);
......
......@@ -191,19 +191,21 @@ public class HospitalSaasUserServiceImpl implements HospitalSaasUserService {
if (Objects.isNull(req) || Objects.isNull(req.getHospitalId())) {
throw new PicaException(PicaResultCode.PARAM_IS_INVALID.code(), "参数错误");
}
if (req.getLoginFlag() == 1 && Objects.nonNull(req.getRoleId()) && req.getRoleId() != 0 && req.getRoleId() < SaasRoleEnum.SAAS_MAIN_ADMIN.getCode()) {
throw new PicaException(PicaResultCode.PARAM_IS_INVALID.code(), "当前角色不可删除");
}
if (req.getLoginFlag() == 0 && Objects.nonNull(req.getRoleId()) && req.getRoleId() != 0 && req.getRoleId() < SaasRoleEnum.SAAS_DOCTOR.getCode()) {
throw new PicaException(PicaResultCode.PARAM_IS_INVALID.code(), "当前角色不可删除");
}
validatorAdminRole(req.getRoleId(), req.getHospitalId().longValue());
String mobileEncrypt = AESUtil.encryptV0(req.getMobile());
Account accountExist = accountMapper.getByMobilePhone(mobileEncrypt);
if (accountExist == null) {
throw new PicaException(PicaResultCode.PARAM_IS_INVALID.code(), "当前用户不存在");
}
PermissionDoctorRole doctorRole = doctorRoleMapper.selectByUserId(req.getId());
if (req.getLoginFlag() == 1 && Objects.nonNull(doctorRole) && !Objects.equals(req.getRoleId(), doctorRole.getRoleId())
&& req.getRoleId() != 0 && doctorRole.getRoleId() < SaasRoleEnum.SAAS_MAIN_ADMIN.getCode()) {
throw new PicaException(PicaResultCode.PARAM_IS_INVALID.code(), "当前角色不可删除");
}
if (req.getLoginFlag() == 0 && Objects.nonNull(doctorRole) &&!Objects.equals(req.getRoleId(), doctorRole.getRoleId())
&& req.getRoleId() != 0 && doctorRole.getRoleId() < SaasRoleEnum.SAAS_DOCTOR.getCode()) {
throw new PicaException(PicaResultCode.PARAM_IS_INVALID.code(), "当前角色不可删除");
}
Account account = new Account();
account.setId(req.getId());
account.setModifyId(doctorId);
......
......@@ -48,7 +48,8 @@
and modified_time &lt; DATE_FORMAT(NOW(), '%Y-%m-%d %H:00:00')
</insert>
<insert id="insert" parameterType="com.pica.cloud.account.account.server.entity.PermissionDoctorRole" useGeneratedKeys="true" keyProperty="id" >
<insert id="insert" parameterType="com.pica.cloud.account.account.server.entity.PermissionDoctorRole"
useGeneratedKeys="true" keyProperty="id">
insert into permission_doctor_role (id, doctor_id, hospital_id,
role_id, delete_flag, created_id,
created_time, modified_id, modified_time)
......@@ -164,8 +165,8 @@
<update id="deleteByDoctorId" parameterType="java.util.Map">
update permission_doctor_role
set delete_flag = 2 ,
modified_id = #{modifiedId,jdbcType=BIGINT},
set delete_flag = 2,
modified_id = #{modifiedId,jdbcType=BIGINT},
modified_time = #{modifiedTime,jdbcType=TIMESTAMP}
where doctor_id = #{id,jdbcType=BIGINT}
</update>
......@@ -180,27 +181,31 @@
</update>
<select id="queryDoctorMenu" parameterType="java.lang.Integer" resultMap="BaseResultMap">
SELECT
pr.*
FROM
permission_doctor_role pr,
p_saas_menu pm
WHERE
pr.doctor_id = #{doctorId}
AND pr.role_id = pm.permission_role_id
AND pr.delete_flag = 1
AND pm.delete_flag = 1
AND pm.system_type = 42
GROUP BY
pm. NAME
SELECT pr.*
FROM permission_doctor_role pr,
p_saas_menu pm
WHERE pr.doctor_id = #{doctorId}
AND pr.role_id = pm.permission_role_id
AND pr.delete_flag = 1
AND pm.delete_flag = 1
AND pm.system_type = 42
GROUP BY pm.NAME
</select>
<select id="selectByHospitalIdRoleId" parameterType="java.lang.Integer" resultMap="BaseResultMap">
SELECT
pr.*
FROM
permission_doctor_role pr
SELECT pr.*
FROM permission_doctor_role pr
WHERE pr.hospital_id = #{hospitalId}
and pr.role_id = #{roleId} AND pr.delete_flag = 1 order by pr.modified_time desc limit 1
and pr.role_id = #{roleId}
AND pr.delete_flag = 1
order by pr.modified_time desc
limit 1
</select>
<select id="selectByUserId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from permission_doctor_role
where doctor_id = #{id,jdbcType=BIGINT} and delete_flag = 1
limit 1;
</select>
</mapper>
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册