Browse Source

修改系统管理-用户管理,编辑用户,信息出现多条的问题

yangzian 4 years ago
parent
commit
1b0ac2ae36

+ 6 - 5
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java

@@ -351,6 +351,7 @@ public class SysUserController {
     public Result<SysUser> edit(@RequestBody JSONObject jsonObject) {
         Result<SysUser> result = new Result<SysUser>();
         try {
+            //id查询用户信息
             SysUser sysUser = sysUserService.getById(jsonObject.getString("id"));
             sysBaseAPI.addLog("编辑用户,id: " + jsonObject.getString("id"), CommonConstant.LOG_TYPE_2, 2);
             if (sysUser == null) {
@@ -360,16 +361,16 @@ public class SysUserController {
                 user.setUpdateTime(new Date());
                 //String passwordEncode = PasswordUtil.encrypt(user.getUsername(), user.getPassword(), sysUser.getSalt());
                 user.setPassword(sysUser.getPassword());
-                String roles = jsonObject.getString("selectedroles");
-                String departs = jsonObject.getString("selecteddeparts");
+                String roles = jsonObject.getString("selectedroles");//用户角色
+                String departs = jsonObject.getString("selecteddeparts");//用户部门
                 if (!Check.isNull(departs)) {
                     SysDepart depart = departService.getById(departs);
                     if (!Check.isNull(depart)) {
                         user.setOrgCode(depart.getOrgCode());
                     }
                 }
-                sysUserService.editUserWithRole(user, roles);
-                sysUserService.editUserWithDepart(user, departs);
+                sysUserService.editUserWithRole(user, roles);//修改角色
+                sysUserService.editUserWithDepart(user, departs);//修改部门
                 sysUserService.updateNullPhoneEmail();
 
                 userCompanyService.addOrUpdateUserWithCompany(user);
@@ -383,7 +384,7 @@ public class SysUserController {
                                 memberQueryWrapper.eq("user_id", user.getId());
                                 ProjectMember updateMember = new ProjectMember();
                                 updateMember.setRoleCode(sysRole.getRoleCode());
-                                memberService.update(updateMember, memberQueryWrapper);
+                                memberService.update(updateMember, memberQueryWrapper);//更新项目人员角色信息
                             }
                         }
                     };

+ 14 - 0
module-common/src/main/java/cn/com/ctop/common/module/entity/SysUserDepart.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.util.Date;
 
 @Data
 @TableName("sys_user_depart")
@@ -19,6 +20,19 @@ public class SysUserDepart implements Serializable {
 	private String userId;
 	/**部门id*/
 	private String depId;
+
+	private Date createTime;
+	private String createUserId;
+
+
+	public SysUserDepart(String id, String userId, String depId, Date createTime, String createUserId) {
+		this.id = id;
+		this.userId = userId;
+		this.depId = depId;
+		this.createTime = createTime;
+		this.createUserId = createUserId;
+	}
+
 	public SysUserDepart(String id, String userId, String depId) {
 		super();
 		this.id = id;

+ 7 - 1
module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/SysUserMapper.xml

@@ -276,8 +276,10 @@ SELECT
             role.role_code = 'designTeamLeader'
     </select>
 
+    <!-- 查询用户列表信息-->
     <select id="queryPageList" resultType="cn.com.ctop.common.module.entity.SysUser">
-        SELECT t1.*,t3.depart_name ,role.role_name
+        SELECT t4.* from (
+        SELECT t1.*,t3.depart_name ,role.role_name,t2.create_time AS updTime
         FROM sys_user t1
         LEFT JOIN sys_user_depart t2 ON t1.id = t2.user_id
         LEFT JOIN sys_depart t3 ON t2.dep_id = t3.id
@@ -311,6 +313,10 @@ SELECT
         <if test="sex != null and sex != ''">
             AND t1.sex =#{sex}
         </if>
+        ORDER BY updTime DESC
+        limit 99999
+        ) t4
+        GROUP BY t4.id
     </select>
     <select id="getUserMapByMap" resultType="com.alibaba.fastjson.JSONObject">
         select id,realname from sys_user

+ 7 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/SysUserServiceImpl.java

@@ -15,6 +15,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CacheConstant;
 import org.jeecg.common.constant.CommonConstant;
@@ -372,9 +373,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     public void addUserWithDepart(SysUser user, String selectedParts) {
 //		this.save(user);  //保存角色的时候已经添加过一次了
         if (oConvertUtils.isNotEmpty(selectedParts)) {
+            LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
             String[] arr = selectedParts.split(",");
             for (String deaprtId : arr) {
                 SysUserDepart userDeaprt = new SysUserDepart(user.getId(), deaprtId);
+                userDeaprt.setCreateUserId(loginUser.getId());
+                userDeaprt.setCreateTime(new Date());
                 sysUserDepartMapper.insert(userDeaprt);
             }
         }
@@ -406,11 +410,14 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                 }
             }
         }
+        LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         //先删后加
         sysUserDepartMapper.delete(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId()));
         if (oConvertUtils.isNotEmpty(departs)) {
             for (String departId : arr) {
                 SysUserDepart userDepart = new SysUserDepart(user.getId(), departId);
+                userDepart.setCreateUserId(loginUser.getId());
+                userDepart.setCreateTime(new Date());
                 sysUserDepartMapper.insert(userDepart);
             }
         }