Browse Source

用户管理运营页面普通用户分页,搜索框:都是根据得到当前用户的管理层级的所有用户list进行筛选过滤

huangxuechao 4 years ago
parent
commit
107b7e9073

+ 2 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/bytedance/advertise/controller/BytedanceGeneralCopywriterController.java

@@ -77,7 +77,7 @@ public class BytedanceGeneralCopywriterController {
                     int len = StringUtils.lengthAsSlogan(str);
                     int left = str.indexOf("{");
                     int right = str.indexOf("}");
-                    if(left >= 0 && right >= 0){
+                    if(left >= 0 || right >= 0){
                         List<String> strs = new ArrayList<>();
                         ByteDanceCreativeWordPackage creativeWordPackage = byteDanceGeneralCopywriterService.selectCreativeWordPackageByName(str.substring(left+1, right));
                         strs.add(creativeWordPackage.getCreativeWordId().toString());
@@ -85,7 +85,7 @@ public class BytedanceGeneralCopywriterController {
                         String nextStr = str.substring(right+1,str.length());
                         left = nextStr.indexOf("{");
                         right = nextStr.indexOf("}");
-                        if(left >= 0 && right >= 0){
+                        if(left >= 0 || right >= 0){
                             ByteDanceCreativeWordPackage creativeWordPackage2 = byteDanceGeneralCopywriterService.selectCreativeWordPackageByName(nextStr.substring(left+1, right));
                             strs.add(creativeWordPackage2.getCreativeWordId().toString());
                             len = len - (right - left) + creativeWordPackage2.getMaxWordLen();

+ 67 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java

@@ -161,10 +161,75 @@ public class SysUserController {
             //角色为 管理员并且projectId是空表示:全量查询
 
             if (!"admin".equals(roleCode)) {
-                user.setLeaderId(userId);
-                PageHelper.startPage(pageNo, pageSize);
                 List<SysUser> list = sysUserService.queryPageList(user);
+                //1.根据搜索框过滤数据
+                if(!Check.isNull(user.getUsername())){
+                    Iterator<SysUser> it = list.iterator();
+                    while(it.hasNext()){
+                        if(!it.next().getUsername().contains(user.getUsername())) {
+                            it.remove();
+                        }
+                    }
+                }
+                if(!Check.isNull(user.getRealname())){
+                    Iterator<SysUser> it = list.iterator();
+                    while(it.hasNext()){
+                        if(!it.next().getRealname().contains(user.getRealname())) {
+                            it.remove();
+                        }
+                    }
+                }
+                if(!Check.isNull(user.getLeaderName())){
+                    Iterator<SysUser> it = list.iterator();
+                    while(it.hasNext()){
+                        if(!it.next().getLeaderName().contains(user.getLeaderName())) {
+                            it.remove();
+                        }
+                    }
+                }
+                if(!Check.isNull(user.getRoleName())){
+                    Iterator<SysUser> it = list.iterator();
+                    while(it.hasNext()){
+                        if(!it.next().getRoleName().contains(user.getRoleName())) {
+                            it.remove();
+                        }
+                    }
+                }
+                if(!Check.isNull(user.getDepartId())){
+                    Iterator<SysUser> it = list.iterator();
+                    while(it.hasNext()){
+                        SysUser user2 = it.next();
+                        if(Check.isNull(user2.getDepartId2()) || !user2.getDepartId2().equals(user.getDepartId())) {
+                            it.remove();
+                        }
+                    }
+                }
+                if(!Check.isNull(user.getEmail())){
+                    Iterator<SysUser> it = list.iterator();
+                    while(it.hasNext()){
+                        if(!it.next().getEmail().contains(user.getEmail())) {
+                            it.remove();
+                        }
+                    }
+                }
+                if(!Check.isNull(user.getStatus())){
+                    Iterator<SysUser> it = list.iterator();
+                    while(it.hasNext()){
+                        if(!it.next().getStatus().equals(user.getStatus())) {
+                            it.remove();
+                        }
+                    }
+                }
+                //2.根据分页页数和条数来筛选数据
+                int total = list.size();
+                int beginIndex = (pageNo - 1) * pageSize + 1;
+                int endIndex = beginIndex + pageSize;
+                if(list.size() > beginIndex){
+                    list = list.subList(beginIndex-1,list.size() > endIndex ? endIndex : list.size());
+                }
+
                 PageInfo<SysUser> pageInfo = new PageInfo<>(list);
+                pageInfo.setTotal(total);
                 return Result.ok(pageInfo);
             }else{
                 user.setId(null);

+ 7 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysUser.java

@@ -41,6 +41,10 @@ public class SysUser implements Serializable {
     @TableId(type = IdType.ASSIGN_ID)
     private String id;
 
+    private String departId;
+
+    private String departId2;
+
     /**
      * 登录账号
      */
@@ -205,4 +209,7 @@ public class SysUser implements Serializable {
      */
     @TableField(exist = false)
     private String departName;
+
+
+
 }

+ 8 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml

@@ -166,7 +166,7 @@
 	<!-- 查询用户列表-->
 	<select id="queryPageList" resultType="org.jeecg.modules.system.entity.SysUser">
 		SELECT t4.* from (
-		SELECT t1.*,t3.depart_name ,role.role_name,t2.create_time AS updTime
+		SELECT t1.*,t3.depart_name ,role.role_name,t2.create_time AS updTime,t3.id as departId2
 		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
@@ -191,6 +191,12 @@
 		<if test="leaderName != null and leaderName != ''">
 			AND t1.leader_name LIKE CONCAT(CONCAT('%',#{leaderName}),'%')
 		</if>
+		<if test="departId != null and departId != ''">
+			AND t3.id =#{departId}
+		</if>
+		<if test="roleName != null and roleName != ''">
+			AND role.role_name LIKE CONCAT(CONCAT('%',#{roleName}),'%')
+		</if>
 		<if test="sex != null and sex != ''">
 			AND t1.sex =#{sex}
 		</if>
@@ -203,7 +209,7 @@
 	</select>
 
 	<select id="selectAllUser" resultType="org.jeecg.modules.system.entity.SysUser">
-		SELECT t1.*,t3.depart_name ,role.role_name
+		SELECT t1.*,t3.depart_name ,role.role_name,t2.create_time AS updTime,t3.id as departId2
 		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