|
@@ -4,14 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.qs.mp.admin.domain.TicketBox;
|
|
|
import com.qs.mp.admin.service.ITicketBoxService;
|
|
|
-import com.qs.mp.channel.domain.Channel;
|
|
|
-import com.qs.mp.channel.domain.ChannelCommission;
|
|
|
-import com.qs.mp.channel.domain.ChannelCouponVerifyLog;
|
|
|
-import com.qs.mp.channel.domain.ChannelWithdraw;
|
|
|
-import com.qs.mp.channel.service.IChannelCommissionService;
|
|
|
-import com.qs.mp.channel.service.IChannelCouponVerifyLogService;
|
|
|
-import com.qs.mp.channel.service.IChannelService;
|
|
|
-import com.qs.mp.channel.service.IChannelWithdrawService;
|
|
|
+import com.qs.mp.channel.domain.*;
|
|
|
+import com.qs.mp.channel.service.*;
|
|
|
import com.qs.mp.common.enums.ChannelWithdrawStatusEnum;
|
|
|
import com.qs.mp.common.enums.CoinLogTypeEnum;
|
|
|
import com.qs.mp.common.enums.CouponDiscountTypeEnum;
|
|
@@ -35,6 +29,8 @@ import java.math.RoundingMode;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.Objects;
|
|
|
+
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -79,6 +75,9 @@ public class DayStatTask {
|
|
|
@Autowired
|
|
|
private IChannelCouponVerifyLogService channelCouponVerifyLogService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IChannelOrderService channelOrderService;
|
|
|
+
|
|
|
@Value("${export.page-size}")
|
|
|
private int pageSize;
|
|
|
|
|
@@ -129,6 +128,9 @@ public class DayStatTask {
|
|
|
}
|
|
|
BigDecimal sumSaleAmt = BigDecimal.ZERO;
|
|
|
BigDecimal sumAllSaleAmt = BigDecimal.ZERO;
|
|
|
+ // 预付的金额统计
|
|
|
+ BigDecimal sumPreSaleAmt = BigDecimal.ZERO;
|
|
|
+ BigDecimal sumAllPreSaleAmt = BigDecimal.ZERO;
|
|
|
for (int i = 0; i < totalPage; i++) {
|
|
|
queryWrapper.orderByAsc(TicketBox::getBoxNo);
|
|
|
queryWrapper.last("limit " + (i * pageSize) + ", " + pageSize);
|
|
@@ -141,11 +143,30 @@ public class DayStatTask {
|
|
|
.eq(UserTicketOrder::getStatus, UserTicketOrderStatusEnum.FINISHED)
|
|
|
.ge(UserTicketOrder::getPayTime, bizDay)
|
|
|
.lt(UserTicketOrder::getPayTime, DateUtils.addDays(bizDay, 1)));
|
|
|
- if (null != orderMap) {
|
|
|
- BigDecimal orderAmt = new BigDecimal(
|
|
|
- Integer.valueOf(String.valueOf(orderMap.get("orderAmt")))).divide(new BigDecimal(100),
|
|
|
- 2, RoundingMode.DOWN);
|
|
|
- sumSaleAmt = sumSaleAmt.add(orderAmt);
|
|
|
+
|
|
|
+ // 预付的金额统计
|
|
|
+ QueryWrapper<ChannelOrder> channelOrderQueryWrapper = new QueryWrapper<>();
|
|
|
+ channelOrderQueryWrapper.eq("t2.box_id", ticketBox.getBoxId());
|
|
|
+ channelOrderQueryWrapper.gt("t1.type" , 1);
|
|
|
+ channelOrderQueryWrapper.gt("t1.status" , 0);
|
|
|
+ channelOrderQueryWrapper.ge("t1.pay_time" , bizDay);
|
|
|
+ channelOrderQueryWrapper.lt("t1.pay_time" , DateUtils.addDays(bizDay, 1));
|
|
|
+ int preSaleAmt = channelOrderService.selectPreSaleAmtByQueryWrapper(channelOrderQueryWrapper);
|
|
|
+
|
|
|
+
|
|
|
+ if (null != orderMap || preSaleAmt > 0) {
|
|
|
+ BigDecimal orderAmt = BigDecimal.ZERO;
|
|
|
+ if (Objects.nonNull(orderMap)) {
|
|
|
+ orderAmt = new BigDecimal(
|
|
|
+ Integer.valueOf(String.valueOf(orderMap.get("orderAmt")))).divide(new BigDecimal(100),
|
|
|
+ 2, RoundingMode.DOWN);
|
|
|
+ sumSaleAmt = sumSaleAmt.add(orderAmt);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // 设置预付票金额
|
|
|
+ BigDecimal preOrderAmt = new BigDecimal(preSaleAmt).divide(new BigDecimal(100),2,RoundingMode.DOWN);
|
|
|
+ sumPreSaleAmt = sumPreSaleAmt.add(preOrderAmt);
|
|
|
|
|
|
Map<String, Object> allOrderMap = userTicketOrderService.getMap(
|
|
|
new QueryWrapper<UserTicketOrder>()
|
|
@@ -153,26 +174,49 @@ public class DayStatTask {
|
|
|
.lambda().eq(UserTicketOrder::getBoxId, ticketBox.getBoxId())
|
|
|
.eq(UserTicketOrder::getStatus, UserTicketOrderStatusEnum.FINISHED)
|
|
|
.lt(UserTicketOrder::getPayTime, DateUtils.addDays(bizDay, 1)));
|
|
|
- BigDecimal allOrderAmt = new BigDecimal(
|
|
|
- Integer.valueOf(String.valueOf(allOrderMap.get("orderAmt")))).divide(new BigDecimal(100),
|
|
|
- 2, RoundingMode.DOWN);
|
|
|
- sumAllSaleAmt = sumAllSaleAmt.add(allOrderAmt);
|
|
|
+ BigDecimal allOrderAmt = BigDecimal.ZERO;
|
|
|
+ if (Objects.nonNull(allOrderMap)) {
|
|
|
+ allOrderAmt = new BigDecimal(
|
|
|
+ Integer.valueOf(String.valueOf(allOrderMap.get("orderAmt")))).divide(new BigDecimal(100),
|
|
|
+ 2, RoundingMode.DOWN);
|
|
|
+ sumAllSaleAmt = sumAllSaleAmt.add(allOrderAmt);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 预付累积金额
|
|
|
+ QueryWrapper<ChannelOrder> channelOrderQueryWrapper1 = new QueryWrapper<>();
|
|
|
+ channelOrderQueryWrapper1.eq("t2.box_id", ticketBox.getBoxId());
|
|
|
+ channelOrderQueryWrapper1.gt("t1.type" , 1);
|
|
|
+ channelOrderQueryWrapper1.gt("t1.status" , 0);
|
|
|
+ channelOrderQueryWrapper1.lt("t1.pay_time" , DateUtils.addDays(bizDay, 1));
|
|
|
+ int allPreSaleAmt = channelOrderService.selectPreSaleAmtByQueryWrapper(channelOrderQueryWrapper1);
|
|
|
+
|
|
|
+ // 设置预付票累积金额
|
|
|
+ BigDecimal allPreOrderAmt = new BigDecimal(allPreSaleAmt).divide(new BigDecimal(100),2,RoundingMode.DOWN);
|
|
|
+ sumAllPreSaleAmt = sumAllPreSaleAmt.add(allPreOrderAmt);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
// 只输出当日销量大于0的票组
|
|
|
- if (orderAmt.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
+ if (orderAmt.compareTo(BigDecimal.ZERO) > 0 || preOrderAmt.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
sbDetail.append(ticketBox.getTitle()).append("|").append(ticketBox.getType().getDesc())
|
|
|
.append("(").append(
|
|
|
new BigDecimal(ticketBox.getSalePrice()).divide(new BigDecimal(100), 2,
|
|
|
- RoundingMode.DOWN)).append("元),累计销售额:")
|
|
|
+ RoundingMode.DOWN)).append("元),累计零售销售额:")
|
|
|
.append(allOrderAmt).append("元,当日:")
|
|
|
.append(orderAmt).append("元\n");
|
|
|
+
|
|
|
+ sbDetail.append("累计预付销售额:")
|
|
|
+ .append(allPreOrderAmt).append("元,当日:")
|
|
|
+ .append(preOrderAmt).append("元\n");
|
|
|
sbDetail.append("------------------------\n");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- sb.append("累计销售额:").append(sumAllSaleAmt).append("元,当日:").append(sumSaleAmt).append("元\n");
|
|
|
-
|
|
|
+ sb.append("累计零售销售额:").append(sumAllSaleAmt).append("元,当日:").append(sumSaleAmt).append("元\n");
|
|
|
+ sb.append("累计预付销售额:").append(sumAllPreSaleAmt).append("元,当日:").append(sumPreSaleAmt).append("元\n");
|
|
|
Map<String, Object> commMap = channelCommissionService.getMap(
|
|
|
new QueryWrapper<ChannelCommission>()
|
|
|
.select("IFNULL(sum(comm_amt) ,0) as commAmt")
|