瀏覽代碼

设计提效看板

yumeng 2 年之前
父節點
當前提交
62998a7e3d

+ 301 - 0
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/controller/MaterialDataController.java

@@ -0,0 +1,301 @@
+package org.jeecg.ctop.material.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.ctop.material.service.impl.IMaterialDataService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/materialData")
+@Slf4j
+public class MaterialDataController {
+    @Autowired
+    private IMaterialDataService materialDataService;
+
+    // 获取汇总信息
+    @GetMapping("/getTotalData")
+    public JSONObject getTotalData(Long mediaId, String userId, String startDate, String endDate) {
+        JSONObject returnJson = new JSONObject();
+        try {
+            Map<String, Object> requestMap = getRequestMap(mediaId, userId, startDate, endDate);
+            JSONObject dataJson = new JSONObject();
+            if (mediaId == 1) { // 查询头条汇总
+                dataJson = materialDataService.getByteDanceTotalInfo(requestMap);
+            } else if (mediaId == 2) {// 查询快手汇总
+                dataJson = materialDataService.getKuaiShouTotalInfo(requestMap);
+            }
+            returnJson.put("code", 200);
+            returnJson.put("message", "查询成功");
+            returnJson.put("data", dataJson);
+        } catch (Exception e) {
+            e.printStackTrace();
+            returnJson.put("code", -1);
+            returnJson.put("message", "查询失败");
+        }
+        return returnJson;
+    }
+
+    // 获取图表信息
+    @GetMapping("/getChartData")
+    public JSONObject getChartData(Long mediaId, String userId, String startDate, String endDate, Integer type) {
+        // type 1:总消耗 2:素材制作量 3:推送媒体量 4:产生消耗量 5:有消素材量
+        JSONObject returnJson = new JSONObject();
+        try {
+            Map<String, Object> requestMap = getRequestMap(mediaId, userId, startDate, endDate);
+            List<JSONObject> dataJson = new ArrayList<>();
+            if (mediaId == 1) { // 查询头条汇总
+                dataJson = materialDataService.getByteDanceChartData(requestMap, type);
+            } else if (mediaId == 2) {// 查询快手汇总
+                dataJson = materialDataService.getKuaiShouChartData(requestMap, type);
+            }
+            returnJson.put("code", 200);
+            returnJson.put("message", "查询成功");
+            returnJson.put("data", dataJson);
+        } catch (Exception e) {
+            e.printStackTrace();
+            returnJson.put("code", -1);
+            returnJson.put("message", "查询失败");
+        }
+        return returnJson;
+    }
+
+
+    //分项目数据
+    @GetMapping("/getProjectData")
+    public Result<Object> getProjectData(Long mediaId, String userId, String startDate, String endDate, String role, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
+    // role  前端传 只有角色为 剪辑 拍摄 编导才传此参数  默认是 剪辑:clip
+        JSONObject returnJson = new JSONObject();
+        try {
+            Map<String, Object> requestMap = new HashMap<>();
+            if ("4aba62011120ac565c7f2b9f8f4aa96b".equals(userId) || "b161b7d9793942f980dbfe8c931cd1b0".equals(userId) || "228c45f913924639bf20c79ce5dadb16".equals(userId) || "a6abfea0f27843bf8595a234410afb04".equals(userId) || "e9d527b2b6854a1ea0cc3167fc6a27d0".equals(userId) || "e9ca23d68d884d4ebb19d07889727dae".equals(userId)) { // 如果当前登录人是老板、丁总、王垒、管理员 查看所有数据
+
+            } else if ("cf91a54ef9064624a0a819f4b28bdaa6".equals(userId)) { // 如果当前登录人是石雨珂 查看石家庄整体数据
+                String companyId = materialDataService.getCompanyIdByUserId(userId);
+                requestMap.put("companyId", companyId);
+            } else {
+                String roleCode = materialDataService.getRoleCodeByUserId(userId);
+                if ("designTeamLeader".equals(roleCode)) { // 设计组长查看自己和下级的数据
+                    requestMap.put("leaderId", userId);
+                } else {
+                    if ("clip".equals(role)) { // 剪辑查看自己角色为剪辑的数据
+                        requestMap.put("clipId", userId);
+                    }
+                    if ("plan".equals(role)) {
+                        requestMap.put("planId", userId);
+                    }
+                    if ("shot".equals(role)) {
+                        requestMap.put("shotId", userId);
+                    }
+                }
+            }
+            Long start = Long.valueOf(startDate.replace("-", ""));
+            Long end = Long.valueOf(endDate.replace("-", ""));
+            requestMap.put("start", start);
+            requestMap.put("end", end);
+            List<JSONObject> dataJson = new ArrayList<>();
+            if (mediaId == 1) { // 查询头条分项目数据
+                return materialDataService.getByteDanceProjectData(requestMap, pageNo, pageSize);
+            } else if (mediaId == 2) {// 查询快手分项目数据
+                return materialDataService.getKuaiShouProjectData(requestMap, pageNo, pageSize);
+            }
+            returnJson.put("code", 200);
+            returnJson.put("message", "查询成功");
+            returnJson.put("data", dataJson);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return Result.error(e.getMessage());
+        }
+        return null;
+    }
+
+
+    // 分团队数据
+    @GetMapping("/getTeamData")
+    public Result<Object> getTeamData(Long mediaId, String userId, String startDate, String endDate,  @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
+        // 只有公司负责人有此权限
+        JSONObject returnJson = new JSONObject();
+        try {
+            Map<String, Object> requestMap = new HashMap<>();
+            if ("4aba62011120ac565c7f2b9f8f4aa96b".equals(userId) || "b161b7d9793942f980dbfe8c931cd1b0".equals(userId) || "228c45f913924639bf20c79ce5dadb16".equals(userId) || "a6abfea0f27843bf8595a234410afb04".equals(userId) || "e9d527b2b6854a1ea0cc3167fc6a27d0".equals(userId) || "e9ca23d68d884d4ebb19d07889727dae".equals(userId)) { // 如果当前登录人是老板、丁总、王垒、管理员 查看所有数据
+
+            } else if ("cf91a54ef9064624a0a819f4b28bdaa6".equals(userId)) { // 如果当前登录人是石雨珂 查看石家庄整体数据
+                String companyId = materialDataService.getCompanyIdByUserId(userId);
+                requestMap.put("companyId", companyId);
+            } else {
+                return Result.error("没有此权限");
+            }
+            Long start = Long.valueOf(startDate.replace("-", ""));
+            Long end = Long.valueOf(endDate.replace("-", ""));
+            requestMap.put("start", start);
+            requestMap.put("end", end);
+            List<JSONObject> dataJson = new ArrayList<>();
+            if (mediaId == 1) { // 查询头条分团队数据
+                return materialDataService.getByteDanceTeamData(requestMap, pageNo, pageSize);
+            } else if (mediaId == 2) {// 查询快手分团队数据
+                return materialDataService.getKuaiShouTeamData(requestMap, pageNo, pageSize);
+            }
+            returnJson.put("code", 200);
+            returnJson.put("message", "查询成功");
+            returnJson.put("data", dataJson);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return Result.error(e.getMessage());
+        }
+        return null;
+    }
+
+
+
+    //分成员数据
+    @GetMapping("/getUserData")
+    public Result<Object> getUserData(Long mediaId, String userId, String startDate, String endDate, String role, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
+        // role  前端传  role 所有角色必传此参数  默认是 剪辑:clip plan shot
+        JSONObject returnJson = new JSONObject();
+        try {
+            Map<String, Object> requestMap = new HashMap<>();
+            // 如果当前登录人是老板、丁总、王垒、管理员 查看所有数据
+            if ("4aba62011120ac565c7f2b9f8f4aa96b".equals(userId) || "b161b7d9793942f980dbfe8c931cd1b0".equals(userId) || "228c45f913924639bf20c79ce5dadb16".equals(userId) || "a6abfea0f27843bf8595a234410afb04".equals(userId) || "e9d527b2b6854a1ea0cc3167fc6a27d0".equals(userId) || "e9ca23d68d884d4ebb19d07889727dae".equals(userId)) {
+
+            } else if ("cf91a54ef9064624a0a819f4b28bdaa6".equals(userId)) { // 如果当前登录人是石雨珂 查看石家庄整体数据
+                String companyId = materialDataService.getCompanyIdByUserId(userId);
+                requestMap.put("companyId", companyId);
+            } else {
+                String roleCode = materialDataService.getRoleCodeByUserId(userId);
+                if ("designTeamLeader".equals(roleCode)) { // 设计组长查看自己和下级的数据
+                    requestMap.put("leaderId", userId);
+                } else {
+                    if ("clip".equals(role)) { // 剪辑查看自己角色为剪辑的数据
+                        requestMap.put("clipId", userId);
+                    }
+                    if ("plan".equals(role)) {
+                        requestMap.put("planId", userId);
+                    }
+                    if ("shot".equals(role)) {
+                        requestMap.put("shotId", userId);
+                    }
+                }
+            }
+            Long start = Long.valueOf(startDate.replace("-", ""));
+            Long end = Long.valueOf(endDate.replace("-", ""));
+            requestMap.put("start", start);
+            requestMap.put("end", end);
+            requestMap.put("role", role);
+            List<JSONObject> dataJson = new ArrayList<>();
+            if (mediaId == 1) { // 查询头条分成员数据
+                return materialDataService.getByteDanceUserData(requestMap, pageNo, pageSize);
+            } else if (mediaId == 2) {// 查询快手分成员数据
+                return materialDataService.getKuaiShouUserData(requestMap, pageNo, pageSize);
+            }
+            returnJson.put("code", 200);
+            returnJson.put("message", "查询成功");
+            returnJson.put("data", dataJson);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return Result.error(e.getMessage());
+        }
+        return null;
+    }
+
+
+
+
+
+    //分成员数据
+    @GetMapping("/getVideoData")
+    public Result<Object> getVideoData(Long mediaId, String userId, String startDate, String endDate, String role, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
+        // role  前端传 只有角色为 剪辑 拍摄 编导才传此参数  默认是 剪辑:clip plan shot
+        JSONObject returnJson = new JSONObject();
+        try {
+            Map<String, Object> requestMap = new HashMap<>();
+            // 如果当前登录人是老板、丁总、王垒、管理员 查看所有数据
+            if ("4aba62011120ac565c7f2b9f8f4aa96b".equals(userId) || "b161b7d9793942f980dbfe8c931cd1b0".equals(userId) || "228c45f913924639bf20c79ce5dadb16".equals(userId) || "a6abfea0f27843bf8595a234410afb04".equals(userId) || "e9d527b2b6854a1ea0cc3167fc6a27d0".equals(userId) || "e9ca23d68d884d4ebb19d07889727dae".equals(userId)) {
+
+            } else if ("cf91a54ef9064624a0a819f4b28bdaa6".equals(userId)) { // 如果当前登录人是石雨珂 查看石家庄整体数据
+                String companyId = materialDataService.getCompanyIdByUserId(userId);
+                requestMap.put("companyId", companyId);
+            } else {
+                String roleCode = materialDataService.getRoleCodeByUserId(userId);
+                if ("designTeamLeader".equals(roleCode)) { // 设计组长查看自己和下级的数据
+                    requestMap.put("leaderId", userId);
+                } else {
+                    if ("clip".equals(role)) { // 剪辑查看自己角色为剪辑的数据
+                        requestMap.put("clipId", userId);
+                    }
+                    if ("plan".equals(role)) {
+                        requestMap.put("planId", userId);
+                    }
+                    if ("shot".equals(role)) {
+                        requestMap.put("shotId", userId);
+                    }
+                }
+            }
+            Long start = Long.valueOf(startDate.replace("-", ""));
+            Long end = Long.valueOf(endDate.replace("-", ""));
+            requestMap.put("start", start);
+            requestMap.put("end", end);
+            requestMap.put("role", role);
+            List<JSONObject> dataJson = new ArrayList<>();
+            if (mediaId == 1) { // 查询头条分成员数据
+                return materialDataService.getByteDanceVideoData(requestMap, pageNo, pageSize);
+            } else if (mediaId == 2) {// 查询快手分成员数据
+                return materialDataService.getKuaiShouVideoData(requestMap, pageNo, pageSize);
+            }
+            returnJson.put("code", 200);
+            returnJson.put("message", "查询成功");
+            returnJson.put("data", dataJson);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return Result.error(e.getMessage());
+        }
+        return null;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    private Map<String, Object> getRequestMap(Long mediaId, String userId, String startDate, String endDate) {
+        Map<String, Object> requestMap = new HashMap<>();
+        if ("4aba62011120ac565c7f2b9f8f4aa96b".equals(userId) || "b161b7d9793942f980dbfe8c931cd1b0".equals(userId) || "228c45f913924639bf20c79ce5dadb16".equals(userId) || "a6abfea0f27843bf8595a234410afb04".equals(userId) || "e9d527b2b6854a1ea0cc3167fc6a27d0".equals(userId) || "e9ca23d68d884d4ebb19d07889727dae".equals(userId)) { // 如果当前登录人是老板、丁总、王垒、管理员 查看所有数据
+
+        } else if ("cf91a54ef9064624a0a819f4b28bdaa6".equals(userId)) { // 如果当前登录人是石雨珂 查看石家庄整体数据
+            String companyId = materialDataService.getCompanyIdByUserId(userId);
+            requestMap.put("companyId", companyId);
+        } else {
+            String roleCode = materialDataService.getRoleCodeByUserId(userId);
+            if ("designTeamLeader".equals(roleCode)) { // 设计组长查看自己和下级的数据
+                requestMap.put("leaderId", userId);
+            }
+            if ("clip".equals(roleCode)) { // 剪辑查看自己角色为剪辑的数据
+                requestMap.put("clipId", userId);
+            }
+            if ("plan".equals(roleCode)) {
+                requestMap.put("planId", userId);
+            }
+            if ("shot".equals(roleCode)) {
+                requestMap.put("shotId", userId);
+            }
+        }
+        Long start = Long.valueOf(startDate.replace("-", ""));
+        Long end = Long.valueOf(endDate.replace("-", ""));
+        requestMap.put("start", start);
+        requestMap.put("end", end);
+        return requestMap;
+    }
+}

+ 70 - 0
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/mapper/MaterialDataMapper.java

@@ -0,0 +1,70 @@
+package org.jeecg.ctop.material.mapper;
+
+import com.alibaba.fastjson.JSONObject;
+import org.apache.ibatis.annotations.Param;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+public interface MaterialDataMapper {
+    String getRoleCodeByUserId(String userId);
+
+    String getCompanyIdByUserId(String userId);
+
+    BigDecimal getByteDanceTotalCharge(Map<String,Object> requestMap);
+
+    JSONObject getByteDanceHelpInfo(Map<String, Object> requestMap);
+
+    Integer getByteDancePushMediaCount(Map<String, Object> requestMap);
+
+    Integer getByteDanceFirstChargeCount(Map<String, Object> requestMap);
+
+    Integer getByteDanceEffectCount(Map<String, Object> requestMap);
+
+    BigDecimal getKuaiShouTotalCharge(Map<String,Object> requestMap);
+
+    JSONObject getKuaiShouHelpInfo(Map<String, Object> requestMap);
+
+    Integer getKuaiShouPushMediaCount(Map<String, Object> requestMap);
+
+    Integer getKuaiShouFirstChargeCount(Map<String, Object> requestMap);
+
+    Integer getKuaiShouEffectCount(Map<String, Object> requestMap);
+
+    List<JSONObject> getByteDanceTotalChargeChart(Map<String, Object> requestMap);
+
+    List<JSONObject> getByteDanceHelpChart(Map<String, Object> requestMap);
+
+    List<JSONObject> getByteDancePushMediaChart(Map<String, Object> requestMap);
+
+    List<JSONObject> getByteDanceFirstChargeChart(Map<String, Object> requestMap);
+
+    List<JSONObject> getByteDanceEffectChart(Map<String, Object> requestMap);
+
+    List<JSONObject> getKuaiShouTotalChargeChart(Map<String, Object> requestMap);
+
+    List<JSONObject> getKuaiShouHelpChart(Map<String, Object> requestMap);
+
+    List<JSONObject> getKuaiShouPushMediaChart(Map<String, Object> requestMap);
+
+    List<JSONObject> getKuaiShouFirstChargeChart(Map<String, Object> requestMap);
+
+    List<JSONObject> getKuaiShouEffectChart(Map<String, Object> requestMap);
+
+    List<JSONObject> getByteDanceProjectData(Map<String, Object> requestMap);
+
+    List<JSONObject> getKuaiShouProjectData(Map<String, Object> requestMap);
+
+    List<JSONObject> getByteDanceTeamData(Map<String, Object> requestMap);
+
+    List<JSONObject> getKuaiShouTeamData(Map<String, Object> requestMap);
+
+    List<JSONObject> getByteDanceUserData(Map<String, Object> requestMap);
+
+    List<JSONObject> getKuaiShouUserData(Map<String, Object> requestMap);
+
+    List<JSONObject> getByteDanceVideoData(Map<String, Object> requestMap);
+
+    List<JSONObject> getKuaiShouVideoData(Map<String, Object> requestMap);
+}

File diff suppressed because it is too large
+ 1954 - 0
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/mapper/xml/MaterialDataMapper.xml


+ 49 - 0
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/service/impl/IMaterialDataService.java

@@ -0,0 +1,49 @@
+package org.jeecg.ctop.material.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import org.jeecg.common.api.vo.Result;
+
+import java.util.List;
+import java.util.Map;
+
+public interface IMaterialDataService {
+    String getRoleCodeByUserId(String userId);
+
+    String getCompanyIdByUserId(String userId);
+
+    // 查询头条汇总信息
+    JSONObject getByteDanceTotalInfo(Map<String, Object> requestMap);
+
+    // 查询快手汇总信息
+    JSONObject getKuaiShouTotalInfo(Map<String, Object> requestMap);
+
+    // 查询头条折线图数据
+    List<JSONObject> getByteDanceChartData(Map<String, Object> requestMap, Integer type);
+
+    // 查询快手折线图数据
+    List<JSONObject> getKuaiShouChartData(Map<String, Object> requestMap, Integer type);
+
+    // 头条分项目数据
+    Result<Object> getByteDanceProjectData(Map<String, Object> requestMap, Integer pageNo, Integer pageSize);
+
+    // 快手分项目数据
+    Result<Object> getKuaiShouProjectData(Map<String, Object> requestMap, Integer pageNo, Integer pageSize);
+
+    // 头条分团队数据
+    Result<Object> getByteDanceTeamData(Map<String, Object> requestMap, Integer pageNo, Integer pageSize);
+
+    // 快手分团队数据
+    Result<Object> getKuaiShouTeamData(Map<String, Object> requestMap, Integer pageNo, Integer pageSize);
+
+    // 头条分成员数据
+    Result<Object> getByteDanceUserData(Map<String, Object> requestMap, Integer pageNo, Integer pageSize);
+
+    // 头条分成员数据
+    Result<Object> getKuaiShouUserData(Map<String, Object> requestMap, Integer pageNo, Integer pageSize);
+
+    // 头条分视频数据
+    Result<Object> getByteDanceVideoData(Map<String, Object> requestMap, Integer pageNo, Integer pageSize);
+
+    // 快手分视频数据
+    Result<Object> getKuaiShouVideoData(Map<String, Object> requestMap, Integer pageNo, Integer pageSize);
+}

+ 166 - 0
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/service/impl/MaterialDataServiceImpl.java

@@ -0,0 +1,166 @@
+package org.jeecg.ctop.material.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.ctop.material.mapper.MaterialDataMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class MaterialDataServiceImpl implements IMaterialDataService {
+    @Autowired
+    private MaterialDataMapper materialDataMapper;
+
+    @Override
+    public String getRoleCodeByUserId(String userId) {
+        return materialDataMapper.getRoleCodeByUserId(userId);
+    }
+
+    @Override
+    public String getCompanyIdByUserId(String userId) {
+        return materialDataMapper.getCompanyIdByUserId(userId);
+    }
+
+    // 头条汇总信息
+    @Override
+    public JSONObject getByteDanceTotalInfo(Map<String, Object> requestMap) {
+        JSONObject returnJson = new JSONObject();
+        BigDecimal totalCharge = materialDataMapper.getByteDanceTotalCharge(requestMap); // 总消耗
+        JSONObject helpInfo = materialDataMapper.getByteDanceHelpInfo(requestMap); //上传助手信息
+        Integer pushMediaCount = materialDataMapper.getByteDancePushMediaCount(requestMap); //推送媒体数量
+        Integer firstChargeCount = materialDataMapper.getByteDanceFirstChargeCount(requestMap); //产生消耗量
+        Integer effectCount = materialDataMapper.getByteDanceEffectCount(requestMap); //有效素材量
+        returnJson.put("totalCharge", totalCharge);
+        returnJson.put("helpInfo", helpInfo);
+        returnJson.put("pushMediaCount", pushMediaCount);
+        returnJson.put("firstChargeCount", firstChargeCount);
+        returnJson.put("effectCount", effectCount);
+        return returnJson;
+    }
+
+    // 快手汇总信息
+    @Override
+    public JSONObject getKuaiShouTotalInfo(Map<String, Object> requestMap) {
+        JSONObject returnJson = new JSONObject();
+        BigDecimal totalCharge = materialDataMapper.getKuaiShouTotalCharge(requestMap); // 总消耗
+        JSONObject helpInfo = materialDataMapper.getKuaiShouHelpInfo(requestMap); //上传助手信息
+        Integer pushMediaCount = materialDataMapper.getKuaiShouPushMediaCount(requestMap); //推送媒体数量
+        Integer firstChargeCount = materialDataMapper.getKuaiShouFirstChargeCount(requestMap); //产生消耗量
+        Integer effectCount = materialDataMapper.getKuaiShouEffectCount(requestMap); //有效素材量
+        returnJson.put("totalCharge", totalCharge);
+        returnJson.put("helpInfo", helpInfo);
+        returnJson.put("pushMediaCount", pushMediaCount);
+        returnJson.put("firstChargeCount", firstChargeCount);
+        returnJson.put("effectCount", effectCount);
+        return returnJson;
+    }
+
+    // 头条折线图信息
+    @Override
+    public List<JSONObject> getByteDanceChartData(Map<String, Object> requestMap, Integer type) {
+        if (type == 1) {
+            return materialDataMapper.getByteDanceTotalChargeChart(requestMap); // 总消耗
+        }
+        if (type == 2) {
+            return materialDataMapper.getByteDanceHelpChart(requestMap); //上传助手信息
+        }
+        if (type == 3) {
+            return materialDataMapper.getByteDancePushMediaChart(requestMap); //推送媒体数量
+        }
+        if (type == 4) {
+            return materialDataMapper.getByteDanceFirstChargeChart(requestMap); //产生消耗量
+        }
+        if (type == 5) {
+            return materialDataMapper.getByteDanceEffectChart(requestMap); //有效素材量
+        }
+
+        return null;
+    }
+
+    @Override
+    public List<JSONObject> getKuaiShouChartData(Map<String, Object> requestMap, Integer type) {
+        if (type == 1) {
+            return materialDataMapper.getKuaiShouTotalChargeChart(requestMap); // 总消耗
+        }
+        if (type == 2) {
+            return materialDataMapper.getKuaiShouHelpChart(requestMap); //上传助手信息
+        }
+        if (type == 3) {
+            return materialDataMapper.getKuaiShouPushMediaChart(requestMap); //推送媒体数量
+        }
+        if (type == 4) {
+            return materialDataMapper.getKuaiShouFirstChargeChart(requestMap); //产生消耗量
+        }
+        if (type == 5) {
+            return materialDataMapper.getKuaiShouEffectChart(requestMap); //有效素材量
+        }
+
+        return null;
+    }
+
+    // 头条分项目
+    @Override
+    public Result<Object> getByteDanceProjectData(Map<String, Object> requestMap, Integer pageNo, Integer pageSize) {
+        PageHelper.startPage(pageNo, pageSize);
+        List<JSONObject> data = materialDataMapper.getByteDanceProjectData(requestMap);
+        return Result.ok(new PageInfo<>(data));
+    }
+
+    // 快手分项目
+    @Override
+    public Result<Object> getKuaiShouProjectData(Map<String, Object> requestMap, Integer pageNo, Integer pageSize) {
+        PageHelper.startPage(pageNo, pageSize);
+        List<JSONObject> data = materialDataMapper.getKuaiShouProjectData(requestMap);
+        return Result.ok(new PageInfo<>(data));
+    }
+
+    // 头条分团队
+    @Override
+    public Result<Object> getByteDanceTeamData(Map<String, Object> requestMap, Integer pageNo, Integer pageSize) {
+        PageHelper.startPage(pageNo, pageSize);
+        List<JSONObject> data = materialDataMapper.getByteDanceTeamData(requestMap);
+        return Result.ok(new PageInfo<>(data));
+    }
+
+    // 快手分团队数据
+    @Override
+    public Result<Object> getKuaiShouTeamData(Map<String, Object> requestMap, Integer pageNo, Integer pageSize) {
+        PageHelper.startPage(pageNo, pageSize);
+        List<JSONObject> data = materialDataMapper.getKuaiShouTeamData(requestMap);
+        return Result.ok(new PageInfo<>(data));
+    }
+
+    @Override
+    public Result<Object> getByteDanceUserData(Map<String, Object> requestMap, Integer pageNo, Integer pageSize) {
+        PageHelper.startPage(pageNo, pageSize);
+        List<JSONObject> data = materialDataMapper.getByteDanceUserData(requestMap);
+        return Result.ok(new PageInfo<>(data));
+    }
+
+    @Override
+    public Result<Object> getKuaiShouUserData(Map<String, Object> requestMap, Integer pageNo, Integer pageSize) {
+        PageHelper.startPage(pageNo, pageSize);
+        List<JSONObject> data = materialDataMapper.getKuaiShouUserData(requestMap);
+        return Result.ok(new PageInfo<>(data));
+    }
+
+    @Override
+    public Result<Object> getByteDanceVideoData(Map<String, Object> requestMap, Integer pageNo, Integer pageSize) {
+        PageHelper.startPage(pageNo, pageSize);
+        List<JSONObject> data = materialDataMapper.getByteDanceVideoData(requestMap);
+        return Result.ok(new PageInfo<>(data));
+    }
+
+    @Override
+    public Result<Object> getKuaiShouVideoData(Map<String, Object> requestMap, Integer pageNo, Integer pageSize) {
+        PageHelper.startPage(pageNo, pageSize);
+        List<JSONObject> data = materialDataMapper.getKuaiShouVideoData(requestMap);
+        return Result.ok(new PageInfo<>(data));
+    }
+}