xuhy
2024-09-26 76699e910ca78a400c0bcdbaa7c175248f9589d0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderSaleServiceImpl.java
@@ -78,7 +78,7 @@
    @Override
    public PageInfo<TOrderSaleVO> pageList(TOrderSaleQuery query) {
        if(Objects.isNull(query.getStartTime()) && Objects.isNull(query.getEndTime())){
        if(StringUtils.isEmpty(query.getStartTime()) && StringUtils.isEmpty(query.getEndTime())){
            if(Objects.nonNull(query.getTimeType())){
                LocalDateTime startTime = null;
                LocalDateTime endTime = null;
@@ -135,6 +135,36 @@
    @Override
    public AmountSumVO amountSum(TOrderSaleQuery query) {
        if(StringUtils.isEmpty(query.getStartTime()) && StringUtils.isEmpty(query.getEndTime())){
            if(Objects.nonNull(query.getTimeType())){
                LocalDateTime startTime = null;
                LocalDateTime endTime = null;
                switch (query.getTimeType()){
                    case 1:
                        // 今日
                        startTime = DateUtils.getDayStart(LocalDateTime.now());
                        endTime = DateUtils.getDayEnd(LocalDateTime.now());
                        break;
                    case 2:
                        // 昨日
                        startTime = DateUtils.getDayStart(LocalDateTime.now().minusDays(1));
                        endTime = DateUtils.getDayEnd(LocalDateTime.now().minusDays(1));
                        break;
                    case 3:
                        // 近7天
                        startTime = DateUtils.getDayStart(LocalDateTime.now().minusDays(7));
                        endTime = DateUtils.getDayEnd(LocalDateTime.now());
                        break;
                    case 4:
                        // 近30天
                        startTime = DateUtils.getDayStart(LocalDateTime.now().minusDays(30));
                        endTime = DateUtils.getDayEnd(LocalDateTime.now());
                        break;
                }
                query.setStartTime(DateUtils.localDateTimeToDate(startTime));
                query.setEndTime(DateUtils.localDateTimeToDate(endTime));
            }
        }
        AmountSumVO amountSumVO = this.baseMapper.amountSum(query);
        if(amountSumVO.getObligation().compareTo(BigDecimal.ZERO) < 0){
            amountSumVO.setObligation(BigDecimal.ZERO);
@@ -228,7 +258,7 @@
    @Override
    public Map<String, Double> getDataGeneratorSaleDetail(TDataGeneratorSaleQuery query) {
        if(Objects.isNull(query.getStartTime()) && Objects.isNull(query.getEndTime())){
        if(StringUtils.isEmpty(query.getStartTime()) && StringUtils.isEmpty(query.getEndTime())){
            if(Objects.nonNull(query.getTimeType())){
                LocalDateTime startTime = null;
                LocalDateTime endTime = null;
@@ -309,6 +339,9 @@
        orderSale.setPayType(dto.getPayType());
        orderSale.setPayMoney(dto.getPayMoney());
        orderSale.setStatus(2);
        this.updateById(orderSale);
    }
@@ -340,10 +373,12 @@
        List<TOrderSale> orderSales = this.list(Wrappers.lambdaQuery(TOrderSale.class)
                .in(TOrderSale::getGeneratorId, ids));
        for (TDataGeneratorVO tDataGeneratorVO : list) {
            if(!CollectionUtils.isEmpty(orderSales)){
                BigDecimal money = orderSales.stream().map(TOrderSale::getPayMoney).reduce(BigDecimal::add).get();
                tDataGeneratorVO.setTotalRevenue(money);
            List<TOrderSale> collect = orderSales.stream().filter(e -> e.getGeneratorId().equals(tDataGeneratorVO.getId())).collect(Collectors.toList());
            BigDecimal money = BigDecimal.ZERO;
            if(!CollectionUtils.isEmpty(collect)){
                money = collect.stream().map(TOrderSale::getPayMoney).reduce(BigDecimal::add).get();
            }
            tDataGeneratorVO.setTotalRevenue(money);
        }
        return list;
    }