|
@@ -78,8 +78,6 @@ import vip.xiaonuo.sys.core.enums.SysBuildInEnum;
|
|
|
import vip.xiaonuo.sys.core.enums.SysDataTypeEnum;
|
|
|
import vip.xiaonuo.sys.modular.org.entity.SysOrg;
|
|
|
import vip.xiaonuo.sys.modular.org.service.SysOrgService;
|
|
|
-import vip.xiaonuo.sys.modular.position.entity.SysPosition;
|
|
|
-import vip.xiaonuo.sys.modular.position.service.SysPositionService;
|
|
|
import vip.xiaonuo.sys.modular.relation.entity.SysRelation;
|
|
|
import vip.xiaonuo.sys.modular.relation.enums.SysRelationCategoryEnum;
|
|
|
import vip.xiaonuo.sys.modular.relation.service.SysRelationService;
|
|
@@ -100,6 +98,7 @@ import vip.xiaonuo.sys.modular.user.mapper.SysUserMapper;
|
|
|
import vip.xiaonuo.sys.modular.user.param.*;
|
|
|
import vip.xiaonuo.sys.modular.user.result.*;
|
|
|
import vip.xiaonuo.sys.modular.user.service.SysUserService;
|
|
|
+import vip.xiaonuo.sys.modular.user.utils.UploadImage;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
@@ -108,8 +107,6 @@ import java.io.File;
|
|
|
import java.io.IOException;
|
|
|
import java.io.InputStream;
|
|
|
import java.util.*;
|
|
|
-import java.util.concurrent.atomic.AtomicReference;
|
|
|
-import java.util.concurrent.locks.Condition;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -133,15 +130,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
private CommonCacheOperator commonCacheOperator;
|
|
|
|
|
|
@Resource
|
|
|
- private DevSmsApi devSmsApi;
|
|
|
-
|
|
|
- @Resource
|
|
|
private TransService transService;
|
|
|
|
|
|
@Resource
|
|
|
- private DevEmailApi devEmailApi;
|
|
|
-
|
|
|
- @Resource
|
|
|
private DevConfigApi devConfigApi;
|
|
|
|
|
|
@Resource
|
|
@@ -154,9 +145,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
private SysOrgService sysOrgService;
|
|
|
|
|
|
@Resource
|
|
|
- private SysPositionService sysPositionService;
|
|
|
-
|
|
|
- @Resource
|
|
|
private SysRoleService sysRoleService;
|
|
|
|
|
|
@Resource
|
|
@@ -174,6 +162,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
@Resource
|
|
|
private MobileButtonApi mobileButtonApi;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private UploadImage uploadImage;
|
|
|
+
|
|
|
@Override
|
|
|
public SysLoginUser getUserById(String id) {
|
|
|
SysUser sysUser = this.getById(id);
|
|
@@ -204,15 +195,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public SysLoginUser getUserByEmail(String email) {
|
|
|
- SysUser sysUser = this.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getEmail, email));
|
|
|
- if (ObjectUtil.isNotEmpty(sysUser)) {
|
|
|
- transService.transOne(sysUser);
|
|
|
- return BeanUtil.copyProperties(sysUser, SysLoginUser.class);
|
|
|
- }
|
|
|
- return null;
|
|
|
- }
|
|
|
|
|
|
@Override
|
|
|
public Page<SysUser> page(SysUserPageParam sysUserPageParam) {
|
|
@@ -237,15 +219,29 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
return this.page(CommonPageRequest.defaultPage(), queryWrapper);
|
|
|
}
|
|
|
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
- public void add(SysUserAddParam sysUserAddParam) {
|
|
|
- checkParam(sysUserAddParam);
|
|
|
- SysUser sysUser = BeanUtil.toBean(sysUserAddParam, SysUser.class);
|
|
|
- if (ObjectUtil.isEmpty(sysUser.getAvatar())) {
|
|
|
- // 设置默认头像
|
|
|
- sysUser.setAvatar(CommonAvatarUtil.generateImg(sysUser.getName()));
|
|
|
+ public void add(String empNo, String account, String name, String orgId, String departmentId, String workLocationId, String nickname, String gender, String homeAddress, String detailAddress, String idCardNumber, String phone, String emergencyPhone, String entryDate, MultipartFile avatar) throws IOException {
|
|
|
+ checkParam(empNo,account,phone,orgId);
|
|
|
+ SysUser sysUser = new SysUser();
|
|
|
+ sysUser.setEmpNo(empNo);
|
|
|
+ sysUser.setAccount(account);
|
|
|
+ sysUser.setName(name);
|
|
|
+ sysUser.setOrgId(orgId);
|
|
|
+ sysUser.setDepartmentId(departmentId);
|
|
|
+ sysUser.setWorkLocationId(workLocationId);
|
|
|
+ sysUser.setNickname(nickname);
|
|
|
+ sysUser.setGender(gender);
|
|
|
+ sysUser.setHomeAddress(homeAddress);
|
|
|
+ sysUser.setDetailAddress(detailAddress);
|
|
|
+ sysUser.setIdCardNumber(idCardNumber);
|
|
|
+ sysUser.setPhone(phone);
|
|
|
+ sysUser.setEmergencyPhone(emergencyPhone);
|
|
|
+ sysUser.setEntryDate(entryDate);
|
|
|
+ String avatarUrl = uploadImage.getImageCom(avatar);
|
|
|
+ if (avatarUrl.equals("上传失败")){
|
|
|
+ throw new CommonException("图片上传失败!");
|
|
|
}
|
|
|
+ sysUser.setAvatar(avatarUrl);
|
|
|
// 设置默认密码
|
|
|
sysUser.setPassword(CommonCryptogramUtil.doHashValue(devConfigApi.getValueByKey(SNOWY_SYS_DEFAULT_PASSWORD_KEY)));
|
|
|
// 设置状态
|
|
@@ -256,27 +252,22 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
CommonDataChangeEventCenter.doAddWithData(SysDataTypeEnum.USER.getValue(), JSONUtil.createArray().put(sysUser));
|
|
|
}
|
|
|
|
|
|
- private void checkParam(SysUserAddParam sysUserAddParam) {
|
|
|
+ private void checkParam(String empNo, String account, String phone, String orgId) {
|
|
|
if (this.count(new LambdaQueryWrapper<SysUser>()
|
|
|
- .eq(SysUser::getAccount, sysUserAddParam.getAccount())) > 0) {
|
|
|
- throw new CommonException("存在重复的账号,账号为:{}", sysUserAddParam.getAccount());
|
|
|
+ .eq(SysUser::getEmpNo, empNo).eq(SysUser::getOrgId,orgId)) > 0) {
|
|
|
+ throw new CommonException("存在重复的工号,工号为:{}", empNo);
|
|
|
}
|
|
|
- if (ObjectUtil.isNotEmpty(sysUserAddParam.getPhone())) {
|
|
|
- if (!PhoneUtil.isMobile(sysUserAddParam.getPhone())) {
|
|
|
- throw new CommonException("手机号码:{}格式错误", sysUserAddParam.getPhone());
|
|
|
- }
|
|
|
- if (this.count(new LambdaQueryWrapper<SysUser>()
|
|
|
- .eq(SysUser::getPhone, CommonCryptogramUtil.doSm4CbcEncrypt(sysUserAddParam.getPhone()))) > 0) {
|
|
|
- throw new CommonException("存在重复的手机号,手机号为:{}", sysUserAddParam.getPhone());
|
|
|
- }
|
|
|
+ if (this.count(new LambdaQueryWrapper<SysUser>()
|
|
|
+ .eq(SysUser::getAccount, account)) > 0) {
|
|
|
+ throw new CommonException("存在重复的账号,账号为:{}", account);
|
|
|
}
|
|
|
- if (ObjectUtil.isNotEmpty(sysUserAddParam.getEmail())) {
|
|
|
- if (!CommonEmailUtil.isEmail(sysUserAddParam.getEmail())) {
|
|
|
- throw new CommonException("邮箱:{}格式错误", sysUserAddParam.getEmail());
|
|
|
+ if (ObjectUtil.isNotEmpty(phone)) {
|
|
|
+ if (!PhoneUtil.isMobile(phone)) {
|
|
|
+ throw new CommonException("手机号码:{}格式错误", phone);
|
|
|
}
|
|
|
if (this.count(new LambdaQueryWrapper<SysUser>()
|
|
|
- .eq(SysUser::getEmail, sysUserAddParam.getEmail())) > 0) {
|
|
|
- throw new CommonException("存在重复的邮箱,邮箱为:{}", sysUserAddParam.getEmail());
|
|
|
+ .eq(SysUser::getPhone, CommonCryptogramUtil.doSm4CbcEncrypt(phone))) > 0) {
|
|
|
+ throw new CommonException("存在重复的手机号,手机号为:{}", phone);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -314,16 +305,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
throw new CommonException("存在重复的手机号,手机号为:{}", sysUserEditParam.getPhone());
|
|
|
}
|
|
|
}
|
|
|
- if (ObjectUtil.isNotEmpty(sysUserEditParam.getEmail())) {
|
|
|
- if (!CommonEmailUtil.isEmail(sysUserEditParam.getEmail())) {
|
|
|
- throw new CommonException("邮箱:{}格式错误", sysUserEditParam.getEmail());
|
|
|
- }
|
|
|
- if (this.count(new LambdaQueryWrapper<SysUser>()
|
|
|
- .eq(SysUser::getEmail, sysUserEditParam.getEmail())
|
|
|
- .ne(SysUser::getId, sysUserEditParam.getId())) > 0) {
|
|
|
- throw new CommonException("存在重复的邮箱,邮箱为:{}", sysUserEditParam.getEmail());
|
|
|
- }
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@@ -337,25 +318,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
throw new CommonException("不可删除系统内置超管用户");
|
|
|
}
|
|
|
|
|
|
- // 清除【将这些用户作为主管】的信息
|
|
|
- this.update(new LambdaUpdateWrapper<SysUser>().in(SysUser::getDirectorId, sysUserIdList).set(SysUser::getDirectorId, null));
|
|
|
-
|
|
|
- // 清除【将这些用户作为兼任职位的主管】的信息
|
|
|
- this.list(new LambdaQueryWrapper<SysUser>().isNotNull(SysUser::getPositionJson)).forEach(sysUser -> {
|
|
|
- List<JSONObject> handledJsonObjectList = JSONUtil.toList(JSONUtil.parseArray(sysUser.getPositionJson()),
|
|
|
- JSONObject.class).stream().peek(jsonObject -> {
|
|
|
- String directorId = jsonObject.getStr("directorId");
|
|
|
- if (ObjectUtil.isNotEmpty(directorId) && sysUserIdList.contains(directorId)) {
|
|
|
- jsonObject.remove("directorId");
|
|
|
- }
|
|
|
- }).collect(Collectors.toList());
|
|
|
- this.update(new LambdaUpdateWrapper<SysUser>().eq(SysUser::getId, sysUser.getId())
|
|
|
- .set(SysUser::getPositionJson, JSONUtil.toJsonStr(handledJsonObjectList)));
|
|
|
- });
|
|
|
-
|
|
|
- // 清除【将这些用户作为主管】的机构的主管信息
|
|
|
- sysOrgService.update(new LambdaUpdateWrapper<SysOrg>().in(SysOrg::getDirectorId, sysUserIdList).set(SysOrg::getDirectorId, null));
|
|
|
-
|
|
|
// 执行删除
|
|
|
this.removeByIds(sysUserIdList);
|
|
|
|
|
@@ -473,34 +435,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
return phoneValidCodeReqNo;
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public String findPasswordGetEmailValidCode(SysUserGetEmailValidCodeParam sysUserGetEmailValidCodeParam) {
|
|
|
- // 邮箱
|
|
|
- String email = sysUserGetEmailValidCodeParam.getEmail();
|
|
|
- // 验证码正确则校验邮箱格式
|
|
|
- if (!CommonEmailUtil.isEmail(email)) {
|
|
|
- throw new CommonException("邮箱:{}格式错误", email);
|
|
|
- }
|
|
|
- // 执行校验验证码
|
|
|
- validValidCode(null, sysUserGetEmailValidCodeParam.getValidCode(), sysUserGetEmailValidCodeParam.getValidCodeReqNo());
|
|
|
- // 根据邮箱获取用户信息,判断用户是否存在
|
|
|
- if (ObjectUtil.isEmpty(this.getUserByEmail(email))) {
|
|
|
- throw new CommonException("邮箱:{}不存在", email);
|
|
|
- }
|
|
|
- // 生成邮箱验证码的值,随机6为数字
|
|
|
- String emailValidCode = RandomUtil.randomNumbers(6);
|
|
|
- // 生成邮箱验证码的请求号
|
|
|
- String emailValidCodeReqNo = IdWorker.getIdStr();
|
|
|
-
|
|
|
- // TODO 使用本地发送邮件
|
|
|
- String content = "您正在找回密码,验证码为:" + emailValidCode + ",5分钟内有效。";
|
|
|
- devEmailApi.sendTextEmailLocal(email, "找回密码邮件", content, CollectionUtil.newArrayList());
|
|
|
-
|
|
|
- // 将请求号作为key,验证码的值作为value放到redis,用于校验,5分钟有效
|
|
|
- commonCacheOperator.put(USER_VALID_CODE_CACHE_KEY + email + StrUtil.UNDERLINE + emailValidCodeReqNo, emailValidCode, 5 * 60);
|
|
|
- // 返回请求号
|
|
|
- return emailValidCodeReqNo;
|
|
|
- }
|
|
|
|
|
|
@Override
|
|
|
public void findPasswordByPhone(SysUserFindPwdByPhoneParam sysUserFindPwdByPhoneParam) {
|
|
@@ -512,15 +446,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void findPasswordByEmail(SysUserFindPwdByEmailParam sysUserFindPwdByEmailParam) {
|
|
|
- // 执行校验验证码
|
|
|
- validValidCode(sysUserFindPwdByEmailParam.getEmail(), sysUserFindPwdByEmailParam.getValidCode(), sysUserFindPwdByEmailParam.getValidCodeReqNo());
|
|
|
- this.update(new LambdaUpdateWrapper<SysUser>().eq(SysUser::getEmail,
|
|
|
- sysUserFindPwdByEmailParam.getEmail()).set(SysUser::getPassword,
|
|
|
- CommonCryptogramUtil.doHashValue(CommonCryptogramUtil.doSm2Decrypt(sysUserFindPwdByEmailParam.getNewPassword()))));
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
public void updatePassword(SysUserUpdatePwdParam sysUserUpdatePwdParam) {
|
|
|
SysUser sysUser = this.queryEntity(StpUtil.getLoginIdAsString());
|
|
|
String password = sysUserUpdatePwdParam.getPassword();
|
|
@@ -534,33 +459,14 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public String updateAvatar(MultipartFile file) {
|
|
|
- SysUser sysUser = this.queryEntity(StpUtil.getLoginIdAsString());
|
|
|
- try {
|
|
|
- String suffix = Objects.requireNonNull(FileUtil.getSuffix(file.getOriginalFilename())).toLowerCase();
|
|
|
- String base64 = ImgUtil.toBase64DataUri(ImgUtil.scale(ImgUtil.toImage(file.getBytes()),
|
|
|
- 100, 100, null), suffix);
|
|
|
- this.update(new LambdaUpdateWrapper<SysUser>().eq(SysUser::getId,
|
|
|
- sysUser.getId()).set(SysUser::getAvatar, base64));
|
|
|
- return base64;
|
|
|
- } catch (IOException e) {
|
|
|
- log.error(">>> 头像修改失败:", e);
|
|
|
- throw new CommonException("头像修改失败,用户id值为:{}", sysUser.getId());
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void updateSignature(SysUserSignatureParam sysUserSignatureParam) {
|
|
|
+ public void updateAvatar(MultipartFile avatar) throws IOException {
|
|
|
SysUser sysUser = this.queryEntity(StpUtil.getLoginIdAsString());
|
|
|
- String sysUserSignatureStr = sysUserSignatureParam.getSignature();
|
|
|
- if(sysUserSignatureParam.getSignature().contains(StrUtil.COMMA)) {
|
|
|
- sysUserSignatureStr = StrUtil.split(sysUserSignatureStr, StrUtil.COMMA).get(1);
|
|
|
+ String avatarUrl = uploadImage.getImageCom(avatar);
|
|
|
+ if (avatarUrl.equals("上传失败")){
|
|
|
+ throw new CommonException("图片上传失败!");
|
|
|
}
|
|
|
- String base64 = ImgUtil.toBase64DataUri(ImgUtil.scale(ImgUtil.toImage(sysUserSignatureStr),
|
|
|
- 100, 50, null), ImgUtil.IMAGE_TYPE_PNG);
|
|
|
- // 更新指定字段
|
|
|
- this.update(new LambdaUpdateWrapper<SysUser>().eq(SysUser::getId, sysUser.getId())
|
|
|
- .set(SysUser::getSignature, base64));
|
|
|
+ sysUser.setAvatar(avatarUrl);
|
|
|
+ this.updateById(sysUser);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -861,15 +767,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
if(ObjectUtil.isNotEmpty(sysUserUpdateInfoParam.getGender())) {
|
|
|
lambdaUpdateWrapper.set(SysUser::getGender, sysUserUpdateInfoParam.getGender());
|
|
|
}
|
|
|
- if(ObjectUtil.isNotEmpty(sysUserUpdateInfoParam.getBirthday())) {
|
|
|
- lambdaUpdateWrapper.set(SysUser::getBirthday, sysUserUpdateInfoParam.getBirthday());
|
|
|
- }
|
|
|
- if(ObjectUtil.isNotEmpty(sysUserUpdateInfoParam.getEmail())) {
|
|
|
- lambdaUpdateWrapper.set(SysUser::getEmail, sysUserUpdateInfoParam.getEmail());
|
|
|
- }
|
|
|
- if(ObjectUtil.isNotEmpty(sysUserUpdateInfoParam.getSignature())) {
|
|
|
- lambdaUpdateWrapper.set(SysUser::getSignature, sysUserUpdateInfoParam.getSignature());
|
|
|
- }
|
|
|
// 更新指定字段
|
|
|
this.update(lambdaUpdateWrapper);
|
|
|
}
|
|
@@ -1049,8 +946,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
String positionName = CollectionUtil.getLast(StrUtil.split(positionFullName, StrUtil.DASHED));
|
|
|
// 机构id
|
|
|
String orgId = sysOrgService.getOrgIdByOrgFullNameWithCreate(orgFullName);
|
|
|
- // 职位id
|
|
|
- String positionId = sysPositionService.getPositionIdByPositionNameWithCreate(orgId, positionName);
|
|
|
|
|
|
// 查找账号对应索引
|
|
|
int index = CollStreamUtil.toList(allUserList, SysUser::getAccount).indexOf(account);
|
|
@@ -1064,7 +959,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
|
// 获取手机号和邮箱
|
|
|
String phone = sysUserImportParam.getPhone();
|
|
|
- String email = sysUserImportParam.getEmail();
|
|
|
|
|
|
// 判断手机号是否跟系统现有的重复
|
|
|
if(ObjectUtil.isNotEmpty(phone)) {
|
|
@@ -1086,36 +980,14 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- // 判断邮箱是否跟系统现有的重复
|
|
|
- if(ObjectUtil.isNotEmpty(email)) {
|
|
|
- if(isAdd) {
|
|
|
- boolean repeatEmail = allUserList.stream().anyMatch(tempSysUser -> ObjectUtil
|
|
|
- .isNotEmpty(tempSysUser.getEmail()) && tempSysUser.getEmail().equals(email));
|
|
|
- if(repeatEmail) {
|
|
|
- // 新增邮箱重复则不导入该邮箱
|
|
|
- sysUserImportParam.setEmail(null);
|
|
|
- }
|
|
|
- } else {
|
|
|
- String finalExistUserId = sysUser.getId();
|
|
|
- boolean repeatEmail = allUserList.stream().anyMatch(tempSysUser -> ObjectUtil
|
|
|
- .isNotEmpty(tempSysUser.getEmail()) && tempSysUser.getEmail()
|
|
|
- .equals(email) && !tempSysUser.getId().equals(finalExistUserId));
|
|
|
- if(repeatEmail) {
|
|
|
- // 更新用户手机号重复则使用原邮箱
|
|
|
- sysUser.setEmail(sysUser.getEmail());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
// 拷贝属性
|
|
|
BeanUtil.copyProperties(sysUserImportParam, sysUser);
|
|
|
|
|
|
// 设置机构id和职位id
|
|
|
sysUser.setOrgId(orgId);
|
|
|
- sysUser.setPositionId(positionId);
|
|
|
|
|
|
// 设置机构名称和职位名称(暂时无作用)
|
|
|
sysUser.setOrgName(orgName);
|
|
|
- sysUser.setPositionName(positionName);
|
|
|
|
|
|
// 发布事件
|
|
|
if(isAdd) {
|
|
@@ -1310,16 +1182,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
ImageEntity imageEntity = new ImageEntity(ImgUtil.toBytes(ImgUtil.toImage(StrUtil
|
|
|
.split(avatarBase64, StrUtil.COMMA).get(1)), ImgUtil.IMAGE_TYPE_PNG), 120, 160);
|
|
|
map.put("avatar", imageEntity);
|
|
|
- if(ObjectUtil.isNotEmpty(sysUser.getBirthday())) {
|
|
|
- try {
|
|
|
- // 年龄
|
|
|
- long age = DateUtil.betweenYear(DateUtil.parseDate(sysUser.getBirthday()), DateTime.now(), true);
|
|
|
- if(age != 0) {
|
|
|
- map.put("age", age + "岁");
|
|
|
- }
|
|
|
- } catch (Exception ignored) {
|
|
|
- }
|
|
|
- }
|
|
|
// 导出时间
|
|
|
map.put("exportDateTime", DateUtil.format(DateTime.now(), DatePattern.CHINESE_DATE_PATTERN));
|
|
|
// 生成doc
|
|
@@ -1357,61 +1219,18 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
throw new CommonException("组织不存在,id值为:{}", primaryOrgId);
|
|
|
}
|
|
|
String primaryOrgName = primarySysOrg.getName();
|
|
|
- List<SysPosition> sysPositionList = sysPositionService.list();
|
|
|
- String primaryPositionId = sysUser.getPositionId();
|
|
|
- SysPosition primaryPosition = sysPositionService.getById(sysPositionList, primaryPositionId);
|
|
|
- if (ObjectUtil.isEmpty(primaryPosition)) {
|
|
|
- throw new CommonException("职位不存在,id值为:{}", primaryPositionId);
|
|
|
- }
|
|
|
- String primaryPositionName = primaryPosition.getName();
|
|
|
SysUserPositionResult primarySysUserPositionResult = new SysUserPositionResult();
|
|
|
primarySysUserPositionResult.setOrgId(primaryOrgId);
|
|
|
primarySysUserPositionResult.setOrgName(primaryOrgName);
|
|
|
- primarySysUserPositionResult.setPositionId(primaryPositionId);
|
|
|
- primarySysUserPositionResult.setPositionName(primaryPositionName);
|
|
|
- primarySysUserPositionResult.setCategory(primarySysOrg.getCategory());
|
|
|
primarySysUserPositionResult.setType("primary");
|
|
|
sysUserPositionResultList.add(primarySysUserPositionResult);
|
|
|
- String positionJson = sysUser.getPositionJson();
|
|
|
- if (ObjectUtil.isNotEmpty(positionJson)) {
|
|
|
- JSONArray jsonArray = JSONUtil.parseArray(positionJson);
|
|
|
- if (ObjectUtil.isNotEmpty(jsonArray)) {
|
|
|
- jsonArray.forEach(obj -> {
|
|
|
- JSONObject jsonObject = JSONUtil.parseObj(obj);
|
|
|
- String slaveOrgId = jsonObject.getStr("orgId");
|
|
|
- String slavePositionId = jsonObject.getStr("positionId");
|
|
|
- if (ObjectUtil.hasEmpty(slaveOrgId, slavePositionId)) {
|
|
|
- throw new CommonException("兼任职位数据不完整,用户id值为:{}", sysUserIdParam.getId());
|
|
|
- }
|
|
|
- SysOrg slaveSysOrg = sysOrgService.getById(sysOrgList, slaveOrgId);
|
|
|
- if (ObjectUtil.isEmpty(slaveSysOrg)) {
|
|
|
- throw new CommonException("组织不存在,id值为:{}", slaveSysOrg);
|
|
|
- }
|
|
|
- String slaveOrgName = slaveSysOrg.getName();
|
|
|
-
|
|
|
- SysPosition slavePosition = sysPositionService.getById(sysPositionList, slavePositionId);
|
|
|
- if (ObjectUtil.isEmpty(slavePosition)) {
|
|
|
- throw new CommonException("职位不存在,id值为:{}", slavePositionId);
|
|
|
- }
|
|
|
- String slavePositionName = slavePosition.getName();
|
|
|
- SysUserPositionResult slaveSysUserPositionResult = new SysUserPositionResult();
|
|
|
- slaveSysUserPositionResult.setOrgId(slaveOrgId);
|
|
|
- slaveSysUserPositionResult.setOrgName(slaveOrgName);
|
|
|
- slaveSysUserPositionResult.setPositionId(slavePositionId);
|
|
|
- slaveSysUserPositionResult.setPositionName(slavePositionName);
|
|
|
- slaveSysUserPositionResult.setCategory(slaveSysOrg.getCategory());
|
|
|
- slaveSysUserPositionResult.setType("slave");
|
|
|
- sysUserPositionResultList.add(slaveSysUserPositionResult);
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
return sysUserPositionResultList;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public Page<SysUser> getAllUserSelectorList() {
|
|
|
return this.page(CommonPageRequest.defaultPage(), new LambdaQueryWrapper<SysUser>().select(SysUser::getId,
|
|
|
- SysUser::getAvatar, SysUser::getOrgId, SysUser::getPositionId, SysUser::getAccount, SysUser::getName,
|
|
|
+ SysUser::getAvatar, SysUser::getOrgId, SysUser::getAccount, SysUser::getName,
|
|
|
SysUser::getSortCode, SysUser::getGender, SysUser::getEntryDate).orderByAsc(SysUser::getSortCode));
|
|
|
}
|
|
|
|
|
@@ -1443,22 +1262,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Page<SysPosition> positionSelector(SysUserSelectorPositionParam sysUserSelectorPositionParam) {
|
|
|
- LambdaQueryWrapper<SysPosition> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
- // 查询部分字段
|
|
|
- lambdaQueryWrapper.select(SysPosition::getId, SysPosition::getOrgId, SysPosition::getName,
|
|
|
- SysPosition::getCategory, SysPosition::getSortCode);
|
|
|
- if (ObjectUtil.isNotEmpty(sysUserSelectorPositionParam.getOrgId())) {
|
|
|
- lambdaQueryWrapper.eq(SysPosition::getOrgId, sysUserSelectorPositionParam.getOrgId());
|
|
|
- }
|
|
|
- if (ObjectUtil.isNotEmpty(sysUserSelectorPositionParam.getSearchKey())) {
|
|
|
- lambdaQueryWrapper.like(SysPosition::getName, sysUserSelectorPositionParam.getSearchKey());
|
|
|
- }
|
|
|
- lambdaQueryWrapper.orderByAsc(SysPosition::getSortCode);
|
|
|
- return sysPositionService.page(CommonPageRequest.defaultPage(), lambdaQueryWrapper);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
public Page<SysRole> roleSelector(SysUserSelectorRoleParam sysUserSelectorRoleParam) {
|
|
|
LambdaQueryWrapper<SysRole> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
lambdaQueryWrapper.select(SysRole::getId, SysRole::getOrgId, SysRole::getName,
|
|
@@ -1480,7 +1283,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
public Page<SysUser> userSelector(SysUserSelectorUserParam sysUserSelectorUserParam) {
|
|
|
LambdaQueryWrapper<SysUser> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
// 只查询部分字段
|
|
|
- lambdaQueryWrapper.select(SysUser::getId, SysUser::getAvatar, SysUser::getOrgId, SysUser::getPositionId, SysUser::getAccount,
|
|
|
+ lambdaQueryWrapper.select(SysUser::getId, SysUser::getAvatar, SysUser::getOrgId, SysUser::getAccount,
|
|
|
SysUser::getName, SysUser::getSortCode, SysUser::getGender, SysUser::getEntryDate);
|
|
|
// 如果查询条件为空,则直接查询
|
|
|
if(ObjectUtil.isAllEmpty(sysUserSelectorUserParam.getOrgId(), sysUserSelectorUserParam.getSearchKey())) {
|
|
@@ -1536,16 +1339,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<SysPosition> getPositionListByIdList(SysUserIdListParam sysUserIdListParam) {
|
|
|
- LambdaQueryWrapper<SysPosition> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
- // 查询部分字段
|
|
|
- lambdaQueryWrapper.select(SysPosition::getId, SysPosition::getOrgId, SysPosition::getName,
|
|
|
- SysPosition::getCategory, SysPosition::getSortCode)
|
|
|
- .in(SysPosition::getId, sysUserIdListParam.getIdList()).orderByAsc(SysPosition::getSortCode);
|
|
|
- return sysPositionService.list(lambdaQueryWrapper);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
public List<SysRole> getRoleListByIdList(SysUserIdListParam sysUserIdListParam) {
|
|
|
LambdaQueryWrapper<SysRole> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
// 查询部分字段
|