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