Sfoglia il codice sorgente

Merge branch 'test'

yumeng 5 anni fa
parent
commit
dd57d03137

+ 49 - 48
module-report/src/main/java/cn/com/ctop/bytedance/service/impl/BytedanceReportServiceImpl.java

@@ -211,12 +211,13 @@ public class BytedanceReportServiceImpl implements IBytedanceReportService {
                         BigDecimal yesterdayCost = yesterdayJson.getBigDecimal("cost");// 昨日消耗
                         BigDecimal compareBigDecimal = new BigDecimal(0);
                         if (yesterdayCost.compareTo(compareBigDecimal) != 0) {
-                            BigDecimal costProportion = (cost.subtract(yesterdayCost)).divide(yesterdayCost, BigDecimal.ROUND_HALF_UP);
+                            BigDecimal costProportion = (cost.subtract(yesterdayCost)).divide(yesterdayCost, BigDecimal.ROUND_UP);
                             accountJson.put("costProportion", costProportion); // 较昨日增加比例
                         } else {
                             accountJson.put("costProportion", 0); // 较昨日增加比例
                         }
 
+
                         Long photoShow = accountJson.getLong("photoShow");// 今日封面展示
                         Long yesterdayPhotoShow = yesterdayJson.getLong("photoShow");// 昨日封面展示
                         if (yesterdayPhotoShow != 0L) {
@@ -297,14 +298,14 @@ public class BytedanceReportServiceImpl implements IBytedanceReportService {
                     BigDecimal cost = comparedJson.getBigDecimal("cost");
                     BigDecimal comparedCost = beComparedJson.getBigDecimal("cost");
                     if (comparedCost.compareTo(new BigDecimal(0)) != 0) {
-                        BigDecimal costProportion = (cost.subtract(comparedCost)).divide(comparedCost, BigDecimal.ROUND_HALF_UP);
+                        BigDecimal costProportion = (cost.subtract(comparedCost)).divide(comparedCost, BigDecimal.ROUND_UP);
                         comparedJson.put("costProportion", costProportion);
                     } else {
                         comparedJson.put("costProportion", 0);
                     }
 
                     Long photoClick = comparedJson.getLong("photoClick");
-                    Long comparedPhotoClick = beComparedJson.getLong("photoShow");
+                    Long comparedPhotoClick = beComparedJson.getLong("photoClick");
                     if (comparedPhotoClick != 0L) {
                         double photoClickProportion = (photoClick.doubleValue() - comparedPhotoClick.doubleValue()) / comparedPhotoClick.doubleValue();
                         comparedJson.put("photoClickProportion", photoClickProportion);
@@ -313,7 +314,7 @@ public class BytedanceReportServiceImpl implements IBytedanceReportService {
                     }
 
                     Long aClick = comparedJson.getLong("aclick");
-                    Long comparedAClick = beComparedJson.getLong("photoShow");
+                    Long comparedAClick = beComparedJson.getLong("aclick");
                     if (comparedAClick != 0L) {
                         double aClickProportion = (aClick.doubleValue() - comparedAClick.doubleValue()) / comparedAClick.doubleValue();
                         comparedJson.put("comparedAclick", aClickProportion);
@@ -351,59 +352,58 @@ public class BytedanceReportServiceImpl implements IBytedanceReportService {
             if (type == 1) { //  今日明细
 
                 List<JSONObject> yesterdayDetail = reportMapper.selectReportDetail(anotherDay);
-                List<JSONObject> dayDetail = reportMapper.selectReportDetail(nowDate);
                 for (int i = 0; i < yesterdayDetail.size(); i++) {
+
                     JSONObject yesterdayJson = yesterdayDetail.get(i);
                     if (!Check.isNull(yesterdayJson)) {
                         String yesterdayStatHour = yesterdayJson.getString("statHour");
+                        JSONObject nowJson = reportMapper.selectDayHourlyByHourAndDate(nowDate, yesterdayStatHour);
+                        if (Check.isNull(nowJson)) {
+                            continue;
+                        }
+                        nowJson.put("statDate", nowDate);
+                        BigDecimal cost = nowJson.getBigDecimal("cost"); // 今日消耗
+                        BigDecimal yesterdayCost = yesterdayJson.getBigDecimal("cost");// 昨日消耗
+                        BigDecimal compareBigDecimal = new BigDecimal(0);
+                        if (yesterdayCost.compareTo(compareBigDecimal) != 0) {
+                            BigDecimal costProportion = ((cost.subtract(yesterdayCost))).divide(yesterdayCost, BigDecimal.ROUND_UP);
+                            nowJson.put("costProportion", costProportion); // 较昨日增加比例
+                        } else {
+                            nowJson.put("costProportion", 0); // 较昨日增加比例
+                        }
 
-                        for (int j = 0; j < dayDetail.size(); j++) {
-                            JSONObject nowJson = dayDetail.get(j);
-                            String statHour = nowJson.getString("statHour");
-                            if (yesterdayStatHour.equals(statHour)) {
-                                BigDecimal cost = nowJson.getBigDecimal("cost"); // 今日消耗
-                                BigDecimal yesterdayCost = yesterdayJson.getBigDecimal("cost");// 昨日消耗
-                                BigDecimal compareBigDecimal = new BigDecimal(0);
-                                if (yesterdayCost.compareTo(compareBigDecimal) != 0) {
-                                    BigDecimal costProportion = (cost.subtract(yesterdayCost)).divide(yesterdayCost, BigDecimal.ROUND_HALF_UP);
-                                    nowJson.put("proportion", costProportion); // 较昨日增加比例
-                                } else {
-                                    nowJson.put("proportion", 0); // 较昨日增加比例
-                                }
-
-                                Long photoShow = nowJson.getLong("photoShow");// 今日封面展示
-                                Long yesterdayPhotoShow = yesterdayJson.getLong("photoShow");// 昨日封面展示
-                                if (yesterdayPhotoShow != 0L) {
-                                    double showProportion = (photoShow.doubleValue() - yesterdayPhotoShow.doubleValue()) / yesterdayPhotoShow.doubleValue();
-                                    nowJson.put("proportion", showProportion); // 较昨日增加比例
-                                } else {
-                                    nowJson.put("proportion", 0); // 较昨日增加比例
-                                }
-
-                                Long photoClick = nowJson.getLong("photoClick");// 今日封面展示
-                                Long yesterdayPhotoClick = yesterdayJson.getLong("photoShow");// 昨日封面展示
-                                if (yesterdayPhotoClick != 0L) {
-                                    double photoClickProportion = (photoClick.doubleValue() - yesterdayPhotoClick.doubleValue()) / yesterdayPhotoClick.doubleValue();
-                                    nowJson.put("proportion", photoClickProportion); // 较昨日增加比例
-                                } else {
-                                    nowJson.put("proportion", 0); // 较昨日增加比例
-                                }
-
-                                Long aClick = nowJson.getLong("aclick");// 今日封面展示
-                                Long yesterdayAClick = yesterdayJson.getLong("photoShow");// 昨日封面展示
-                                if (yesterdayAClick != 0L) {
-                                    double aClickProportion = (aClick.doubleValue() - yesterdayAClick.doubleValue()) / yesterdayAClick.doubleValue();
-                                    nowJson.put("proportion", aClickProportion); // 较昨日增加比例
-                                } else {
-                                    nowJson.put("proportion", 0); // 较昨日增加比例
-                                }
-                                yesterdayJson.put("now", nowJson);
-                            }
+                        Long photoShow = nowJson.getLong("photoShow");// 今日封面展示
+                        Long yesterdayPhotoShow = yesterdayJson.getLong("photoShow");// 昨日封面展示
+                        if (yesterdayPhotoShow != 0L) {
+                            double showProportion = (photoShow.doubleValue() - yesterdayPhotoShow.doubleValue()) / yesterdayPhotoShow.doubleValue();
+                            nowJson.put("showProportion", showProportion); // 较昨日增加比例
+                        } else {
+                            nowJson.put("showProportion", 0); // 较昨日增加比例
+                        }
+
+                        Long photoClick = nowJson.getLong("photoClick");// 今日封面展示
+                        Long yesterdayPhotoClick = yesterdayJson.getLong("photoClick");// 昨日封面展示
+                        if (yesterdayPhotoClick != 0L) {
+                            double photoClickProportion = (photoClick.doubleValue() - yesterdayPhotoClick.doubleValue()) / yesterdayPhotoClick.doubleValue();
+                            nowJson.put("photoClickProportion", photoClickProportion); // 较昨日增加比例
+                        } else {
+                            nowJson.put("photoClickProportion", 0); // 较昨日增加比例
+                        }
 
+                        Long aClick = nowJson.getLong("aclick");// 今日封面展示
+                        Long yesterdayAClick = yesterdayJson.getLong("aclick");// 昨日封面展示
+                        if (yesterdayAClick != 0L) {
+                            double aClickProportion = (aClick.doubleValue() - yesterdayAClick.doubleValue()) / yesterdayAClick.doubleValue();
+                            nowJson.put("aClickProportion", aClickProportion); // 较昨日增加比例
+                        } else {
+                            nowJson.put("aClickProportion", 0); // 较昨日增加比例
                         }
+                        yesterdayJson.put("now", nowJson);
                     }
                     detail.add(yesterdayJson);
                 }
+
+
             } else if (type == 2) { // 昨日明细
                 detail = reportMapper.selectReportDetail(anotherDay);
 
@@ -497,7 +497,7 @@ public class BytedanceReportServiceImpl implements IBytedanceReportService {
                             json.put("beComparedDate", beComparedDate);
 
                             if (comparedCost.compareTo(new BigDecimal(0)) != 0) {
-                                BigDecimal costProportion = (cost.subtract(comparedCost)).divide(comparedCost, BigDecimal.ROUND_HALF_UP);
+                                BigDecimal costProportion = (cost.subtract(comparedCost)).divide(comparedCost, BigDecimal.ROUND_UP);
                                 json.put("costProportion", costProportion);
                             } else {
                                 json.put("costProportion", 0);
@@ -535,6 +535,7 @@ public class BytedanceReportServiceImpl implements IBytedanceReportService {
             e.printStackTrace();
 
         }
+        System.err.println(detail);
         return detail;
     }