This commit is contained in:
qjq
2024-11-07 09:15:58 +08:00
parent 7590f84622
commit 4e56b926d6
2 changed files with 38 additions and 13 deletions

View File

@ -140,6 +140,7 @@ public interface ErrorCodeConstants {
ErrorCode STORE_GOODS_INVENTORY_RECORD_NOT_EXISTS = new ErrorCode(1_004_020_001, "商品出入库记录不存在");
ErrorCode STORE_REFUND_NOT_EXISTS = new ErrorCode(1_004_021_001, "超市订单退款审核不存在");
ErrorCode STORE_REFUND_NOT_STATISTICS_EXISTS = new ErrorCode(1_004_022_001, "太空舱营业不存在");
}

View File

@ -21,7 +21,7 @@ import java.util.*;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.STATISTICS_SPACE_CAPSULE_ORDER_NOT_EXISTS;
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.STORE_REFUND_NOT_STATISTICS_EXISTS;
/**
* 太空舱订单营业额统计 Service 实现类
@ -67,7 +67,7 @@ public class StatisticsSpaceCapsuleOrderServiceImpl implements StatisticsSpaceCa
private void validateStatisticsSpaceCapsuleOrderExists(Long id) {
if (statisticsSpaceCapsuleOrderMapper.selectById(id) == null) {
throw exception(STATISTICS_SPACE_CAPSULE_ORDER_NOT_EXISTS);
throw exception(STORE_REFUND_NOT_STATISTICS_EXISTS);
}
}
@ -98,7 +98,7 @@ public class StatisticsSpaceCapsuleOrderServiceImpl implements StatisticsSpaceCa
if("0".equals(type)){
return compDay(carteenId,time);
}else if("2".equals(type)){
return compMonth(carteenId);
return compMonth(carteenId,time);
}
return null;
}
@ -145,8 +145,8 @@ public class StatisticsSpaceCapsuleOrderServiceImpl implements StatisticsSpaceCa
* @param carteenId
* @return
*/
public OrderSpaceCapsuleStatisticsVo compMonth(Long carteenId){
DateTime end = DateUtil.date();
public OrderSpaceCapsuleStatisticsVo compMonth(Long carteenId,Date end1){
DateTime end = DateUtil.endOfMonth(end1);
DateTime start = DateUtil.beginOfMonth(end);
OrderSpaceCapsuleStatisticsVo orvo = orderSpaceCapsuleMapper.compDay(SpaceCapsuleOrderEnum.SPACE_CAPSULE_ORDER_ENUM_DONE.getCode(), start, end, carteenId);
if(orvo==null){
@ -181,14 +181,38 @@ public class StatisticsSpaceCapsuleOrderServiceImpl implements StatisticsSpaceCa
private void comp(Long carteenId, OrderSpaceCapsuleStatisticsVo orvo, DateTime start2, DateTime end2) {
OrderSpaceCapsuleStatisticsVo vo1 = orderSpaceCapsuleMapper.compDay(SpaceCapsuleOrderEnum.SPACE_CAPSULE_ORDER_ENUM_DONE.getCode(), start2, end2, carteenId);
if(vo1!=null){
orvo.setCompMoney(vo1.getTotalMoney());
orvo.setCompOrder(vo1.getTotalOrder());
orvo.setCompCustomer(vo1.getTotalCustomer());
orvo.setCompMinute(vo1.getTotalMinute());
orvo.setCompAvgOrderMoney(vo1.getAvgOrderMoney());
orvo.setCompPackageSum(vo1.getTotalPackageSum());
orvo.setCompRefundMoneyy(vo1.getRefundMoney());
if (vo1 != null) {
orvo.setCompMoney(Optional.ofNullable(orvo.getTotalMoney()).orElse(BigDecimal.ZERO)
.subtract(Optional.ofNullable(vo1.getTotalMoney()).orElse(BigDecimal.ZERO)));
orvo.setCompOrder(Optional.ofNullable(orvo.getTotalOrder()).orElse(0)
- Optional.ofNullable(vo1.getTotalOrder()).orElse(0));
orvo.setCompCustomer(Optional.ofNullable(orvo.getTotalCustomer()).orElse(0)
- Optional.ofNullable(vo1.getTotalCustomer()).orElse(0));
orvo.setCompMinute(Optional.ofNullable(orvo.getTotalMinute()).orElse(BigDecimal.ZERO)
.subtract(Optional.ofNullable(vo1.getTotalMinute()).orElse(BigDecimal.ZERO)));
orvo.setCompAvgOrderMoney(Optional.ofNullable(orvo.getAvgOrderMoney()).orElse(BigDecimal.ZERO)
.subtract(Optional.ofNullable(vo1.getAvgOrderMoney()).orElse(BigDecimal.ZERO)));
orvo.setCompPackageSum(Optional.ofNullable(orvo.getTotalPackageSum()).orElse(0)
- Optional.ofNullable(vo1.getTotalPackageSum()).orElse(0));
orvo.setCompRefundMoneyy(Optional.ofNullable(orvo.getRefundMoney()).orElse(BigDecimal.ZERO)
.subtract(Optional.ofNullable(vo1.getRefundMoney()).orElse(BigDecimal.ZERO)));
} else {
// 设置默认值为 Total 值,避免 null 值带来的 NPE
orvo.setCompMoney(Optional.ofNullable(orvo.getTotalMoney()).orElse(BigDecimal.ZERO));
orvo.setCompOrder(Optional.ofNullable(orvo.getTotalOrder()).orElse(0));
orvo.setCompCustomer(Optional.ofNullable(orvo.getTotalCustomer()).orElse(0));
orvo.setCompMinute(Optional.ofNullable(orvo.getTotalMinute()).orElse(BigDecimal.ZERO));
orvo.setCompAvgOrderMoney(Optional.ofNullable(orvo.getAvgOrderMoney()).orElse(BigDecimal.ZERO));
orvo.setCompPackageSum(Optional.ofNullable(orvo.getTotalPackageSum()).orElse(0));
orvo.setCompRefundMoneyy(Optional.ofNullable(orvo.getRefundMoney()).orElse(BigDecimal.ZERO));
}
}
}