浏览代码

切片毛利调整

yumeng 1 年之前
父节点
当前提交
8870ab720c

+ 16 - 8
ruixuan-live/src/main/java/com/ruixuan/jiaoyang/controller/JiaoYangReportController.java

@@ -159,17 +159,19 @@ public class JiaoYangReportController extends BaseController {
 
     @GetMapping("/profitData")
     @ApiOperation(value = "商品列表")
-    public JSONObject profitData(String date, Integer dataType) throws ParseException {
+    public JSONObject profitData(String startDate, String endDate, Integer dataType) throws ParseException {
 
         JSONObject returnJson = new JSONObject();
 
         try {
-            String lastDate = DateUtils.getAnotherDay("yyyy-MM-dd", date, -1);  //  日期 -1
-            String firstDateByMonth = DateUtils.getMonthStartDay(date); // 本月第一天
-            // date 为本月结束时间
-            String lastMonthFirstDate = DateUtils.getLastMonthFirstDayByDate(date);// 上个月开始时间
-            String lastMonthEndDate = DateUtils.getLastMonthNowDay(date);// 上个月结束时间
-            JSONObject dayData = jiaoYangReportService.dayData(DateUtils.strDateTimsToInt(date), DateUtils.strDateTimsToInt(lastDate), dataType);
+
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+            int differDay = DateUtils.differentDaysByMillisecond(simpleDateFormat.parse(startDate), simpleDateFormat.parse(endDate));
+            String lastEnd = DateUtils.getAnotherDay("yyyy-MM-dd", startDate, -1); // 上一时段结束日期
+            String lastStart = DateUtils.getAnotherDay("yyyy-MM-dd", lastEnd, -differDay); // 上一时段开始日期
+
+
+            JSONObject dayData = jiaoYangReportService.dayData(DateUtils.strDateTimsToInt(startDate), DateUtils.strDateTimsToInt(endDate), DateUtils.strDateTimsToInt(lastStart), DateUtils.strDateTimsToInt(lastEnd), dataType);
             JSONArray dayArray = new JSONArray();
             JSONObject obj1 = new JSONObject();
             obj1.put("date", dayData.getString("date"));
@@ -204,7 +206,13 @@ public class JiaoYangReportController extends BaseController {
             dayArray.add(obj3);
             dayArray.add(new JSONObject());
 
-            JSONObject monthData = jiaoYangReportService.monthData(DateUtils.strDateTimsToInt(firstDateByMonth), DateUtils.strDateTimsToInt(date), DateUtils.strDateTimsToInt(lastMonthFirstDate), DateUtils.strDateTimsToInt(lastMonthEndDate), dataType);
+
+            String nowDate = DateUtils.getNowDate("yyyy-MM-dd");
+            String yesDate = DateUtils.getAnotherDay("yyyy-MM-dd", nowDate, -1);  //  日期 -1
+            String lastMonthFirstDate = DateUtils.getLastMonthFirstDayByDate(yesDate);// 上个月开始时间
+            String lastMonthEndDate = DateUtils.getLastMonthNowDay(yesDate);// 上个月结束时间
+            String firstDateByMonth = DateUtils.getMonthStartDay(yesDate); // 本月第一天
+            JSONObject monthData = jiaoYangReportService.monthData(DateUtils.strDateTimsToInt(firstDateByMonth), DateUtils.strDateTimsToInt(yesDate), DateUtils.strDateTimsToInt(lastMonthFirstDate), DateUtils.strDateTimsToInt(lastMonthEndDate), dataType);
 
 
             JSONObject obj4 = new JSONObject();

+ 1 - 1
ruixuan-live/src/main/java/com/ruixuan/jiaoyang/mapper/JiaoYangReportMapper.java

@@ -44,7 +44,7 @@ public interface JiaoYangReportMapper {
 
     List<Long> getPromoterIdsByUserIds(@Param("userIds") List<Long> userIds);
 
-    JSONObject dayData(@Param("date") Long date, @Param("lastDate") Long lastDate, @Param("dataType") Integer dataType);
+    JSONObject dayData(@Param("startDate") Long startDate, @Param("endDate") Long endDate, @Param("lastStart") Long lastStart, @Param("lastEnd") Long lastEnd, @Param("dataType") Integer dataType);
 
     JSONObject monthData(@Param("nowMonthStartDate") Long nowMonthStartDate, @Param("nowMonthEndDate") Long nowMonthEndDate, @Param("lastMonthStartDate") Long lastMonthStartDate, @Param("lastMonthEndDate") Long lastMonthEndDate, @Param("dataType") Integer dataType);
 

+ 1 - 1
ruixuan-live/src/main/java/com/ruixuan/jiaoyang/service/IJiaoYangReportService.java

@@ -42,7 +42,7 @@ public interface IJiaoYangReportService {
 
     List<Long> getPromoterIdsByUserIds(List<Long> userIds);
 
-    JSONObject dayData(Long date, Long lastDate, Integer dataType);
+    JSONObject dayData(Long date, Long lastDate,Long lastStart,Long lastEnd, Integer dataType);
 
     JSONObject monthData(Long nowMonthStartDate, Long nowMonthEndDate, Long lastMonthStartDate, Long lastMonthEndDate, Integer dataType);
 

+ 5 - 5
ruixuan-live/src/main/java/com/ruixuan/jiaoyang/service/impl/JiaoYangReportServiceImpl.java

@@ -113,13 +113,13 @@ public class JiaoYangReportServiceImpl implements IJiaoYangReportService {
     }
 
     @Override
-    public JSONObject dayData(Long date, Long lastDate,Integer dataType) {
-        return jiaoYangReportMapper.dayData(date, lastDate,dataType);
+    public JSONObject dayData(Long startDate, Long endDate, Long lastStart, Long lastEnd, Integer dataType) {
+        return jiaoYangReportMapper.dayData(startDate, endDate, lastStart, lastEnd, dataType);
     }
 
     @Override
-    public JSONObject monthData(Long nowMonthStartDate, Long nowMonthEndDate, Long lastMonthStartDate, Long lastMonthEndDate,Integer dataType) {
-        return jiaoYangReportMapper.monthData(nowMonthStartDate, nowMonthEndDate, lastMonthStartDate, lastMonthEndDate,dataType);
+    public JSONObject monthData(Long nowMonthStartDate, Long nowMonthEndDate, Long lastMonthStartDate, Long lastMonthEndDate, Integer dataType) {
+        return jiaoYangReportMapper.monthData(nowMonthStartDate, nowMonthEndDate, lastMonthStartDate, lastMonthEndDate, dataType);
     }
 
     @Override
@@ -191,7 +191,7 @@ public class JiaoYangReportServiceImpl implements IJiaoYangReportService {
             adds.add(order);
         }
 
-          jiaoYangReportMapper.replaceItems(adds);
+        jiaoYangReportMapper.replaceItems(adds);
         if (list.size() >= 10) {
             getAuthItem(cookie, offset + 10, count);
         }

+ 13 - 4
ruixuan-live/src/main/resources/mapper/jiaoyang/JiaoYangReportMapper.xml

@@ -661,7 +661,8 @@
         t1.validOrderNUm - t2.lastValidOrderNUm as 'validOrderNumGap',
         t1.mcnPromotionAmount - t2.lastMcnPromotionAmount as 'mcnPromotionAmountGap',
         t1.grossMargin - t2.lastGrossMargin as 'grossMarginGap'
-        from (select date_format(#{date},'%Y/%m/%d') as 'date',
+        from (select
+        concat(concat(concat( date_format(#{startDate},'%m%d'),'~')), date_format(#{endDate},'%m%d') ) as 'date',
         round(sum(pay_amount) / 100, 2) as 'gmv',
         count(oid) as 'orderNum',
         round(sum(case when order_status != 80 then pay_amount else 0 end) / 100, 2) as 'validGmv',
@@ -669,7 +670,9 @@
         round(sum(mcn_promotion_amount) / 100, 2) as 'mcnPromotionAmount',
         round(sum(mcn_promotion_amount) / sum(pay_amount) * 100, 2) as 'grossMargin'
         from jy_order_list t1
-        where t1.stat_date = #{date}
+        where 1 = 1
+        and t1.stat_date &gt;= #{startDate}
+        and t1.stat_date &lt;= #{endDate}
         <if test='dataType == "1" '>
             and t1.clip_user_id in (
             select promoter_id from jy_kuaishou_promoter
@@ -685,7 +688,11 @@
             )
         </if>
         ) t1
-        join (select date_format(#{lastDate} ,'%Y/%m/%d') as 'lastDate',
+        join
+        (
+        select
+        concat(concat(concat( date_format(#{lastStart},'%m%d'),'~')), date_format(#{lastEnd},'%m%d') ) as
+        'lastDate',
         round(sum(pay_amount) / 100, 2) as 'lastGmv',
         count(oid) as 'lastOrderNum',
         round(sum(case when order_status != 80 then pay_amount else 0 end) / 100, 2) as 'lastValidGmv',
@@ -693,7 +700,9 @@
         round(sum(mcn_promotion_amount) / 100, 2) as 'lastMcnPromotionAmount',
         round(sum(mcn_promotion_amount) / sum(pay_amount) * 100, 2) as 'lastGrossMargin'
         from jy_order_list t1
-        where t1.stat_date = #{lastDate}
+        where 1 = 1
+        and t1.stat_date &gt;= #{lastStart}
+        and t1.stat_date &lt;= #{lastEnd}
         <if test='dataType == "1"'>
             and t1.clip_user_id in (
             select promoter_id from jy_kuaishou_promoter