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

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

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

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

@ -11,6 +11,7 @@ import com.docus.server.collection.service.IPowerUserService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.*;
/**
*
@ -19,6 +20,7 @@ import javax.annotation.Resource;
*/
@Service
public class PowerUserServiceImpl implements IPowerUserService {
@Resource
private PowerUserMapper powerUserMapper;
@Resource
@ -30,6 +32,7 @@ public class PowerUserServiceImpl implements IPowerUserService {
public boolean register(UserDto userDto) {
PowerUser powerUser = powerUserMapper.getUserByUserName(userDto.getUserName());
UserModifyParam userModifyParam = userDto.transUserAddParam();
if (Func.isEmpty(powerUser)) {
long userId = idService.getDateSeq();
userModifyParam.setUserId(userId);
@ -37,11 +40,33 @@ public class PowerUserServiceImpl implements IPowerUserService {
powerUserMapper.addUser(userModifyParam);
return true;
}
String powerDept = getUpdatePowerDept(powerUser, userDto);
userModifyParam.setPowerDept(powerDept);
userModifyParam.setUserId(powerUser.getUserId());
powerUserMapper.updateUser(userModifyParam);
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
public boolean delUserByUserName(String userName) {
PowerUser powerUser = powerUserMapper.getUserByUserName(userName);

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

@ -26,6 +26,7 @@
`user_position`=#{user.position},
`user_tel`=#{user.telephone},
`name`=#{user.name},
`power_dept`=#{user.powerDept},
`update_date`=now()
where `user_id`=#{user.userId}
</update>
@ -34,7 +35,7 @@
</delete>
<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
</select>
</mapper>

Loading…
Cancel
Save