Pu Zhibing
2024-10-28 72a76cd3ad51a520100ec59481d99118ffebd33c
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
@@ -23,14 +23,17 @@
import com.ruoyi.order.mapper.TChargingBillMapper;
import com.ruoyi.order.mapper.TChargingOrderMapper;
import com.ruoyi.order.service.TChargingBillService;
import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ;
import org.omg.CORBA.PRIVATE_MEMBER;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.temporal.TemporalAdjusters;
import java.util.Arrays;
import java.util.List;
@@ -62,6 +65,13 @@
    private AppUserCarClient appUserCarClient;
    @Override
    public ChargingBillVO chargingBillList1(ChargingListQuery dto) {
        if (dto.getState()!=null){
            if (dto.getState()==1){
                dto.setState(2);
            }else {
                dto.setState(1);
            }
        }
        ChargingBillVO chargingBillVO = new ChargingBillVO();
        String startTime1 = null;
        String startTime2 = null;
@@ -71,7 +81,10 @@
            startTime2 = split[1];
        }
        PageInfo<ChargingBillListVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
        PageInfo<ChargingBillListVO> pageInfo1 = new PageInfo<>(1,9999999);
        List<ChargingBillListVO> list = this.baseMapper.chargingBillList1(pageInfo,dto,startTime1,startTime2);
        List<ChargingBillListVO> list1 = this.baseMapper.chargingBillList1(pageInfo1,dto,startTime1,startTime2);
        chargingBillVO.setOrderCount(list1.size());
        BigDecimal paymentAmountTotal = new BigDecimal("0");
        BigDecimal orderAmountTotal = new BigDecimal("0");
        BigDecimal electrovalenceTotal = new BigDecimal("0");
@@ -109,15 +122,20 @@
            chargingBillListVO.setUid(chargingBillListVO.getId().toString());
            // 根据账单的出账时间 查询上个月的充电订单
            LocalDateTime localDate = chargingBillListVO.getBillTime().minusMonths(1);
//            LocalDateTime localDate = chargingBillListVO.getBillTime().minusMonths(1);
            // todo 临时修改为查询昨天的充电订单
            LocalDateTime localDate = chargingBillListVO.getBillTime().minusDays(1);
            // 账单周期
            chargingBillListVO.setBillWeek(localDate.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM")));
            // 获取 LocalDate 对象
            LocalDate date = localDate.toLocalDate();
            // 获取该月份的第一天
            LocalDate firstDayOfMonth = date.withDayOfMonth(1);
            // 获取该月份的最后一天
            LocalDate lastDayOfMonth = date.with(TemporalAdjusters.lastDayOfMonth());
//            // 获取该月份的第一天
//            LocalDate firstDayOfMonth = date.withDayOfMonth(1);
//            // 获取该月份的最后一天
//            LocalDate lastDayOfMonth = date.with(TemporalAdjusters.lastDayOfMonth());
            // todo 临时修改为查询昨天凌晨00:00:00 到 23:59:59
            LocalDateTime firstDayOfMonth = LocalDateTime.of(date, LocalTime.MIN);
            LocalDateTime lastDayOfMonth = LocalDateTime.of(date, LocalTime.MAX);
            QueryWrapper<TChargingOrder> eq = new QueryWrapper<TChargingOrder>()
                    .between("create_time", firstDayOfMonth, lastDayOfMonth)
                    .eq("status", 5)
@@ -189,7 +207,7 @@
                }
                BigDecimal add = tChargingOrder.getElectrovalence().add(tChargingOrder.getServiceCharge());
                tChargingOrder.setTotalAmount(add.toString());
                tChargingOrder.setDiscount(tChargingOrder.getCouponDiscountAmount().toString());
                tChargingOrder.setDiscount(tChargingOrder.getCouponDiscountAmount()!=null?tChargingOrder.getCouponDiscountAmount().toString():"0");
                UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(tChargingOrder.getCode()).getData();
                if (data5!=null){
                    if (data5.getTime_remaining()!=null){
@@ -226,54 +244,38 @@
                }
                if (data3!=null)tChargingOrder.setUserName(data3.getName());
                // 累加实收金额 支付金额减去退款金额
                if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getPaymentAmount()!=null){
                    paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount()).subtract(tChargingOrder.getRefundAmount());
                    paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount()).subtract(tChargingOrder.getRefundAmount());
                }else if (tChargingOrder.getPaymentAmount()!=null){
                if (tChargingOrder.getPaymentAmount()!=null){
                    paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount());
                    paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount());
                }
                // 累加订单金额
                if (tChargingOrder.getOrderAmount()!=null){
                    orderAmount = orderAmount.add(tChargingOrder.getOrderAmount());
                    orderAmountTotal = orderAmountTotal.add(tChargingOrder.getOrderAmount());
                }
                // 累加累计电费
                if (tChargingOrder.getElectrovalence()!=null){
                    electrovalence = electrovalence.add(tChargingOrder.getElectrovalence());
                    electrovalenceTotal = electrovalenceTotal.add(tChargingOrder.getElectrovalence());
                }
                if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getRefundStatus() == 2){
                if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getRefundStatus()!=null && tChargingOrder.getRefundStatus()== 2){
                    refundAmount = refundAmount.add(tChargingOrder.getRefundAmount());
                }
                // 累加累计服务费
                if (tChargingOrder.getServiceCharge()!=null){
                    serviceCharge = serviceCharge.add(tChargingOrder.getServiceCharge());
                    serviceChargeTotal = serviceChargeTotal.add(tChargingOrder.getServiceCharge());
                }
                // 累加平台手续费
                if (tChargingOrder.getCommissionAmount()!=null){
                    commissionAmount = commissionAmount.add(tChargingOrder.getCommissionAmount());
                    commissionAmountTotal = commissionAmountTotal.add(tChargingOrder.getCommissionAmount());
                if (tChargingOrder.getOrderAmount()!=null){
                    commissionAmount = commissionAmount.add(tChargingOrder.getOrderAmount().multiply(BigDecimal.valueOf(0.006))
                            .setScale(2,RoundingMode.HALF_DOWN));
                }
                // 累加平台分佣
                if (tChargingOrder.getSharingAmount()!=null){
                    sharingAmount = sharingAmount.add(tChargingOrder.getSharingAmount());
                    sharingAmountTotal = sharingAmountTotal.add(tChargingOrder.getSharingAmount());
                }
                // 累加充电度数
                if (tChargingOrder.getChargingCapacity()!=null){
                    chargingCapacity = chargingCapacity.add(tChargingOrder.getChargingCapacity());
                    chargingCapacityTotal = chargingCapacityTotal.add(tChargingOrder.getChargingCapacity());
                }
                // 累加优惠金额
                if (tChargingOrder.getCouponDiscountAmount()!=null){
                    discountTotal = discountTotal.add(tChargingOrder.getCouponDiscountAmount());
                }
                if (tChargingOrder.getVipDiscountAmount()!=null){
                    discountTotal = discountTotal.add(tChargingOrder.getVipDiscountAmount());
                }
            }
            // 将chargingSecond 这是以秒为单位存放的总秒数 将其转化为xx小时xx分钟xx秒
            int hours = chargingSecond / 3600;
@@ -291,9 +293,10 @@
                    .subtract(chargingBillVO.getSharingAmount()==null?BigDecimal.ZERO:chargingBillVO.getSharingAmount()));
            chargingBillListVO.setPaymentAmount(paymentAmount == null?BigDecimal.ZERO:paymentAmount);
            chargingBillListVO.setOrderAmount(orderAmount == null?BigDecimal.ZERO:orderAmount);
            chargingBillListVO.setRefundAmount(refundAmount == null?BigDecimal.ZERO:orderAmount);
            chargingBillListVO.setElectrovalence(electrovalence == null?BigDecimal.ZERO:electrovalence);
            chargingBillListVO.setServiceCharge(serviceCharge == null?BigDecimal.ZERO:serviceCharge);
            chargingBillListVO.setCommissionAmount(commissionAmount == null?BigDecimal.ZERO:commissionAmount);
            chargingBillListVO.setCommissionAmount(commissionAmount == null?BigDecimal.ZERO:commissionAmount.setScale(2, RoundingMode.HALF_DOWN));
            chargingBillListVO.setSharingAmount(sharingAmount == null?BigDecimal.ZERO:sharingAmount);
            chargingBillListVO.setChargingCapacity(chargingCapacity == null?BigDecimal.ZERO:chargingCapacity);
            chargingBillListVO.setBillMoney(chargingBillListVO.getPaymentAmount().subtract(chargingBillListVO.getRefundAmount()==null?BigDecimal.ZERO:chargingBillListVO.getRefundAmount())
@@ -315,14 +318,91 @@
            // 充电时间秒
            chargingBillListVO.setChargingSecond(chargingSecond);
        }
        for (ChargingBillListVO chargingBillListVO : list1) {
            LocalDateTime billTime = chargingBillListVO.getBillTime();
            // 将其转化为yyyy-MM格式字符串
            chargingBillVO.setCreateTime(billTime.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
            // 将billTime减去一个月 转化为yyyy-MM格式字符串
            chargingBillVO.setBillWeek(billTime.minusMonths(1).format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM")));
            chargingBillListVO.setUid(chargingBillListVO.getId().toString());
//            LocalDateTime localDate = chargingBillListVO.getBillTime().minusMonths(1);
            // todo 临时修改为查询昨天的充电订单
            LocalDateTime localDate = chargingBillListVO.getBillTime().minusDays(1);
            // 账单周期
            chargingBillListVO.setBillWeek(localDate.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM")));
            // 获取 LocalDate 对象
            LocalDate date = localDate.toLocalDate();
//            // 获取该月份的第一天
//            LocalDate firstDayOfMonth = date.withDayOfMonth(1);
//            // 获取该月份的最后一天
//            LocalDate lastDayOfMonth = date.with(TemporalAdjusters.lastDayOfMonth());
            // todo 临时修改为查询昨天凌晨00:00:00 到 23:59:59
            LocalDateTime firstDayOfMonth = LocalDateTime.of(date, LocalTime.MIN);
            LocalDateTime lastDayOfMonth = LocalDateTime.of(date, LocalTime.MAX);
            QueryWrapper<TChargingOrder> eq = new QueryWrapper<TChargingOrder>()
                    .between("create_time", firstDayOfMonth, lastDayOfMonth)
                    .eq("status", 5)
                    .eq("recharge_payment_status", 2);
            if (chargingBillListVO.getType() == 2) {
                eq.eq("site_id", chargingBillListVO.getSiteId());
            }
            List<TChargingOrder> tChargingOrders = chargingOrderList.selectList(eq);
            orderCount+=tChargingOrders.size();
            chargingBillVO.setCategory("");
            chargingBillVO.setExportList(tChargingOrders);
            for (TChargingOrder tChargingOrder : tChargingOrders) {
                if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getPaymentAmount()!=null){
                    paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount());
                }else if (tChargingOrder.getPaymentAmount()!=null){
                    paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount());
                }
                // 累加订单金额
                if (tChargingOrder.getOrderAmount()!=null){
                    orderAmountTotal = orderAmountTotal.add(tChargingOrder.getOrderAmount());
                }
                // 累加累计电费
                if (tChargingOrder.getElectrovalence()!=null){
                    electrovalenceTotal = electrovalenceTotal.add(tChargingOrder.getElectrovalence());
                }
                if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getRefundStatus()!=null&&  tChargingOrder.getRefundStatus()==2){
                    refundAmount = refundAmount.add(tChargingOrder.getRefundAmount());
                }
                // 累加累计服务费
                if (tChargingOrder.getServiceCharge()!=null){
                    serviceChargeTotal = serviceChargeTotal.add(tChargingOrder.getServiceCharge());
                }
                // 累加平台手续费
                if (tChargingOrder.getOrderAmount()!=null){
                    commissionAmountTotal = commissionAmountTotal.add(tChargingOrder.getOrderAmount().multiply(new BigDecimal("0.006")));
                }
                // 累加平台分佣
                if (tChargingOrder.getSharingAmount()!=null){
                    sharingAmountTotal = sharingAmountTotal.add(tChargingOrder.getSharingAmount());
                }
                // 累加充电度数
                if (tChargingOrder.getElectricity()!=null){
                    chargingCapacityTotal = chargingCapacityTotal.add(tChargingOrder.getElectricity());
                }
                // 累加优惠金额
                if (tChargingOrder.getCouponDiscountAmount()!=null){
                    discountTotal = discountTotal.add(tChargingOrder.getCouponDiscountAmount());
                }
                if (tChargingOrder.getVipDiscountAmount()!=null){
                    discountTotal = discountTotal.add(tChargingOrder.getVipDiscountAmount());
                }
            }
        }
        chargingBillVO.setChargingCapacity(chargingCapacityTotal);
        chargingBillVO.setPaymentAmount(paymentAmountTotal);
        chargingBillVO.setOrderAmount(orderAmountTotal);
        chargingBillVO.setElectrovalence(electrovalenceTotal);
        chargingBillVO.setServiceCharge(serviceChargeTotal);
        chargingBillVO.setPaymentAmount(paymentAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
        chargingBillVO.setOrderAmount(orderAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
        chargingBillVO.setElectrovalence(electrovalenceTotal.setScale(2, RoundingMode.HALF_DOWN));
        chargingBillVO.setServiceCharge(serviceChargeTotal.setScale(2, RoundingMode.HALF_DOWN));
        chargingBillVO.setOrderCount(orderCount);
        chargingBillVO.setCommissionAmount(commissionAmountTotal);
        chargingBillVO.setSharingAmount(sharingAmountTotal);
        chargingBillVO.setCommissionAmount(commissionAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
        chargingBillVO.setSharingAmount(sharingAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
        chargingBillVO.setDiscount(discountTotal);
@@ -332,6 +412,13 @@
    }
    @Override
    public ChargingBillVO chargingBillList(ChargingListQuery dto) {
        if (dto.getState()!=null){
            if (dto.getState()==1){
                dto.setState(2);
            }else {
                dto.setState(1);
            }
        }
        ChargingBillVO chargingBillVO = new ChargingBillVO();
        String startTime1 = null;
        String startTime2 = null;
@@ -341,7 +428,9 @@
            startTime2 = split[1];
        }
        PageInfo<ChargingBillListVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
        PageInfo<ChargingBillListVO> pageInfo1 = new PageInfo<>(1,9999999);
        List<ChargingBillListVO> list = this.baseMapper.chargingBillList(pageInfo,dto,startTime1,startTime2);
        List<ChargingBillListVO> list1 = this.baseMapper.chargingBillList(pageInfo1,dto,startTime1,startTime2);
        BigDecimal paymentAmountTotal = new BigDecimal("0");
        BigDecimal orderAmountTotal = new BigDecimal("0");
        BigDecimal electrovalenceTotal = new BigDecimal("0");
@@ -379,15 +468,20 @@
            chargingBillListVO.setUid(chargingBillListVO.getId().toString());
            // 根据账单的出账时间 查询上个月的充电订单
            LocalDateTime localDate = chargingBillListVO.getBillTime().minusMonths(1);
//            LocalDateTime localDate = chargingBillListVO.getBillTime().minusMonths(1);
            // todo 临时修改为查询昨天的充电订单
            LocalDateTime localDate = chargingBillListVO.getBillTime().minusDays(1);
            // 账单周期
            chargingBillListVO.setBillWeek(localDate.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM")));
            // 获取 LocalDate 对象
            LocalDate date = localDate.toLocalDate();
            // 获取该月份的第一天
            LocalDate firstDayOfMonth = date.withDayOfMonth(1);
            // 获取该月份的最后一天
            LocalDate lastDayOfMonth = date.with(TemporalAdjusters.lastDayOfMonth());
//            // 获取该月份的第一天
//            LocalDate firstDayOfMonth = date.withDayOfMonth(1);
//            // 获取该月份的最后一天
//            LocalDate lastDayOfMonth = date.with(TemporalAdjusters.lastDayOfMonth());
            // todo 临时修改为查询昨天凌晨00:00:00 到 23:59:59
            LocalDateTime firstDayOfMonth = LocalDateTime.of(date, LocalTime.MIN);
            LocalDateTime lastDayOfMonth = LocalDateTime.of(date, LocalTime.MAX);
            QueryWrapper<TChargingOrder> eq = new QueryWrapper<TChargingOrder>()
                    .between("create_time", firstDayOfMonth, lastDayOfMonth)
                    .eq("status", 5)
@@ -406,8 +500,20 @@
            BigDecimal chargingCapacity = new BigDecimal("0");
            orderCount+=tChargingOrders.size();
            chargingBillVO.setCategory("");
            chargingBillListVO.setOrderCount(tChargingOrders.size());
            chargingBillVO.setExportList(tChargingOrders);
            for (TChargingOrder tChargingOrder : tChargingOrders) {
                if (tChargingOrder.getRechargePaymentType()!=null && tChargingOrder.getRechargePaymentType()==1){
                    chargingBillListVO.setPayTypeName("微信商户");
                }
                if (tChargingOrder.getRechargePaymentType()!=null && tChargingOrder.getRechargePaymentType()==2){
                    if (StringUtils.hasLength(chargingBillListVO.getPayTypeName())){
                        chargingBillListVO.setPayTypeName("微信商户+支付宝商户");
                    }else{
                        chargingBillListVO.setPayTypeName("支付宝商户");
                    }
                }
                List<Site> data = siteClient.getSiteByIds(Arrays.asList(tChargingOrder.getSiteId())).getData();
                if (!data.isEmpty()){
                    chargingBillVO.setSiteName(data.get(0).getName());
@@ -497,22 +603,18 @@
                if (data3!=null)tChargingOrder.setUserName(data3.getName());
                // 累加实收金额 支付金额减去退款金额
                if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getPaymentAmount()!=null){
                    paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount()).subtract(tChargingOrder.getRefundAmount());
                    paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount()).subtract(tChargingOrder.getRefundAmount());
                    paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount());
                }else if (tChargingOrder.getPaymentAmount()!=null){
                    paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount());
                    paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount());
                }
                // 累加订单金额
                if (tChargingOrder.getOrderAmount()!=null){
                orderAmount = orderAmount.add(tChargingOrder.getOrderAmount());
                orderAmountTotal = orderAmountTotal.add(tChargingOrder.getOrderAmount());
                }
                // 累加累计电费
                if (tChargingOrder.getElectrovalence()!=null){
                electrovalence = electrovalence.add(tChargingOrder.getElectrovalence());
                electrovalenceTotal = electrovalenceTotal.add(tChargingOrder.getElectrovalence());
                }
                if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getRefundStatus() !=null && tChargingOrder.getRefundStatus() == 2){
                    refundAmount = refundAmount.add(tChargingOrder.getRefundAmount());
@@ -520,29 +622,18 @@
                // 累加累计服务费
                if (tChargingOrder.getServiceCharge()!=null){
                serviceCharge = serviceCharge.add(tChargingOrder.getServiceCharge());
                serviceChargeTotal = serviceChargeTotal.add(tChargingOrder.getServiceCharge());
                }
                // 累加平台手续费
                if (tChargingOrder.getCommissionAmount()!=null){
                    commissionAmount = commissionAmount.add(tChargingOrder.getCommissionAmount());
                    commissionAmountTotal = commissionAmountTotal.add(tChargingOrder.getCommissionAmount());
                if (tChargingOrder.getOrderAmount()!=null){
                    commissionAmount = commissionAmount.add(tChargingOrder.getOrderAmount().multiply(BigDecimal.valueOf(0.006)));
                }
                // 累加平台分佣
                if (tChargingOrder.getSharingAmount()!=null){
                    sharingAmount = sharingAmount.add(tChargingOrder.getSharingAmount());
                    sharingAmountTotal = sharingAmountTotal.add(tChargingOrder.getSharingAmount());
                }
                // 累加充电度数
                if (tChargingOrder.getChargingCapacity()!=null){
                    chargingCapacity = chargingCapacity.add(tChargingOrder.getChargingCapacity());
                    chargingCapacityTotal = chargingCapacityTotal.add(tChargingOrder.getChargingCapacity());
                }
                // 累加优惠金额
                if (tChargingOrder.getCouponDiscountAmount()!=null){
                    discountTotal = discountTotal.add(tChargingOrder.getCouponDiscountAmount());
                }
                if (tChargingOrder.getVipDiscountAmount()!=null){
                    discountTotal = discountTotal.add(tChargingOrder.getVipDiscountAmount());
                }
            }
            // 将chargingSecond 这是以秒为单位存放的总秒数 将其转化为xx小时xx分钟xx秒
@@ -556,9 +647,9 @@
            chargingBillListVO.setPaymentAmount(paymentAmount);
            chargingBillListVO.setOrderAmount(orderAmount);
            chargingBillListVO.setElectrovalence(electrovalence);
            chargingBillListVO.setServiceCharge(serviceCharge);
            chargingBillListVO.setCommissionAmount(commissionAmount);
            chargingBillListVO.setSharingAmount(sharingAmount);
            chargingBillListVO.setServiceCharge(serviceCharge.setScale(2,RoundingMode.HALF_DOWN));
            chargingBillListVO.setCommissionAmount(commissionAmount.setScale(2,RoundingMode.HALF_DOWN));
            chargingBillListVO.setSharingAmount(sharingAmount.setScale(2,RoundingMode.HALF_DOWN));
            chargingBillListVO.setChargingCapacity(chargingCapacity);
            switch (chargingBillListVO.getType()){
                case 1:
@@ -576,17 +667,110 @@
            // 充电时间秒
            chargingBillListVO.setChargingSecond(chargingSecond);
        }
        for (ChargingBillListVO chargingBillListVO : list1) {
            if (chargingBillListVO.getType() ==1){
                continue;
            }
            LocalDateTime billTime = chargingBillListVO.getBillTime();
            // 将其转化为yyyy-MM格式字符串
            chargingBillVO.setCreateTime(billTime.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
            // 将billTime减去一个月 转化为yyyy-MM格式字符串
            chargingBillVO.setBillWeek(billTime.minusMonths(1).format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM")));
            chargingBillListVO.setUid(chargingBillListVO.getId().toString());
            // 根据账单的出账时间 查询上个月的充电订单
//            LocalDateTime localDate = chargingBillListVO.getBillTime().minusMonths(1);
            // todo 临时修改为查询昨天的充电订单
            LocalDateTime localDate = chargingBillListVO.getBillTime().minusDays(1);
            // 账单周期
            chargingBillListVO.setBillWeek(localDate.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM")));
            // 获取 LocalDate 对象
            LocalDate date = localDate.toLocalDate();
//            // 获取该月份的第一天
//            LocalDate firstDayOfMonth = date.withDayOfMonth(1);
//            // 获取该月份的最后一天
//            LocalDate lastDayOfMonth = date.with(TemporalAdjusters.lastDayOfMonth());
            // todo 临时修改为查询昨天凌晨00:00:00 到 23:59:59
            LocalDateTime firstDayOfMonth = LocalDateTime.of(date, LocalTime.MIN);
            LocalDateTime lastDayOfMonth = LocalDateTime.of(date, LocalTime.MAX);
            QueryWrapper<TChargingOrder> eq = new QueryWrapper<TChargingOrder>()
                    .between("create_time", firstDayOfMonth, lastDayOfMonth)
                    .eq("status", 5)
                    .eq("recharge_payment_status", 2);
            if (chargingBillListVO.getType() == 2) {
                eq.eq("site_id", chargingBillListVO.getSiteId());
            }
            List<TChargingOrder> tChargingOrders = chargingOrderList.selectList(eq);
            int chargingSecond = 0;
            BigDecimal paymentAmount = new BigDecimal("0");
            BigDecimal orderAmount = new BigDecimal("0");
            BigDecimal electrovalence = new BigDecimal("0");
            BigDecimal serviceCharge = new BigDecimal("0");
            BigDecimal commissionAmount = new BigDecimal("0");
            BigDecimal sharingAmount = new BigDecimal("0");
            BigDecimal chargingCapacity = new BigDecimal("0");
            orderCount+=tChargingOrders.size();
            for (TChargingOrder tChargingOrder : tChargingOrders) {
                // 累加实收金额 支付金额减去退款金额
                if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getPaymentAmount()!=null){
                    paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount());
                    paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount());
                }else if (tChargingOrder.getPaymentAmount()!=null){
                    paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount());
                    paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount());
                }
                // 累加订单金额
                if (tChargingOrder.getOrderAmount()!=null){
                    orderAmount = orderAmount.add(tChargingOrder.getOrderAmount());
                    orderAmountTotal = orderAmountTotal.add(tChargingOrder.getOrderAmount());
                }
                // 累加累计电费
                if (tChargingOrder.getElectrovalence()!=null){
                    electrovalence = electrovalence.add(tChargingOrder.getElectrovalence());
                    electrovalenceTotal = electrovalenceTotal.add(tChargingOrder.getElectrovalence());
                }
                if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getRefundStatus() !=null && tChargingOrder.getRefundStatus() == 2){
                    refundAmount = refundAmount.add(tChargingOrder.getRefundAmount());
                }
                // 累加累计服务费
                if (tChargingOrder.getServiceCharge()!=null){
                    serviceCharge = serviceCharge.add(tChargingOrder.getServiceCharge());
                    serviceChargeTotal = serviceChargeTotal.add(tChargingOrder.getServiceCharge());
                }
                // 累加平台手续费
                if (tChargingOrder.getOrderAmount()!=null){
                    commissionAmount = commissionAmount.add(tChargingOrder.getOrderAmount().multiply(new BigDecimal("0.006")));
                    commissionAmountTotal = commissionAmountTotal.add(tChargingOrder.getOrderAmount().multiply(new BigDecimal("0.006")));
                }
                // 累加平台分佣
                if (tChargingOrder.getSharingAmount()!=null){
                    sharingAmount = sharingAmount.add(tChargingOrder.getSharingAmount());
                    sharingAmountTotal = sharingAmountTotal.add(tChargingOrder.getSharingAmount());
                }
                // 累加充电度数
                if (tChargingOrder.getElectricity()!=null){
                    chargingCapacity = chargingCapacity.add(tChargingOrder.getElectricity());
                    chargingCapacityTotal = chargingCapacityTotal.add(tChargingOrder.getElectricity());
                }
                // 累加优惠金额
                if (tChargingOrder.getCouponDiscountAmount()!=null){
                    discountTotal = discountTotal.add(tChargingOrder.getCouponDiscountAmount());
                }
                if (tChargingOrder.getVipDiscountAmount()!=null){
                    discountTotal = discountTotal.add(tChargingOrder.getVipDiscountAmount());
                }
            }
        }
        chargingBillVO.setChargingCapacity(chargingCapacityTotal);
        chargingBillVO.setPaymentAmount(paymentAmountTotal);
        chargingBillVO.setOrderAmount(orderAmountTotal);
        chargingBillVO.setElectrovalence(electrovalenceTotal);
        chargingBillVO.setServiceCharge(serviceChargeTotal);
        chargingBillVO.setPaymentAmount(paymentAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
        chargingBillVO.setOrderAmount(orderAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
        chargingBillVO.setElectrovalence(electrovalenceTotal.setScale(2, RoundingMode.HALF_DOWN));
        chargingBillVO.setServiceCharge(serviceChargeTotal.setScale(2, RoundingMode.HALF_DOWN));
        chargingBillVO.setOrderCount(orderCount);
        chargingBillVO.setCommissionAmount(commissionAmountTotal);
        chargingBillVO.setSharingAmount(sharingAmountTotal);
        chargingBillVO.setDiscount(discountTotal);
        chargingBillVO.setCommissionAmount(commissionAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
        chargingBillVO.setSharingAmount(sharingAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
        chargingBillVO.setDiscount(discountTotal.setScale(2, RoundingMode.HALF_DOWN));
        pageInfo.setRecords(list);
        chargingBillVO.setList(pageInfo);
        return chargingBillVO;