This commit is contained in:
seesaw
2024-12-10 10:55:56 +08:00
parent e12c7b1e18
commit 898aeda6e1

View File

@ -140,25 +140,28 @@ public class StatisticsSpaceCapsuleOrderServiceImpl implements StatisticsSpaceCa
.between(StatisticsSpaceCapsuleOrderDO::getCreateTime, start, end)
.last(" limit 1")
);
if(ObjUtil.isNotEmpty(orderDO)){
OrderSpaceCapsuleDO orderSpaceCapsuleDO = orderSpaceCapsuleMapper.selectById(vo.getId());
updateStatistics(orderDO,orderSpaceCapsuleDO);
statisticsSpaceCapsuleOrderMapper.updateById(orderDO);
}else{
CarteenRespDto carteenById = carteenApi.getCarteenById(vo.getCarteenId());
StatisticsSpaceCapsuleOrderDO statisticsSpaceCapsuleOrderDO = getStatisticsSpaceCapsuleOrderDO(carteenById);
statisticsSpaceCapsuleOrderMapper.insert(statisticsSpaceCapsuleOrderDO);
this.updateStatistics(vo);
}
if(ObjUtil.isNotEmpty(orderDO)){
OrderSpaceCapsuleDO orderSpaceCapsuleDO = orderSpaceCapsuleMapper.selectById(vo.getId());
updateStatistics(orderDO,orderSpaceCapsuleDO);
statisticsSpaceCapsuleOrderMapper.updateById(orderDO);
}else{
CarteenRespDto carteenById = carteenApi.getCarteenById(vo.getCarteenId());
StatisticsSpaceCapsuleOrderDO statisticsSpaceCapsuleOrderDO = getStatisticsSpaceCapsuleOrderDO(carteenById);
statisticsSpaceCapsuleOrderMapper.insert(statisticsSpaceCapsuleOrderDO);
this.updateStatistics(vo);
}
}
public void updateStatistics( StatisticsSpaceCapsuleOrderDO orderDO,OrderSpaceCapsuleDO vo) {
//进行运算加
orderDO.setTotalMoney(orderDO.getTotalMoney().add(vo.getMoney()));
orderDO.setTotalOrder(orderDO.getTotalOrder()+1);
orderDO.setTotalMinute(orderDO.getTotalMinute().add(new BigDecimal(vo.getComboMinutes()*vo.getComboNum())));
orderDO.setRefundMoney(orderDO.getRefundMoney().add(vo.getRefundMoney() == null ? BigDecimal.ZERO:vo.getRefundMoney()));
orderDO.setTotalPackageSum(orderDO.getTotalPackageSum()+vo.getComboNum());
orderDO.setTotalCustomer(orderDO.getTotalCustomer()+1);
//进行运算加
if(SpaceCapsuleOrderEnum.SPACE_CAPSULE_ORDER_ENUM_REFUNDED.getCode().equals(vo.getStatus())){
orderDO.setRefundMoney(orderDO.getRefundMoney().add(vo.getRefundMoney() == null ? BigDecimal.ZERO:vo.getRefundMoney()));
}else{
orderDO.setTotalMoney(orderDO.getTotalMoney().add(vo.getMoney()));
orderDO.setTotalOrder(orderDO.getTotalOrder()+1);
orderDO.setTotalMinute(orderDO.getTotalMinute().add(new BigDecimal(vo.getComboMinutes()*vo.getComboNum())));
orderDO.setTotalPackageSum(orderDO.getTotalPackageSum()+vo.getComboNum());
orderDO.setTotalCustomer(orderDO.getTotalCustomer()+1);
}
}
@Override
public void init() {