Преглед на файлове

Merge remote-tracking branch 'origin/master'

yumeng преди 2 години
родител
ревизия
6f65094229

+ 161 - 203
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/controller/KuaiShouMaterialStareController.java

@@ -1,37 +1,34 @@
 package org.jeecg.ctop.material.controller;
 
-import cn.afterturn.easypoi.excel.ExcelExportUtil;
-import cn.afterturn.easypoi.excel.entity.ExportParams;
-import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.github.pagehelper.PageInfo;
-import com.google.gson.JsonObject;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.poi.hssf.usermodel.*;
+import org.apache.poi.hssf.usermodel.HSSFCell;
+import org.apache.poi.hssf.usermodel.HSSFCellStyle;
+import org.apache.poi.hssf.usermodel.HSSFFont;
+import org.apache.poi.hssf.usermodel.HSSFRow;
+import org.apache.poi.hssf.usermodel.HSSFSheet;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.usermodel.HorizontalAlignment;
-import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.ss.util.CellRangeAddress;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.ctop.material.constants.Check;
 import org.jeecg.ctop.material.entity.vo.KuaiShouOperateAccountVo;
-import org.jeecg.ctop.material.entity.vo.KuaiShouOperateGroupVo;
 import org.jeecg.ctop.material.entity.vo.KuaiShouOperateProjectVo;
 import org.jeecg.ctop.material.mapper.MaterialStareMapper;
 import org.jeecg.ctop.material.service.MaterialStareService;
-import org.jeecg.ctop.material.service.impl.MaterialStareServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.BufferedOutputStream;
 import java.io.OutputStream;
-import java.lang.reflect.Field;
 import java.net.URLEncoder;
-import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
 
 /**
  * 快手-运营数据盯盘-经理&个人
@@ -51,273 +48,243 @@ public class KuaiShouMaterialStareController {
 
 
     /**
-     *
-     * @description:数据总览-快手
-     *
      * @param mediaType 媒体类型 1-头条 2-快手
-     * @param type 查询类型 1-汇总 2-运营个人
+     * @param type      查询类型 1-汇总 2-运营个人
      * @param startTime
      * @param endTime
      * @param userId
+     * @description:数据总览-快手
      * @author: zianY
      * @time: 2022/2/15
      */
     @GetMapping("/kuaiShousumData")
-    public Result<JSONObject> kuaiShousumData(@RequestParam(name="mediaType") String mediaType,
-                                              @RequestParam(name="type") String type,
-                                              @RequestParam(name="startTime") String startTime,
-                                              @RequestParam(name="endTime") String endTime,
-                                              @RequestParam(name="userId") String userId) {
+    public Result<JSONObject> kuaiShousumData(@RequestParam(name = "mediaType") String mediaType,
+                                              @RequestParam(name = "type") String type,
+                                              @RequestParam(name = "startTime") String startTime,
+                                              @RequestParam(name = "endTime") String endTime,
+                                              @RequestParam(name = "userId") String userId) {
         return materialStareService.kuaiShousumData(mediaType, type, startTime, endTime, userId);
     }
 
 
     /**
-     *
-     * @description: 快手-运营组数据
-     *
      * @param mediaType 媒体类型 1-头条 2-快手
      * @param startTime
      * @param endTime
      * @param userId
+     * @description: 快手-运营组数据
      * @return: org.jeecg.common.api.vo.Result<com.alibaba.fastjson.JSONObject>
      * @author: zianY
      * @time: 2022/2/15
      */
     @GetMapping("/kuaiShouOperateDateTotal")
-    public Result<JSONObject> kuaiShouOperateDateTotal(@RequestParam(name="mediaType") String mediaType,
-                                              @RequestParam(name="startTime") String startTime,
-                                              @RequestParam(name="endTime") String endTime,
-                                              @RequestParam(name="userId") String userId) {
+    public Result<JSONObject> kuaiShouOperateDateTotal(@RequestParam(name = "mediaType") String mediaType,
+                                                       @RequestParam(name = "startTime") String startTime,
+                                                       @RequestParam(name = "endTime") String endTime,
+                                                       @RequestParam(name = "userId") String userId) {
 
         return materialStareService.kuaiShouOperateDateTotal(mediaType, startTime, endTime, userId);
     }
 
 
     /**
-     *
-     * @description: 运营数据详情
-     *
      * @param pageNum
      * @param pageSize
      * @param startTime
      * @param endTime
      * @param userId
+     * @description: 运营数据详情
      * @return: org.jeecg.common.api.vo.Result<com.alibaba.fastjson.JSONObject>
      * @author: zianY
      * @time: 2022/2/16
      */
     @GetMapping("/getKuaiShouOperateInfo")
-    public Result<JSONObject> getKuaiShouOperateInfo(@RequestParam(name="pageNum",defaultValue = "1") Integer pageNum,
-                                                       @RequestParam(name="pageSize",defaultValue = "5") int pageSize,
-                                                       @RequestParam(name="mediaType") String mediaType,
-                                              @RequestParam(name="startTime") String startTime,
-                                              @RequestParam(name="endTime") String endTime,
-                                              @RequestParam(name="userId") String userId) {
-        return materialStareService.getKuaiShouOperateInfo(pageNum, pageSize,mediaType,startTime, endTime, userId);
+    public Result<JSONObject> getKuaiShouOperateInfo(@RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
+                                                     @RequestParam(name = "pageSize", defaultValue = "5") int pageSize,
+                                                     @RequestParam(name = "mediaType") String mediaType,
+                                                     @RequestParam(name = "startTime") String startTime,
+                                                     @RequestParam(name = "endTime") String endTime,
+                                                     @RequestParam(name = "userId") String userId) {
+        return materialStareService.getKuaiShouOperateInfo(pageNum, pageSize, mediaType, startTime, endTime, userId);
     }
 
     @GetMapping("/exportKuaiShouOperateInfo")
-    public Result<JSONObject> exportKuaiShouOperateInfo(@RequestParam(name="startTime") String startTime,
-                                              @RequestParam(name="endTime") String endTime,
-                                              @RequestParam(name="userId") String userId,
-                                               @RequestParam(name="mediaType") String mediaType,
+    public Result<JSONObject> exportKuaiShouOperateInfo(@RequestParam(name = "startTime") String startTime,
+                                                        @RequestParam(name = "endTime") String endTime,
+                                                        @RequestParam(name = "userId") String userId,
+                                                        @RequestParam(name = "mediaType") String mediaType,
                                                         HttpServletResponse response) {
-        return materialStareService.exportKuaiShouOperateInfo(startTime, endTime, mediaType,userId,response);
+        return materialStareService.exportKuaiShouOperateInfo(startTime, endTime, mediaType, userId, response);
     }
 
 
     /**
-     *
-     * @description:运营数据-项目列表
-     *
      * @param pageNum
      * @param pageSize
      * @param mediaType 媒体类型 1-头条 2-快手
      * @param startTime
      * @param endTime
      * @param userId
+     * @description:运营数据-项目列表
      * @return: org.jeecg.common.api.vo.Result<com.alibaba.fastjson.JSONObject>
      * @author: zianY
      * @time: 2022/2/17
      */
     @GetMapping("/getKuaiShouOperateProjectInfo")
-    public Result<JSONObject> getKuaiShouOperateProjectInfo(@RequestParam(name="pageNum",defaultValue = "1") Integer pageNum,
-                                                     @RequestParam(name="pageSize",defaultValue = "10") int pageSize,
-                                                     @RequestParam(name="mediaType",defaultValue = "2") String mediaType,
-                                                     @RequestParam(name="startTime") String startTime,
-                                                     @RequestParam(name="endTime") String endTime,
-                                                     @RequestParam(name="userId") String userId) {
-
-        return materialStareService.getKuaiShouOperateProjectInfo(pageNum, pageSize,mediaType,startTime, endTime, userId);
+    public Result<JSONObject> getKuaiShouOperateProjectInfo(@RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
+                                                            @RequestParam(name = "pageSize", defaultValue = "10") int pageSize,
+                                                            @RequestParam(name = "mediaType", defaultValue = "2") String mediaType,
+                                                            @RequestParam(name = "startTime") String startTime,
+                                                            @RequestParam(name = "endTime") String endTime,
+                                                            @RequestParam(name = "userId") String userId) {
+
+        return materialStareService.getKuaiShouOperateProjectInfo(pageNum, pageSize, mediaType, startTime, endTime, userId);
     }
 
 
-
     /**
-     *
-     * @description:运营数据-账户列表
-     *
      * @param pageNum
      * @param pageSize
      * @param startTime
      * @param endTime
      * @param projectId
      * @param userId
+     * @description:运营数据-账户列表
      * @return: org.jeecg.common.api.vo.Result<com.alibaba.fastjson.JSONObject>
      * @author: zianY
      * @time: 2022/2/18
      */
     @GetMapping("/getKuaiShouOperateAccountInfo")
-    public Result<JSONObject> getKuaiShouOperateAccountInfo(@RequestParam(name="pageNum",defaultValue = "1") Integer pageNum,
-                                                     @RequestParam(name="pageSize",defaultValue = "1000") int pageSize,
-                                                     @RequestParam(name="startTime") String startTime,
-                                                     @RequestParam(name="endTime") String endTime,
-                                                     @RequestParam(name="projectId",required = false) String projectId,
-                                                     @RequestParam(name="userId") String userId) {
+    public Result<JSONObject> getKuaiShouOperateAccountInfo(@RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
+                                                            @RequestParam(name = "pageSize", defaultValue = "1000") int pageSize,
+                                                            @RequestParam(name = "startTime") String startTime,
+                                                            @RequestParam(name = "endTime") String endTime,
+                                                            @RequestParam(name = "projectId", required = false) String projectId,
+                                                            @RequestParam(name = "userId") String userId) {
 
 
-        return materialStareService.getKuaiShouOperateAccountInfo(pageNum, pageSize,startTime, endTime,projectId, userId);
+        return materialStareService.getKuaiShouOperateAccountInfo(pageNum, pageSize, startTime, endTime, projectId, userId);
     }
 
 
     /**
-     *
-     * @description: 查询账户余额 以及 账户状态 和 消耗
-     *
      * @param accountId
+     * @description: 查询账户余额 以及 账户状态 和 消耗
      * @return: org.jeecg.common.api.vo.Result<com.alibaba.fastjson.JSONObject>
      * @author: zianY
      * @time: 2022/2/21 14:39
      */
     @GetMapping("/getKuaiShouAccountInfo")
-    public Result<JSONObject> getKuaiShouAccountInfo(@RequestParam(name="accountId") long accountId) {
+    public Result<JSONObject> getKuaiShouAccountInfo(@RequestParam(name = "accountId") long accountId) {
         return materialStareService.getKuaiShouAccountInfo(accountId);
     }
 
 
     /**
-     *
-     * @description: 账户 折线图 查询时间为当天查询时报;查询时间为多天 查询日报
-     *
      * @param accountId
      * @param startTime
      * @param endTime
+     * @description: 账户 折线图 查询时间为当天查询时报;查询时间为多天 查询日报
      * @return: org.jeecg.common.api.vo.Result<com.alibaba.fastjson.JSONObject>
      * @author: zianY
      * @time: 2022/2/21
      */
     @GetMapping("/getKuaiShouAccountInfoBrokenLine")
-    public Result<JSONObject> getKuaiShouAccountInfoBrokenLine(@RequestParam(name="accountId") long accountId,
-                                                     @RequestParam(name="startTime") String startTime,
-                                                     @RequestParam(name="endTime") String endTime,
-                                                     @RequestParam(name="type") String type) {
-        return materialStareService.getKuaiShouAccountInfoBrokenLine(accountId,startTime,endTime,type);
+    public Result<JSONObject> getKuaiShouAccountInfoBrokenLine(@RequestParam(name = "accountId") long accountId,
+                                                               @RequestParam(name = "startTime") String startTime,
+                                                               @RequestParam(name = "endTime") String endTime,
+                                                               @RequestParam(name = "type") String type) {
+        return materialStareService.getKuaiShouAccountInfoBrokenLine(accountId, startTime, endTime, type);
     }
 
 
-
     /**
-     *
-     * @description: 快手 账户 素材上新-有效-爆款
-     *
      * @param accountId
      * @param searchType searchType:查询类型  0-全部 1-上新 2-有效 3-爆款
      * @param startTime
      * @param endTime
+     * @description: 快手 账户 素材上新-有效-爆款
      * @return: org.jeecg.common.api.vo.Result<com.alibaba.fastjson.JSONObject>
      * @author: zianY
      * @time: 2022/2/21
      */
     @GetMapping("/getKuaiShouAccountMaterialNewAndEffectAndFaddish")
-    public Result<JSONObject> getKuaiShouAccountMaterialNewAndEffectAndFaddish(@RequestParam(name="accountId") long accountId,
-                                                                               @RequestParam(name="searchType") String searchType,
-                                                                               @RequestParam(name="startTime") String startTime,
-                                                                               @RequestParam(name="endTime") String endTime,
-                                                                               @RequestParam(name="pageNum",defaultValue = "1") Integer pageNum,
-                                                                               @RequestParam(name="pageSize",defaultValue = "10") Integer pageSize) {
-        return materialStareService.getKuaiShouAccountMaterialNewAndEffectAndFaddish(accountId,searchType,startTime,endTime,pageNum,pageSize);
+    public Result<JSONObject> getKuaiShouAccountMaterialNewAndEffectAndFaddish(@RequestParam(name = "accountId") long accountId,
+                                                                               @RequestParam(name = "searchType") String searchType,
+                                                                               @RequestParam(name = "startTime") String startTime,
+                                                                               @RequestParam(name = "endTime") String endTime,
+                                                                               @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
+                                                                               @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
+        return materialStareService.getKuaiShouAccountMaterialNewAndEffectAndFaddish(accountId, searchType, startTime, endTime, pageNum, pageSize);
     }
 
 
-
     /**
-     *
-     * @description: 查询账户饼图数据信息 分版位;年龄;性别
-     *
      * @param accountId
      * @param startTime
      * @param endTime
-     * @param type 查询类型 额。。。 查询选中的指标 --、 给前端组装数据格式  I didn't want to write
+     * @param type      查询类型 额。。。 查询选中的指标 --、 给前端组装数据格式  I didn't want to write
+     * @description: 查询账户饼图数据信息 分版位;年龄;性别
      * @return: org.jeecg.common.api.vo.Result
      * @author: zianY
      * @time: 2022/2/22
      */
     @GetMapping("/getKuaiShouAccountPieChar")
-    public Result getKuaiShouAccountPieChar(@RequestParam(name="accountId") long accountId,
-                                            @RequestParam(name="startTime") String startTime,
-                                            @RequestParam(name="endTime") String endTime,
-                                            @RequestParam(name="type") String type) {
-        return materialStareService.getKuaiShouAccountPieChar(accountId,startTime,endTime,type);
+    public Result getKuaiShouAccountPieChar(@RequestParam(name = "accountId") long accountId,
+                                            @RequestParam(name = "startTime") String startTime,
+                                            @RequestParam(name = "endTime") String endTime,
+                                            @RequestParam(name = "type") String type) {
+        return materialStareService.getKuaiShouAccountPieChar(accountId, startTime, endTime, type);
     }
 
 
-
-
-
     /**
-     *
-     * @description:数据总览-快手-运营个人
-     *
      * @param mediaType 媒体类型 1-头条 2-快手
      * @param startTime
      * @param endTime
      * @param userId
+     * @description:数据总览-快手-运营个人
      * @author: zianY
      * @time: 2022/2/15
      */
     @GetMapping("/kuaiShousumDataPersonal")
-    public Result<JSONObject> kuaiShousumDataPersonal(@RequestParam(name="mediaType",defaultValue = "2") String mediaType,
-                                              @RequestParam(name="startTime") String startTime,
-                                              @RequestParam(name="endTime") String endTime,
-                                              @RequestParam(name="userId") String userId) {
+    public Result<JSONObject> kuaiShousumDataPersonal(@RequestParam(name = "mediaType", defaultValue = "2") String mediaType,
+                                                      @RequestParam(name = "startTime") String startTime,
+                                                      @RequestParam(name = "endTime") String endTime,
+                                                      @RequestParam(name = "userId") String userId) {
         return materialStareService.kuaiShousumDataPersonal(mediaType, startTime, endTime, userId);
     }
 
 
     /**
-     *
-     * @description: 运营个人数据
-     *
      * @param mediaType 媒体类型 1-头条 2-快手
      * @param startTime
      * @param endTime
      * @param userId
+     * @description: 运营个人数据
      * @return: org.jeecg.common.api.vo.Result<com.alibaba.fastjson.JSONObject>
      * @author: zianY
      * @time: 2022/3/3
      */
     @GetMapping("/kuaiShouOperateDateTotalPersonal")
-    public Result<JSONObject> kuaiShouOperateDateTotalPersonal(@RequestParam(name="mediaType") String mediaType,
-                                                       @RequestParam(name="startTime") String startTime,
-                                                       @RequestParam(name="endTime") String endTime,
-                                                       @RequestParam(name="userId") String userId) {
+    public Result<JSONObject> kuaiShouOperateDateTotalPersonal(@RequestParam(name = "mediaType") String mediaType,
+                                                               @RequestParam(name = "startTime") String startTime,
+                                                               @RequestParam(name = "endTime") String endTime,
+                                                               @RequestParam(name = "userId") String userId) {
 
         return materialStareService.kuaiShouOperateDateTotalPersonal(mediaType, startTime, endTime, userId);
     }
 
 
     @GetMapping("/realTime/getUnitDateInfo")
-    public Result<JSONObject> kuaiShouOperateDateTotalPersonal(@RequestParam(name="accountId") long accountId,
-                                                               @RequestParam(name="pageNum") Integer pageNum,
-                                                               @RequestParam(name="pageSize") Integer pageSize) {
+    public Result<JSONObject> kuaiShouOperateDateTotalPersonal(@RequestParam(name = "accountId") long accountId,
+                                                               @RequestParam(name = "pageNum") Integer pageNum,
+                                                               @RequestParam(name = "pageSize") Integer pageSize) {
 
         return materialStareService.kuaiShouRealTimeUnitDateInfo(accountId, pageNum, pageSize);
     }
 
 
-
-
     /**
      * 获取用户下级的项目以及账户信息
      *
@@ -325,47 +292,43 @@ public class KuaiShouMaterialStareController {
      * @return
      */
     @GetMapping(value = "/participateListByMediaIdAllSubordinate")
-    public Result<List<JSONObject>> participateListByMediaIdAllSubordinate(@RequestParam(name="userId") String userId,
-                                                                           @RequestParam(name="type") String type) {
+    public Result<List<JSONObject>> participateListByMediaIdAllSubordinate(@RequestParam(name = "userId") String userId,
+                                                                           @RequestParam(name = "type") String type) {
         JSONObject requestJson = new JSONObject();
-        requestJson.put("userId",userId);
-        requestJson.put("type",type);
+        requestJson.put("userId", userId);
+        requestJson.put("type", type);
         return materialStareService.participateListByMediaIdAllSubordinate(requestJson);
     }
 
 
-
-
-
-
-
-
-
     //获取当前用户所属公司的所有下级
     @GetMapping("/getCompanyAllSubordinateByUserId")
-    public Result getCompanyAllSubordinateByUserId(@RequestParam(name="userId") String userId) {
-       return materialStareService.getCompanyAllSubordinateByUserId(userId);
+    public Result getCompanyAllSubordinateByUserId(@RequestParam(name = "userId") String userId) {
+        return materialStareService.getCompanyAllSubordinateByUserId(userId);
     }
 
 
-
-
-
     @GetMapping("/exportKuaiShouOperateProjectInfo")
     public Result<JSONObject> exportKuaiShouOperateProjectInfo(
-            @RequestParam(name="mediaType") String mediaType,
-            @RequestParam(name="startTime") String startTime,
-                                                            @RequestParam(name="endTime") String endTime,
-                                                            @RequestParam(name="userId") String userId,HttpServletResponse response) {
+            @RequestParam(name = "mediaType") String mediaType,
+            @RequestParam(name = "startTime") String startTime,
+            @RequestParam(name = "endTime") String endTime,
+            @RequestParam(name = "userId") String userId, HttpServletResponse response) {
 
         try {
+
             //默认
-            JSONObject jsonObject = materialStareMapper.getColumnInfo("e9ca23d68d884d4ebb19d07889727dae","3001");
-            if (Check.isNull(jsonObject)){
+            JSONObject jsonObject = null;
+            if ("2".equals(mediaType)) {
+                jsonObject = materialStareMapper.getColumnInfo("e9ca23d68d884d4ebb19d07889727dae", "3001");
+            } else {
+                jsonObject = materialStareMapper.getColumnInfo("e9ca23d68d884d4ebb19d07889727dae", "3002");
+            }
+            if (Check.isNull(jsonObject)) {
                 return Result.errorMsg("暂无自定义列。");
             }
             JSONArray array = jsonObject.getJSONArray("json");
-             //第一步创建workbook
+            //第一步创建workbook
             HSSFWorkbook wb = new HSSFWorkbook();
             //设置样式
             HSSFCellStyle style = wb.createCellStyle();
@@ -377,50 +340,50 @@ public class KuaiShouMaterialStareController {
             style.setFont(font);
             //2:创建sheet 设置sheet名称
             HSSFSheet sheet = wb.createSheet("项目数据");
-            sheet.autoSizeColumn(0,true);
+            sheet.autoSizeColumn(0, true);
             //3:添加 第一行单元格
             HSSFRow row0 = sheet.createRow(0);
             HSSFCell cell0 = row0.createCell(0);
             //设置 第一行 表头
             cell0.setCellValue("项目数据");
-            CellRangeAddress region = new CellRangeAddress(0, 0, 0, array.size()-1);
+            CellRangeAddress region = new CellRangeAddress(0, 0, 0, array.size() - 1);
             sheet.addMergedRegion(region);//合并行
             cell0.setCellStyle(style);
             //4:添加表头2行
             HSSFRow row = sheet.createRow(1);
             //5:创建第2行的单元格
-            for (int i = 0;i < array.size(); i++) {
-                JSONObject json = (JSONObject)array.get(i);
+            for (int i = 0; i < array.size(); i++) {
+                JSONObject json = (JSONObject) array.get(i);
                 HSSFCell cell = row.createCell(i);     //第一个单元格
                 cell.setCellValue(json.getString("title"));         //设定值
                 cell.setCellStyle(style);          //内容居中
             }
 
-            List< KuaiShouOperateProjectVo > resultList = materialStareService.exportKuaiShouOperateProjectInfo(mediaType,startTime, endTime, userId);
+            List<KuaiShouOperateProjectVo> resultList = materialStareService.exportKuaiShouOperateProjectInfo(mediaType, startTime, endTime, userId);
 
             for (int j = 0; j < resultList.size(); j++) {
                 KuaiShouOperateProjectVo projectVo = resultList.get(j);
                 //分版位
-                if (!Check.isNull(projectVo.getAdSceneDate())){
+                if (!Check.isNull(projectVo.getAdSceneDate())) {
                     for (JSONObject jObj : projectVo.getAdSceneDate()) {
-                        String name = jObj.get("adSceneName")+"";
-                        if (name.contains("激励")){
-                            projectVo.setJiLishiPin(jObj.get("adSceneCost")+"");
+                        String name = jObj.get("adSceneName") + "";
+                        if (name.contains("激励")) {
+                            projectVo.setJiLishiPin(jObj.get("adSceneCost") + "");
                         }
-                        if (name.contains("开屏")){
-                            projectVo.setKaiPing(jObj.get("adSceneCost")+"");
+                        if (name.contains("开屏")) {
+                            projectVo.setKaiPing(jObj.get("adSceneCost") + "");
                         }
-                        if (name.contains("搜索")){
-                            projectVo.setSouSuo(jObj.get("adSceneCost")+"");
+                        if (name.contains("搜索")) {
+                            projectVo.setSouSuo(jObj.get("adSceneCost") + "");
                         }
-                        if (name.contains("上下")){
-                            projectVo.setShangXiaHua(jObj.get("adSceneCost")+"");
+                        if (name.contains("上下")) {
+                            projectVo.setShangXiaHua(jObj.get("adSceneCost") + "");
                         }
-                        if (name.contains("联盟")){
-                            projectVo.setLianMeng(jObj.get("adSceneCost")+"");
+                        if (name.contains("联盟")) {
+                            projectVo.setLianMeng(jObj.get("adSceneCost") + "");
                         }
-                        if (name.contains("信息流")){
-                            projectVo.setXinxiLiu(jObj.get("adSceneCost")+"");
+                        if (name.contains("信息流")) {
+                            projectVo.setXinxiLiu(jObj.get("adSceneCost") + "");
                         }
 
                     }
@@ -430,11 +393,11 @@ public class KuaiShouMaterialStareController {
 
                 //创建行 (表头占0-1行 所以 从 2开始)
                 row = sheet.createRow(j + 2);
-                for (int k =0;k < array.size();k++) {
-                    JSONObject json = (JSONObject)array.get(k);
+                for (int k = 0; k < array.size(); k++) {
+                    JSONObject json = (JSONObject) array.get(k);
                     String fieldName = KuaiShouOperateProjectVo.class.getDeclaredField(json.getString("dataIndex")).getName();
                     project.get(fieldName);
-                    row.createCell(k).setCellValue(project.get(fieldName)+"");
+                    row.createCell(k).setCellValue(project.get(fieldName) + "");
                 }
             }
 
@@ -451,26 +414,26 @@ public class KuaiShouMaterialStareController {
             bufferedOutPut.close();
             output.close();
 
-        }catch (Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
         }
-         return null;
+        return null;
     }
 
 
     @GetMapping("/exportKuaiShouOperateAccountInfo")
-    public Result<JSONObject> exportKuaiShouOperateAccountInfo(@RequestParam(name="startTime") String startTime,
-                                                            @RequestParam(name="endTime") String endTime,
-                                                            @RequestParam(name="projectId") String projectId,
-                                                            @RequestParam(name="userId") String userId,HttpServletResponse response) {
+    public Result<JSONObject> exportKuaiShouOperateAccountInfo(@RequestParam(name = "startTime") String startTime,
+                                                               @RequestParam(name = "endTime") String endTime,
+                                                               @RequestParam(name = "projectId") String projectId,
+                                                               @RequestParam(name = "userId") String userId, HttpServletResponse response) {
 
         try {
-            JSONObject jsonObject = materialStareMapper.getColumnInfo(userId,"102");
-            if (Check.isNull(jsonObject)){
+            JSONObject jsonObject = materialStareMapper.getColumnInfo(userId, "102");
+            if (Check.isNull(jsonObject)) {
                 return Result.errorMsg("暂无自定义列。");
             }
             JSONArray array = jsonObject.getJSONArray("json");
-             //第一步创建workbook
+            //第一步创建workbook
             HSSFWorkbook wb = new HSSFWorkbook();
             //设置样式
             HSSFCellStyle style = wb.createCellStyle();
@@ -482,27 +445,27 @@ public class KuaiShouMaterialStareController {
             style.setFont(font);
             //2:创建sheet 设置sheet名称
             HSSFSheet sheet = wb.createSheet("账户数据");
-            sheet.autoSizeColumn(0,true);
+            sheet.autoSizeColumn(0, true);
             //3:添加 第一行单元格
             HSSFRow row0 = sheet.createRow(0);
             HSSFCell cell0 = row0.createCell(0);
             //设置 第一行 表头
             cell0.setCellValue("账户数据");
-            CellRangeAddress region = new CellRangeAddress(0, 0, 0, array.size()-1);
+            CellRangeAddress region = new CellRangeAddress(0, 0, 0, array.size() - 1);
             sheet.addMergedRegion(region);//合并行
             cell0.setCellStyle(style);
             //4:添加表头2行
             HSSFRow row = sheet.createRow(1);
             //5:创建第2行的单元格
-            for (int i = 0;i < array.size(); i++) {
-                JSONObject json = (JSONObject)array.get(i);
+            for (int i = 0; i < array.size(); i++) {
+                JSONObject json = (JSONObject) array.get(i);
                 HSSFCell cell = row.createCell(i);     //第一个单元格
                 cell.setCellValue(json.getString("title"));         //设定值
                 cell.setCellStyle(style);          //内容居中
 
             }
 
-            List<KuaiShouOperateAccountVo> resultList = materialStareService.exportKuaiShouOperateAccountInfo(startTime, endTime, projectId,userId);
+            List<KuaiShouOperateAccountVo> resultList = materialStareService.exportKuaiShouOperateAccountInfo(startTime, endTime, projectId, userId);
 
             for (int j = 0; j < resultList.size(); j++) {
                 KuaiShouOperateAccountVo accountVo = resultList.get(j);
@@ -510,8 +473,8 @@ public class KuaiShouMaterialStareController {
 
                 //创建行 (表头占0-1行 所以 从 2开始)
                 row = sheet.createRow(j + 2);
-                for (int k =0;k < array.size();k++) {
-                    JSONObject json = (JSONObject)array.get(k);
+                for (int k = 0; k < array.size(); k++) {
+                    JSONObject json = (JSONObject) array.get(k);
                     String fieldName = KuaiShouOperateAccountVo.class.getDeclaredField(json.getString("dataIndex")).getName();
                     account.get(fieldName);
                     row.createCell(k).setCellValue(account.get(fieldName).toString());
@@ -531,50 +494,45 @@ public class KuaiShouMaterialStareController {
             bufferedOutPut.close();
             output.close();
 
-        }catch (Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
         }
-         return null;
+        return null;
     }
 
 
     /**
      * 运营组列表数据
+     *
      * @param pageNum
      * @param pageSize
      * @return
      */
     @GetMapping("/getOperationGroupData")
     public Result<JSONObject> getOperationGroupData(
-                                                            @RequestParam(name="userId") String userId,
-                                                            @RequestParam(name="mediaType") String mediaType,
-                                                            @RequestParam(name="startTime") String startTime,
-                                                              @RequestParam(name="endTime") String endTime,
-                                                              @RequestParam(name="pageNum",defaultValue = "1") Integer pageNum,
-                                                              @RequestParam(name="pageSize",defaultValue = "5") Integer pageSize) {
-
-        return materialStareService.getOperationGroupData(userId,mediaType,startTime,endTime, pageNum, pageSize);
+            @RequestParam(name = "userId") String userId,
+            @RequestParam(name = "mediaType") String mediaType,
+            @RequestParam(name = "startTime") String startTime,
+            @RequestParam(name = "endTime") String endTime,
+            @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
+            @RequestParam(name = "pageSize", defaultValue = "5") Integer pageSize) {
+
+        return materialStareService.getOperationGroupData(userId, mediaType, startTime, endTime, pageNum, pageSize);
     }
 
 
-
-
     /**
      * 运营组列表数据-导出
+     *
      * @return
      */
     @GetMapping("/exportOperationGroupData")
-    public Result exportOperationGroupData(@RequestParam(name="userId") String userId,@RequestParam(name="mediaType") String mediaType,
-                                           @RequestParam(name="startTime") String startTime,
-                                                              @RequestParam(name="endTime") String endTime,HttpServletResponse response) {
+    public Result exportOperationGroupData(@RequestParam(name = "userId") String userId, @RequestParam(name = "mediaType") String mediaType,
+                                           @RequestParam(name = "startTime") String startTime,
+                                           @RequestParam(name = "endTime") String endTime, HttpServletResponse response) {
 
-        return materialStareService.exportOperationGroupData(userId,mediaType,startTime,endTime,response);
+        return materialStareService.exportOperationGroupData(userId, mediaType, startTime, endTime, response);
     }
 
 
-
-
-
-
-
 }

+ 1 - 3
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/entity/vo/KuaiShouOperateProjectVo.java

@@ -140,9 +140,7 @@ public class KuaiShouOperateProjectVo {
     private String shangXiaHua;
     private String lianMeng;
     private String xinxiLiu;
-
-
-
+    private String inventory;
 
 
 }

+ 57 - 29
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/mapper/xml/MaterialStareMapper.xml

@@ -697,10 +697,38 @@
         d.project_id AS projectId,
         d.project_name AS projectName,
         SUM( d.cost ) AS totalCost,
+        t2.inventory,
         ( SELECT realname FROM `jeecg-boot`.sys_user u WHERE u.id = d.user_id ) AS userName
         FROM
         application.bytedance_advertiser_report_hourly_dw d
-        WHERE
+        LEFT JOIN (select project_id,
+        group_concat(concat(inventory_name,':',cost)) as 'inventory'
+        from (
+        select project_id,inventory_name,sum(cost) as cost from
+        application.bytedance_advertiser_inventory_report_daily_dw
+        where cost > 0
+        <if test="startDate != null and startDate != '' ">
+            and stat_datetime &gt;= #{startDate}
+        </if>
+        <if test="endDate != null and endDate != '' ">
+            and stat_datetime &lt;= #{endDate}
+        </if>
+        <if test="projectId != null and projectId != '' ">
+            and project_id = #{projectId}
+        </if>
+        <if test='list!=null and list.size()>0'>
+            AND user_id IN
+            <foreach collection="list" item="item" separator=","
+                     open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+
+        group by project_id, inventory_name
+        ORDER BY cost desc
+        )t
+        group by project_id
+        ) t2 on d.project_id = t2.project_id WHERE
         d.cost > 0
         <if test="startDate != null and startDate != '' ">
             and d.stat_datetime &gt;= #{startDate}
@@ -1552,42 +1580,42 @@
                       ) a
                           RIGHT JOIN
                       (
-                          SELECT d.advertiser_id                                                                       dAccountId,
-                                 d.campaign_id                                                                         campaignId,
-                                 d.campaign_name                                                                       campaignName,
-                                 d.unit_id                                                                             dunit_id,
-                                 d.unit_name                                                                           unitName,
-                                 IFNULL(SUM(d.charge), 0)                                                           AS charge,
-                                 IFNULL(SUM(d.activation), 0)                                                       AS activation,
-                                 IFNULL(ROUND(SUM(d.charge) / SUM(d.activation), 2), 0)                             AS activationPrice,
-                                 IFNULL(ROUND(SUM(d.charge) / SUM(d.activation), 2), 0)                             AS activationCost,
+                          SELECT d.advertiser_id                                                   dAccountId,
+                                 d.campaign_id                                                     campaignId,
+                                 d.campaign_name                                                   campaignName,
+                                 d.unit_id                                                         dunit_id,
+                                 d.unit_name                                                       unitName,
+                                 IFNULL(SUM(d.charge), 0)                                       AS charge,
+                                 IFNULL(SUM(d.activation), 0)                                   AS activation,
+                                 IFNULL(ROUND(SUM(d.charge) / SUM(d.activation), 2), 0)         AS activationPrice,
+                                 IFNULL(ROUND(SUM(d.charge) / SUM(d.activation), 2), 0)         AS activationCost,
                                  IF(SUM(d.event_next_day_stay) / SUM(d.activation) > 0.0001,
                                     CONCAT(ROUND(SUM(d.event_next_day_stay) / SUM(d.activation) * 100, 2), '%'),
-                                    0)                                                                              AS `leave`,
-                                 IFNULL(SUM(d.event_pay), 0)                                                        AS eventPay,
-                                 IFNULL(ROUND(SUM(d.charge) / SUM(d.event_pay), 2), 0)                              AS eventPayCost,
+                                    0)                                                          AS `leave`,
+                                 IFNULL(SUM(d.event_pay), 0)                                    AS eventPay,
+                                 IFNULL(ROUND(SUM(d.charge) / SUM(d.event_pay), 2), 0)          AS eventPayCost,
                                  IF(SUM(d.event_pay) / (SUM(d.activation) + SUM(d.form_count)) > 0.0001,
                                     CONCAT(ROUND(SUM(d.event_pay) / (SUM(d.activation) + SUM(d.form_count)) * 100, 2),
                                            '%'),
-                                    0)                                                                              AS eventPayRate,
-                                 IFNULL(SUM(d.event_new_user_pay), 0)                                               AS eventNewUserPay,
-                                 IFNULL(ROUND(SUM(d.charge) / SUM(d.event_new_user_pay), 2), 0)                     AS eventNewUserPayCost,
+                                    0)                                                          AS eventPayRate,
+                                 IFNULL(SUM(d.event_new_user_pay), 0)                           AS eventNewUserPay,
+                                 IFNULL(ROUND(SUM(d.charge) / SUM(d.event_new_user_pay), 2), 0) AS eventNewUserPayCost,
                                  IFNULL(ROUND(SUM(d.event_new_user_pay) / (SUM(d.activation) + SUM(d.form_count)), 2),
-                                        0)                                                                          AS eventNewUserPayRate,
-                                 IFNULL(SUM(d.event_app_invoked), 0)                                                AS eventAppInvoked,
-                                 IFNULL(ROUND(SUM(d.charge) / SUM(d.event_app_invoked), 2), 0)                      AS eventAppInvokedCost,
-                                 IFNULL(SUM(d.event_register), 0)                                                   AS eventRegister,
-                                 IFNULL(ROUND(SUM(d.charge) / SUM(d.event_register), 2), 0)                         AS eventRegisterCost,
-                                 IFNULL(SUM(d.key_action), 0)                                                       AS keyAction,
-                                 IFNULL(ROUND(SUM(d.charge) / SUM(d.key_action), 2), 0)                             AS keyActionCost,
+                                        0)                                                      AS eventNewUserPayRate,
+                                 IFNULL(SUM(d.event_app_invoked), 0)                            AS eventAppInvoked,
+                                 IFNULL(ROUND(SUM(d.charge) / SUM(d.event_app_invoked), 2), 0)  AS eventAppInvokedCost,
+                                 IFNULL(SUM(d.event_register), 0)                               AS eventRegister,
+                                 IFNULL(ROUND(SUM(d.charge) / SUM(d.event_register), 2), 0)     AS eventRegisterCost,
+                                 IFNULL(SUM(d.key_action), 0)                                   AS keyAction,
+                                 IFNULL(ROUND(SUM(d.charge) / SUM(d.key_action), 2), 0)         AS keyActionCost,
                                  IF(SUM(d.key_action) / SUM(d.activation) > 0.0001,
                                     CONCAT(ROUND(SUM(d.key_action) / SUM(d.activation) * 100, 2), '%'),
-                                    0)                                                                              AS keyActionRate,
-                                 IFNULL(SUM(d.event_pay_purchase_amount_first_day), 0)                              AS eventPayPurchaseAmountFirstDay,
-                                 IFNULL(SUM(d.event_pay_first_day_roi), 0)                                          AS eventPayFirstDayRoi,
-                                 IFNULL(SUM(d.form_count), 0)                                                       AS formCount,
-                                 IFNULL(ROUND(SUM(d.charge) / SUM(d.form_count), 2), 0)                             AS formCountPrice,
-                                 SUM(d.bclick)                                                                         bClick
+                                    0)                                                          AS keyActionRate,
+                                 IFNULL(SUM(d.event_pay_purchase_amount_first_day), 0)          AS eventPayPurchaseAmountFirstDay,
+                                 IFNULL(SUM(d.event_pay_first_day_roi), 0)                      AS eventPayFirstDayRoi,
+                                 IFNULL(SUM(d.form_count), 0)                                   AS formCount,
+                                 IFNULL(ROUND(SUM(d.charge) / SUM(d.form_count), 2), 0)         AS formCountPrice,
+                                 SUM(d.bclick)                                                     bClick
                           FROM media_api.kuaishou_unit_report_hourly d
                           WHERE d.advertiser_id = #{accountId}
                             AND d.stat_date = #{nowDate}

+ 9 - 11
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/service/impl/MaterialStareServiceImpl.java

@@ -498,7 +498,7 @@ public class MaterialStareServiceImpl implements MaterialStareService {
                     operate.setNewCampaignNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newCampaignNum"));//计划
                     Integer unitNum = Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum");//组
                     Integer unitNum1 = Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum2");//组
-                    newUnitNumNow = Math.addExact(unitNum,unitNum1);
+                    newUnitNumNow = Math.addExact(unitNum, unitNum1);
                     operate.setNewUnitNum(newUnitNumNow);//组
                     operate.setNewProjectNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newCpdProjectNum"));//组
 
@@ -614,7 +614,7 @@ public class MaterialStareServiceImpl implements MaterialStareService {
                     operate.setNewCampaignNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newCampaignNum"));//计划
                     Integer unitNum = Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum");//组
                     Integer unitNum1 = Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum2");//组
-                    newUnitNumNow = Math.addExact(unitNum,unitNum1);
+                    newUnitNumNow = Math.addExact(unitNum, unitNum1);
                     operate.setNewUnitNum(newUnitNumNow);//组
 
                     //List<KuaiShouOperateVo> userOperate = materialStareMapper.getKuaiShouOperateInfo(lastTimeStart,lastTimeEnd,userSet);
@@ -724,10 +724,6 @@ public class MaterialStareServiceImpl implements MaterialStareService {
                     int newUnitNumNow = 0;
                     int trustUnitNum = 0;
                     if (startDate == now || entDate == now) {
-
-                        //查询当天数据
-
-
                         //时报 消费
                         //环比 = (当前 - 上阶段 ) / 上阶段
                         int hour = DateUtils.getNowHour();
@@ -763,7 +759,7 @@ public class MaterialStareServiceImpl implements MaterialStareService {
                     projectInfo.setNewHotNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newHotNum"));//爆款
                     Integer unitNum = Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum");//组
                     Integer unitNum1 = Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum2");//组
-                    newUnitNumNow = Math.addExact(unitNum,unitNum1);
+                    newUnitNumNow = Math.addExact(unitNum, unitNum1);
                     projectInfo.setNewUnitNum(newUnitNumNow);//基建数
                     projectInfo.setNewProjectNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newCpdProjectNum"));//基建数
                     //projectInfo.setTrustUnitNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("trustUnitNum"));//智能托管
@@ -944,13 +940,15 @@ public class MaterialStareServiceImpl implements MaterialStareService {
                     //查询 有效 上新计划 上新组
                     JSONObject newEffect = materialStareMapper.getBytedanceAccountBaseByUserId(null, projectInfo.getProjectId(), null, startDate, entDate);
                     projectInfo.setNewEffectNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newEffectNum"));//有效
-                    //projectInfo.setNewVideoNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newVideoNum"));//上新
+                    projectInfo.setNewVideoNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newVideoNum"));//上新
                     projectInfo.setNewHotNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newHotNum"));//爆款
                     Integer unitNum = Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum");//组
                     Integer unitNum1 = Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum2");//组
-                    newUnitNumNow = Math.addExact(unitNum,unitNum1);
+                    newUnitNumNow = Math.addExact(unitNum, unitNum1);
                     projectInfo.setNewUnitNum(newUnitNumNow);//基建数
                     //projectInfo.setTrustUnitNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("trustUnitNum"));//智能托管
+                    List<JSONObject> materailUpload = materialStareMapper.getKuaiShouMaterailUploadType(projectInfo.getProjectId(), startDate, entDate);
+                    projectInfo.setAdspNum(Check.isNull(materailUpload) ? 0L : JSONObject.parseObject(materailUpload.get(0) + "").getLong("num"));//上传到助手
 
 
                     /*
@@ -1590,7 +1588,7 @@ public class MaterialStareServiceImpl implements MaterialStareService {
                     JSONObject newEffect = materialStareMapper.getBytedanceAccountBaseByUserId(operatorUserIds, null, null, startDate, entDate);
                     Integer unitNum = Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum");//组
                     Integer unitNum1 = Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum2");//组
-                    newUnitNumNow = Math.addExact(unitNum,unitNum1);
+                    newUnitNumNow = Math.addExact(unitNum, unitNum1);
                     groupVo.setNewProjectNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newCpdProjectNum"));
                 } else {
                     //查询 历史上新组
@@ -1744,7 +1742,7 @@ public class MaterialStareServiceImpl implements MaterialStareService {
                         newEffect = materialStareMapper.getBytedanceAccountBaseByUserId(operatorUserIds, null, null, nowDate, nowDate);
                         Integer unitNum = Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum");//组
                         Integer unitNum1 = Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum2");//组
-                        newUnitNumNow = Math.addExact(unitNum,unitNum1);
+                        newUnitNumNow = Math.addExact(unitNum, unitNum1);
                     } else {
                         //查询 当天有效 上新计划 上新组
                         newEffect = materialStareMapper.getKuaiShouAccountNowBaseByUserId(operatorUserIds, null, null, nowDate, nowDate);

+ 35 - 3
jeecg-boot-module-system/src/main/java/cn/com/ctop/finance/payment/controller/FinancePaymentRechargeApplicationController.java

@@ -4,6 +4,7 @@ import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.common.module.utils.ExportExcelUtils;
 import cn.com.ctop.common.module.utils.HttpUtils;
 import cn.com.ctop.finance.payment.entity.FinancePaymentRechargeApplication;
+import cn.com.ctop.finance.payment.service.IFinancePaymentRechargeAccountService;
 import cn.com.ctop.finance.payment.service.IFinancePaymentRechargeApplicationService;
 import com.alibaba.fastjson.JSONObject;
 import io.swagger.annotations.Api;
@@ -37,6 +38,9 @@ import java.util.Map;
 public class FinancePaymentRechargeApplicationController {
     @Autowired
     private IFinancePaymentRechargeApplicationService financePaymentRechargeApplicationService;
+
+    @Autowired
+    private IFinancePaymentRechargeAccountService rechargeAccountService;
     @Autowired
     private ISysRoleService sysRoleService;
 
@@ -106,6 +110,21 @@ public class FinancePaymentRechargeApplicationController {
     }
 
     /**
+     * 更新
+     */
+    @PostMapping(value = "/editAll")
+    public Result<Object> editAll(@RequestBody JSONObject data) {
+        try {
+            FinancePaymentRechargeApplication recharge = JSONObject.parseObject(JSONObject.toJSONString(data), FinancePaymentRechargeApplication.class);
+            financePaymentRechargeApplicationService.updateById(recharge);
+            return Result.ok();
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+        }
+        return Result.error("修改异常");
+    }
+
+    /**
      * 编辑
      */
     @PostMapping(value = "/edit")
@@ -137,7 +156,16 @@ public class FinancePaymentRechargeApplicationController {
     @GetMapping(value = "/delete")
     public Result<?> delete(@RequestParam(name = "id") String id) {
         try {
-            financePaymentRechargeApplicationService.removeById(id);
+            FinancePaymentRechargeApplication application = financePaymentRechargeApplicationService.getById(id);
+            if (Check.isNull(application)) {
+                return Result.error("未找到对应实体");
+            }
+            if ("1".equals(application.getAuditStatus()) || "2.".equals(application.getAuditStatus())) {
+                financePaymentRechargeApplicationService.removeById(id);
+                rechargeAccountService.delByRechargeId(Long.valueOf(id));
+            } else {
+                return Result.error("当前状态不允许删除!");
+            }
         } catch (Exception e) {
             log.error("删除失败", e.getMessage());
             return Result.error("删除失败!");
@@ -214,7 +242,7 @@ public class FinancePaymentRechargeApplicationController {
         try {
             //查询用户角色
             String roleCode = sysRoleService.getRoleCodeByUserId(recharge.getUserId());
-            if ("sale".equals(roleCode) || "saleAssistant".equals(roleCode) || "saleAm".equals(roleCode)) {
+            if ("saleAssistant".equals(roleCode)) {
                 if ("4f6454dbad954a8094013bf4c6d74796".equals(recharge.getUserId())) {
                     /*销售助理 曹媛 4f6454dbad954a8094013bf4c6d74796:侯加鑫、王维新、高洪哲             */
 
@@ -247,7 +275,11 @@ public class FinancePaymentRechargeApplicationController {
                     String amends = data.getString("amends");
                     temp.add("1".equals(amends) ? "是" : "否");
                     temp.add(data.getString("productName"));
-                    temp.add(data.getString("projectName") + "(" + data.getString("projectId") + ")");
+                    if ("-".equals(data.getString("projectName"))) {
+                        temp.add("-");
+                    } else {
+                        temp.add(data.getString("projectName") + "(" + data.getString("projectId") + ")");
+                    }
                     temp.add(data.getString("accountId"));
                     temp.add(data.getString("accountName"));
                     temp.add(data.getString("cashAmounts"));

+ 6 - 5
jeecg-boot-module-system/src/main/java/cn/com/ctop/finance/payment/mapper/xml/FinancePaymentRechargeApplicationMapper.xml

@@ -38,8 +38,8 @@
         t1.advertiser_id as 'advertiserId',
         t1.advertiser_name as 'advertiserName',
         t1.product_id as 'productId',
-        GROUP_CONCAT(DISTINCT t2.product_id) as 'productIds',
-        GROUP_CONCAT(DISTINCT t2.product_name) as 'productName',
+        GROUP_CONCAT(DISTINCT t1.product_id) as 'productIds',
+        GROUP_CONCAT(DISTINCT t1.product_name) as 'productName',
         t1.project_id as 'projectId',
         t1.project_name as 'projectName',
         GROUP_CONCAT(t2.account_id) as 'accountIds',
@@ -118,8 +118,8 @@
         t1.advertiser_name as 'advertiserName',
         t2.product_id as 'productId',
         t2.product_name as 'productName',
-        t1.project_id as 'projectId',
-        t1.project_name as 'projectName',
+        IFNULL(t2.project_id,'-') AS 'projectId',
+        IFNULL(t5.project_name,'-') AS 'projectName',
         t2.account_id as 'accountId',
         t2.account_name as 'accountName',
         t2.cash_amount as 'cashAmounts',
@@ -143,6 +143,7 @@
         LEFT JOIN finance_payment_recharge_account t2 ON t1.id = t2.recharge_id
         LEFT JOIN ctop_oauth_token t3 ON t2.account_id = t3.account_id
         LEFT JOIN ctop_oauth_config t4 ON t3.app_id = t4.app_id
+        LEFT JOIN ctop_project t5 ON t2.project_id = t5.id
         <where>
             <if test="advertiserName != null and advertiserName != '' ">
                 and t1.advertiser_name like concat('%',#{advertiserName},'%')
@@ -180,7 +181,7 @@
             </if>
             <if test="startDate != null and startDate != '' ">
                 and t1.create_time >= #{startDate}
-                and t1.create_time &lt;= #{endDate}
+                and t1.create_time &lt;= concat(#{endDate},' 23:59:59')
             </if>
         </where>
         GROUP BY t2.id