支付统计 增加时间筛选

This commit is contained in:
2024-04-03 15:26:47 +08:00
parent 2cea30c8a0
commit 34610aace9
6 changed files with 44 additions and 17 deletions

View File

@@ -17,6 +17,7 @@ package cn.ysk.cashier.service.impl.order;
import cn.ysk.cashier.dto.order.TbOrderInfoDto;
import cn.ysk.cashier.dto.order.TbOrderInfoQueryCriteria;
import cn.ysk.cashier.dto.order.TbPayCountQueryCriteria;
import cn.ysk.cashier.mapper.order.TbOrderInfoMapper;
import cn.ysk.cashier.pojo.TbShopPayType;
import cn.ysk.cashier.pojo.order.TbOrderDetail;
@@ -35,11 +36,13 @@ import org.springframework.beans.BeanUtils;
import org.springframework.data.domain.*;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.persistence.criteria.Predicate;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.math.BigDecimal;
import java.time.Instant;
import java.util.*;
import java.util.stream.Collectors;
@@ -101,12 +104,25 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService {
}
@Override
public List<TbOrderPayCountVo> queryTbOrderPayCount(String shopId) {
public List<TbOrderPayCountVo> queryTbOrderPayCount(TbPayCountQueryCriteria criteria) {
List<TbOrderPayCountVo> result = new ArrayList<>();
List<TbOrderPayCountVo> payCountVoList = tbOrderInfoRepository.queryTbOrderPayCount(shopId);
List<Long> createdAt = criteria.getCreatedAt();
// 指定时间例如2024年1月1日 00:00:00
Long start = 1704038400000L;
Long end = Instant.now().toEpochMilli();
if (!CollectionUtils.isEmpty(createdAt)) {
if (createdAt.get(0) > createdAt.get(1)) {
start=createdAt.get(1);
end=createdAt.get(0);
}else {
start=createdAt.get(0);
end=createdAt.get(1);
}
}
List<TbOrderPayCountVo> payCountVoList = tbOrderInfoRepository.queryTbOrderPayCount(criteria.getShopId(), start, end);
for (TbOrderPayCountVo payCount : payCountVoList) {
if (StringUtils.isNotBlank(payCount.getPayType())) {
TbShopPayType byPayType = payTypeRepository.findByPayType(payCount.getPayType(), shopId);
TbShopPayType byPayType = payTypeRepository.findByPayType(payCount.getPayType(), criteria.getShopId());
if (byPayType != null) {
payCount.setPayType(byPayType.getPayName());
payCount.setIcon(byPayType.getIcon());
@@ -118,7 +134,7 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService {
result.add(payCount);
}
}
TbOrderPayCountVo payRufund = tbOrderInfoRepository.queryTbOrderRefund(shopId);
TbOrderPayCountVo payRufund = tbOrderInfoRepository.queryTbOrderRefund(criteria.getShopId(), start, end);
if (payRufund != null) {
payRufund.setPayType("退单");
payRufund.setIcon("https://cashier-oss.oss-cn-beijing.aliyuncs.com/upload/20240319/5741608662244b878762c61bb37c95c9.png");

View File

@@ -17,6 +17,7 @@ package cn.ysk.cashier.service.order;
import cn.ysk.cashier.dto.order.TbOrderInfoDto;
import cn.ysk.cashier.dto.order.TbOrderInfoQueryCriteria;
import cn.ysk.cashier.dto.order.TbPayCountQueryCriteria;
import cn.ysk.cashier.pojo.order.TbOrderInfo;
import cn.ysk.cashier.vo.TbOrderPayCountVo;
import org.springframework.data.domain.Pageable;
@@ -46,7 +47,7 @@ public interface TbOrderInfoService {
* @param shopId shopId
* @return TbOrderPayCountVo
*/
List<TbOrderPayCountVo> queryTbOrderPayCount(String shopId);
List<TbOrderPayCountVo> queryTbOrderPayCount(TbPayCountQueryCriteria shopId);
/**
* 查询所有数据不分页