Преглед изворни кода

用户分页接口代码提交,lombok依赖添加

jingyuanchao пре 2 година
родитељ
комит
e7ef30a8e2

+ 11 - 2
pom.xml

@@ -36,7 +36,7 @@
         <commons.codec.version>1.10</commons.codec.version>
         <commons.lang3.version>3.12.0</commons.lang3.version>
         <okhttp.version>3.10.0</okhttp.version>
-        <lombok.version>1.18.10</lombok.version>
+        <lombok.version>1.18.26</lombok.version>
         <generator.version>3.2.0</generator.version>
         <freemarker.version>2.7.2</freemarker.version>
     </properties>
@@ -177,7 +177,11 @@
                 <artifactId>soc-common-security</artifactId>
                 <version>${soc.version}</version>
             </dependency>
-
+            <dependency>
+                <groupId>org.projectlombok</groupId>
+                <artifactId>lombok</artifactId>
+                <version>${lombok.version}</version>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 
@@ -195,6 +199,11 @@
             <groupId>org.springframework.cloud</groupId>
             <artifactId>spring-cloud-starter-bootstrap</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>${lombok.version}</version>
+        </dependency>
     </dependencies>
 
 

+ 25 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/web/domain/PageDto.java

@@ -0,0 +1,25 @@
+package com.xunmei.common.core.web.domain;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.Data;
+
+/**
+ * @author : 高雄
+ * @date :2022/4/28 17:07
+ * @description :
+ * @modyified By:
+ */
+@Data
+public class PageDto<T> {
+
+    private Long page = 0L;
+
+    private Long size = 10L;
+
+    public Page<T> getPageDto(){
+        Page<T> mePage = new Page<>();
+        mePage.setCurrent(this.getPage() + 1);
+        mePage.setSize(this.getSize());
+        return mePage;
+    }
+}

+ 8 - 2
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/dto/user/UserPageDto.java

@@ -1,11 +1,17 @@
 package com.xunmei.system.dto.user;
 
+import com.xunmei.common.core.web.domain.PageDto;
+import com.xunmei.system.vo.user.UserPageVo;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
 /**
  * @author jingyuanchao
  * @date 2023/8/3 17:05
  */
-
-public class UserPageDto {
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class UserPageDto extends PageDto<UserPageVo> {
 
     private String username;
 

+ 3 - 0
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/mapper/UserMapper.java

@@ -3,6 +3,8 @@ package com.xunmei.system.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xunmei.system.api.domain.User;
+import com.xunmei.system.dto.user.UserPageDto;
+import com.xunmei.system.vo.user.UserPageVo;
 import org.apache.ibatis.annotations.Param;
 
 public interface UserMapper extends BaseMapper<User> {
@@ -21,4 +23,5 @@ public interface UserMapper extends BaseMapper<User> {
      */
     User checkUserNameUnique(String userName);
 
+    Page<UserPageVo> selectPageData(@Param("page") Page<UserPageVo> page, @Param("request") UserPageDto request);
 }

+ 10 - 7
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/UserServiceImpl.java

@@ -23,16 +23,19 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
     @Autowired
     private RoleMapper roleMapper;
 
+    @Autowired
+    private UserMapper userMapper;
+
     @Override
     public Page<User> selectPage(Page<User> page, User user) {
-        return baseMapper.selectPage(page,user);
+        return baseMapper.selectPage(page, user);
     }
 
     @Override
     public User selectUserByUserName(String username) {
         QueryWrapper<User> qw = new QueryWrapper<>();
-        qw.eq("username",username);
-        qw.eq("deleted",0);
+        qw.eq("username", username);
+        qw.eq("deleted", 0);
         User user = baseMapper.selectOne(qw);
 
         //获取用户下的权限role
@@ -45,7 +48,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
     public boolean checkUserNameUnique(User user) {
         Long userId = StringUtils.isNull(user.getId()) ? -1L : user.getId();
         User info = baseMapper.checkUserNameUnique(user.getUsername());
-        if(StringUtils.isNotNull(info) && info.getId().longValue() != userId.longValue()){
+        if (StringUtils.isNotNull(info) && info.getId().longValue() != userId.longValue()) {
             return UserConstants.NOT_UNIQUE;
         }
         return UserConstants.UNIQUE;
@@ -53,8 +56,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
 
     @Override
     public Page<UserPageVo> selectPageData(UserPageDto request) {
-
-
-        return null;
+        final Page<UserPageVo> page = request.getPageDto();
+        Page<UserPageVo> pageData = userMapper.selectPageData(page, request);
+        return pageData;
     }
 }

+ 16 - 1
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/vo/user/UserPageVo.java

@@ -1,11 +1,26 @@
 package com.xunmei.system.vo.user;
 
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
 /**
  * @author jingyuanchao
  * @date 2023/8/3 17:12
  */
 
+@Data
+public class UserPageVo {
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty(value = "主键")
+    private Long id;
+    @ApiModelProperty(value = "用户名")
+    private String username;
+
+    @ApiModelProperty(value = "手机号")
+    private String phone;
 
 
-public class UserPageVo {
 }

+ 21 - 5
soc-modules/soc-modules-system/src/main/resources/mapper/system/UserMapper.xml

@@ -1,16 +1,32 @@
 <?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">
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.xunmei.system.mapper.UserMapper">
 
-	<select id="selectPage" resultType="com.xunmei.system.api.domain.User">
-        select * from  t_user
+    <select id="selectPage" resultType="com.xunmei.system.api.domain.User">
+        select *
+        from t_user
     </select>
 
     <select id="checkUserNameUnique" resultType="com.xunmei.system.api.domain.User"
             parameterType="java.lang.String">
-        select id, username from t_user where username = #{userName} and deleted = '0' limit 1
+        select id, username
+        from t_user
+        where username = #{userName}
+          and deleted = '0'
+        limit 1
+    </select>
+    <select id="selectPageData" resultType="com.xunmei.system.vo.user.UserPageVo">
+        select * from t_user u
+        <where>
+            <if test="request.username != null and request.username != ''">
+                and u.username like concat('%', #{request.username}, '%')
+            </if>
+            <if test="request.phone != null and request.phone != ''">
+                and u.phone like concat('%', #{request.phone}, '%')
+            </if>
+        </where>
     </select>
 
 </mapper>