From c00a73b74e67dbeb508865c3da4ed8d57c8631db Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期三, 20 四月 2022 14:16:12 +0800
Subject: [PATCH] fix   admin LIST

---
 dao/src/main/resources/mapper/AdminMapper.xml                                   |   37 ++++++++++++------
 dao/src/main/java/com/sandu/ximon/dao/mapper/AdminMapper.java                   |    4 ++
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java |   53 ++++++++++++--------------
 dao/src/main/java/com/sandu/ximon/dao/bo/AdminBo.java                           |    4 +-
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/AdminService.java       |   16 +++++++-
 5 files changed, 70 insertions(+), 44 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/dto/AdminDto.java b/dao/src/main/java/com/sandu/ximon/dao/bo/AdminBo.java
similarity index 70%
rename from ximon-admin/src/main/java/com/sandu/ximon/admin/dto/AdminDto.java
rename to dao/src/main/java/com/sandu/ximon/dao/bo/AdminBo.java
index e966f93..365f29e 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/dto/AdminDto.java
+++ b/dao/src/main/java/com/sandu/ximon/dao/bo/AdminBo.java
@@ -1,4 +1,4 @@
-package com.sandu.ximon.admin.dto;
+package com.sandu.ximon.dao.bo;
 
 import com.sandu.ximon.dao.domain.Admin;
 import lombok.Data;
@@ -8,7 +8,7 @@
  * @date 2022/3/31 9:48
  */
 @Data
-public class AdminDto extends Admin {
+public class AdminBo extends Admin {
     /**
      * 瑙掕壊ID
      */
diff --git a/dao/src/main/java/com/sandu/ximon/dao/mapper/AdminMapper.java b/dao/src/main/java/com/sandu/ximon/dao/mapper/AdminMapper.java
index d1cc43c..d000ecc 100644
--- a/dao/src/main/java/com/sandu/ximon/dao/mapper/AdminMapper.java
+++ b/dao/src/main/java/com/sandu/ximon/dao/mapper/AdminMapper.java
@@ -1,8 +1,11 @@
 package com.sandu.ximon.dao.mapper;
 
+import com.sandu.ximon.dao.bo.AdminBo;
 import com.sandu.ximon.dao.domain.Admin;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
 
 /**
  * @Entity com.sandu.ximon.dao.domain.Admin
@@ -10,6 +13,7 @@
 @Mapper
 public interface AdminMapper extends BaseMapper<Admin> {
 
+    List<AdminBo> listAdmin(String keyword);
 }
 
 
diff --git a/dao/src/main/resources/mapper/AdminMapper.xml b/dao/src/main/resources/mapper/AdminMapper.xml
index 0105f2c..c81fa44 100644
--- a/dao/src/main/resources/mapper/AdminMapper.xml
+++ b/dao/src/main/resources/mapper/AdminMapper.xml
@@ -5,18 +5,18 @@
 <mapper namespace="com.sandu.ximon.dao.mapper.AdminMapper">
 
     <resultMap id="BaseResultMap" type="com.sandu.ximon.dao.domain.Admin">
-            <id property="id" column="id" jdbcType="BIGINT"/>
-            <result property="username" column="username" jdbcType="VARCHAR"/>
-            <result property="password" column="password" jdbcType="VARCHAR"/>
-            <result property="icon" column="icon" jdbcType="VARCHAR"/>
-            <result property="email" column="email" jdbcType="VARCHAR"/>
-            <result property="mobile" column="mobile" jdbcType="VARCHAR"/>
-            <result property="nickName" column="nick_name" jdbcType="VARCHAR"/>
-            <result property="note" column="note" jdbcType="VARCHAR"/>
-            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
-            <result property="loginTime" column="login_time" jdbcType="TIMESTAMP"/>
-            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
-            <result property="status" column="status" jdbcType="INTEGER"/>
+        <id property="id" column="id" jdbcType="BIGINT"/>
+        <result property="username" column="username" jdbcType="VARCHAR"/>
+        <result property="password" column="password" jdbcType="VARCHAR"/>
+        <result property="icon" column="icon" jdbcType="VARCHAR"/>
+        <result property="email" column="email" jdbcType="VARCHAR"/>
+        <result property="mobile" column="mobile" jdbcType="VARCHAR"/>
+        <result property="nickName" column="nick_name" jdbcType="VARCHAR"/>
+        <result property="note" column="note" jdbcType="VARCHAR"/>
+        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+        <result property="loginTime" column="login_time" jdbcType="TIMESTAMP"/>
+        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
+        <result property="status" column="status" jdbcType="INTEGER"/>
     </resultMap>
 
     <sql id="Base_Column_List">
@@ -25,4 +25,17 @@
         nick_name,note,create_time,
         login_time,update_time,status
     </sql>
+    <select id="listAdmin" resultType="com.sandu.ximon.dao.bo.AdminBo">
+        SELECT
+        t1.*,
+        t2.role_id
+        FROM
+        admin t1
+        LEFT JOIN admin_role_relation t2 ON t1.id = t2.admin_id
+        <where>
+            <if test="keyword != null and keyword != ''">
+                AND t1.username LIKE CONCAT('%', #{keyword},'%')
+            </if>
+        </where>
+    </select>
 </mapper>
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java
index e42a384..296b992 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java
@@ -1,12 +1,9 @@
 package com.sandu.ximon.admin.controller;
 
-import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.map.MapBuilder;
 import cn.hutool.core.map.MapUtil;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.github.pagehelper.PageHelper;
 import com.sandu.common.domain.ResponseVO;
 import com.sandu.common.enums.AdminStatusStatus;
 import com.sandu.common.enums.ResponseStatusEnums;
@@ -19,8 +16,6 @@
 import com.sandu.common.security.token.TokenProvider;
 import com.sandu.common.util.IpUtil;
 import com.sandu.common.util.ResponseUtil;
-import com.sandu.ximon.admin.dto.AdminDto;
-import com.sandu.ximon.admin.dto.ClientDto;
 import com.sandu.ximon.admin.param.AdminLoginParam;
 import com.sandu.ximon.admin.param.AdminParam;
 import com.sandu.ximon.admin.param.PwdParam;
@@ -165,30 +160,32 @@
         if (!permissionConfig.check(MenuEnum.ADMIN_LIST.getCode())) {
             return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
         }
-        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
-        LambdaQueryWrapper<Admin> wrapper = Wrappers.lambdaQuery(Admin.class);
-        if (keyword != null) {
-            wrapper.like(Admin::getNickName, keyword)
-                    .or(adminLambdaQueryWrapper -> {
-                        adminLambdaQueryWrapper.like(Admin::getUsername, keyword);
-                    });
-        }
-        List<Admin> list = adminService.list(wrapper);
+        return ResponseUtil.successPage(adminService.listAdmin(baseConditionVO, keyword));
 
-        List<AdminDto> adminDtoList = new ArrayList<>();
-        for (Admin demo : list) {
-            AdminDto adminDto = new AdminDto();
-            BeanUtil.copyProperties(demo, adminDto);
-            AdminRoleRelation one = adminRoleRelationService.getOne(Wrappers.lambdaQuery(AdminRoleRelation.class)
-                    .eq(AdminRoleRelation::getAdminId, demo.getId()));
-
-            if (one != null) {
-                adminDto.setRoleId(one.getRoleId());
-            }
-            adminDtoList.add(adminDto);
-
-        }
-        return ResponseUtil.successPage(adminDtoList);
+//        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
+//        LambdaQueryWrapper<Admin> wrapper = Wrappers.lambdaQuery(Admin.class);
+//        if (keyword != null) {
+//            wrapper.like(Admin::getNickName, keyword)
+//                    .or(adminLambdaQueryWrapper -> {
+//                        adminLambdaQueryWrapper.like(Admin::getUsername, keyword);
+//                    });
+//        }
+//        List<Admin> list = adminService.list(wrapper);
+//
+//        List<AdminDto> adminDtoList = new ArrayList<>();
+//        for (Admin demo : list) {
+//            AdminDto adminDto = new AdminDto();
+//            BeanUtil.copyProperties(demo, adminDto);
+//            AdminRoleRelation one = adminRoleRelationService.getOne(Wrappers.lambdaQuery(AdminRoleRelation.class)
+//                    .eq(AdminRoleRelation::getAdminId, demo.getId()));
+//
+//            if (one != null) {
+//                adminDto.setRoleId(one.getRoleId());
+//            }
+//            adminDtoList.add(adminDto);
+//
+//        }
+//        return ResponseUtil.successPage(adminDtoList);
     }
 
     @Log("鍚庡彴鐢ㄦ埛娉ㄥ唽")
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AdminService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AdminService.java
index 37eccb9..019a5f0 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AdminService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AdminService.java
@@ -3,12 +3,15 @@
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.pagehelper.PageHelper;
 import com.sandu.common.enums.RoleLevelStatus;
 import com.sandu.common.execption.BusinessException;
+import com.sandu.common.object.BaseConditionVO;
 import com.sandu.common.service.impl.BaseServiceImpl;
 import com.sandu.ximon.admin.param.AdminParam;
 import com.sandu.ximon.admin.param.PwdParam;
 import com.sandu.ximon.admin.security.SecurityUtils;
+import com.sandu.ximon.dao.bo.AdminBo;
 import com.sandu.ximon.dao.domain.Admin;
 import com.sandu.ximon.dao.domain.AdminRoleRelation;
 import com.sandu.ximon.dao.domain.Client;
@@ -34,6 +37,7 @@
     private final PasswordEncoder passwordEncoder;
     private final AdminRoleRelationService adminRoleRelationService;
     private final RoleService roleService;
+    private AdminMapper adminMapper;
 
     public Admin findByUserName(String username) {
         return getOne(Wrappers.lambdaQuery(Admin.class).eq(Admin::getUsername, username).last("limit 1"));
@@ -96,7 +100,7 @@
             throw new BusinessException("缂栬緫绠$悊鍛樺け璐�");
         }
 
-        adminRoleRelationService.remove(Wrappers.lambdaQuery(AdminRoleRelation.class).eq(AdminRoleRelation::getAdminId,admin.getId()));
+        adminRoleRelationService.remove(Wrappers.lambdaQuery(AdminRoleRelation.class).eq(AdminRoleRelation::getAdminId, admin.getId()));
         AdminRoleRelation adminRoleRelation = new AdminRoleRelation();
         adminRoleRelation.setAdminId(adminId);
         adminRoleRelation.setRoleId(param.getRoleId());
@@ -137,7 +141,7 @@
         List<Integer> levels = roles.stream().map(Role::getLevel).collect(Collectors.toList());
         int min = Collections.min(levels);
         int maxLevel = roleService.assertLevels(min);
-        if(!RoleLevelStatus.SUPER.getCode().equals(maxLevel)){
+        if (!RoleLevelStatus.SUPER.getCode().equals(maxLevel)) {
             throw new BusinessException("鍙湁瓒呯骇绠$悊鍛樻墠鑳藉垹闄ょ敤鎴�");
         }
 
@@ -159,4 +163,12 @@
         one.setIcon(IconUrl);
         return updateById(one);
     }
+
+    public List<AdminBo> listAdmin(BaseConditionVO baseConditionVO, String keyword) {
+        if (baseConditionVO != null) {
+            PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
+        }
+
+        return adminMapper.listAdmin(keyword);
+    }
 }

--
Gitblit v1.9.3