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