From 58d3e3d9d6a129c687044eef0418def8ad6e7cad Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期日, 27 八月 2023 19:10:27 +0800 Subject: [PATCH] bug --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java | 77 +++++++++++++++++++++++++++++++++++--- 1 files changed, 71 insertions(+), 6 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java index e6c6f4f..16ea7c2 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java @@ -20,6 +20,7 @@ import com.ruoyi.system.domain.dto.MgtStaffPageDto; import com.ruoyi.system.domain.dto.MgtSysStaffImportDto; import com.ruoyi.system.domain.pojo.staff.SysStaff; +import com.ruoyi.system.domain.vo.DeptSimpleVo; import com.ruoyi.system.domain.vo.MgtDeptStaffListVo; import com.ruoyi.system.domain.vo.MgtStaffPageVo; import com.ruoyi.system.mapper.staff.SysStaffMapper; @@ -31,7 +32,10 @@ import javax.annotation.Resource; import java.util.Date; import java.util.List; +import java.util.Map; import java.util.concurrent.TimeUnit; +import java.util.function.Function; +import java.util.stream.Collectors; /** * <p> @@ -165,6 +169,7 @@ sysStaff.setStaffPost(mgtStaffEditDto.getStaffPost()); sysStaff.setStaffAvatar(mgtStaffEditDto.getStaffAvatar()); sysStaff.setHeadFlag(mgtStaffEditDto.getHeadFlag()); + sysStaff.setWxUserId(mgtStaffEditDto.getWxUserId()); this.saveOrUpdate(sysStaff); MgtShopStaffEditDto mgtShopStaffEditDto = new MgtShopStaffEditDto(); mgtShopStaffEditDto.setUserId(sysStaff.getUserId()); @@ -303,16 +308,76 @@ String mobile; String userName; String department; + String departmentFirst; + String departmentSecond; + String departmentThird; int lastIndex; - + int firstIndex; + int secondIndex; + int thirdIndex; + DeptSimpleVo deptSimpleVo; + SysUser sysUser; + List<DeptSimpleVo> deptSimpleVoList = sysStaffMapper.listSimpleDept(); + Map<String, DeptSimpleVo> deptMap = deptSimpleVoList.stream() + .collect(Collectors.toMap(DeptSimpleVo::getDeptName, Function.identity())); for (MgtSysStaffImportDto entity : staffImportDtoList) { try { - mobile = entity.getMobile(); - userName = entity.getUserName(); department = entity.getDepartment(); - lastIndex = department.lastIndexOf("/"); - department = department.substring(lastIndex + 1); - + lastIndex = department.indexOf(";"); + department = (lastIndex != -1) ? department.substring(0, lastIndex) : department; + firstIndex = department.lastIndexOf("/"); + secondIndex = department.lastIndexOf('/', firstIndex - 1); + thirdIndex = department.lastIndexOf('/', secondIndex - 1); + departmentFirst = department.substring(firstIndex + 1); + deptSimpleVo = deptMap.get(departmentFirst); + if(deptSimpleVo==null){ + departmentSecond = department.substring(secondIndex + 1, firstIndex); + deptSimpleVo = deptMap.get(departmentSecond); + } + if(deptSimpleVo==null){ + departmentThird = department.substring(thirdIndex + 1, secondIndex); + deptSimpleVo = deptMap.get(departmentThird); + } + if(deptSimpleVo!=null&&StringUtils.isNotBlank(entity.getMobile())){ + LambdaQueryWrapper<SysStaff> queryWrapper = new LambdaQueryWrapper(); + queryWrapper.eq(SysStaff::getDelFlag,0); + queryWrapper.eq(SysStaff::getStaffMobile,entity.getMobile()); + SysStaff sysStaffSame = this.getOne(queryWrapper, false); + if(sysStaffSame!=null){ + sysStaffSame.setStaffName(entity.getStaffName()); + sysStaffSame.setStaffPost(entity.getPost()); + sysStaffSame.setWxUserId(entity.getUserName()); + if(StringUtils.isNotBlank(entity.getEmail())){ + sysStaffSame.setStaffEmail(entity.getEmail()); + } + this.saveOrUpdate(sysStaffSame); + sysUser = sysUserService.selectUserById(sysStaffSame.getUserId()); + sysUser.setDeptId(deptSimpleVo.getDeptId()); + sysUser.setNickName(entity.getStaffName()); + if(entity.getGender().equals("男")){ + sysUser.setSex("0"); + }else if(entity.getGender().equals("女")){ + sysUser.setSex("1"); + }else{ + sysUser.setSex("2"); + } + if(StringUtils.isNotBlank(entity.getEmail())){ + sysUser.setEmail(entity.getEmail()); + } + sysUserService.updateOnlyUser(sysUser); + }else{ + MgtStaffEditDto mgtStaffEditDto = new MgtStaffEditDto(); + mgtStaffEditDto.setDeptId(deptSimpleVo.getDeptId()); + mgtStaffEditDto.setStaffName(entity.getStaffName()); + mgtStaffEditDto.setStaffMobile(entity.getMobile()); + mgtStaffEditDto.setStaffEmail(entity.getEmail()); + mgtStaffEditDto.setStaffPost(entity.getPost()); + mgtStaffEditDto.setStaffAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/2023/8/26/362e964917304255aaa36a874063d198.jpg"); + mgtStaffEditDto.setHeadFlag("0"); + mgtStaffEditDto.setWxUserId(entity.getUserName()); + this.mgtStaffEdit(mgtStaffEditDto); + } + } /*tagName = entity.getTagName(); sysTagSame = null; // 验证是否存在这个用户 -- Gitblit v1.7.1