Explorar o código

SysUserUpdate web修改个人信息

sunhh %!s(int64=2) %!d(string=hai) anos
pai
achega
7194c03531

+ 8 - 0
base-system/src/main/java/com/ozs/system/mapper/SysUserMapper.java

@@ -2,6 +2,7 @@ package com.ozs.system.mapper;
 
 import java.util.List;
 
+import com.ozs.common.core.domain.entity.SysUserUpdate;
 import icu.mhb.mybatisplus.plugln.base.mapper.JoinBaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -70,6 +71,13 @@ public interface SysUserMapper extends JoinBaseMapper<SysUser> {
      */
     public int updateUser(SysUser user);
 
+    /**
+     * 修改用户信息
+     *
+     * @param user 用户信息
+     * @return 结果
+     */
+    public int updateUserUpdate(SysUserUpdate user);
     /**
      * 修改用户头像
      *

+ 41 - 0
base-system/src/main/java/com/ozs/system/service/ISysUserService.java

@@ -3,6 +3,7 @@ package com.ozs.system.service;
 import java.util.List;
 
 import com.ozs.common.core.domain.entity.SysUser;
+import com.ozs.common.core.domain.entity.SysUserUpdate;
 import icu.mhb.mybatisplus.plugln.base.service.JoinIService;
 
 /**
@@ -75,6 +76,14 @@ public interface ISysUserService extends JoinIService<SysUser> {
      */
     public String checkUserNameUnique(SysUser user);
 
+    /**
+     * 校验用户名称是否唯一
+     *
+     * @param user 用户信息
+     * @return 结果
+     */
+    public String checkUserNameUniqueUpdate(SysUserUpdate user);
+
     /**
      * 校验手机号码是否唯一
      *
@@ -83,6 +92,14 @@ public interface ISysUserService extends JoinIService<SysUser> {
      */
     public String checkPhoneUnique(SysUser user);
 
+    /**
+     * 校验手机号码是否唯一
+     *
+     * @param user 用户信息
+     * @return 结果
+     */
+    public String checkPhoneUniqueUpdate(SysUserUpdate user);
+
     /**
      * 校验email是否唯一
      *
@@ -91,6 +108,14 @@ public interface ISysUserService extends JoinIService<SysUser> {
      */
     public String checkEmailUnique(SysUser user);
 
+    /**
+     * 校验email是否唯一
+     *
+     * @param user 用户信息
+     * @return 结果
+     */
+    public String checkEmailUniqueUpdate(SysUserUpdate user);
+
     /**
      * 校验用户是否允许操作
      *
@@ -98,6 +123,13 @@ public interface ISysUserService extends JoinIService<SysUser> {
      */
     public void checkUserAllowed(SysUser user);
 
+    /**
+     * 校验用户是否允许操作
+     *
+     * @param user 用户信息
+     */
+    public void checkUserAllowedUpdate(SysUserUpdate user);
+
     /**
      * 校验用户是否有数据权限
      *
@@ -221,6 +253,15 @@ public interface ISysUserService extends JoinIService<SysUser> {
      * @return
      */
     int updateUsers(SysUser user);
+
+    /**
+     * 修改用户
+     *
+     * @param user
+     * @return
+     */
+    int updateUsersUpdate(SysUserUpdate user);
+
     /**
      * 修改用户头像
      *

+ 85 - 2
base-system/src/main/java/com/ozs/system/service/impl/SysUserServiceImpl.java

@@ -5,6 +5,7 @@ import java.util.List;
 import java.util.stream.Collectors;
 import javax.validation.Validator;
 
+import com.ozs.common.core.domain.entity.SysUserUpdate;
 import com.ozs.common.utils.uuid.IdUtils;
 import icu.mhb.mybatisplus.plugln.base.service.impl.JoinServiceImpl;
 import org.slf4j.Logger;
@@ -167,6 +168,22 @@ public class SysUserServiceImpl extends JoinServiceImpl<SysUserMapper, SysUser>
         return UserConstants.UNIQUE;
     }
 
+    /**
+     * 校验用户名称是否唯一
+     *
+     * @param user 用户信息
+     * @return 结果
+     */
+    @Override
+    public String checkUserNameUniqueUpdate(SysUserUpdate user) {
+        Long id = StringUtils.isNull(user.getId()) ? -1L : user.getId();
+        SysUser info = userMapper.checkUserNameUnique(user.getUserName());
+        if (StringUtils.isNotNull(info) && info.getId().longValue() != id.longValue()) {
+            return UserConstants.NOT_UNIQUE;
+        }
+        return UserConstants.UNIQUE;
+    }
+
     /**
      * 校验手机号码是否唯一
      *
@@ -183,6 +200,22 @@ public class SysUserServiceImpl extends JoinServiceImpl<SysUserMapper, SysUser>
         return UserConstants.UNIQUE;
     }
 
+    /**
+     * 校验手机号码是否唯一
+     *
+     * @param user 用户信息
+     * @return
+     */
+    @Override
+    public String checkPhoneUniqueUpdate(SysUserUpdate user) {
+        Long id = StringUtils.isNull(user.getId()) ? -1L : user.getId();
+        SysUser info = userMapper.checkPhoneUnique(user.getPhoneNum());
+        if (StringUtils.isNotNull(info) && info.getId().longValue() != id.longValue()) {
+            return UserConstants.NOT_UNIQUE;
+        }
+        return UserConstants.UNIQUE;
+    }
+
     /**
      * 校验email是否唯一
      *
@@ -199,6 +232,22 @@ public class SysUserServiceImpl extends JoinServiceImpl<SysUserMapper, SysUser>
         return UserConstants.UNIQUE;
     }
 
+    /**
+     * 校验email是否唯一
+     *
+     * @param user 用户信息
+     * @return
+     */
+    @Override
+    public String checkEmailUniqueUpdate(SysUserUpdate user) {
+        Long id = StringUtils.isNull(user.getId()) ? -1L : user.getId();
+        SysUser info = userMapper.checkEmailUnique(user.getEmail());
+        if (StringUtils.isNotNull(info) && info.getId().longValue() != id.longValue()) {
+            return UserConstants.NOT_UNIQUE;
+        }
+        return UserConstants.UNIQUE;
+    }
+
     /**
      * 校验用户是否允许操作
      *
@@ -211,6 +260,18 @@ public class SysUserServiceImpl extends JoinServiceImpl<SysUserMapper, SysUser>
         }
     }
 
+    /**
+     * 校验用户是否允许操作
+     *
+     * @param user 用户信息
+     */
+    @Override
+    public void checkUserAllowedUpdate(SysUserUpdate user) {
+        if (StringUtils.isNotNull(user.getId()) && user.isAdmin()) {
+            throw new ServiceException("不允许操作超级管理员用户");
+        }
+    }
+
     /**
      * 校验用户是否有数据权限
      *
@@ -357,6 +418,15 @@ public class SysUserServiceImpl extends JoinServiceImpl<SysUserMapper, SysUser>
         this.insertUserRole(user.getId(), user.getRoleIds());
     }
 
+    /**
+     * 新增用户角色信息
+     *
+     * @param user 用户对象
+     */
+    public void insertUserRoleUpdate(SysUserUpdate user) {
+        this.insertUserRole(user.getId(), user.getRoleIds());
+    }
+
     /**
      * 新增用户岗位信息
      *
@@ -508,17 +578,30 @@ public class SysUserServiceImpl extends JoinServiceImpl<SysUserMapper, SysUser>
         user.setUserId(IdUtils.fastSimpleUUID());
         return userMapper.updateUser(user);
     }
+
+    @Override
+    public int updateUsersUpdate(SysUserUpdate user) {
+        Long userId = user.getId();
+        // 删除用户与角色关联
+        userRoleMapper.deleteUserRoleByUserId(userId);
+        // 新增用户与角色管理
+        insertUserRoleUpdate(user);
+        user.setUserId(IdUtils.fastSimpleUUID());
+        return userMapper.updateUserUpdate(user);
+    }
+
     /**
      * 修改用户头像
      *
      * @param userId 用户名
-     * @param avatar   头像地址
+     * @param avatar 头像地址
      * @return 结果
      */
     @Override
     public boolean updateUserAvatarById(String userId, String avatar) {
         return userMapper.updateUserAvatarById(userId, avatar);
     }
+
     /**
      * 修改用户密码
      *
@@ -538,6 +621,6 @@ public class SysUserServiceImpl extends JoinServiceImpl<SysUserMapper, SysUser>
 
     @Override
     public boolean dataPermission(Long id, Integer dataPermission) {
-      return   userMapper.dataPermission(id,dataPermission);
+        return userMapper.dataPermission(id, dataPermission);
     }
 }

+ 21 - 0
base-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -204,6 +204,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  		where id = #{id}
 	</update>
 
+	<update id="updateUserUpdate" parameterType="SysUserUpdate">
+		update sys_user
+		<set>
+			<if test="deptId != null and deptId != 0">dept_id = #{deptId},</if>
+			<if test="userName != null and userName != ''">user_name = #{userName},</if>
+			<if test="nickName != null and nickName != ''">nick_name = #{nickName},</if>
+			<if test="email != null ">email = #{email},</if>
+			<if test="phoneNum != null ">phone_num = #{phoneNum},</if>
+			<if test="sex != null and sex != ''">sex = #{sex},</if>
+			<if test="avatar != null and avatar != ''">avatar = #{avatar},</if>
+			<if test="password != null and password != ''">password = #{password},</if>
+			<if test="status != null and status != ''">status = #{status},</if>
+			<if test="loginIp != null and loginIp != ''">login_ip = #{loginIp},</if>
+			<if test="loginDate != null">login_date = #{loginDate},</if>
+			<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
+			<if test="remark != null">remark = #{remark},</if>
+			update_time = sysdate()
+		</set>
+		where id = #{id}
+	</update>
+
 	<update id="updateUserStatus" parameterType="SysUser">
  		update sys_user set status = #{status} where id = #{id}
 	</update>