瀏覽代碼

素材排行分页重构

syh 5 年之前
父節點
當前提交
97016704a8

+ 6 - 5
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/MaterialTopCtrl.java

@@ -1,10 +1,11 @@
 package org.jeecg.modules.ctop.controller;
 
 import com.alibaba.fastjson.JSONObject;
-import com.github.pagehelper.PageInfo;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.ctop.service.IMaterialTopService;
+import org.jeecg.modules.ctop.vo.MaterialTopVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -20,12 +21,12 @@ public class MaterialTopCtrl {
     IMaterialTopService materialTopService;
 
     @PostMapping("/top/cost")
-    public Result<PageInfo<JSONObject>> getCostTop(@RequestBody JSONObject requestBody,
+    public Result<IPage<MaterialTopVO>> getCostTop(@RequestBody JSONObject requestBody,
                                                    @RequestParam(defaultValue = "cost") String target,
                                                    @RequestParam(defaultValue = "desc") String order,
                                                    @RequestParam(defaultValue = "1") int pageNo,
                                                    @RequestParam(defaultValue = "10") int pageSize) {
-        Result<PageInfo<JSONObject>> result = new Result<>();
+        Result<IPage<MaterialTopVO>> result = new Result<>();
         if(requestBody.isEmpty()){
             log.error("request body is empty");
             result.setSuccess(false);
@@ -37,8 +38,8 @@ public class MaterialTopCtrl {
                 log.error("startDate or endDate is empty");
                 result.setSuccess(false);
             }
-            PageInfo<JSONObject> resultPageInfo = materialTopService.pageQueryMaterialTop(endDate, startDate, target, order, pageNo, pageSize);
-            result.setResult(resultPageInfo);
+            IPage<MaterialTopVO> voiPage = materialTopService.selectByPage(endDate, startDate, target, order, pageNo, pageSize);
+            result.setResult(voiPage);
             result.setSuccess(true);
         } catch (Exception e) {
             log.error(e.getMessage(),e);

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ProjectMemberController.java

@@ -185,7 +185,7 @@ public class ProjectMemberController {
                     QueryWrapper<ProjectMember> queryWrapper = new QueryWrapper<>();
                     queryWrapper.eq("user_id", userId);
                     queryWrapper.eq("project_id", projectId);
-                    ProjectMember selectMember = (ProjectMember) projectMemberService.getObj(queryWrapper);
+                    ProjectMember selectMember = (ProjectMember) projectMemberService.getOne(queryWrapper);
                     if (!Check.isNull(selectMember)) {
                         continue;
                     }

+ 6 - 6
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/MaterialTopMapper.java

@@ -1,12 +1,12 @@
 package org.jeecg.modules.ctop.mapper;
 
-import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
+import org.jeecg.modules.ctop.vo.MaterialTopVO;
 
 public interface MaterialTopMapper {
-
-    List<JSONObject> queryMaterialTop(@Param("startDate") String startDate, @Param("endDate") String endDate);
-
+    IPage<MaterialTopVO> selectMapsPage(Page<MaterialTopVO> page, @Param(Constants.WRAPPER)QueryWrapper<MaterialTopVO> wrapper);
 }

+ 31 - 9
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/MaterialTopMapper.xml

@@ -3,29 +3,51 @@
 <mapper namespace="org.jeecg.modules.ctop.mapper.MaterialTopMapper">
 
 
-    <select id="queryMaterialTop" resultType="com.alibaba.fastjson.JSONObject">
+    <select id="queryMaterialTop" resultType="org.jeecg.modules.ctop.vo.MaterialTopVO">
         SELECT
-        NAME,
-        stat_date AS statDate,
+        name,
+        stat_date ,
         cost,
         click,
-        show_num AS showNum,
+        show_num,
         active,
         register,
         pay,
-        phone_convert phoneConvert,
-        form_convert formConvert,
-        convert_rate convertRate,
+        phone_convert ,
+        form_convert ,
+        convert_rate ,
         residue,
         play3s,
         play10s
         FROM
         ctop_material_report_total_result
         WHERE
-            stat_datetime &lt;= #{endDate}
+            stat_date &lt;= '${endDate}'
           AND
-            stat_datetime &gt;= #{startDate}
+            stat_date &gt;= '${startDate}'
         ORDER BY cost desc
     </select>
+    <select id="selectMapsPage" resultType="org.jeecg.modules.ctop.vo.MaterialTopVO">
+        SELECT
+        url,
+        name,
+        stat_date ,
+        cost,
+        click,
+        show_num,
+        active,
+        register,
+        pay,
+        phone_convert ,
+        form_convert ,
+        convert_rate ,
+        residue,
+        play3s,
+        play10s
+        FROM
+        ctop_material_report_total_result
+        where
+        ${ew.sqlSegment}
+    </select>
 
 </mapper>

+ 3 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IMaterialTopService.java

@@ -1,8 +1,8 @@
 package org.jeecg.modules.ctop.service;
 
-import com.alibaba.fastjson.JSONObject;
-import com.github.pagehelper.PageInfo;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.jeecg.modules.ctop.vo.MaterialTopVO;
 
 public interface IMaterialTopService {
-    PageInfo<JSONObject> pageQueryMaterialTop(String endDate, String startDate,String target,String order, int pageNo, int pageSize);
+    IPage<MaterialTopVO> selectByPage(String endDate, String startDate, String target, String order, int pageNo, int pageSize);
 }

+ 16 - 14
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/MaterialTopServiceImpl.java

@@ -1,15 +1,15 @@
 package org.jeecg.modules.ctop.service.impl;
 
-import com.alibaba.fastjson.JSONObject;
-import com.github.pagehelper.PageHelper;
-import com.github.pagehelper.PageInfo;
+import cn.com.ctop.common.module.utils.CtopAdConstant;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.jeecg.modules.ctop.mapper.MaterialTopMapper;
 import org.jeecg.modules.ctop.service.IMaterialTopService;
+import org.jeecg.modules.ctop.vo.MaterialTopVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.List;
-
 /**
  *  Created by JQ.bi on 2020.05.22
  */
@@ -18,16 +18,18 @@ public class MaterialTopServiceImpl  implements IMaterialTopService {
 
     @Autowired
     MaterialTopMapper materialTopMapper;
-
     @Override
-    public PageInfo<JSONObject> pageQueryMaterialTop(String endDate, String startDate, String target, String  order, int pageNo , int pageSize) {
-        //时间维度分页查询
-        PageHelper.startPage(pageNo,pageSize);
-        List<JSONObject> jsonObjectList = materialTopMapper.queryMaterialTop(endDate,startDate);
-        PageInfo<JSONObject> pageInfo= new PageInfo<>();
-        pageInfo.setList(jsonObjectList);
-
-        return pageInfo;
+    public IPage<MaterialTopVO> selectByPage(String endDate, String startDate, String target, String order, int pageNo, int pageSize) {
+        QueryWrapper<MaterialTopVO> wrapper = new QueryWrapper();
+        wrapper.ge("stat_date", startDate).le("stat_date", endDate);
+        if(order.equals(CtopAdConstant.COMMON_ORDER_TYPE_ASC)){
+            wrapper.orderByAsc(target);
+        }else{
+            wrapper.orderByDesc(target);
+        }
+        Page<MaterialTopVO> page = new Page<>((pageNo-1)*pageSize,pageSize);
+        IPage<MaterialTopVO> mapIPage = materialTopMapper.selectMapsPage(page, wrapper);
+        return mapIPage;
     }
 
 }

+ 24 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vo/MaterialTopVO.java

@@ -0,0 +1,24 @@
+package org.jeecg.modules.ctop.vo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class MaterialTopVO {
+    private String url;
+    private String name ;
+    private String statDate;
+    private BigDecimal cost;
+    private Long click;
+    private Long showNum;
+    private Long active;
+    private Long register;
+    private BigDecimal pay;
+    private Long phoneConvert;
+    private Long formConvert;
+    private BigDecimal convertRate;
+    private Long residue;
+    private Long play3s;
+    private Long play10s;
+}

+ 0 - 6
jeecg-boot-module-system/src/main/resources/application-test.yml

@@ -106,12 +106,6 @@ spring:
           username: hcst
           password: test@20190531
           driver-class-name: com.mysql.jdbc.Driver
-          # 多数据源配置
-          #multi-datasource1:
-          #url: jdbc:mysql://localhost:3306/jeecg-boot2?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true
-          #username: root
-          #password: root
-          #driver-class-name: com.mysql.jdbc.Driver
   #redis 配置
   redis:
     database: 0

+ 3 - 0
module-common/src/main/java/cn/com/ctop/common/module/utils/CtopAdConstant.java

@@ -71,4 +71,7 @@ public class CtopAdConstant {
     public static final Integer COMMON_STATUS_ENABLED = 1;
 
     public static final Integer COMMON_STATUS_NOT_ENABLED = 0;
+
+    public static final String COMMON_ORDER_TYPE_ASC = "asc";
+    public static final String COMMON_ORDER_TYPE_DESC = "desc";
 }

+ 1 - 2
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouGroupCreateLogController.java

@@ -108,8 +108,7 @@ public class KuaiShouGroupCreateLogController {
         }
         queryWrapper.orderByDesc("create_time");
         queryWrapper.last("limit 1");
-        KuaiShouGroupCreateLog groupCreateLog = (KuaiShouGroupCreateLog) kuaiShouGroupCreateLogService.getObj(queryWrapper);
-
+        KuaiShouGroupCreateLog groupCreateLog = (KuaiShouGroupCreateLog) kuaiShouGroupCreateLogService.getOne(queryWrapper);
         return groupCreateLog;
     }
 

+ 1 - 1
pom.xml

@@ -91,7 +91,7 @@
         <java.version>1.8</java.version>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <mybatis-plus.version>3.0.6</mybatis-plus.version>
+        <mybatis-plus.version>3.0.7</mybatis-plus.version>
         <druid.version>1.1.10</druid.version>
         <commons.version>2.6</commons.version>
         <aliyun-java-sdk-core.version>3.5.0</aliyun-java-sdk-core.version>