瀏覽代碼

盯盘运营经理-运营数据详情区分媒体类型

yangzian 3 年之前
父節點
當前提交
ac8aa9b9c6

+ 2 - 1
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/controller/KuaiShouMaterialStareController.java

@@ -109,10 +109,11 @@ public class KuaiShouMaterialStareController {
     @GetMapping("/getKuaiShouOperateInfo")
     public Result<JSONObject> getKuaiShouOperateInfo(@RequestParam(name="pageNum",defaultValue = "1") Integer pageNum,
                                                        @RequestParam(name="pageSize",defaultValue = "5") int pageSize,
+                                                       @RequestParam(name="mediaType",defaultValue = "5") String mediaType,
                                               @RequestParam(name="startTime") String startTime,
                                               @RequestParam(name="endTime") String endTime,
                                               @RequestParam(name="userId") String userId) {
-        return materialStareService.getKuaiShouOperateInfo(pageNum, pageSize,startTime, endTime, userId);
+        return materialStareService.getKuaiShouOperateInfo(pageNum, pageSize,mediaType,startTime, endTime, userId);
     }
 
     @GetMapping("/exportKuaiShouOperateInfo")

+ 2 - 2
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/mapper/xml/KuaishouOperationRecordMapper.xml

@@ -8,7 +8,7 @@
         SELECT
             *,
             charge as cost,
-            show as photoShow,
+            `show` as photoShow,
             CONCAT(ROUND(download_started / bclick * 100,2) ,'%') as downloadStartRate,
             ROUND(download_started / bclick * 100,2) as downloadStartCost,
             CONCAT(ROUND(download_completed / download_started * 100,2) ,'%') as downloadFinishRate,
@@ -33,7 +33,7 @@
         SELECT
             *,
                charge as cost,
-               show as photoShow,
+            `show` as photoShow,
             CONCAT(ROUND(download_started / bclick * 100,2) ,'%') as downloadStartRate,
             ROUND(download_started / bclick * 100,2) as downloadStartCost,
             CONCAT(ROUND(download_completed / download_started * 100,2) ,'%') as downloadFinishRate,

+ 1 - 1
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/service/MaterialStareService.java

@@ -25,7 +25,7 @@ public interface MaterialStareService {
 
     Result kuaiShouOperateDateTotalPersonal(String mediaType,String startTime, String endTime, String userId);
 
-    Result getKuaiShouOperateInfo(Integer pageNum,int pageSize,String startTime, String endTime, String userId);
+    Result getKuaiShouOperateInfo(Integer pageNum,int pageSize,String mediaType,String startTime, String endTime, String userId);
     Result exportKuaiShouOperateInfo(String startTime, String endTime, String userId, HttpServletResponse response);
 
     Result getKuaiShouOperateProjectInfo(Integer pageNum,int pageSize,String mediaType,String startTime, String endTime, String userId);

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

@@ -10,6 +10,7 @@ import com.google.gson.JsonObject;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.ss.usermodel.Workbook;
+import org.checkerframework.checker.units.qual.A;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.entity.SysUser;
 import org.jeecg.common.util.DateUtils;
@@ -448,7 +449,7 @@ public class MaterialStareServiceImpl implements MaterialStareService {
      * @time: 2022/2/16
      */
     @Override
-    public Result getKuaiShouOperateInfo(Integer pageNum, int pageSize, String startTime, String endTime, String userId) {
+    public Result getKuaiShouOperateInfo(Integer pageNum, int pageSize, String mediaType,String startTime, String endTime, String userId) {
         DecimalFormat decimalFormat = new DecimalFormat("0.00%");
 
         String roleCode = materialStareMapper.getRoleCodeByUserId(userId);
@@ -456,6 +457,9 @@ public class MaterialStareServiceImpl implements MaterialStareService {
 
         try {
 
+
+
+
             if ("admin".equals(roleCode)) {
                 //所有运营
                 List<KuaiShouOperateGroupVo> allOperationManagerList = materialStareMapper.getOperationManagerUser("perat");
@@ -476,43 +480,76 @@ public class MaterialStareServiceImpl implements MaterialStareService {
 
         long now = Long.valueOf(DateUtils.getDateInteger(DateUtils.getDate("yyyy-MM-dd")));
 
-        PageHelper.startPage(pageNum,pageSize);
-        //查询运营数据 -- 不区分媒体
-        List<KuaiShouOperateVo> listOperate = materialStareMapper.getKuaiShouOrBytedanceOperateInfo(startDate,entDate,operatorUserIds);
-
-        for (KuaiShouOperateVo operate : listOperate) {
 
-            Set<String> ids = new HashSet<String>(){{
-                add(operate.getUserId());
-            }};
+        //查询运营数据 -- 区分媒体
+        //List<KuaiShouOperateVo> listOperate = materialStareMapper.getKuaiShouOrBytedanceOperateInfo(startDate,entDate,operatorUserIds);
+            List<KuaiShouOperateVo> listOperate = new ArrayList<>();
+            if (mediaType.equals("1")){
+                PageHelper.startPage(pageNum,pageSize);
+                listOperate = materialStareMapper.getBytedanceOperateInfo(startDate,entDate,operatorUserIds);
+                for (KuaiShouOperateVo operate : listOperate) {
+                    Set<String> ids = new HashSet<String>(){{
+                        add(operate.getUserId());
+                    }};
+                    // 头条 没有当天数据
+                    int newUnitNumNow = 0;
+//                    if (startDate == now || entDate == now){
+//                        //查询 当天有效 上新计划 上新组
+//                        JSONObject newEffect = materialStareMapper.getBytedanceAccountNowBaseByUserId(ids,null,null,now,now);
+//                        newUnitNumNow = Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum");//组
+//                    }
+                    //查询 有效 上新计划 上新组
+                    JSONObject newEffect = materialStareMapper.getBytedanceAccountBaseByUserId(ids,null,null,startDate,entDate);
+                    //operate.setNewEffectNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newEffectNum"));//有效
+                    operate.setNewCampaignNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newCampaignNum"));//计划
+                    operate.setNewUnitNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum")+newUnitNumNow);//组
+
+                    //List<KuaiShouOperateVo> userOperate = materialStareMapper.getKuaiShouOperateInfo(lastTimeStart,lastTimeEnd,userSet);
+                    List<KuaiShouOperateVo> userOperate = materialStareMapper.getBytedanceOperateInfo(lastTimeStart,lastTimeEnd,ids);
+                    String rate = "0";
+                    if (!Check.isNull(userOperate)){
+                        //环比
+                        Double rateDoulbe = (operate.getTotalCost() - userOperate.get(0).getTotalCost()) / userOperate.get(0).getTotalCost();
+                        rate = decimalFormat.format(rateDoulbe);
+                    }
+                    operate.setRate(rate);
+                }
+            }else {
+                PageHelper.startPage(pageNum,pageSize);
+                listOperate = materialStareMapper.getKuaiShouOperateInfo(startDate,entDate,operatorUserIds);
+                for (KuaiShouOperateVo operate : listOperate) {
 
-            //当天
-            int newUnitNumNow = 0;
-            if (startDate == now || entDate == now){
-                //查询 当天有效 上新计划 上新组
-                JSONObject newEffect = materialStareMapper.getKuaiShouAccountNowBaseByUserId(ids,null,null,now,now);
-                newUnitNumNow = Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum");//组
-            }
+                    Set<String> ids = new HashSet<String>(){{
+                        add(operate.getUserId());
+                    }};
 
-            //查询 有效 上新计划 上新组
-            JSONObject newEffect = materialStareMapper.getKuaiShouAccountBaseByUserId(ids,null,null,startDate,entDate);
-            //operate.setNewEffectNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newEffectNum"));//有效
-            operate.setNewCampaignNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newCampaignNum"));//计划
-            operate.setNewUnitNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum")+newUnitNumNow);//组
+                    //当天
+                    int newUnitNumNow = 0;
+                    if (startDate == now || entDate == now){
+                        //查询 当天有效 上新计划 上新组
+                        JSONObject newEffect = materialStareMapper.getKuaiShouAccountNowBaseByUserId(ids,null,null,now,now);
+                        newUnitNumNow = Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum");//组
+                    }
 
-            Set<String> userSet = new HashSet<String>(){{
-                add(operate.getUserId());
-            }};
-            //List<KuaiShouOperateVo> userOperate = materialStareMapper.getKuaiShouOperateInfo(lastTimeStart,lastTimeEnd,userSet);
-            List<KuaiShouOperateVo> userOperate = materialStareMapper.getKuaiShouOrBytedanceOperateInfo(lastTimeStart,lastTimeEnd,ids);
-            String rate = "0";
-            if (!Check.isNull(userOperate)){
-                //环比
-                Double rateDoulbe = (operate.getTotalCost() - userOperate.get(0).getTotalCost()) / userOperate.get(0).getTotalCost();
-                rate = decimalFormat.format(rateDoulbe);
+                    //查询 有效 上新计划 上新组
+                    JSONObject newEffect = materialStareMapper.getKuaiShouAccountBaseByUserId(ids,null,null,startDate,entDate);
+                    //operate.setNewEffectNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newEffectNum"));//有效
+                    operate.setNewCampaignNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newCampaignNum"));//计划
+                    operate.setNewUnitNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum")+newUnitNumNow);//组
+
+
+                    //List<KuaiShouOperateVo> userOperate = materialStareMapper.getKuaiShouOperateInfo(lastTimeStart,lastTimeEnd,userSet);
+                    List<KuaiShouOperateVo> userOperate = materialStareMapper.getKuaiShouOperateInfo(lastTimeStart,lastTimeEnd,ids);
+                    String rate = "0";
+                    if (!Check.isNull(userOperate)){
+                        //环比
+                        Double rateDoulbe = (operate.getTotalCost() - userOperate.get(0).getTotalCost()) / userOperate.get(0).getTotalCost();
+                        rate = decimalFormat.format(rateDoulbe);
+                    }
+                    operate.setRate(rate);
+                }
             }
-            operate.setRate(rate);
-        }
+
         PageInfo<KuaiShouOperateVo> pageInfo = new PageInfo<>(listOperate);
         return Result.successMsg("运营数据查询成功。",pageInfo);
        }catch (Exception e){