feat: 用户更新,添加管辖科室的修改

广东省中医_gdszy
wyb 1 year ago
parent ce38d65c96
commit 757c0df053

@ -13,4 +13,6 @@ import org.springframework.stereotype.Component;
public class UserSyncConfig { public class UserSyncConfig {
@Value("${docus.user.defpwd:}") @Value("${docus.user.defpwd:}")
private String password; private String password;
@Value("docus.user.powerdeptroles:")
private String powerDeptRoles;
} }

@ -53,4 +53,8 @@ public class UserModifyParam {
* *
*/ */
private String telephone; private String telephone;
/**
*
*/
private String powerDept;
} }

@ -11,6 +11,7 @@ import com.docus.server.collection.service.IPowerUserService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.*;
/** /**
* *
@ -19,6 +20,7 @@ import javax.annotation.Resource;
*/ */
@Service @Service
public class PowerUserServiceImpl implements IPowerUserService { public class PowerUserServiceImpl implements IPowerUserService {
@Resource @Resource
private PowerUserMapper powerUserMapper; private PowerUserMapper powerUserMapper;
@Resource @Resource
@ -30,6 +32,7 @@ public class PowerUserServiceImpl implements IPowerUserService {
public boolean register(UserDto userDto) { public boolean register(UserDto userDto) {
PowerUser powerUser = powerUserMapper.getUserByUserName(userDto.getUserName()); PowerUser powerUser = powerUserMapper.getUserByUserName(userDto.getUserName());
UserModifyParam userModifyParam = userDto.transUserAddParam(); UserModifyParam userModifyParam = userDto.transUserAddParam();
if (Func.isEmpty(powerUser)) { if (Func.isEmpty(powerUser)) {
long userId = idService.getDateSeq(); long userId = idService.getDateSeq();
userModifyParam.setUserId(userId); userModifyParam.setUserId(userId);
@ -37,11 +40,33 @@ public class PowerUserServiceImpl implements IPowerUserService {
powerUserMapper.addUser(userModifyParam); powerUserMapper.addUser(userModifyParam);
return true; return true;
} }
String powerDept = getUpdatePowerDept(powerUser, userDto);
userModifyParam.setPowerDept(powerDept);
userModifyParam.setUserId(powerUser.getUserId()); userModifyParam.setUserId(powerUser.getUserId());
powerUserMapper.updateUser(userModifyParam); powerUserMapper.updateUser(userModifyParam);
return true; return true;
} }
private String getUpdatePowerDept(PowerUser powerUser, UserDto userDto) {
// 需要添加管辖科室的角色集合
String powerDeptRoles = syncConfig.getPowerDeptRoles();
List<String> powerDeptRoleList = Objects.isNull(powerDeptRoles) ? new ArrayList<>() : Arrays.asList(powerDeptRoles.split(","));
Long roleId = powerUser.getRoleId();
String powerDept = powerUser.getPowerDept();
// 添加的角色特殊处理添加
if (powerDeptRoleList.contains(String.valueOf(roleId))) {
Set<String> powerDeptList = new HashSet<>();
if (!Objects.isNull(powerUser.getPowerDept())) {
String[] origPowerDepts = powerUser.getPowerDept().split(",");
Collections.addAll(powerDeptList, origPowerDepts);
}
powerDeptList.add(userDto.getDeptId());
powerDept = String.join(",", powerDeptList);
}
return powerDept;
}
@Override @Override
public boolean delUserByUserName(String userName) { public boolean delUserByUserName(String userName) {
PowerUser powerUser = powerUserMapper.getUserByUserName(userName); PowerUser powerUser = powerUserMapper.getUserByUserName(userName);

@ -100,6 +100,7 @@ docus:
user: user:
# 用户默认密码 # 用户默认密码
defpwd: fd29cd53ec12616e5f36b77d4afffbff defpwd: fd29cd53ec12616e5f36b77d4afffbff
powerdeptroles:
report: report:
downurl: http://localhost:9291/api/downplatform/report downurl: http://localhost:9291/api/downplatform/report
# 质控时间,分钟 # 质控时间,分钟

@ -26,6 +26,7 @@
`user_position`=#{user.position}, `user_position`=#{user.position},
`user_tel`=#{user.telephone}, `user_tel`=#{user.telephone},
`name`=#{user.name}, `name`=#{user.name},
`power_dept`=#{user.powerDept},
`update_date`=now() `update_date`=now()
where `user_id`=#{user.userId} where `user_id`=#{user.userId}
</update> </update>
@ -34,7 +35,7 @@
</delete> </delete>
<select id="getUserByUserName" resultType="com.docus.server.collection.entity.PowerUser"> <select id="getUserByUserName" resultType="com.docus.server.collection.entity.PowerUser">
SELECT `user_id`,`user_name`,`user_pwd` FROM `docus_system`.`power_user` SELECT `user_id`,`user_name`,`user_pwd`,`power_dept`,`role_id` FROM `docus_system`.`power_user`
WHERE `user_name` = #{userName} LIMIT 1 WHERE `user_name` = #{userName} LIMIT 1
</select> </select>
</mapper> </mapper>

Loading…
Cancel
Save