lyhzzz před 2 dny
rodič
revize
d9ca77b069

+ 41 - 0
src/main/java/com/fdkankan/manage_jp/common/RequestBase.java

@@ -1,8 +1,10 @@
 package com.fdkankan.manage_jp.common;
 
 import lombok.Data;
+import org.apache.commons.lang3.StringUtils;
 
 import java.io.Serializable;
+import java.util.List;
 
 @Data
 public class RequestBase implements Serializable {
@@ -20,4 +22,43 @@ public class RequestBase implements Serializable {
      * ASC-升序
      */
     private String sortBy = "DESC";
+
+    private List<String> timeList;
+
+    private String startTime;
+    private String endTime;
+
+    public String getStartTime() {
+        if(timeList != null && timeList.size() >1){
+            return getStartTime(timeList.get(0));
+        }
+        return getStartTime(startTime);
+    }
+
+    public String getEndTime() {
+        if(timeList != null && timeList.size() >1){
+            return getEndTime(timeList.get(1));
+        }
+        return getEndTime(endTime);
+    }
+
+    public static String getStartTime(String startTime) {
+        if(StringUtils.isBlank(startTime)){
+            return null;
+        }
+        if(startTime.length() > 12){
+            return startTime;
+        }
+        return startTime +" 00:00:00";
+    }
+
+    public static String getEndTime(String endTime) {
+        if(StringUtils.isBlank(endTime)){
+            return null;
+        }
+        if(endTime.length() > 12){
+            return endTime;
+        }
+        return endTime +" 23:59:59";
+    }
 }

+ 1 - 1
src/main/java/com/fdkankan/manage_jp/controller/UserController.java

@@ -117,7 +117,7 @@ public class UserController extends BaseController {
     }
 
     @PostMapping("/export")
-    public void export(@RequestBody UserParam param){
+    public void export(@RequestBody UserListParam param){
         userService.export(param,request,response);
     }
 }

+ 5 - 1
src/main/java/com/fdkankan/manage_jp/mapper/IUserMapper.java

@@ -1,7 +1,9 @@
 package com.fdkankan.manage_jp.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.manage_jp.entity.User;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.manage_jp.vo.request.UserListParam;
 import com.fdkankan.manage_jp.vo.request.UserParam;
 import com.fdkankan.manage_jp.vo.response.UserExcelVo;
 import org.apache.ibatis.annotations.Mapper;
@@ -20,5 +22,7 @@ import java.util.List;
 @Mapper
 public interface IUserMapper extends BaseMapper<User> {
 
-    List<UserExcelVo> getExPortList(@Param("param") UserParam param);
+    List<UserExcelVo> getExPortList(@Param("param") UserListParam param);
+
+    Page<UserExcelVo> pageList(Page<Object> objectPage, UserListParam param);
 }

+ 1 - 1
src/main/java/com/fdkankan/manage_jp/service/IUserService.java

@@ -48,7 +48,7 @@ public interface IUserService extends IService<User> {
 
     void enableUser(UserParam param);
 
-    void export(UserParam param, HttpServletRequest req, HttpServletResponse resp);
+    void export(UserListParam param, HttpServletRequest req, HttpServletResponse resp);
 
     void del(Long id);
 }

+ 6 - 21
src/main/java/com/fdkankan/manage_jp/service/impl/UserServiceImpl.java

@@ -171,28 +171,13 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
             wrapper.eq(User::getCompanyId,user.getCompanyId());
         }
         wrapper.orderByDesc(User::getCreateTime);
-        Page<User> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
-        List<UserVo> userVos = new ArrayList<>();
-        for (User record : page.getRecords()) {
-            UserVo vo = new UserVo();
-            BeanUtils.copyProperties(record,vo);
-            List<UserRole> userRoleList = userRoleService.getByUserId(record.getId());
-            if(userRoleList.size() >0){
-                Role role = roleService.getById(userRoleList.get(0).getRoleId());
-                vo.setRoleName(role.getRoleName());
-            }
-            if(record.getCompanyId() != null){
-                Company company = companyService.getById(record.getCompanyId());
-                if(company != null){
-                    vo.setCompanyName(company.getCompanyName());
-                }
-            }
-            userVos.add(vo);
-
+        Page<UserExcelVo> page = this.getBaseMapper().pageList(new Page<>(param.getPageNum(), param.getPageSize()),param);
+        List<UserExcelVo> userVos = new ArrayList<>();
+        for (UserExcelVo record : page.getRecords()) {
             List<UserPlatform> userPlatforms = userPlatformService.getByUserId(record.getId());
-            vo.setPlatformIds(userPlatforms.stream().map(UserPlatform::getPlatformId).collect(Collectors.toList()));
+            record.setPlatformIds(userPlatforms.stream().map(UserPlatform::getPlatformId).collect(Collectors.toList()));
         }
-        Page<UserVo> pageVo = new Page<>(param.getPageNum(),param.getPageSize());
+        Page<UserExcelVo> pageVo = new Page<>(param.getPageNum(),param.getPageSize());
         pageVo.setTotal(page.getTotal());
         pageVo.setRecords(userVos);
         return PageInfo.PageInfo(pageVo);
@@ -298,7 +283,7 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
     }
 
     @Override
-    public void export(UserParam param, HttpServletRequest req, HttpServletResponse resp) {
+    public void export(UserListParam param, HttpServletRequest req, HttpServletResponse resp) {
         List<UserExcelVo> exportSceneLists = this.getBaseMapper().getExPortList(param);
         try {
             this.commonExport(req,resp,"用户数据",exportSceneLists, UserExcelVo.class);

+ 2 - 0
src/main/java/com/fdkankan/manage_jp/vo/request/UserListParam.java

@@ -6,4 +6,6 @@ import lombok.Data;
 @Data
 public class UserListParam extends RequestBase {
     private String phoneNum;
+
+    private String companyName;
 }

+ 10 - 0
src/main/java/com/fdkankan/manage_jp/vo/response/UserExcelVo.java

@@ -2,6 +2,7 @@ package com.fdkankan.manage_jp.vo.response;
 
 import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
+import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
 import lombok.Data;
 
@@ -9,10 +10,14 @@ import java.time.LocalDate;
 import java.time.Period;
 import java.time.format.DateTimeFormatter;
 import java.util.Date;
+import java.util.List;
 
 @Data
 public class UserExcelVo {
 
+   @ExcelIgnore
+    private Long id;
+
     @ExcelProperty("所属公司")
     private String companyName;
 
@@ -31,6 +36,11 @@ public class UserExcelVo {
     @ExcelProperty("计算的月数")
     private Integer buildMouth;
 
+    @ExcelIgnore
+    private List<Integer> platformIds;
+
+    @ExcelIgnore
+    private Integer status;
     public Integer getBuildMouth() {
         if(createTime != null){
             return calculateMonthsToNow(createTime);

+ 21 - 5
src/main/resources/mapper/manage_jp/UserMapper.xml

@@ -3,10 +3,19 @@
 <mapper namespace="com.fdkankan.manage_jp.mapper.IUserMapper">
 
     <select id="getExPortList" resultType="com.fdkankan.manage_jp.vo.response.UserExcelVo">
-        select u.user_name,u.nick_name,u.create_time,c.company_name ,r.role_name from t_user u
-            left join t_company c on u.company_id = c.id and c.rec_status = 'A'
-            left join t_user_role ur on u.id = ur.user_id and ur.rec_status = 'A'
-            left join t_role r on ur.role_id = r.id  and r.rec_status = 'A'
+        <include refid="commonSql"></include>
+    </select>
+
+
+    <select id="pageList" resultType="com.fdkankan.manage_jp.vo.response.UserExcelVo">
+        <include refid="commonSql"></include>
+    </select>
+
+    <sql id="commonSql">
+        select u.id,u.user_name,u.nick_name,u.create_time,c.company_name ,r.role_name ,u.status from t_user u
+        left join t_company c on u.company_id = c.id and c.rec_status = 'A'
+        left join t_user_role ur on u.id = ur.user_id and ur.rec_status = 'A'
+        left join t_role r on ur.role_id = r.id  and r.rec_status = 'A'
         where u.rec_status = 'A'
         <if test="param.startTime != null and param.startTime!=''">
             and u.create_time &gt;=#{param.startTime}
@@ -14,5 +23,12 @@
         <if test="param.endTime != null and param.endTime!=''">
             and u.create_time &lt;=#{param.endTime}
         </if>
-    </select>
+        <if test="param.companyName != null and param.companyName!=''">
+            and c.company_name =#{param.companyName}
+        </if>
+        <if test="param.phoneNum != null and param.phoneNum!=''">
+            and u.user_name =#{param.phoneNum}
+        </if>
+        order by u.id desc,u.create_time desc
+    </sql>
 </mapper>