From e892f77673639fb83550a7af2c8f651ca3a515da Mon Sep 17 00:00:00 2001 From: "lj7788@126.com" Date: Thu, 9 Jan 2025 22:20:40 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E7=94=A8=E6=88=B7=E6=94=B9?= =?UTF-8?q?=E9=80=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yanzhu/system/domain/SysUserExt.java | 78 ++++++++++++++++ .../com/yanzhu/system/domain/SysUserPost.java | 10 ++ .../system/mapper/SysUserExtMapper.java | 61 ++++++++++++ .../yanzhu/system/mapper/SysUserMapper.java | 1 + .../mapper/system/SysUserExtMapper.xml | 67 +++++++++++++ .../resources/mapper/system/SysUserMapper.xml | 36 ++++--- .../system/controller/SysUserController.java | 14 ++- .../system/service/ISysUserExtService.java | 61 ++++++++++++ .../system/service/ISysUserService.java | 6 ++ .../service/impl/SysUserExtServiceImpl.java | 93 +++++++++++++++++++ .../service/impl/SysUserServiceImpl.java | 39 +++++++- yanzhu-ui-vue3/src/api/system/user.js | 9 ++ .../src/views/system/user/index.vue | 12 ++- 13 files changed, 463 insertions(+), 24 deletions(-) create mode 100644 yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/system/domain/SysUserExt.java create mode 100644 yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/system/mapper/SysUserExtMapper.java create mode 100644 yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/system/SysUserExtMapper.xml create mode 100644 yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/ISysUserExtService.java create mode 100644 yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/impl/SysUserExtServiceImpl.java diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/system/domain/SysUserExt.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/system/domain/SysUserExt.java new file mode 100644 index 00000000..62a9a1b2 --- /dev/null +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/system/domain/SysUserExt.java @@ -0,0 +1,78 @@ +package com.yanzhu.system.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import Excel; +import BaseEntity; + +/** + * 系统用户扩展对象 sys_user_ext + * + * @author yanzhu + * @date 2025-01-09 + */ +public class SysUserExt extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 用户ID */ + private Long userId; + + /** 项目ID */ + private Long projectId; + + /** 状态 */ + @Excel(name = "状态") + private String status; + + /** 用户类型(00系统用户) */ + @Excel(name = "用户类型", readConverterExp = "0=0系统用户") + private String userType; + + public void setUserId(Long userId) + { + this.userId = userId; + } + + public Long getUserId() + { + return userId; + } + public void setProjectId(Long projectId) + { + this.projectId = projectId; + } + + public Long getProjectId() + { + return projectId; + } + public void setStatus(String status) + { + this.status = status; + } + + public String getStatus() + { + return status; + } + public void setUserType(String userType) + { + this.userType = userType; + } + + public String getUserType() + { + return userType; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("userId", getUserId()) + .append("projectId", getProjectId()) + .append("status", getStatus()) + .append("userType", getUserType()) + .toString(); + } +} diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/system/domain/SysUserPost.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/system/domain/SysUserPost.java index a18cd852..7e222b26 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/system/domain/SysUserPost.java +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/system/domain/SysUserPost.java @@ -16,6 +16,16 @@ public class SysUserPost /** 岗位ID */ private Long postId; + private Long projectId; + + public Long getProjectId() { + return projectId; + } + + public void setProjectId(Long projectId) { + this.projectId = projectId; + } + public Long getUserId() { return userId; diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/system/mapper/SysUserExtMapper.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/system/mapper/SysUserExtMapper.java new file mode 100644 index 00000000..f0111c35 --- /dev/null +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/system/mapper/SysUserExtMapper.java @@ -0,0 +1,61 @@ +package com.yanzhu.system.mapper; + +import java.util.List; +import com.yanzhu.system.domain.SysUserExt; + +/** + * 系统用户扩展Mapper接口 + * + * @author yanzhu + * @date 2025-01-09 + */ +public interface SysUserExtMapper +{ + /** + * 查询系统用户扩展 + * + * @param userId 系统用户扩展主键 + * @return 系统用户扩展 + */ + public SysUserExt selectSysUserExtByUserId(Long userId); + + /** + * 查询系统用户扩展列表 + * + * @param sysUserExt 系统用户扩展 + * @return 系统用户扩展集合 + */ + public List selectSysUserExtList(SysUserExt sysUserExt); + + /** + * 新增系统用户扩展 + * + * @param sysUserExt 系统用户扩展 + * @return 结果 + */ + public int insertSysUserExt(SysUserExt sysUserExt); + + /** + * 修改系统用户扩展 + * + * @param sysUserExt 系统用户扩展 + * @return 结果 + */ + public int updateSysUserExt(SysUserExt sysUserExt); + + /** + * 删除系统用户扩展 + * + * @param userId 系统用户扩展主键 + * @return 结果 + */ + public int deleteSysUserExtByUserId(Long userId); + + /** + * 批量删除系统用户扩展 + * + * @param userIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteSysUserExtByUserIds(Long[] userIds); +} diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/system/mapper/SysUserMapper.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/system/mapper/SysUserMapper.java index 74517d07..efcc5916 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/system/mapper/SysUserMapper.java +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/system/mapper/SysUserMapper.java @@ -45,6 +45,7 @@ public interface SysUserMapper */ public SysUser selectUserByUserName(String userName); + public SysUser selectByPhone(String phone); /** * 通过用户名查询用户 * diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/system/SysUserExtMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/system/SysUserExtMapper.xml new file mode 100644 index 00000000..508eb3c1 --- /dev/null +++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/system/SysUserExtMapper.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + select user_id, project_id, status, user_type from sys_user_ext + + + + + + + + insert into sys_user_ext + + user_id, + project_id, + status, + user_type, + + + #{userId}, + #{projectId}, + #{status}, + #{userType}, + + + + + update sys_user_ext + + project_id = #{projectId}, + status = #{status}, + user_type = #{userType}, + + where user_id = #{userId} + + + + delete from sys_user_ext where user_id = #{userId} + + + + delete from sys_user_ext where user_id in + + #{userId} + + + \ No newline at end of file diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/system/SysUserMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/system/SysUserMapper.xml index c969edb0..a50c996e 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/system/SysUserMapper.xml +++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/system/SysUserMapper.xml @@ -61,12 +61,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select u.user_id, uc.com_id, com.dept_name as com_name, u.dept_id, u.user_name, u.nick_name, u.user_type, u.card_code, u.email - , u.avatar, u.phonenumber, u.password, u.sex, uc.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, + select u.user_id, u.com_id, com.dept_name as com_name, u.dept_id, u.user_name, u.nick_name, u.user_type, u.card_code, u.email + , u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.dept_short_name, d.dept_code, d.dept_type, d.order_num, d.leader, d.status as dept_status, - r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status,com.dept_name com_dept_name,uc.is_active is_active + r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status,com.dept_name com_dept_name from sys_user u - left join sys_user_com uc on u.user_id=uc.user_id left join sys_dept d on u.dept_id = d.dept_id left join sys_dept com on u.com_id = com.dept_id left join sys_user_role ur on u.user_id = ur.user_id @@ -74,11 +73,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select user_id, phonenumber from sys_user where phonenumber = #{phonenumber} and del_flag = '0' limit 1 + - insert into sys_user( + insert into sys_user_com( user_id, com_id, - status, - is_active, + status, + is_active )values( #{userId}, #{comId}, - #{status}, - #{isActive}, + #{status}, + #{isActive} ) diff --git a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/controller/SysUserController.java b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/controller/SysUserController.java index 749df380..36b03d9a 100644 --- a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/controller/SysUserController.java +++ b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/controller/SysUserController.java @@ -159,6 +159,17 @@ public class SysUserController extends BaseController { return R.ok(sysUserVo); } + /** + * 按电话号码查询用户信息 + * @param phone + * @return + */ + @RequiresPermissions("system:user:list") + @GetMapping("/selectByPhone/{phone}") + public R selectByPhone(@PathVariable("phone") String phone) { + SysUser sysUser = userService.selectByPhone(phone); + return R.ok(sysUser); + } /** * 获取当前用户信息 */ @@ -286,13 +297,14 @@ public class SysUserController extends BaseController { @Log(title = "用户管理", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@Validated @RequestBody SysUser user) { + /* if (StringUtils.isNotEmpty(user.getUserName()) && !userService.checkUserNameUnique(user)) { return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在"); } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) { return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在"); } else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) { return error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在"); - } + }*/ user.setCreateBy(SecurityUtils.getUsername()); user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); return toAjax(userService.insertUser(user)); diff --git a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/ISysUserExtService.java b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/ISysUserExtService.java new file mode 100644 index 00000000..584f84df --- /dev/null +++ b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/ISysUserExtService.java @@ -0,0 +1,61 @@ +package com.yanzhu.system.service; + +import java.util.List; +import com.yanzhu.system.domain.SysUserExt; + +/** + * 系统用户扩展Service接口 + * + * @author yanzhu + * @date 2025-01-09 + */ +public interface ISysUserExtService +{ + /** + * 查询系统用户扩展 + * + * @param userId 系统用户扩展主键 + * @return 系统用户扩展 + */ + public SysUserExt selectSysUserExtByUserId(Long userId); + + /** + * 查询系统用户扩展列表 + * + * @param sysUserExt 系统用户扩展 + * @return 系统用户扩展集合 + */ + public List selectSysUserExtList(SysUserExt sysUserExt); + + /** + * 新增系统用户扩展 + * + * @param sysUserExt 系统用户扩展 + * @return 结果 + */ + public int insertSysUserExt(SysUserExt sysUserExt); + + /** + * 修改系统用户扩展 + * + * @param sysUserExt 系统用户扩展 + * @return 结果 + */ + public int updateSysUserExt(SysUserExt sysUserExt); + + /** + * 批量删除系统用户扩展 + * + * @param userIds 需要删除的系统用户扩展主键集合 + * @return 结果 + */ + public int deleteSysUserExtByUserIds(Long[] userIds); + + /** + * 删除系统用户扩展信息 + * + * @param userId 系统用户扩展主键 + * @return 结果 + */ + public int deleteSysUserExtByUserId(Long userId); +} diff --git a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/ISysUserService.java b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/ISysUserService.java index c21cf706..7bc4d311 100644 --- a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/ISysUserService.java +++ b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/ISysUserService.java @@ -45,6 +45,12 @@ public interface ISysUserService */ public SysUser selectUserByUserName(String userName); + /** + * 通过电话号码查询用户信息 + * @param phone + * @return + */ + public SysUser selectByPhone(String phone); /** * 通过用户名查询用户 * diff --git a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/impl/SysUserExtServiceImpl.java b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/impl/SysUserExtServiceImpl.java new file mode 100644 index 00000000..7b1cd3e5 --- /dev/null +++ b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/impl/SysUserExtServiceImpl.java @@ -0,0 +1,93 @@ +package com.yanzhu.system.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.yanzhu.system.mapper.SysUserExtMapper; +import com.yanzhu.system.domain.SysUserExt; +import com.yanzhu.system.service.ISysUserExtService; + +/** + * 系统用户扩展Service业务层处理 + * + * @author yanzhu + * @date 2025-01-09 + */ +@Service +public class SysUserExtServiceImpl implements ISysUserExtService +{ + @Autowired + private SysUserExtMapper sysUserExtMapper; + + /** + * 查询系统用户扩展 + * + * @param userId 系统用户扩展主键 + * @return 系统用户扩展 + */ + @Override + public SysUserExt selectSysUserExtByUserId(Long userId) + { + return sysUserExtMapper.selectSysUserExtByUserId(userId); + } + + /** + * 查询系统用户扩展列表 + * + * @param sysUserExt 系统用户扩展 + * @return 系统用户扩展 + */ + @Override + public List selectSysUserExtList(SysUserExt sysUserExt) + { + return sysUserExtMapper.selectSysUserExtList(sysUserExt); + } + + /** + * 新增系统用户扩展 + * + * @param sysUserExt 系统用户扩展 + * @return 结果 + */ + @Override + public int insertSysUserExt(SysUserExt sysUserExt) + { + return sysUserExtMapper.insertSysUserExt(sysUserExt); + } + + /** + * 修改系统用户扩展 + * + * @param sysUserExt 系统用户扩展 + * @return 结果 + */ + @Override + public int updateSysUserExt(SysUserExt sysUserExt) + { + return sysUserExtMapper.updateSysUserExt(sysUserExt); + } + + /** + * 批量删除系统用户扩展 + * + * @param userIds 需要删除的系统用户扩展主键 + * @return 结果 + */ + @Override + public int deleteSysUserExtByUserIds(Long[] userIds) + { + return sysUserExtMapper.deleteSysUserExtByUserIds(userIds); + } + + /** + * 删除系统用户扩展信息 + * + * @param userId 系统用户扩展主键 + * @return 结果 + */ + @Override + public int deleteSysUserExtByUserId(Long userId) + { + return sysUserExtMapper.deleteSysUserExtByUserId(userId); + } +} diff --git a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/impl/SysUserServiceImpl.java b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/impl/SysUserServiceImpl.java index 58f96984..029a9183 100644 --- a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/impl/SysUserServiceImpl.java +++ b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/impl/SysUserServiceImpl.java @@ -131,6 +131,11 @@ public class SysUserServiceImpl implements ISysUserService return userMapper.selectUserByUserName(userName); } + @Override + public SysUser selectByPhone(String phone) { + return userMapper.selectByPhone(phone); + } + /** * 通过用户名查询用户 * @@ -317,7 +322,36 @@ public class SysUserServiceImpl implements ISysUserService throw new ServiceException("所属单位选择异常,必须选择子公司及下属单位"); } user.setComId(dept.getComId()); - int rows = userMapper.insertUser(user); + int rows=0; + SysUser sysUser = userMapper.selectByPhone(user.getPhonenumber()); + if(Objects.nonNull(sysUser)){//此电话号码已注册 + SysUser where=new SysUser(); + where.setUserId(sysUser.getUserId()); + where.setComId(user.getComId()); + SysUser oldUserCom=userMapper.selectUserCom(where); + if(Objects.nonNull(oldUserCom)){ + throw new ServiceException("此用户己在此项目中!"); + } + user.setUserId(sysUser.getUserId()); + user.setIsActive(0l); + user.setStatus("0"); + userMapper.insertUserCom(user); + sysUser.setUserName(user.getUserName()); + sysUser.setPhonenumber(user.getUserName()); + sysUser.setNickName(user.getNickName()); + sysUser.setUpdateBy(user.getUpdateBy()); + sysUser.setUpdateTime(user.getUpdateTime()); + sysUser.setPassword(user.getPassword()); + rows=userMapper.updateUser(sysUser); + }else{//此电话号码未注册 + user.setCreateBy(user.getUpdateBy()); + user.setCreateTime(user.getUpdateTime()); + user.setUserType("99"); + rows=userMapper.insertUser(user); + user.setIsActive(1l); + userMapper.insertUserCom(user); + } + //int rows = userMapper.insertUser(user); // 新增用户岗位关联 insertUserPost(user); // 新增用户与角色管理 @@ -370,7 +404,7 @@ public class SysUserServiceImpl implements ISysUserService @Override public Long registerUser(SysUser user) throws ServiceException { - SysUser sysUser = userMapper.checkUserNameUnique(user.getUserName()); + SysUser sysUser = userMapper.selectByPhone(user.getPhonenumber()); if(Objects.nonNull(sysUser)){ if(user.getComId().equals(sysUser.getOldComId())){ SysUser where=new SysUser(); @@ -701,6 +735,7 @@ public class SysUserServiceImpl implements ISysUserService SysUserPost up = new SysUserPost(); up.setUserId(user.getUserId()); up.setPostId(postId); + list.add(up); } userPostMapper.batchUserPost(list); diff --git a/yanzhu-ui-vue3/src/api/system/user.js b/yanzhu-ui-vue3/src/api/system/user.js index d0d83d00..43f41bc7 100644 --- a/yanzhu-ui-vue3/src/api/system/user.js +++ b/yanzhu-ui-vue3/src/api/system/user.js @@ -18,6 +18,15 @@ export function getUser(userId) { }) } +// 按手机号码查询用户 +export function selectByPhone(phone) { + return request({ + url: '/system/user/selectByPhone/' + phone, + method: 'get' + }) +} + + // 新增用户 export function addUser(data) { return request({ diff --git a/yanzhu-ui-vue3/src/views/system/user/index.vue b/yanzhu-ui-vue3/src/views/system/user/index.vue index ae1a19a5..346debcd 100644 --- a/yanzhu-ui-vue3/src/views/system/user/index.vue +++ b/yanzhu-ui-vue3/src/views/system/user/index.vue @@ -144,7 +144,8 @@ + maxlength="11" style="width: 150px;"/> + 查询 @@ -236,7 +237,7 @@