jiangping
2023-12-12 037c144cd417410deb8137c6f3fd271a34691742
server/services/src/main/java/com/doumee/service/business/impl/WxBillServiceImpl.java
@@ -132,7 +132,7 @@
        QueryWrapper<WxBillDetail> queryWrapper = new QueryWrapper<>();
        queryWrapper.lambda().ge(param.getStartDate() !=null,WxBillDetail::getPid,DateUtil.getShortDateStr(param.getStartDate()));
        queryWrapper.lambda().le(param.getEndDate() !=null,WxBillDetail::getPid,DateUtil.getShortDateStr(param.getEndDate()));
        queryWrapper.lambda().ne(WxBillDetail::getAppid, WxMiniConfig.wxPayService.getConfig().getAppId());//非自行车收入统计
        queryWrapper.lambda().ne(WxBillDetail::getAppid, WxMiniConfig.wxPayV2Service.getConfig().getAppId());//非自行车收入统计
        queryWrapper.lambda().groupBy(WxBillDetail::getBillStatus);
        queryWrapper.select( "count(id) as sum_bill"
                ,"sum(settlement_total_fee) as settlement_total_fee"
@@ -144,14 +144,14 @@
            for(WxBillDetail detail : detailList){
                if(StringUtils.equals(detail.getBillStatus(), "SUCCESS")){
                    //实收数据
                    bill4.setSumBill(detail.getSumBill());//交易笔数
                    bill4.setSumBill( detail.getSumBill());//交易笔数
                    bill4.setSumSuccessFee(Constants.formatDecimalNum(detail.getSettlementTotalFee()));//交易金额
                    bill4.setSumCmmsAmt(Constants.formatDecimalNum(detail.getCmmsAmt()));//交易手续费
                } else if(StringUtils.equals(detail.getBillStatus(), "REFUND")){
                } else if(StringUtils.equals(detail.getBillStatus(), "REFUND") || StringUtils.equals(detail.getBillStatus(), "REVOKED")){
                    //退款数据
                    bill4.setSumRefundBill(detail.getSumBill());//退款笔数
                    bill4.setSumRefundFee(detail.getRefundFee());
                    bill4.setSumRefundCmmsAmt(Constants.formatDecimalNum(detail.getCmmsAmt()));//退款手续费
                    bill4.setSumRefundBill(Constants.formatIntegerNum(bill4.getSumRefundBill())+detail.getSumBill());//退款笔数
                    bill4.setSumRefundFee(Constants.formatDecimalNum(bill4.getSumRefundFee()).add(Constants.formatDecimalNum(detail.getRefundFee())));
                    bill4.setSumRefundCmmsAmt(Constants.formatDecimalNum(bill4.getSumRefundCmmsAmt()).add(Constants.formatDecimalNum(Constants.formatDecimalNum(detail.getCmmsAmt()))));//退款手续费
                }
            }
            //结算金额
@@ -281,7 +281,7 @@
        request.setBillType("SUCCESS");
        WxPayBillResult response = null;
        try {
            response = WxMiniConfig.wxPayService.downloadBill(request);
            response = WxMiniConfig.wxPayV2Service.downloadBill(request);
        }catch (WxPayException e){
        }
@@ -289,7 +289,7 @@
        //请求退款单交易记录汇总数据
        WxPayBillResult responseRefund = null;
        try {
            responseRefund = WxMiniConfig.wxPayService.downloadBill(request);
            responseRefund = WxMiniConfig.wxPayV2Service.downloadBill(request);
        }catch (WxPayException e){
        }
@@ -370,7 +370,7 @@
        if(billInfoList!=null){
            for (int i = 0; i <billInfoList.size(); i++) {
                WxPayBillInfo info =billInfoList.get(i);
                if(StringUtils.equals(info.getTradeType(),"REFUND" ) && !StringUtils.equals(info.getRefundState(),"SUCCESS" )){
                if((StringUtils.equals(info.getTradeType(),"REFUND" )||StringUtils.equals(info.getTradeType(),"REVOKED" )) && !StringUtils.equals(info.getRefundState(),"SUCCESS" )){
                    //如果是非成功的退款数据,不进行同步
                    continue;
                }
@@ -408,13 +408,13 @@
                detail.setRefundSuccessDate(DateUtil.getDateFromString2(info.getRefundSuccessTime()));//成功退款时间
                detail.setRefundApplyDate(DateUtil.getDateFromString2(info.getRefundTime())); //申请退款时间
                //计算自行车收入,匹配来自自行车小程序的所有支付成功和退款成功的金额,作为自行车收入(累计收款金额-累计退款成功金额)
                if(StringUtils.equals(detail.getAppid(), WxMiniConfig.wxPayService.getConfig().getAppId())){
                if(StringUtils.equals(detail.getAppid(), WxMiniConfig.wxPayV2Service.getConfig().getAppId())){
                    //自行车收入累计收款金额(支付成功总金额-退款总金额)
                    if(StringUtils.equals(info.getTradeState(),"SUCCESS")){
                        //如果是交易
                        bill.setBikeFee(bill.getBikeFee().add(detail.getSettlementTotalFee()));
                        bill.setBikeFee(bill.getBikeFee().subtract(detail.getCmmsAmt()) );
                    }else  if(StringUtils.equals(info.getTradeState(),"REFUND" )){
                    }else  if(StringUtils.equals(info.getTradeState(),"REFUND" ) || StringUtils.equals(info.getTradeState(),"REVOKED" )){
                        //如果退款成功,扣除退款金额
                        bill.setBikeFee(bill.getBikeFee().subtract(detail.getRefundFee()) );
                        bill.setBikeFee(bill.getBikeFee().subtract(detail.getCmmsAmt()) );