Преглед изворни кода

盲票报表统计区分微信支付宝

cup пре 2 година
родитељ
комит
c8a5bcc5c2
1 измењених фајлова са 120 додато и 5 уклоњено
  1. 120 5
      mp-quartz/src/main/java/com/qs/mp/quartz/task/DayStatTask.java

+ 120 - 5
mp-quartz/src/main/java/com/qs/mp/quartz/task/DayStatTask.java

@@ -133,10 +133,29 @@ public class DayStatTask {
     // 线上销售额和汇总
     BigDecimal onlineSumSaleAmt = BigDecimal.ZERO;
     BigDecimal onlineSumAllSaleAmt = BigDecimal.ZERO;
+
+
+    // 线上微信销售额和汇总
+    BigDecimal wxOnlineSumSaleAmt = BigDecimal.ZERO;
+    BigDecimal wxOnlineSumAllSaleAmt = BigDecimal.ZERO;
+
+    // 线上支付宝销售额和汇总
+    BigDecimal aliOnlineSumSaleAmt = BigDecimal.ZERO;
+    BigDecimal aliOnlineSumAllSaleAmt = BigDecimal.ZERO;
+
+
     // 线下销售额和汇总
     BigDecimal offlineSumSaleAmt = BigDecimal.ZERO;
     BigDecimal offlineSumAllSaleAmt = BigDecimal.ZERO;
 
+    // 线下微信销售额和汇总
+    BigDecimal wxOfflineSumSaleAmt = BigDecimal.ZERO;
+    BigDecimal wxOfflineSumAllSaleAmt = BigDecimal.ZERO;
+
+    // 线下支付宝销售额和汇总
+    BigDecimal aliOfflineSumSaleAmt = BigDecimal.ZERO;
+    BigDecimal aliOfflineSumAllSaleAmt = BigDecimal.ZERO;
+
 
     // 预付的金额统计
     BigDecimal sumPreSaleAmt = BigDecimal.ZERO;
@@ -160,6 +179,24 @@ public class DayStatTask {
                 .ge(UserTicketOrder::getPayTime, bizDay)
                 .lt(UserTicketOrder::getPayTime, DateUtils.addDays(bizDay, 1)));
 
+        Map<String, Object> wxOrderMap = userTicketOrderService.getMap(
+            new QueryWrapper<UserTicketOrder>()
+                .select("IFNULL(sum(pay_amt) ,0) as orderAmt")
+                .lambda().eq(UserTicketOrder::getBoxId, ticketBox.getBoxId())
+                .eq(UserTicketOrder::getStatus, UserTicketOrderStatusEnum.FINISHED)
+                .eq(UserTicketOrder::getPayType, PayTypeEnum.WXPAY.getValue())
+                .ge(UserTicketOrder::getPayTime, bizDay)
+                .lt(UserTicketOrder::getPayTime, DateUtils.addDays(bizDay, 1)));
+
+        Map<String, Object> aliOrderMap = userTicketOrderService.getMap(
+            new QueryWrapper<UserTicketOrder>()
+                .select("IFNULL(sum(pay_amt) ,0) as orderAmt")
+                .lambda().eq(UserTicketOrder::getBoxId, ticketBox.getBoxId())
+                .eq(UserTicketOrder::getStatus, UserTicketOrderStatusEnum.FINISHED)
+                .in(UserTicketOrder::getPayType, PayTypeEnum.ALIPAY.getValue(), "10")
+                .ge(UserTicketOrder::getPayTime, bizDay)
+                .lt(UserTicketOrder::getPayTime, DateUtils.addDays(bizDay, 1)));
+
         // 预付的金额统计
         QueryWrapper<ChannelOrder> channelOrderQueryWrapper = new QueryWrapper<>();
         channelOrderQueryWrapper.eq("t2.box_id", ticketBox.getBoxId());
@@ -170,6 +207,68 @@ public class DayStatTask {
         int preSaleAmt = channelOrderService.selectPreSaleAmtByQueryWrapper(channelOrderQueryWrapper);
 
 
+        if (wxOrderMap != null) {
+          BigDecimal orderAmt = new BigDecimal(
+            Integer.valueOf(String.valueOf(wxOrderMap.get("orderAmt")))).divide(new BigDecimal(100),
+            2, RoundingMode.DOWN);
+
+          if (isOnline) {
+            wxOnlineSumSaleAmt = wxOnlineSumSaleAmt.add(orderAmt);
+          } else {
+            wxOfflineSumSaleAmt = wxOfflineSumSaleAmt.add(orderAmt);
+          }
+          Map<String, Object> wxAllOrderMap = userTicketOrderService.getMap(
+              new QueryWrapper<UserTicketOrder>()
+                  .select("IFNULL(sum(pay_amt) ,0) as orderAmt")
+                  .lambda().eq(UserTicketOrder::getBoxId, ticketBox.getBoxId())
+                  .eq(UserTicketOrder::getPayType, PayTypeEnum.WXPAY.getValue())
+                  .eq(UserTicketOrder::getStatus, UserTicketOrderStatusEnum.FINISHED)
+                  .lt(UserTicketOrder::getPayTime, DateUtils.addDays(bizDay, 1)));
+          BigDecimal allOrderAmt = BigDecimal.ZERO;
+          if (Objects.nonNull(wxAllOrderMap)) {
+            allOrderAmt = new BigDecimal(
+                Integer.valueOf(String.valueOf(wxAllOrderMap.get("orderAmt")))).divide(new BigDecimal(100),
+                2, RoundingMode.DOWN);
+            if (isOnline) {
+              wxOnlineSumAllSaleAmt = wxOnlineSumAllSaleAmt.add(allOrderAmt);
+            } else {
+              wxOfflineSumAllSaleAmt = wxOfflineSumAllSaleAmt.add(allOrderAmt);
+            }
+          }
+        }
+
+        if (aliOrderMap != null) {
+          BigDecimal orderAmt = new BigDecimal(
+            Integer.valueOf(String.valueOf(aliOrderMap.get("orderAmt")))).divide(new BigDecimal(100),
+            2, RoundingMode.DOWN);
+
+          if (isOnline) {
+            aliOnlineSumSaleAmt = aliOnlineSumSaleAmt.add(orderAmt);
+          } else {
+            aliOfflineSumSaleAmt = aliOfflineSumSaleAmt.add(orderAmt);
+          }
+
+          Map<String, Object> aliAllOrderMap = userTicketOrderService.getMap(
+              new QueryWrapper<UserTicketOrder>()
+                  .select("IFNULL(sum(pay_amt) ,0) as orderAmt")
+                  .lambda().eq(UserTicketOrder::getBoxId, ticketBox.getBoxId())
+                  .in(UserTicketOrder::getPayType, PayTypeEnum.ALIPAY.getValue(), "10")
+                  .eq(UserTicketOrder::getStatus, UserTicketOrderStatusEnum.FINISHED)
+                  .lt(UserTicketOrder::getPayTime, DateUtils.addDays(bizDay, 1)));
+          BigDecimal allOrderAmt = BigDecimal.ZERO;
+          if (Objects.nonNull(aliAllOrderMap)) {
+            allOrderAmt = new BigDecimal(
+                Integer.valueOf(String.valueOf(aliAllOrderMap.get("orderAmt")))).divide(new BigDecimal(100),
+                2, RoundingMode.DOWN);
+            if (isOnline) {
+              aliOnlineSumAllSaleAmt = aliOnlineSumAllSaleAmt.add(allOrderAmt);
+            } else {
+              aliOfflineSumAllSaleAmt = aliOfflineSumAllSaleAmt.add(allOrderAmt);
+            }
+          }
+
+        }
+
         if (null != orderMap || preSaleAmt > 0) {
           BigDecimal orderAmt = BigDecimal.ZERO;
           if (Objects.nonNull(orderMap)) {
@@ -240,11 +339,27 @@ public class DayStatTask {
         }
       }
     }
-    sumSaleAmt = BigDecimal.ZERO.add(onlineSumSaleAmt).add(offlineSumSaleAmt);
-    sumAllSaleAmt = BigDecimal.ZERO.add(onlineSumAllSaleAmt).add(offlineSumAllSaleAmt);
-    sb.append("累计零售总销售金额:").append(sumAllSaleAmt).append("元,当日:").append(sumSaleAmt).append("元\n");
-    sb.append("线上累计零售销售金额:").append(onlineSumAllSaleAmt).append("元,当日:").append(onlineSumSaleAmt).append("元\n");
-    sb.append("线下累计零售销售金额:").append(offlineSumAllSaleAmt).append("元,当日:").append(offlineSumSaleAmt).append("元,").append("累计预付销售金额:").append(sumAllPreSaleAmt).append("元,当日:").append(sumPreSaleAmt).append("元\n");
+
+    BigDecimal wxSumSaleAmt = BigDecimal.ZERO.add(wxOnlineSumSaleAmt).add(wxOfflineSumSaleAmt);
+    BigDecimal wxSumAllSaleAmt = BigDecimal.ZERO.add(wxOnlineSumAllSaleAmt).add(wxOfflineSumAllSaleAmt);
+
+    BigDecimal aliSumSaleAmt = BigDecimal.ZERO.add(aliOnlineSumSaleAmt).add(aliOfflineSumSaleAmt);
+    BigDecimal aliSumAllSaleAmt = BigDecimal.ZERO.add(aliOnlineSumAllSaleAmt).add(aliOfflineSumAllSaleAmt);
+
+    sb.append("微信累计零售总销售金额:").append(wxSumAllSaleAmt).append("元,当日:").append(wxSumSaleAmt).append("元\n");
+    sb.append("支付宝累计零售总销售金额:").append(aliSumAllSaleAmt).append("元,当日:").append(aliSumSaleAmt).append("元\n");
+    sb.append("微信线上累计零售销售金额:").append(wxOnlineSumAllSaleAmt).append("元,当日:").append(wxOnlineSumSaleAmt).append("元\n");
+    sb.append("支付宝线上累计零售销售金额:").append(aliOnlineSumAllSaleAmt).append("元,当日:").append(aliOnlineSumSaleAmt).append("元\n");
+    sb.append("微信线下累计零售销售金额:").append(wxOfflineSumAllSaleAmt).append("元,当日:").append(wxOfflineSumSaleAmt).append("元,").append("累计预付销售金额:").append(sumAllPreSaleAmt).append("元,当日:").append(sumPreSaleAmt).append("元\n");
+    sb.append("支付宝线下累计零售销售金额:").append(aliOfflineSumAllSaleAmt).append("元,当日:").append(aliOfflineSumSaleAmt).append("元\n");
+
+
+
+//    sumSaleAmt = BigDecimal.ZERO.add(onlineSumSaleAmt).add(offlineSumSaleAmt);
+//    sumAllSaleAmt = BigDecimal.ZERO.add(onlineSumAllSaleAmt).add(offlineSumAllSaleAmt);
+//    sb.append("累计零售总销售金额:").append(sumAllSaleAmt).append("元,当日:").append(sumSaleAmt).append("元\n");
+//    sb.append("线上累计零售销售金额:").append(onlineSumAllSaleAmt).append("元,当日:").append(onlineSumSaleAmt).append("元\n");
+//    sb.append("线下累计零售销售金额:").append(offlineSumAllSaleAmt).append("元,当日:").append(offlineSumSaleAmt).append("元,").append("累计预付销售金额:").append(sumAllPreSaleAmt).append("元,当日:").append(sumPreSaleAmt).append("元\n");
 
 //    sb.append("累计零售销售额:").append(sumAllSaleAmt).append("元,当日:").append(sumSaleAmt).append("元\n");
 //    sb.append("累计预付销售额:").append(sumAllPreSaleAmt).append("元,当日:").append(sumPreSaleAmt).append("元\n");