数据统计加退款和充值

This commit is contained in:
GYJ
2024-06-20 17:02:25 +08:00
parent cccf927b53
commit 21b5784829
7 changed files with 128 additions and 2 deletions

View File

@@ -3,6 +3,8 @@ package cn.ysk.cashier.service.impl;
import cn.ysk.cashier.dto.ShopSummaryDto;
import cn.ysk.cashier.enums.PayTypeEnum;
import cn.ysk.cashier.exception.BadRequestException;
import cn.ysk.cashier.mybatis.entity.TbMemberIn;
import cn.ysk.cashier.mybatis.service.TbMemberInService;
import cn.ysk.cashier.repository.ShopUserDutyDetailRepository;
import cn.ysk.cashier.repository.ShopUserDutyRepository;
import cn.ysk.cashier.repository.TbTokenRepository;
@@ -13,6 +15,7 @@ import cn.ysk.cashier.service.SummaryService;
import cn.ysk.cashier.utils.DateUtil;
import cn.ysk.cashier.utils.FileUtil;
import cn.ysk.cashier.vo.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@@ -51,6 +54,9 @@ public class SummaryServiceImpl implements SummaryService {
@Resource
private TbTokenRepository tbTokenRepository;
@Resource
private TbMemberInService tbMemberInService;
@Override
public SummaryVO selectSummary(Integer shopId) {
SummaryVO summaryVO = new SummaryVO();
@@ -357,7 +363,27 @@ public class SummaryServiceImpl implements SummaryService {
start = summaryDto.getStartTime().getTime();
end = summaryDto.getEndTime().getTime();
}
return (Page<T>) tbOrderInfoRepository.queryTbOrderPayCountByDay(summaryDto.getShopId(), start, end, pageable);
Page<T> tPage = (Page<T>) tbOrderInfoRepository.queryTbOrderPayCountByDay(summaryDto.getShopId(), start, end, pageable);
tPage.getContent().forEach(t -> {
TbOrderPayCountByDayVo tbOrderPayCountByDayVo = (TbOrderPayCountByDayVo) t;
QueryWrapper<TbMemberIn> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("status", "7");
queryWrapper.eq("shop_id", summaryDto.getShopId());
queryWrapper.ge("create_time", tbOrderPayCountByDayVo.getTradeDay() + " 00:00:00");
queryWrapper.le("create_time", tbOrderPayCountByDayVo.getTradeDay() + " 23:59:59");
// 会员充值金额 amount 求和
queryWrapper.select("IFNULL (sum(amount), 0) AS amountTotal");
Map<String, Object> map = tbMemberInService.getMap(queryWrapper);
tbOrderPayCountByDayVo.setRecharge(new BigDecimal(map.get("amountTotal").toString()));
BigDecimal decimal = tbOrderInfoRepository.queryRefundOrderAmountByTradeDay(summaryDto.getShopId(), tbOrderPayCountByDayVo.getTradeDay());
tbOrderPayCountByDayVo.setRefund(decimal == null ? new BigDecimal("0.00") : decimal);
});
return tPage;
} else {//销量
if (summaryDto.getStartTime() == null || summaryDto.getEndTime() == null) {
summaryDto.setStartTime(DateUtil.toDate(DateUtil.fromTimeStamp(1704038400L)));