From 9c348b05a774adf47453780cf3b7a8f9823661f5 Mon Sep 17 00:00:00 2001 From: ZQN <364596817@qq.com> Date: 星期三, 26 六月 2024 18:30:19 +0800 Subject: [PATCH] 企业多手机号 --- project-system/src/main/java/com/project/system/service/impl/SysCompanyServiceImpl.java | 62 +++++++++++++++---------------- project-admin/src/main/java/com/project/admin/controller/system/SysProfileController.java | 32 ++++++++++++--- project-system/src/main/java/com/project/system/service/impl/SysUserDeptServiceImpl.java | 2 project-system/src/main/java/com/project/system/service/ISysUserService.java | 4 +- project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java | 6 +- project-system/src/main/java/com/project/system/service/ISysCompanyService.java | 8 ++++ 6 files changed, 69 insertions(+), 45 deletions(-) diff --git a/project-admin/src/main/java/com/project/admin/controller/system/SysProfileController.java b/project-admin/src/main/java/com/project/admin/controller/system/SysProfileController.java index 8b96f96..b8220a0 100644 --- a/project-admin/src/main/java/com/project/admin/controller/system/SysProfileController.java +++ b/project-admin/src/main/java/com/project/admin/controller/system/SysProfileController.java @@ -136,30 +136,48 @@ * 鏇存崲鎵嬫満鍙� */ @Log(title = "鏇存崲鎵嬫満鍙�", businessType = BusinessType.UPDATE) - @PostMapping("/updatePhone/{phone}") - public AjaxResult updatePhone(@PathVariable String phone) + @PostMapping("/updatePhone/{phone}/{companyId}") + public AjaxResult updatePhone(@PathVariable String phone, @PathVariable String companyId) { if (StringUtils.isEmpty(phone)){ return error("璇峰~鍐欐墜鏈哄彿"); } LoginUser loginUser = SecurityUtils.getLoginUser(); SysUser user = userService.selectUserById(SecurityUtils.getUserId()); + if ("02".equals(user.getUserType()) && StringUtils.isNotEmpty(companyId)){//浼佷笟 + //澶氫紒涓氳处鎴锋洿鎹㈠彿鐮� + //鏂板彿鐮佷笉瀛樺湪锛� + SysUser one = userService.getOne(userService.lq().eq(SysUser::getPhonenumber, phone)); + if (one!=null && !"02".equals(one.getUserType())){ + return error("璇ユ墜鏈哄彿涓嶆槸浼佷笟鍙风爜鑼冨洿锛岃鏇存崲鍙风爜"); + } + if (companyService.count(SysCompany::getCompanyPhone, user.getPhonenumber())==1){ + userService.deleteUserByCompanyPhone(user.getPhonenumber()); + } + if (one==null){ //涓嶅瓨鍦�,娣诲姞浼佷笟璐︽埛 + SysCompany company = companyService.getById(Long.parseLong(companyId)); + company.setCompanyPhone(phone); + companyService.addCompanyUser(company, 1); + } + //淇敼浼佷笟鐢佃瘽 + companyService.update(companyService.lu().set(SysCompany::getCompanyPhone, phone).eq(SysCompany::getCompanyId, Long.parseLong(companyId))); + return success(1); + } user.setPhonenumber(phone); + if (StringUtils.isNotEmpty(user.getPhonenumber()) - && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) + && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) { return error("淇敼鐢ㄦ埛'" + user.getUserName() + "'澶辫触锛屾墜鏈哄彿鐮佸凡瀛樺湪"); } + if (userService.resetPhone(user.getUserId(), phone) > 0) { // 鏇存柊缂撳瓨 loginUser.getUser().setUserName(phone); loginUser.getUser().setPhonenumber(phone); tokenService.setLoginUser(loginUser); - if ("02".equals(user.getUserType())){ - companyService.update(companyService.lu().set(SysCompany::getCompanyPhone, phone).eq(SysCompany::getCompanyId, user.getDeptId())); - } - return success(); + return success(0); } return error("淇敼瀵嗙爜寮傚父锛岃鑱旂郴绠$悊鍛�"); } diff --git a/project-system/src/main/java/com/project/system/service/ISysCompanyService.java b/project-system/src/main/java/com/project/system/service/ISysCompanyService.java index 74f8a1e..6fe72e6 100644 --- a/project-system/src/main/java/com/project/system/service/ISysCompanyService.java +++ b/project-system/src/main/java/com/project/system/service/ISysCompanyService.java @@ -78,4 +78,12 @@ */ Boolean saveImport(SysCompanyResultVo resultVo); + + /** + * 娣诲姞浼佷笟璐︽埛 + * @param entity 浼佷笟 + * @param isImport 鏄惁瀵煎叆锛�1鏄紝0鍚� + */ + void addCompanyUser(SysCompany entity, Integer isImport); + } diff --git a/project-system/src/main/java/com/project/system/service/ISysUserService.java b/project-system/src/main/java/com/project/system/service/ISysUserService.java index a9f2598..977b71d 100644 --- a/project-system/src/main/java/com/project/system/service/ISysUserService.java +++ b/project-system/src/main/java/com/project/system/service/ISysUserService.java @@ -211,10 +211,10 @@ /** * 鏍规嵁鏈烘瀯id娓呴櫎鐢ㄦ埛 - * @param deptId 鏈烘瀯id + * @param phone 浼佷笟phone * @return 缁撴灉 */ - public int deleteUserByDeptId(Long deptId); + public int deleteUserByCompanyPhone(String phone); /** * 鑾峰彇瑙掕壊鏍囪瘑浜烘墜鏈哄彿 diff --git a/project-system/src/main/java/com/project/system/service/impl/SysCompanyServiceImpl.java b/project-system/src/main/java/com/project/system/service/impl/SysCompanyServiceImpl.java index 573579a..c3f46d2 100644 --- a/project-system/src/main/java/com/project/system/service/impl/SysCompanyServiceImpl.java +++ b/project-system/src/main/java/com/project/system/service/impl/SysCompanyServiceImpl.java @@ -62,9 +62,10 @@ SysCompany add = Convert.convert(SysCompany.class, bo); add.setCompanyStatus(1); validEntityBeforeSave(add); - add.setCompanyStatus(0); boolean save = this.save(add); - addCompanyUser(add, 0); + if (isAddUser(bo.getCompanyPhone())){ + addCompanyUser(add, 0); + } return save; } @@ -76,11 +77,15 @@ SysCompany update = Convert.convert(SysCompany.class, bo); validEntityBeforeSave(update); if (!old.getCompanyPhone().equals(update.getCompanyPhone())){ - boolean delUser = delCompanyUser(old.getCompanyId()); - if (!delUser) { - throw new BaseException("鍘熶紒涓氱敤鎴锋竻闄ゅけ璐ワ紝璇疯仈绯荤鐞嗗憳锛�"); + if (this.count(SysCompany::getCompanyPhone, old.getCompanyPhone())==1){ + boolean delUser = delCompanyUser(old.getCompanyPhone()); + if (!delUser) { + throw new BaseException("鍘熶紒涓氱敤鎴锋竻闄ゅけ璐ワ紝璇疯仈绯荤鐞嗗憳锛�"); + } } - this.addCompanyUser(update, update.getCompanyStatus()==0 ? 1 : 0); + if (isAddUser(update.getCompanyPhone())){ + addCompanyUser(update, update.getCompanyStatus()==0 ? 1 : 0); + } } return this.updateById(update); } @@ -103,7 +108,7 @@ public Boolean deleteByIds(Collection<Long> ids) { for (Long id : ids) { - boolean b = delCompanyUser(id); + boolean b = delCompanyUser(this.getById(id).getCompanyPhone()); if (!b) { throw new BaseException(String.format("鍘熶紒涓� %1$s 鐢ㄦ埛娓呴櫎澶辫触锛岃鑱旂郴绠$悊鍛橈紒", id)); } @@ -153,7 +158,9 @@ List<SysCompany> companies = Convert.toList(SysCompany.class, resultVo.getVoList()); boolean b = this.saveOrUpdateBatch(companies); for (SysCompany company : companies) { - addCompanyUser(company,1); + if (isAddUser(company.getCompanyPhone())){ + addCompanyUser(company,1); + } } return b; } @@ -168,6 +175,7 @@ private void validEntityBeforeSave(SysCompany entity) { entity.setIsImport(0); + if (StringUtils.isEmpty(entity.getCompanyImg())){ throw new BaseException(String.format("%1$s锛岃涓婁紶钀ヤ笟鎵х収", entity.getCompanyName())); } @@ -195,15 +203,8 @@ if (nameCount>0){ throw new BaseException(String.format("%1$s锛屼紒涓氬悕宸插瓨鍦紒", entity.getCompanyName())); } - int phoneCount = this.count(lq().eq(SysCompany::getCompanyPhone, entity.getCompanyPhone())); - if (phoneCount>0){ - throw new BaseException(String.format("%1$s锛屼紒涓氳仈绯荤數璇濆凡瀛樺湪锛�", entity.getCompanyName())); - } SysUser user = new SysUser(); user.setPhonenumber(entity.getCompanyPhone()); - if (UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) { - throw new BaseException(String.format("%1$s锛屼紒涓氳仈绯荤數璇濆凡瀛樺湪锛岃鏇存崲鎵嬫満鍙凤紒", entity.getCompanyName())); - } } else { int codeCount = this.count(lq().eq(SysCompany::getCompanyCode, entity.getCompanyCode()).ne(SysCompany::getCompanyId,entity.getCompanyId())); if (codeCount>0){ @@ -212,10 +213,6 @@ int nameCount = this.count(lq().eq(SysCompany::getCompanyName, entity.getCompanyName()).ne(SysCompany::getCompanyId,entity.getCompanyId())); if (nameCount>0){ throw new BaseException(String.format("%1$s锛屼紒涓氬悕宸插瓨鍦紒", entity.getCompanyName())); - } - int phoneCount = this.count(lq().eq(SysCompany::getCompanyPhone, entity.getCompanyPhone()).ne(SysCompany::getCompanyId,entity.getCompanyId())); - if (phoneCount>0){ - throw new BaseException(String.format("%1$s锛屼紒涓氳仈绯荤數璇濆凡瀛樺湪锛�", entity.getCompanyName())); } } } @@ -235,6 +232,10 @@ } if (StringUtils.isEmpty(entity.getCompanyPhone())){ errorList.add(new ImportError(3, "璇峰~鍐欎紒涓氳仈绯讳汉鐢佃瘽锛�")); + } else { + if (entity.getCompanyPhone().length()!=11){ + errorList.add(new ImportError(3, "璇峰~鍐欐纭墜鏈哄彿锛�")); + } } if (StringUtils.isEmpty(entity.getCompanyAddress())){ errorList.add(new ImportError(4, "璇峰~鍐欎紒涓氬湴鍧�锛�")); @@ -247,15 +248,6 @@ if (nameCount>0){ errorList.add(new ImportError(0, "浼佷笟鍚嶅凡瀛樺湪锛�")); } - int phoneCount = this.count(lq().eq(SysCompany::getCompanyPhone, entity.getCompanyPhone())); - SysUser user = new SysUser(); - user.setPhonenumber(entity.getCompanyPhone()); - if (UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) { - errorList.add(new ImportError(3, "浼佷笟鑱旂郴鐢佃瘽绯荤粺涓凡瀛樺湪锛岃鏇存崲鐢佃瘽锛�")); - } - if (phoneCount>0){ - errorList.add(new ImportError(3, "浼佷笟鑱旂郴鐢佃瘽宸插瓨鍦紒")); - } entity.setCheckStatus(2); } @@ -264,7 +256,8 @@ * @param entity 浼佷笟淇℃伅 */ @Async - protected void addCompanyUser(SysCompany entity, Integer isImport) + @Override + public void addCompanyUser(SysCompany entity, Integer isImport) { SysUser user = new SysUser(); @@ -308,11 +301,11 @@ /** * 鍒犻櫎浼佷笟鐢ㄦ埛 - * @param companyId 浼佷笟id + * @param companyPhone 浼佷笟id */ - protected boolean delCompanyUser(Long companyId) + protected boolean delCompanyUser(String companyPhone) { - return userService.deleteUserByDeptId(companyId)>0; + return userService.deleteUserByCompanyPhone(companyPhone)>0; } /** @@ -346,4 +339,9 @@ } return qw; } + + private Boolean isAddUser(String phone) + { + return userService.count(userService.lq().eq(SysUser::getUserName, phone).eq(SysUser::getDelFlag,0))==0; + } } diff --git a/project-system/src/main/java/com/project/system/service/impl/SysUserDeptServiceImpl.java b/project-system/src/main/java/com/project/system/service/impl/SysUserDeptServiceImpl.java index b5a97f8..b9535c9 100644 --- a/project-system/src/main/java/com/project/system/service/impl/SysUserDeptServiceImpl.java +++ b/project-system/src/main/java/com/project/system/service/impl/SysUserDeptServiceImpl.java @@ -96,7 +96,7 @@ vo.setDeptId(sysDept.getDeptId()); vo.setDeptName(sysDept.getDeptName()); - List<SysDept> list = deptService.list(deptService.lq().eq(SysDept::getParentId, deptId)); + List<SysDept> list = deptService.list(deptService.lq().eq(SysDept::getParentId, deptId).eq(SysDept::getDelFlag, 0)); List<SysUserDeptTreeVo> child = Convert.toList(SysUserDeptTreeVo.class, list); vo.setChild(child); return vo; diff --git a/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java b/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java index 59b3733..b5f469e 100644 --- a/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java +++ b/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java @@ -574,14 +574,14 @@ /** * 鎵归噺鍒犻櫎鐢ㄦ埛淇℃伅 * - * @param deptId 闇�瑕佸垹闄ょ殑鐢ㄦ埛ID + * @param phone 闇�瑕佸垹闄ょ殑鐢ㄦ埛ID * @return 缁撴灉 */ @Override @Transactional - public int deleteUserByDeptId(Long deptId) + public int deleteUserByCompanyPhone(String phone) { - List<SysUser> sysUsers = userMapper.selectList(new LambdaQueryWrapper<SysUser>().eq(SysUser::getDeptId, deptId)); + List<SysUser> sysUsers = userMapper.selectList(new LambdaQueryWrapper<SysUser>().eq(SysUser::getPhonenumber, phone)); Long[] ids = sysUsers.stream().map(SysUser::getUserId).toArray(Long[]::new); return this.deleteUserByIds(ids); } -- Gitblit v1.9.1