Эх сурвалжийг харах

Finish SysUserV2ServiceImpl

tsurumure 9 сар өмнө
parent
commit
0b6ee03ace

+ 4 - 0
src/main/java/com/backendsys/modules/system/controller/SysUserV2Controller.java

@@ -7,6 +7,7 @@ import com.backendsys.modules.common.config.security.utils.SecurityUtil;
 import com.backendsys.modules.common.utils.Result;
 import com.backendsys.modules.system.entity.SysUser.SysUserInfo;
 import com.backendsys.modules.system.service.SysUserV2Service;
+import com.backendsys.service.System.SysUserService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -21,6 +22,9 @@ import org.springframework.web.bind.annotation.*;
 @Tag(name = "系统用户")
 public class SysUserV2Controller {
 
+    @Autowired
+    private SysUserService sysUserService;
+
     @Autowired
     private SysUserV2Service sysUserV2Service;
 

+ 5 - 0
src/main/java/com/backendsys/modules/system/dao/SysUserInfoDao.java

@@ -4,6 +4,11 @@ import com.backendsys.modules.system.entity.SysUser.SysUserInfo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 @Mapper
 public interface SysUserInfoDao extends BaseMapper<SysUserInfo> {
+
+    List<SysUserInfo> selectUserList(SysUserInfo sysUserInfo);
+
 }

+ 2 - 16
src/main/java/com/backendsys/modules/system/service/impl/SysUserV2ServiceImpl.java

@@ -1,20 +1,16 @@
 package com.backendsys.modules.system.service.impl;
 
-import cn.hutool.core.collection.ListUtil;
-import cn.hutool.core.util.StrUtil;
+import com.backendsys.exception.CustException;
 import com.backendsys.modules.system.dao.*;
 import com.backendsys.modules.system.entity.SysUser.SysUser;
 import com.backendsys.modules.system.entity.SysUser.SysUserInfo;
 import com.backendsys.modules.system.entity.SysUser.SysUserRole;
-import com.backendsys.modules.system.entity.SysUser.SysUserRoleRelation;
 import com.backendsys.modules.system.service.SysUserV2Service;
 import com.backendsys.utils.response.PageEntity;
 import com.backendsys.utils.response.PageInfoResult;
 import com.backendsys.utils.v2.PageUtils;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.github.pagehelper.PageHelper;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -46,20 +42,10 @@ public class SysUserV2ServiceImpl extends ServiceImpl<SysUserDao, SysUser> imple
     public PageEntity selectUserList(SysUserInfo sysUserInfo) {
         // 分页
         PageUtils.startPage();
-        //
-        System.out.println(sysUserInfo);
-        // QueryWrapper<SysUserInfo> queryWrapper = new QueryWrapper<SysUserInfo>().setEntity(sysUserInfo);
-//        LambdaQueryWrapper<SysUserInfo> queryWrapper = new LambdaQueryWrapper<SysUserInfo>().setEntity(sysUserInfo);
-        QueryWrapper<SysUserInfo> queryWrapper = new QueryWrapper<>();
-        queryWrapper.like(StrUtil.isNotEmpty(sysUserInfo.getNickname()), "nickname", sysUserInfo.getNickname());
-
-        // 如何在 setEntity 时,非空字段不加入条件筛选?
-
-        List<SysUserInfo> list = sysUserInfoDao.selectList(queryWrapper);
+        List<SysUserInfo> list = sysUserInfoDao.selectUserList(sysUserInfo);
         return new PageInfoResult(list).toEntity();
     }
 
-
     /**
      * 获得系统用户详情
      */

+ 1 - 1
src/main/java/com/backendsys/utils/response/PageEntity.java

@@ -6,7 +6,7 @@ import java.util.List;
 @Data
 public class PageEntity {
     private Long total;
-    private List<Object> list;
     private Integer page_num;
     private Integer page_size;
+    private List<Object> list;
 }

+ 2 - 2
src/main/java/com/backendsys/utils/response/PageInfoResult.java

@@ -18,17 +18,17 @@ public class PageInfoResult extends PageInfo {
     public Map<String, Object> toMap() {
         Map<String, Object> map = new LinkedHashMap<>();
         map.put("total", getTotal());
-        map.put("list", getList());
         map.put("page_num", getPageNum());
         map.put("page_size", getPageSize());
+        map.put("list", getList());
         return map;
     }
     public PageEntity toEntity() {
         PageEntity entity = new PageEntity();
         entity.setTotal(getTotal());
-        entity.setList(getList());
         entity.setPage_num(getPageNum());
         entity.setPage_size(getPageSize());
+        entity.setList(getList());
         return entity;
     }
 }

+ 76 - 0
src/main/resources/mapper/system/SysUserInfoDao.xml

@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.backendsys.modules.system.dao.SysUserInfoDao">
+
+    <sql id="includeUser">
+        u.id id,
+        COALESCE(u.username, '') username,
+        COALESCE(u.phone, '') phone,
+        COALESCE(u.phone_area_code, '') phone_area_code,
+        uf.user_id user_id,
+        COALESCE(uf.nickname, '') nickname,
+        COALESCE(uf.email, '') email,
+        COALESCE(uf.gender, '') gender,
+        COALESCE(uf.avatar, '') AS avatar,
+        COALESCE(uf.last_login_ip, '') last_login_ip,
+        COALESCE(uf.last_login_uuid, '') last_login_uuid,
+        COALESCE(uf.last_login_time, '') last_login_time,
+        uf.is_super is_super,
+        uf.point_balance point_balance,
+        uf.invite_code invite_code,
+        uf.status status,
+        uf.audit_status audit_status,
+        uf.audit_note audit_note,
+        uf.create_time create_time,
+        uf.update_time update_time,
+        uf.del_flag del_flag
+    </sql>
+
+    <resultMap id="resultMapUserList" type="java.util.LinkedHashMap">
+        <id property="id" column="id" jdbcType="BIGINT" />
+        <result property="user_id" column="user_id" />
+        <result property="username" column="username" />
+        <result property="phone" column="phone" />
+        <result property="phone_area_code" column="phone_area_code" />
+        <result property="nickname" column="nickname" />
+        <result property="email" column="email" />
+        <result property="gender" column="gender" javaType="java.lang.Integer" />
+        <result property="avatar" column="avatar" />
+        <result property="last_login_ip" column="last_login_ip" />
+        <result property="last_login_uuid" column="last_login_uuid" />
+        <result property="last_login_time" column="last_login_time" />
+        <result property="is_super" column="is_super" javaType="java.lang.Integer" />
+        <result property="point_balance" column="point_balance" javaType="java.lang.Float" />
+        <result property="invite_code" column="invite_code" />
+        <result property="status" column="status" javaType="java.lang.Integer"/>
+        <result property="audit_status" column="audit_status" javaType="java.lang.Integer" />
+        <result property="audit_note" column="audit_note" />
+        <result property="create_time" column="create_time" />
+        <result property="update_time" column="update_time" />
+        <result property="del_flag" column="del_flag" javaType="java.lang.Integer" />
+    </resultMap>
+
+    <select id="selectUserList" resultMap="resultMapUserList">
+        SELECT <include refid="includeUser" />
+        FROM sys_user_info uf
+        LEFT JOIN sys_user u ON u.id = uf.user_id
+        <where>
+            <if test="username != null and username != ''">
+                AND u.username LIKE CONCAT('%', #{username}, '%')
+            </if>
+            <if test="nickname != null and nickname != ''">
+                AND uf.nickname LIKE CONCAT('%', #{nickname}, '%')
+            </if>
+            <if test="phone != null and phone != ''">
+                AND u.phone LIKE CONCAT('%', #{phone}, '%')
+            </if>
+            <if test="email != null and email != ''">
+                AND uf.email LIKE CONCAT('%', #{email}, '%')
+            </if>
+            <if test="status != null and status != ''">
+                AND uf.status = #{status}
+            </if>
+        </where>
+    </select>
+
+</mapper>