Sfoglia il codice sorgente

角色列表筛选

5 anni fa
parent
commit
f40eae8f50

+ 5 - 3
cloud-model/src/main/java/com/hssx/cloudmodel/controller/UserController.java

@@ -140,17 +140,19 @@ public class UserController {
      *用户列表
      * 参数:pageNum 当前页码,pageSize 每页条数 keyName 关键字查询
      * account 用户账号 token 用户凭证 roleType 角色类型
+     * roleType 角色类型 (默认-2)companyId 公司id(默认-1)
+     * flag 账号或者名字筛选 (默认0)按名字筛选,1-按账号筛选
      * @return
      */
     @ApiOperation("用户列表")
     @RequestMapping("/list")
     @ResponseBody
-    public HttpRespMsg list(@RequestParam(required = false) Integer roleType,@RequestParam(required = false) String account, HttpServletRequest request,String token,
-                            HttpServletResponse response, PageUtil page,@RequestParam(required = false)String keyName) {
+    public HttpRespMsg list(@RequestParam(required = false) Integer roleType,@RequestParam(required = false) Integer companyId, HttpServletRequest request,String token,
+                            HttpServletResponse response, PageUtil page,@RequestParam(required = false)String keyName,@RequestParam Integer flag) {
         HttpRespMsg msg = new HttpRespMsg();
         User newUser = userService.getOne(new QueryWrapper<User>().eq("head_imgurl", token));
         if(newUser != null){
-            msg = userService.pageList(page,account,keyName,newUser,roleType);
+            msg = userService.pageList(page,companyId,flag,keyName,newUser,roleType);
         }else{
             msg.setError("当前用户不存,或涉及到权限问题,请重新登录");
         }

+ 30 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/entity/vo/UserVO.java

@@ -0,0 +1,30 @@
+package com.hssx.cloudmodel.entity.vo;
+
+import com.hssx.cloudmodel.entity.User;
+
+/**
+ * Author: 吴涛涛 cuiyi@itany.com
+ * Date : 2019 - 07 - 27 17:31
+ * Description:<描述>
+ * Version: 1.0
+ */
+public class UserVO extends User {
+    private String companyName;
+    private String roleName;
+
+    public String getCompanyName() {
+        return companyName;
+    }
+
+    public void setCompanyName(String companyName) {
+        this.companyName = companyName;
+    }
+
+    public String getRoleName() {
+        return roleName;
+    }
+
+    public void setRoleName(String roleName) {
+        this.roleName = roleName;
+    }
+}

+ 5 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/mapper/UserMapper.java

@@ -2,6 +2,10 @@ package com.hssx.cloudmodel.mapper;
 
 import com.hssx.cloudmodel.entity.User;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.hssx.cloudmodel.entity.vo.UserVO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +17,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface UserMapper extends BaseMapper<User> {
 
+    List<UserVO> selectListByCondition(@Param("roleType") Integer roleType, @Param("companyId")Integer companyId,@Param("flag") Integer flag, @Param("user") User user, @Param("keyName") String keyName);
 }

+ 1 - 1
cloud-model/src/main/java/com/hssx/cloudmodel/service/UserService.java

@@ -21,5 +21,5 @@ public interface UserService extends IService<User> {
 
     HttpRespMsg login(User user, HttpServletRequest request);
 
-    HttpRespMsg pageList(PageUtil page, String account, String keyName,User user,Integer roleType);
+    HttpRespMsg pageList(PageUtil page,Integer companyId,Integer flag,String keyName,User user,Integer roleType);
 }

+ 5 - 15
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/UserServiceImpl.java

@@ -5,6 +5,7 @@ import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.hssx.cloudmodel.constant.Constant;
 import com.hssx.cloudmodel.entity.User;
+import com.hssx.cloudmodel.entity.vo.UserVO;
 import com.hssx.cloudmodel.mapper.UserMapper;
 import com.hssx.cloudmodel.service.UserService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -56,22 +57,11 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
     }
 
     @Override
-    public HttpRespMsg pageList(PageUtil page, String account, String keyName,User user,Integer roleType) {
+    public HttpRespMsg pageList(PageUtil page, Integer companyId, Integer flag, String keyName, User user, Integer roleType) {
         HttpRespMsg msg = new HttpRespMsg();
-        QueryWrapper<User> qw = new QueryWrapper<>();
-        if(keyName !=null && !"".equals(keyName)){
-            qw.eq("username", keyName);
-        }else if(account !=null && !"".equals(account)){
-            qw.eq("account", account);
-        }
-        //roleType == -2 默认不按角色筛选
-        if(roleType != -2){
-            qw.eq("role_type",roleType);
-        }
-        qw.eq("parent_id",user.getParentId());
-        PageHelper.startPage(page.getPageNum(),page.getPageSize());
-        List<User> users = userMapper.selectList(qw);
-        PageInfo<User> pageInfos = new PageInfo<>(users);
+        PageHelper.startPage(page.getPageNum(), page.getPageSize());
+        List<UserVO> users = userMapper.selectListByCondition(roleType,companyId,flag, user, keyName);
+        PageInfo<UserVO> pageInfos = new PageInfo<>(users);
         msg.data = pageInfos;
         return msg;
     }

+ 47 - 0
cloud-model/src/main/resources/mapper/UserMapper.xml

@@ -21,10 +21,57 @@
         <result column="team_name" property="teamName" />
         <result column="subordinate_type" property="subordinateType" />
     </resultMap>
+    <resultMap id="BaseResultMapVO" type="com.hssx.cloudmodel.entity.vo.UserVO">
+        <id column="id" property="id" />
+        <result column="account" property="account" />
+        <result column="username" property="username" />
+        <result column="password" property="password" />
+        <result column="mobile" property="mobile" />
+        <result column="role_type" property="roleType" />
+        <result column="company_id" property="companyId" />
+        <result column="company_name" property="companyName">
+        <result column="parent_id" property="parentId" />
+        <result column="sex" property="sex" />
+        <result column="dep_no" property="depNo" />
+        <result column="work_state" property="workState" />
+        <result column="is_disable" property="isDisable" />
+        <result column="indate" property="indate" />
+        <result column="head_imgurl" property="headImgurl" />
+        <result column="team_name" property="teamName" />
+        <result column="subordinate_type" property="subordinateType" />
+    </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
         id, account, username, password, mobile, role_type, company_id, parent_id, sex, dep_no, work_state, is_disable, indate, head_imgurl, team_name, subordinate_type
     </sql>
 
+    <select id="selectListByCondition" resultMap="BaseResultMapVO">
+        SELECT
+          u.id id, u.account account, u.username username, u.password password, u.mobile mobile, u.role_type role_type, u.company_id company_id, c.`company_name` company_name,
+           r.role_name role_name,u.parent_id parent_id, u.sex sex, u.dep_no dep_no, u.work_state work_state, u.is_disable is_disable,
+           u.indate indate, u.head_imgurl head_imgurl, u.team_name team_name, u.subordinate_type subordinate_type
+        FROM
+          tb_user AS u
+          LEFT JOIN tb_company c
+        ON u.company_id = c.`id`
+        LEFT JOIN tb_role r
+        ON r.`id` = u.`role_type`
+        <where>
+            <if test="flag==0 and keyName != '' and keyName !=null">
+                u.username like concat('%',#{keyName},'%')
+            </if>
+            <if test="flag==1 and keyName != '' and keyName !=null">
+                u.account like concat('%',#{keyName},'%')
+            </if>
+            <if test="roleType != -2">
+                u.role_type = #{roleType}
+            </if>
+            <if test="companyId != -1">
+                u.company_id = #{companyId}
+            </if>
+        </where>
+        Order by u.id desc;
+    </select>
+
 </mapper>