|
@@ -1187,6 +1187,133 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
return HttpResult.ok("修改成功");
|
|
return HttpResult.ok("修改成功");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ @Transactional
|
|
|
|
|
+ public HttpResult updateUserInfo1(String userId, SysUser2Vo sysUserVo) {
|
|
|
|
|
+ SysUser sysUser = sysUserVo.getSysUser();
|
|
|
|
|
+ int beStatus = sysUser.getStatus();
|
|
|
|
|
+ //如果审核驳回则 重新修改为 审核状态
|
|
|
|
|
+ if (sysUserVo.getSysUser().getStatus().equals(UserWorkStatus.UWS_3.getCode())) {
|
|
|
|
|
+ sysUserVo.getSysUser().setStatus(UserWorkStatus.UWS_2.getCode());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (Objects.equals(sysUserVo.getSysUser().getStatus(), UserWorkStatus.UWS_5.getCode())) {
|
|
|
|
|
+ sysUserVo.getSysUser().setStatus(UserWorkStatus.UWS_4.getCode());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (Objects.equals(sysUserVo.getSysUser().getStatus(), UserWorkStatus.UWS_7.getCode())
|
|
|
|
|
+ || Objects.equals(sysUserVo.getSysUser().getStatus(), UserWorkStatus.UWS_1.getCode())) {
|
|
|
|
|
+ sysUserVo.getSysUser().setStatus(UserWorkStatus.UWS_6.getCode());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //修改用户不能修改密码
|
|
|
|
|
+ if (StringUtils.isEmpty(sysUser.getPassword())) {
|
|
|
|
|
+ return HttpResult.error("密码不能为空");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //删除状态必须有离司时间
|
|
|
|
|
+ if (StringUtils.isNotEmpty(sysUser.getStatus().toString())) {
|
|
|
|
|
+ if (sysUser.getStatus() == 0 && sysUser.getLogoutTime() == null && !sysUser.getRoleId().equals("19")) {
|
|
|
|
|
+ return HttpResult.error("删除状态,离职时间必填");
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return HttpResult.error("状态不能为空");
|
|
|
|
|
+ }
|
|
|
|
|
+ SysUser sysUser_org = findByUserId(sysUser.getId());
|
|
|
|
|
+
|
|
|
|
|
+ // 修改密码数据库相同不做修改
|
|
|
|
|
+ if (!sysUser_org.getPassword().equals(sysUser.getPassword())) {
|
|
|
|
|
+ String salt = PasswordUtils.getSalt();
|
|
|
|
|
+ String pwd = PasswordUtils.encode(sysUser.getPassword(), salt);
|
|
|
|
|
+ sysUser.setPassword(pwd);
|
|
|
|
|
+ sysUser.setSalt(salt);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ sysUser.setPassword(sysUser_org.getPassword());
|
|
|
|
|
+ sysUser.setSalt(sysUser_org.getSalt());
|
|
|
|
|
+ }
|
|
|
|
|
+ if ("19".equals(sysUser.getRoleId())) {//19 出单员 校验机构和业务员机构是否一致
|
|
|
|
|
+ // add by hxl 2024-08-20
|
|
|
|
|
+ // return checkChuDanUser(sysUser);
|
|
|
|
|
+ if (StringUtils.isEmpty(sysUser.getReferrerId())) {
|
|
|
|
|
+ return HttpResult.error("业务员工号不能为空");
|
|
|
|
|
+ }
|
|
|
|
|
+ //归属业务员和出单员部门必须一致
|
|
|
|
|
+ SysUser user = getById(sysUser.getReferrerId());
|
|
|
|
|
+ if (user == null || !user.getDeptId().equals(sysUser.getDeptId())) {
|
|
|
|
|
+ return HttpResult.error("出单员机构必须和归属业务员机构一致");
|
|
|
|
|
+ }
|
|
|
|
|
+ sysUser.setOperatorCode(sysUser.getReferrerId());
|
|
|
|
|
+ if (StringUtils.isEmpty(sysUser.getId())) {
|
|
|
|
|
+ userId = gainNextUserId(sysUser.getDeptId());
|
|
|
|
|
+ sysUser.setId(userId);
|
|
|
|
|
+ save(sysUser);
|
|
|
|
|
+ //角色配置
|
|
|
|
|
+ SysUserRole userRole = new SysUserRole();
|
|
|
|
|
+ userRole.setUserId(sysUser.getId());
|
|
|
|
|
+ userRole.setRoleId(StringUtils.toLong(sysUser.getRoleId()));
|
|
|
|
|
+ sysUserRoleService.save(userRole);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ userId = sysUser.getId();
|
|
|
|
|
+ updateById(sysUser);
|
|
|
|
|
+ }
|
|
|
|
|
+ SysUserInfo sysUserInfo = sysUserVo.getSysUserInfo();
|
|
|
|
|
+ sysUserInfo.setId(userId);
|
|
|
|
|
+ sysUserInfoService.saveOrUpdate(sysUserInfo);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ sysUser.setStatus(sysUserVo.getSysUser().getStatus());
|
|
|
|
|
+ updateById(sysUser);
|
|
|
|
|
+
|
|
|
|
|
+ //角色配置
|
|
|
|
|
+ SysUserRole sysUserRole = sysUserRoleService.selectByUserId(userId);
|
|
|
|
|
+ sysUserRole.setRoleId(StringUtils.toLong(sysUser.getRoleId()));
|
|
|
|
|
+ sysUserRole.setLastUpdateBy(sysUser.getCreateBy());
|
|
|
|
|
+ sysUserRole.setLastUpdateTime(new Date());
|
|
|
|
|
+ sysUserRoleService.updateById(sysUserRole);
|
|
|
|
|
+
|
|
|
|
|
+ if (StringUtils.isNotEmpty(sysUser.getReferrerId())) {
|
|
|
|
|
+ //推荐人
|
|
|
|
|
+ esmUserReferrerService.addReferrer(sysUser.getReferrerId(), userId);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //用户详情信息
|
|
|
|
|
+ SysUserInfo sysUserInfo = sysUserVo.getSysUserInfo();
|
|
|
|
|
+ if (null != sysUserInfo.getLiveAddressString() && sysUserInfo.getLiveAddressString().length > 0) {
|
|
|
|
|
+ sysUserVo.getSysUserInfo().setLiveAddress(Arrays.stream(sysUserInfo.getLiveAddressString()).map(item -> item.toString()).collect(Collectors.joining(",")));
|
|
|
|
|
+ }
|
|
|
|
|
+ sysUserInfo.setId(userId);
|
|
|
|
|
+ if (null == sysUserInfo.getRemark()) {
|
|
|
|
|
+ sysUserInfo.setRemark("");
|
|
|
|
|
+ }
|
|
|
|
|
+ sysUserInfoService.saveOrUpdate(sysUserInfo);
|
|
|
|
|
+ }
|
|
|
|
|
+ // 影像资料
|
|
|
|
|
+ LambdaQueryWrapper<EsmUserImage> wrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
+ wrapper.eq(EsmUserImage::getUserId, userId);
|
|
|
|
|
+ esmUserImageService.remove(wrapper);
|
|
|
|
|
+
|
|
|
|
|
+ List<EsmUserImageVo> esmUserImageVo = sysUserVo.getEsmUserImageVo();
|
|
|
|
|
+ String finalUserId = userId;
|
|
|
|
|
+ List<EsmUserImage> esmUserImages = esmUserImageVo.stream().map(x -> new EsmUserImage(x, finalUserId)).collect(Collectors.toList());
|
|
|
|
|
+ esmUserImageService.saveBatch(esmUserImages);
|
|
|
|
|
+
|
|
|
|
|
+ if (UserWorkStatus.UWS_5.getCode() == beStatus ||
|
|
|
|
|
+ UserWorkStatus.UWS_3.getCode() == beStatus ||
|
|
|
|
|
+ UserWorkStatus.UWS_7.getCode() == beStatus) {
|
|
|
|
|
+ //添加轨迹
|
|
|
|
|
+ SysUserTrack sysUserTrack = new SysUserTrack();
|
|
|
|
|
+ sysUserTrack.setUserId(sysUser.getId());
|
|
|
|
|
+ SysUser user = BaseController.getUser();
|
|
|
|
|
+ sysUserTrack.setApproveBy(user.getName());
|
|
|
|
|
+ sysUserTrack.setApproveById(user.getId());
|
|
|
|
|
+ sysUserTrack.setStatus(sysUserVo.getSysUser().getStatus());
|
|
|
|
|
+ sysUserTrack.setApproveTime(new Date());
|
|
|
|
|
+ sysUserTrackService.save(sysUserTrack);
|
|
|
|
|
+ }
|
|
|
|
|
+ SpringUtil.getBean(RecordUserUtils.class).recordUser(sysUserVo, null);
|
|
|
|
|
+
|
|
|
|
|
+ return HttpResult.ok("修改成功");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public List<SysUser> findAllAgentRoleUser(String userId, String roleId) {
|
|
public List<SysUser> findAllAgentRoleUser(String userId, String roleId) {
|
|
|
return super.baseMapper.findAllAgentRoleUser(userId, roleId);
|
|
return super.baseMapper.findAllAgentRoleUser(userId, roleId);
|