Просмотр исходного кода

1、新增、修改用户,关联角色表、部门表

machaoyi 1 год назад
Родитель
Сommit
4c642b2d4f

+ 34 - 0
application/src/main/java/com/ctsi/SysUser/controller/SysUserController.java

@@ -5,6 +5,8 @@ import com.ctsi.SysUser.entity.*;
 import com.ctsi.SysUser.service.SysUserService;
 import com.ctsi.SysUserDetail.entity.SysUserDetail;
 import com.ctsi.SysUserDetail.service.SysUserDetailService;
+import com.ctsi.SysUserOrg.entity.SysUserOrg;
+import com.ctsi.SysUserOrg.service.SysUserOrgService;
 import com.ctsi.SysUserRole.entity.SysUserRoleAddVO;
 import com.ctsi.SysUserRole.service.SysUserRoleService;
 import com.ctsi.entity.FramePage;
@@ -34,6 +36,8 @@ public class SysUserController{
     private SysUserDetailService sysUserDetailService;
     @Resource
     private SysUserRoleService sysUserRoleService;
+    @Resource
+    private SysUserOrgService sysUserOrgService;
     private static final Logger log = LoggerFactory.getLogger(SysUserController.class);
     
     /** 
@@ -83,13 +87,29 @@ public class SysUserController{
         try {
             if (sysUserService.queryByUserName(userAddVO.getUserName()) != null)
                 return ApiResult.failure("用户名已存在",null);
+            //新增用户
             SysUser sysUser = new SysUser();
             BeanUtils.copyProperties(userAddVO,sysUser);
             sysUserService.insert(sysUser);
+            //新增用户详情
             SysUserDetail sysUserDetail = new SysUserDetail();
             BeanUtils.copyProperties(userAddVO,sysUserDetail);
             sysUserDetail.setId(sysUser.getId());
             sysUserDetailService.insert(sysUserDetail);
+            //新增用户角色
+            if (!userAddVO.getRoleId().isEmpty()) {
+                SysUserRoleAddVO sysUserRoleAddVO = new SysUserRoleAddVO();
+                sysUserRoleAddVO.setUserId(sysUser.getId());
+                sysUserRoleAddVO.setRoleId(userAddVO.getRoleId());
+                sysUserRoleService.save(sysUserRoleAddVO);
+            }
+            //新增用户部门
+            if (userAddVO.getOrgId() != null) {
+                SysUserOrg sysUserOrg = new SysUserOrg();
+                sysUserOrg.setUserId(sysUser.getId());
+                sysUserOrg.setOrgId(userAddVO.getOrgId());
+                sysUserOrgService.insert(sysUserOrg);
+            }
             return ApiResult.success(sysUserDetail);
         } catch (Exception e) {
             log.error(e.getMessage());
@@ -110,6 +130,20 @@ public class SysUserController{
         try {
             SysUserDetail sysUserDetail = new SysUserDetail();
             BeanUtils.copyProperties(userEditVO,sysUserDetail);
+            // 修改用户角色
+            SysUserRoleAddVO sysUserRoleAddVO = new SysUserRoleAddVO();
+            sysUserRoleAddVO.setUserId(userEditVO.getId());
+            sysUserRoleAddVO.setRoleId(userEditVO.getRoleId());
+            sysUserRoleService.save(sysUserRoleAddVO);
+            // 修改用户部门
+            SysUserOrg sysUserOrg = new SysUserOrg();
+            sysUserOrg.setUserId(userEditVO.getId());
+            sysUserOrg.setOrgId(userEditVO.getOrgId());
+            if (sysUserOrgService.queryByUserId(userEditVO.getId()) != null) {
+                sysUserOrgService.update(sysUserOrg);
+            } else {
+                sysUserOrgService.insert(sysUserOrg);
+            }
             return ApiResult.success(sysUserDetailService.update(sysUserDetail));
         } catch (Exception e) {
             log.error(e.getMessage());

+ 8 - 0
application/src/main/java/com/ctsi/SysUser/entity/UserAddVO.java

@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
+
 @ApiModel("用户新增信息")
 @Data
 public class UserAddVO {
@@ -28,4 +30,10 @@ public class UserAddVO {
     /** 出生日期 */
     @ApiModelProperty(value = "出生日期",notes = "")
     private String birthDate ;
+    /** 角色id */
+    @ApiModelProperty(value = "角色id",notes = "")
+    private List<Long> roleId ;
+    /** 部门id */
+    @ApiModelProperty(value = "部门id",notes = "")
+    private Long orgId ;
 }

+ 22 - 0
application/src/main/java/com/ctsi/SysUser/entity/UserDetailPO.java

@@ -38,6 +38,12 @@ public class UserDetailPO implements Serializable,Cloneable{
    /** 出生日期 */
    @ApiModelProperty(value = "出生日期",notes = "")
    private String birthDate ;
+   /** 部门id */
+   @ApiModelProperty(value = "部门id",notes = "")
+   private Long orgId ;
+   /** 部门名称 */
+   @ApiModelProperty(value = "部门名称",notes = "")
+   private String orgName ;
 
    /** 主键id */
    public Long getId(){
@@ -95,4 +101,20 @@ public class UserDetailPO implements Serializable,Cloneable{
    public void setBirthDate(String birthDate){
        this.birthDate=birthDate;
    }
+
+   public Long getOrgId() {
+      return orgId;
+   }
+
+   public void setOrgId(Long orgId) {
+      this.orgId = orgId;
+   }
+
+   public String getOrgName() {
+      return orgName;
+   }
+
+   public void setOrgName(String orgName) {
+      this.orgName = orgName;
+   }
 }

+ 8 - 0
application/src/main/java/com/ctsi/SysUser/entity/UserEditVO.java

@@ -7,6 +7,8 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
+
 @ApiModel("用户修改信息")
 @Data
 public class UserEditVO {
@@ -30,4 +32,10 @@ public class UserEditVO {
     /** 出生日期 */
     @ApiModelProperty(value = "出生日期",notes = "")
     private String birthDate ;
+    /** 角色id */
+    @ApiModelProperty(value = "角色id",notes = "")
+    private List<Long> roleId ;
+    /** 部门id */
+    @ApiModelProperty(value = "部门id",notes = "")
+    private Long orgId ;
 }

+ 4 - 0
application/src/main/java/com/ctsi/SysUser/service/impl/SysUserServiceImpl.java

@@ -5,12 +5,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ctsi.SysOrg.entity.SysOrg;
 import com.ctsi.SysUser.entity.SysUser;
 import com.ctsi.SysUser.entity.UserDetailPO;
 import com.ctsi.SysUser.entity.UserSearchVO;
 import com.ctsi.SysUser.mapper.SysUserMapper;
 import com.ctsi.SysUser.service.SysUserService;
 import com.ctsi.SysUserDetail.entity.SysUserDetail;
+import com.ctsi.SysUserOrg.entity.SysUserOrg;
 import com.ctsi.utils.PasswordEncoderUtil;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -37,6 +39,8 @@ public class SysUserServiceImpl implements SysUserService{
         queryWrapper.selectAll(SysUserDetail.class);
         queryWrapper.select(SysUser::getUserName);
         queryWrapper.leftJoin(SysUserDetail.class, SysUserDetail::getId, SysUser::getId);
+        queryWrapper.leftJoin(SysUserOrg.class, SysUserOrg::getUserId, SysUser::getId);
+        queryWrapper.leftJoin(SysOrg.class, SysOrg::getId, SysUserOrg::getOrgId);
         return sysUserMapper.selectJoinOne(UserDetailPO.class, queryWrapper);
     }
     

+ 89 - 0
application/src/main/java/com/ctsi/SysUserDetail/entity/SysUserDetailAddVO.java

@@ -0,0 +1,89 @@
+package com.ctsi.SysUserDetail.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ctsi.utils.LongtoStringSerialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+/**
+* 用户信息表;
+* @author : machaoyi
+* @date : 2024-1-10
+*/
+@ApiModel(value = "用户信息表新增VO",description = "")
+@TableName("sys_user_detail")
+public class SysUserDetailAddVO implements Serializable,Cloneable{
+   /** 主键id */
+   @ApiModelProperty(value = "主键id",notes = "")
+   @TableId
+   @JsonSerialize(using = LongtoStringSerialize.class)
+   private Long id ;
+   /** 姓名 */
+   @ApiModelProperty(value = "姓名",notes = "")
+   private String name ;
+   /** 性别 */
+   @ApiModelProperty(value = "性别",notes = "")
+   private String gender ;
+   /** 手机号 */
+   @ApiModelProperty(value = "手机号",notes = "")
+   private String phone ;
+   /** 邮箱 */
+   @ApiModelProperty(value = "邮箱",notes = "")
+   private String email ;
+   /** 出生日期 */
+   @ApiModelProperty(value = "出生日期",notes = "")
+   private String birthDate ;
+
+   /** 主键id */
+   public Long getId(){
+       return this.id;
+   }
+   /** 主键id */
+   public void setId(Long id){
+       this.id=id;
+   }
+   /** 姓名 */
+   public String getName(){
+       return this.name;
+   }
+   /** 姓名 */
+   public void setName(String name){
+       this.name=name;
+   }
+   /** 性别 */
+   public String getGender(){
+       return this.gender;
+   }
+   /** 性别 */
+   public void setGender(String gender){
+       this.gender=gender;
+   }
+   /** 手机号 */
+   public String getPhone(){
+       return this.phone;
+   }
+   /** 手机号 */
+   public void setPhone(String phone){
+       this.phone=phone;
+   }
+   /** 邮箱 */
+   public String getEmail(){
+       return this.email;
+   }
+   /** 邮箱 */
+   public void setEmail(String email){
+       this.email=email;
+   }
+   /** 出生日期 */
+   public String getBirthDate(){
+       return this.birthDate;
+   }
+   /** 出生日期 */
+   public void setBirthDate(String birthDate){
+       this.birthDate=birthDate;
+   }
+}

+ 2 - 0
application/src/main/java/com/ctsi/SysUserOrg/service/SysUserOrgService.java

@@ -17,6 +17,8 @@ public interface SysUserOrgService{
      * @return 实例对象
      */
     SysUserOrg queryById(Long id);
+
+     SysUserOrg queryByUserId(Long userId);
     
     /**
      * 分页查询

+ 9 - 2
application/src/main/java/com/ctsi/SysUserOrg/service/impl/SysUserOrgServiceImpl.java

@@ -29,6 +29,12 @@ public class SysUserOrgServiceImpl implements SysUserOrgService{
     public SysUserOrg queryById(Long id){
         return sysUserOrgMapper.selectById(id);
     }
+
+     public SysUserOrg queryByUserId(Long userId){
+         LambdaQueryWrapper<SysUserOrg> queryWrapper = new LambdaQueryWrapper<>();
+         queryWrapper.eq(SysUserOrg::getUserId,userId);
+         return sysUserOrgMapper.selectOne(queryWrapper);
+     }
     
     /**
      * 分页查询
@@ -71,8 +77,9 @@ public class SysUserOrgServiceImpl implements SysUserOrgService{
     public SysUserOrg update(SysUserOrg sysUserOrg){
         //1. 根据条件动态更新
         LambdaUpdateChainWrapper<SysUserOrg> chainWrapper = new LambdaUpdateChainWrapper<SysUserOrg>(sysUserOrgMapper);
-        //2. 设置主键,并更新
-        chainWrapper.eq(SysUserOrg::getId, sysUserOrg.getId());
+        //2. 根据userId更新
+        chainWrapper.eq(SysUserOrg::getUserId, sysUserOrg.getUserId());
+        chainWrapper.set(SysUserOrg::getOrgId, sysUserOrg.getOrgId());
         boolean ret = chainWrapper.update();
         //3. 更新成功了,查询最最对象返回
         if(ret){