puzhibing
2023-08-16 c29395d786cfebf83659924a0477b5d0aed2a093
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/AccountChangeDetailServiceImpl.java
@@ -180,26 +180,27 @@
                    revenueService.insert(revenue);
                    List<RechargeRecord> rechargeRecords = rechargeRecordService.selectList(new EntityWrapper<RechargeRecord>().eq("type", 2).eq("userId", driver.getId()).eq("payStatus", 2).gt("surplusDividedAmount", 0).orderBy("createTime"));
                    for (RechargeRecord rechargeRecord : rechargeRecords) {
                        Double surplusDividedAmount = rechargeRecord.getSurplusDividedAmount();
                        if(surplusDividedAmount.compareTo(d) >= 0){
                            ResultUtil fengzhang = orderService.fengzhang(3, null, "553021440975", null, rechargeRecord.getId(), rechargeRecord.getOrderNumber(), d, 1);
                            if(fengzhang.getCode() == 10000){
                                rechargeRecord.setSurplusDividedAmount(new BigDecimal(rechargeRecord.getSurplusDividedAmount()).subtract(new BigDecimal(d)).setScale(2, RoundingMode.HALF_EVEN).doubleValue());
                                rechargeRecordService.updateById(rechargeRecord);
                            }
                            break;
                        }else{
                            ResultUtil fengzhang = orderService.fengzhang(3, null, "553021440975", null, rechargeRecord.getId(), rechargeRecord.getOrderNumber(), surplusDividedAmount, 1);
                            if(fengzhang.getCode() == 10000){
                                rechargeRecord.setSurplusDividedAmount(0d);
                                rechargeRecordService.updateById(rechargeRecord);
                                d = new BigDecimal(d).subtract(new BigDecimal(surplusDividedAmount)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                            }else{
                                break;
                            }
                        }
                    }
                    // TODO 测试屏蔽
//                    for (RechargeRecord rechargeRecord : rechargeRecords) {
//                        Double surplusDividedAmount = rechargeRecord.getSurplusDividedAmount();
//                        if(surplusDividedAmount.compareTo(d) >= 0){
//                            ResultUtil fengzhang = orderService.fengzhang(3, null, "553021440975", null, rechargeRecord.getId(), rechargeRecord.getOrderNumber(), d, 1);
//                            if(fengzhang.getCode() == 10000){
//                                rechargeRecord.setSurplusDividedAmount(new BigDecimal(rechargeRecord.getSurplusDividedAmount()).subtract(new BigDecimal(d)).setScale(2, RoundingMode.HALF_EVEN).doubleValue());
//                                rechargeRecordService.updateById(rechargeRecord);
//                            }
//                            break;
//                        }else{
//                            ResultUtil fengzhang = orderService.fengzhang(3, null, "553021440975", null, rechargeRecord.getId(), rechargeRecord.getOrderNumber(), surplusDividedAmount, 1);
//                            if(fengzhang.getCode() == 10000){
//                                rechargeRecord.setSurplusDividedAmount(0d);
//                                rechargeRecordService.updateById(rechargeRecord);
//                                d = new BigDecimal(d).subtract(new BigDecimal(surplusDividedAmount)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
//                            }else{
//                                break;
//                            }
//                        }
//                    }
                }
            }
@@ -208,6 +209,7 @@
            CompanyFundFlow companyFundFlow = new CompanyFundFlow();
            companyFundFlow.setType(4);
            companyFundFlow.setObjectType(1);
            companyFundFlow.setDriverId(driver.getId());
            companyFundFlow.setBalance(new BigDecimal(balance1));
            companyFundFlow.setMoney(new BigDecimal(num1));
            companyFundFlow.setCreateTime(new Date());