Browse Source

第三方平台扫码

孙永军 2 years ago
parent
commit
a8ac4559d0

+ 5 - 4
src/main/java/com/sxtvs/open/api/odata/controller/NewMediaController.java

@@ -1,6 +1,7 @@
 package com.sxtvs.open.api.odata.controller;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.sxtvs.open.api.odata.dto.Agg;
 import com.sxtvs.open.api.odata.dto.NewMedia;
 import com.sxtvs.open.api.odata.dto.RequestDTO;
@@ -22,13 +23,13 @@ public class NewMediaController {
     private OpenDataServiceImpl openDataService;
 
     @RequestMapping("agg")
-    public List<Agg> aggList(@RequestBody RequestDTO requestDTO){
-        return openDataService.aggList(requestDTO);
+    public IPage<Agg> aggList(@RequestBody RequestDTO requestDTO){
+        return openDataService.aggPage(requestDTO);
     }
 
     @RequestMapping("list")
-    public List<NewMedia> newMediaList(@RequestBody RequestDTO requestDTO){
-        return openDataService.newMediaList(requestDTO);
+    public IPage<NewMedia> newMediaList(@RequestBody RequestDTO requestDTO){
+        return openDataService.newMediaPage(requestDTO);
     }
 
     @RequestMapping("platform")

+ 63 - 5
src/main/java/com/sxtvs/open/api/odata/dao/OpenDataMapper.java

@@ -2,6 +2,8 @@ package com.sxtvs.open.api.odata.dao;
 
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.sxtvs.open.api.odata.dto.Agg;
 import com.sxtvs.open.api.odata.dto.NewMedia;
 import com.sxtvs.open.api.odata.entity.OpenData;
@@ -19,12 +21,37 @@ public interface OpenDataMapper extends BaseMapper<OpenData> {
                                 @Param("sort") String sort,
                                 @Param("order") Integer order);
 
+    IPage<NewMedia> newMediaList(Page<NewMedia> page,
+                                 @Param("platform") String platform,
+                                @Param("start") String start,
+                                @Param("end") String end,
+                                @Param("match") String match,
+                                @Param("nickNames") List<String> nikeNames,
+                                @Param("sort") String sort,
+                                @Param("order") Integer order);
+
+    IPage<Agg> weiboAggList(Page<Agg> page,
+                            @Param("start") String start,
+                            @Param("end") String end,
+                            @Param("match") String match,
+                            @Param("nickNames") List<String> nikeNames,
+                            @Param("sort") String sort,
+                            @Param("order") Integer order);
+
     List<Agg> weiboAggList(@Param("start") String start,
-                           @Param("end") String end,
-                           @Param("match") String match,
-                           @Param("nickNames") List<String> nikeNames,
-                           @Param("sort") String sort,
-                           @Param("order") Integer order);
+                            @Param("end") String end,
+                            @Param("match") String match,
+                            @Param("nickNames") List<String> nikeNames,
+                            @Param("sort") String sort,
+                            @Param("order") Integer order);
+
+    IPage<Agg> weixinAggList(Page<Agg> page,
+                            @Param("start") String start,
+                            @Param("end") String end,
+                            @Param("match") String match,
+                            @Param("nickNames") List<String> nikeNames,
+                            @Param("sort") String sort,
+                            @Param("order") Integer order);
 
     List<Agg> weixinAggList(@Param("start") String start,
                             @Param("end") String end,
@@ -33,6 +60,13 @@ public interface OpenDataMapper extends BaseMapper<OpenData> {
                             @Param("sort") String sort,
                             @Param("order") Integer order);
 
+    IPage<Agg> toutiaoAggList(Page<Agg> page,
+                             @Param("start") String start,
+                             @Param("end") String end,
+                             @Param("match") String match,
+                             @Param("nickNames") List<String> nikeNames,
+                             @Param("sort") String sort,
+                             @Param("order") Integer order);
     List<Agg> toutiaoAggList(@Param("start") String start,
                              @Param("end") String end,
                              @Param("match") String match,
@@ -40,6 +74,14 @@ public interface OpenDataMapper extends BaseMapper<OpenData> {
                              @Param("sort") String sort,
                              @Param("order") Integer order);
 
+    IPage<Agg> douyinAggList(Page<Agg> page,
+                            @Param("start") String start,
+                            @Param("end") String end,
+                            @Param("match") String match,
+                            @Param("nickNames") List<String> nikeNames,
+                            @Param("sort") String sort,
+                            @Param("order") Integer order);
+
     List<Agg> douyinAggList(@Param("start") String start,
                             @Param("end") String end,
                             @Param("match") String match,
@@ -47,6 +89,13 @@ public interface OpenDataMapper extends BaseMapper<OpenData> {
                             @Param("sort") String sort,
                             @Param("order") Integer order);
 
+    IPage<Agg> kuaishouAggList(Page<Agg> page,
+                              @Param("start") String start,
+                              @Param("end") String end,
+                              @Param("match") String match,
+                              @Param("nickNames") List<String> nikeNames,
+                              @Param("sort") String sort,
+                              @Param("order") Integer order);
     List<Agg> kuaishouAggList(@Param("start") String start,
                               @Param("end") String end,
                               @Param("match") String match,
@@ -54,6 +103,14 @@ public interface OpenDataMapper extends BaseMapper<OpenData> {
                               @Param("sort") String sort,
                               @Param("order") Integer order);
 
+    IPage<Agg> biliAggList(Page<Agg> page,
+                          @Param("start") String start,
+                          @Param("end") String end,
+                          @Param("match") String match,
+                          @Param("nickNames") List<String> nikeNames,
+                          @Param("sort") String sort,
+                          @Param("order") Integer order);
+
     List<Agg> biliAggList(@Param("start") String start,
                           @Param("end") String end,
                           @Param("match") String match,
@@ -61,6 +118,7 @@ public interface OpenDataMapper extends BaseMapper<OpenData> {
                           @Param("sort") String sort,
                           @Param("order") Integer order);
 
+
     String weiboLastDt();
     String weixinLastDt();
     String toutiaoLastDt();

+ 20 - 0
src/main/java/com/sxtvs/open/api/odata/dto/RequestDTO.java

@@ -22,6 +22,10 @@ public class RequestDTO {
 
     private Integer order;
 
+    private Integer page = 1;
+
+    private Integer size = 20;
+
     public RequestDTO() {
     }
 
@@ -111,4 +115,20 @@ public class RequestDTO {
     public void setOrder(Integer order) {
         this.order = order;
     }
+
+    public Integer getPage() {
+        return page;
+    }
+
+    public void setPage(Integer page) {
+        this.page = page;
+    }
+
+    public Integer getSize() {
+        return size;
+    }
+
+    public void setSize(Integer size) {
+        this.size = size;
+    }
 }

+ 60 - 1
src/main/java/com/sxtvs/open/api/odata/service/impl/OpenDataServiceImpl.java

@@ -5,6 +5,8 @@ import cn.hutool.core.io.IoUtil;
 import cn.hutool.core.map.MapUtil;
 import cn.hutool.poi.excel.ExcelUtil;
 import cn.hutool.poi.excel.ExcelWriter;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
 import com.sxtvs.open.api.odata.dao.OpenDataMapper;
@@ -30,6 +32,48 @@ import java.util.Map;
 
 @Service
 public class OpenDataServiceImpl extends ServiceImpl<OpenDataMapper, OpenData> implements IOpenDataService {
+    public IPage<Agg> aggPage(RequestDTO requestDTO){
+        DateTimeFormatter dtf1 = DateTimeFormatter.ofPattern("yyyyMMdd");
+//        DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyyMM");
+        DateTimeFormatter dtf3 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+//        DateTimeFormatter dtf4 = DateTimeFormatter.ofPattern("yyyy-MM");
+        IPage<Agg> newMediaList;
+        List<String> names = new ArrayList<>();
+        if(!TextUtils.isEmpty(requestDTO.getUserId())){
+            requestDTO.setGroupName(baseMapper.getDepGroup(requestDTO.getUserId()));
+        }
+        if (!TextUtils.isEmpty(requestDTO.getGroupName())){
+            names = baseMapper.departmentGroup(requestDTO.getGroupName(), null);
+        }
+        Page<Agg> objectPage = new Page<>(requestDTO.getPage(), requestDTO.getSize());
+        switch (requestDTO.getPlatform()){
+            case "微博":
+                newMediaList = baseMapper.weiboAggList(objectPage,
+                        dtf1.format(requestDTO.getStart()), dtf1.format(requestDTO.getEnd()), requestDTO.getMatch(),
+                        names, aggSort(requestDTO.getSort()), requestDTO.getOrder());
+                break;
+            case "微信":
+                newMediaList = baseMapper.weixinAggList(objectPage, dtf1.format(requestDTO.getStart()), dtf1.format(requestDTO.getEnd()), requestDTO.getMatch(), names, aggSort(requestDTO.getSort()), requestDTO.getOrder());
+                break;
+            case "头条":
+                newMediaList = baseMapper.toutiaoAggList(objectPage, dtf3.format(requestDTO.getStart()), dtf3.format(requestDTO.getEnd()), requestDTO.getMatch(), names, aggSort(requestDTO.getSort()), requestDTO.getOrder());
+                break;
+            case "抖音":
+                newMediaList = baseMapper.douyinAggList(objectPage, dtf1.format(requestDTO.getStart()), dtf1.format(requestDTO.getEnd()), requestDTO.getMatch(), names, aggSort(requestDTO.getSort()), requestDTO.getOrder());
+                break;
+            case "快手":
+                newMediaList = baseMapper.kuaishouAggList(objectPage, dtf3.format(requestDTO.getStart()), dtf3.format(requestDTO.getEnd()), requestDTO.getMatch(), names, aggSort(requestDTO.getSort()), requestDTO.getOrder());
+                break;
+            case "B站":
+                newMediaList = baseMapper.biliAggList(objectPage, dtf3.format(requestDTO.getStart()), dtf3.format(requestDTO.getEnd()), requestDTO.getMatch(), names, aggSort(requestDTO.getSort()), requestDTO.getOrder());
+                break;
+            default:
+                throw new IllegalStateException("Unexpected value: " + requestDTO.getPlatform());
+        }
+
+        return newMediaList;
+    }
+
     public List<Agg> aggList(RequestDTO requestDTO){
         DateTimeFormatter dtf1 = DateTimeFormatter.ofPattern("yyyyMMdd");
 //        DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyyMM");
@@ -45,7 +89,10 @@ public class OpenDataServiceImpl extends ServiceImpl<OpenDataMapper, OpenData> i
         }
         switch (requestDTO.getPlatform()){
             case "微博":
-                newMediaList = baseMapper.weiboAggList(dtf1.format(requestDTO.getStart()), dtf1.format(requestDTO.getEnd()), requestDTO.getMatch(), names, aggSort(requestDTO.getSort()), requestDTO.getOrder());
+                newMediaList = baseMapper.weiboAggList(
+                        dtf1.format(requestDTO.getStart()), dtf1.format(requestDTO.getEnd()), requestDTO.getMatch(),
+                        names, aggSort(requestDTO.getSort()), requestDTO.getOrder()
+                );
                 break;
             case "微信":
                 newMediaList = baseMapper.weixinAggList(dtf1.format(requestDTO.getStart()), dtf1.format(requestDTO.getEnd()), requestDTO.getMatch(), names, aggSort(requestDTO.getSort()), requestDTO.getOrder());
@@ -63,9 +110,21 @@ public class OpenDataServiceImpl extends ServiceImpl<OpenDataMapper, OpenData> i
                 newMediaList = baseMapper.biliAggList(dtf3.format(requestDTO.getStart()), dtf3.format(requestDTO.getEnd()), requestDTO.getMatch(), names, aggSort(requestDTO.getSort()), requestDTO.getOrder());
                 break;
         }
+
         return newMediaList;
     }
 
+    public IPage<NewMedia> newMediaPage(RequestDTO requestDTO){
+        DateTimeFormatter dtf1 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        List<String> names = new ArrayList<>();
+        if(!TextUtils.isEmpty(requestDTO.getUserId())){
+            requestDTO.setGroupName(baseMapper.getDepGroup(requestDTO.getUserId()));
+            names = baseMapper.departmentGroup(requestDTO.getGroupName(), requestDTO.getPlatform());
+        }
+
+        return baseMapper.newMediaList(new Page<>(requestDTO.getPage(), requestDTO.getSize()), requestDTO.getPlatform(), dtf1.format(requestDTO.getStart()), dtf1.format(requestDTO.getEnd()), requestDTO.getMatch(), names, listSort(requestDTO.getSort()), requestDTO.getOrder());
+    }
+
     public List<NewMedia> newMediaList(RequestDTO requestDTO){
         DateTimeFormatter dtf1 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
         List<String> names = new ArrayList<>();

+ 1 - 0
src/main/resources/application.yml

@@ -53,6 +53,7 @@ spring:
   jackson:
     time-zone: GMT+8
     date-format: "yyyy-MM-dd HH:mm:ss"
+    default-property-inclusion: ALWAYS
   profiles:
     default: dev