|
|
|
@ -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);
|
|
|
|
|