Kaynağa Gözat

分媒体投放数据返回格式修改

yangzian 3 yıl önce
ebeveyn
işleme
3a2cbc423a

+ 28 - 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java

@@ -1829,8 +1829,35 @@ public class DateUtils extends PropertyEditorSupport {
     }
 
 
+    /**
+     * 整形 年月日 转 String 月-日
+     * 20220120 时间格式 转换为 01-20
+     * @param dateString
+     * @return
+     */
+    public static String intDateToString(String dateString) {
+        String newDate = null;
+        try {
+            SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
+            df.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
+            Date date = df.parse(dateString);
+            SimpleDateFormat dfStr = new SimpleDateFormat("MM-dd");
+            newDate = dfStr.format(date);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        return newDate;
+    }
+
+
+
+
+
     public static void main(String[] args) {
-        System.out.println(DateUtils.getFirstDayByMonth());
+        //System.out.println(DateUtils.getFirstDayByMonth());
+        System.out.println(intDateToString("20210101"));
+
+
     }
 
 

+ 30 - 1
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/service/impl/BossDataExhibitionServiceImpl.java

@@ -153,9 +153,38 @@ public class BossDataExhibitionServiceImpl implements IBossDataExhibitionService
      */
     @Override
     public Result getAccountDataByMediaType() {
+        Map<String,Object> resultMap = new HashMap<>();
         //获取当前月份第一天
         Integer firstDay = DateUtils.getFirstDayByMonth();
-        return Result.successMsg("分媒体投放数据查询成功。",bossDataExhibitionMapper.getMediaTypeAccountData(firstDay));
+        List<Map<String,Object>>  resultList = bossDataExhibitionMapper.getMediaTypeAccountData(firstDay);
+        if (Check.isNull(resultList)){
+            return Result.error("分媒体投放数据暂无");
+        }
+
+        //图表数据组装
+        List<Object> timeList = resultList.stream().map(map -> map.get("time")).collect(Collectors.toList());
+        //时间格式转换 20220120 -->>> 01-20
+        List<Object> resultTimeList = new ArrayList<>();
+        if (!Check.isNull(timeList)){
+            timeList.forEach(obj -> {
+                resultTimeList.add(DateUtils.intDateToString(obj.toString()));
+            });
+        }
+        //头条数据 坐标轴左侧 加 “-” 变为负数
+        List<Object> bytedanceList = resultList.stream().map(map -> map.get("bytedanceCost")).collect(Collectors.toList());
+        List<Object> resultBytedanceList = new ArrayList<>();
+        if (!Check.isNull(bytedanceList)){
+            bytedanceList.forEach(obj ->{
+                resultBytedanceList.add(new StringBuilder().append("-").append(obj));
+            });
+        }
+        //快手数据 坐标轴右侧  正数
+        List<Object> kuaishouList = resultList.stream().map(map -> map.get("kuaishouCost")).collect(Collectors.toList());
+
+        resultMap.put("time",resultTimeList);
+        resultMap.put("bytedance",resultBytedanceList);
+        resultMap.put("kuaishou",kuaishouList);
+        return Result.successMsg("分媒体投放数据查询成功。",resultMap);
     }
 
     /**