From e160ce24b5be0b5c5559ae5a44d6be2839e51b99 Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期三, 16 八月 2023 17:00:05 +0800 Subject: [PATCH] update --- driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java | 387 ++++++++++++++++++++++++++++++++---------------------- 1 files changed, 230 insertions(+), 157 deletions(-) diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java index 0e2ab36..87f68da 100644 --- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java +++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java @@ -220,6 +220,11 @@ order = getOrderPrice(1, d, 0, order, city); order.setState(null == order.getDriverId() ? 101 : 102); order.setStatus(1); + if(driver.getServerStatus().equals(1)){ + order.setDriverId(driver.getId()); + order.setState(105); + } + this.insert(order); driverService.updateById(driver); //推送状态 @@ -237,6 +242,7 @@ } }).start(); } + redisUtil.setStrValue("newOrder", "true"); return ResultUtil.success(order.getState() == 102 ? order.getId() : null); } @@ -639,6 +645,7 @@ order1.setHallOrder(1); OrderServiceImpl.this.updateById(order1); ExtraPushOrder(order); + redisUtil.setStrValue("lobbyOrder", "true"); } @@ -648,6 +655,7 @@ order.setHallOrder(1); this.updateById(order); ExtraPushOrder(order); + redisUtil.setStrValue("lobbyOrder", "true"); } redisUtil.unlock(orderId.toString()); }catch (Exception e){ @@ -1321,6 +1329,7 @@ if(null != order.getUserId()){ pushUtil.pushOrderStatus(order.getUserId(), 1, order.getId(), order.getStatus()); } + redisUtil.setStrValue("cancelOrder", "true"); return ResultUtil.success(); } @@ -1446,30 +1455,32 @@ List<RechargeRecord> rechargeRecords = rechargeRecordService.selectList(new EntityWrapper<RechargeRecord>().eq("type", 4).eq("payStatus", 2).gt("surplusDividedAmount", 0).orderBy("createTime")); for (RechargeRecord rechargeRecord : rechargeRecords) { Double surplusDividedAmount = rechargeRecord.getSurplusDividedAmount(); - if(surplusDividedAmount.compareTo(discountedPrice) >= 0){ - ResultUtil<Double> zhaunzhang = zhaunzhang(rechargeRecord.getId(), rechargeRecord.getOrderNumber(), driver.getMerchantNumber(), discountedPrice, callbackPath + "/base/order/zhaunzhangCallback"); - if(10000 == zhaunzhang.getCode()){ - Double remainAmount = zhaunzhang.getData(); - rechargeRecord.setSurplusDividedAmount(remainAmount); - rechargeRecordService.updateById(rechargeRecord); - } - break; - }else{ - ResultUtil<Double> zhaunzhang = zhaunzhang(rechargeRecord.getId(), rechargeRecord.getOrderNumber(), driver.getMerchantNumber(), surplusDividedAmount, callbackPath + "/base/order/zhaunzhangCallback"); - if(10000 == zhaunzhang.getCode()){ - Double remainAmount = zhaunzhang.getData(); - rechargeRecord.setSurplusDividedAmount(remainAmount); - rechargeRecordService.updateById(rechargeRecord); - discountedPrice = new BigDecimal(discountedPrice).subtract(new BigDecimal(surplusDividedAmount)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); - }else{ - break; - } - } + // TODO 测试屏蔽 +// if(surplusDividedAmount.compareTo(discountedPrice) >= 0){ +// ResultUtil<Double> zhaunzhang = zhaunzhang(rechargeRecord.getId(), rechargeRecord.getOrderNumber(), driver.getMerchantNumber(), discountedPrice, callbackPath + "/base/order/zhaunzhangCallback"); +// if(10000 == zhaunzhang.getCode()){ +// Double remainAmount = zhaunzhang.getData(); +// rechargeRecord.setSurplusDividedAmount(remainAmount); +// rechargeRecordService.updateById(rechargeRecord); +// } +// break; +// }else{ +// ResultUtil<Double> zhaunzhang = zhaunzhang(rechargeRecord.getId(), rechargeRecord.getOrderNumber(), driver.getMerchantNumber(), surplusDividedAmount, callbackPath + "/base/order/zhaunzhangCallback"); +// if(10000 == zhaunzhang.getCode()){ +// Double remainAmount = zhaunzhang.getData(); +// rechargeRecord.setSurplusDividedAmount(remainAmount); +// rechargeRecordService.updateById(rechargeRecord); +// discountedPrice = new BigDecimal(discountedPrice).subtract(new BigDecimal(surplusDividedAmount)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); +// }else{ +// break; +// } +// } } CompanyFundFlow companyFundFlow = new CompanyFundFlow(); companyFundFlow.setType(5); companyFundFlow.setObjectType(1); + companyFundFlow.setDriverId(driver.getId()); companyFundFlow.setBalance(new BigDecimal(balance)); companyFundFlow.setMoney(new BigDecimal(order.getDiscountedPrice())); companyFundFlow.setCreateTime(new Date()); @@ -1598,6 +1609,8 @@ JSONObject jsonObject = JSON.parseObject(systemConfig.getContent()); Double num2 = jsonObject.getDouble("num2"); Double num3 = jsonObject.getDouble("num3"); + Double num4_ = jsonObject.getDouble("num4"); + if(order.getOrderMoney() >= num2){//订单金额大于num2才有抽佣金 driver = driverService.selectById(order.getDriverId()); AccountChangeDetail accountChangeDetail1 = new AccountChangeDetail(); @@ -1655,23 +1668,24 @@ 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(num1_1) >= 0){ - ResultUtil fengzhang = fengzhang(1, driver1.getId(), driver1.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), num1_1, 3); - if(fengzhang.getCode() == 10000){ - rechargeRecord.setSurplusDividedAmount(new BigDecimal(rechargeRecord.getSurplusDividedAmount()).subtract(new BigDecimal(num1_1)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); - rechargeRecordService.updateById(rechargeRecord); - } - break; - }else{ - ResultUtil fengzhang = fengzhang(1, driver1.getId(), driver1.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), surplusDividedAmount, 3); - if(fengzhang.getCode() == 10000){ - rechargeRecord.setSurplusDividedAmount(0d); - rechargeRecordService.updateById(rechargeRecord); - num1_1 = new BigDecimal(num1_1).subtract(new BigDecimal(surplusDividedAmount)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); - }else{ - break; - } - } + // TODO 测试屏蔽 +// if(surplusDividedAmount.compareTo(num1_1) >= 0){ +// ResultUtil fengzhang = fengzhang(1, driver1.getId(), driver1.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), num1_1, 3); +// if(fengzhang.getCode() == 10000){ +// rechargeRecord.setSurplusDividedAmount(new BigDecimal(rechargeRecord.getSurplusDividedAmount()).subtract(new BigDecimal(num1_1)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); +// rechargeRecordService.updateById(rechargeRecord); +// } +// break; +// }else{ +// ResultUtil fengzhang = fengzhang(1, driver1.getId(), driver1.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), surplusDividedAmount, 3); +// if(fengzhang.getCode() == 10000){ +// rechargeRecord.setSurplusDividedAmount(0d); +// rechargeRecordService.updateById(rechargeRecord); +// num1_1 = new BigDecimal(num1_1).subtract(new BigDecimal(surplusDividedAmount)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); +// }else{ +// break; +// } +// } } } @@ -1718,23 +1732,24 @@ 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(num5_1) >= 0){ - ResultUtil fengzhang = fengzhang(1, driver1.getId(), driver1.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), num5_1, 3); - if(fengzhang.getCode() == 10000){ - rechargeRecord.setSurplusDividedAmount(new BigDecimal(rechargeRecord.getSurplusDividedAmount()).subtract(new BigDecimal(num5_1)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); - rechargeRecordService.updateById(rechargeRecord); - } - break; - }else{ - ResultUtil fengzhang = fengzhang(1, driver1.getId(), driver1.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), surplusDividedAmount, 3); - if(fengzhang.getCode() == 10000){ - rechargeRecord.setSurplusDividedAmount(0d); - rechargeRecordService.updateById(rechargeRecord); - num5_1 = new BigDecimal(num5_1).subtract(new BigDecimal(surplusDividedAmount)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); - }else{ - break; - } - } + // TODO 测试屏蔽 +// if(surplusDividedAmount.compareTo(num5_1) >= 0){ +// ResultUtil fengzhang = fengzhang(1, driver1.getId(), driver1.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), num5_1, 3); +// if(fengzhang.getCode() == 10000){ +// rechargeRecord.setSurplusDividedAmount(new BigDecimal(rechargeRecord.getSurplusDividedAmount()).subtract(new BigDecimal(num5_1)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); +// rechargeRecordService.updateById(rechargeRecord); +// } +// break; +// }else{ +// ResultUtil fengzhang = fengzhang(1, driver1.getId(), driver1.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), surplusDividedAmount, 3); +// if(fengzhang.getCode() == 10000){ +// rechargeRecord.setSurplusDividedAmount(0d); +// rechargeRecordService.updateById(rechargeRecord); +// num5_1 = new BigDecimal(num5_1).subtract(new BigDecimal(surplusDividedAmount)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); +// }else{ +// break; +// } +// } } double v = new BigDecimal(num3).subtract(new BigDecimal(num5)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); num3 = (num3 >= num5 ? v : 0); @@ -1768,23 +1783,24 @@ 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(num6_1) >= 0){ - ResultUtil fengzhang = fengzhang(1, driver2.getId(), driver2.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), num6_1, 3); - if(fengzhang.getCode() == 10000){ - rechargeRecord.setSurplusDividedAmount(new BigDecimal(rechargeRecord.getSurplusDividedAmount()).subtract(new BigDecimal(num6_1)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); - rechargeRecordService.updateById(rechargeRecord); - } - break; - }else{ - ResultUtil fengzhang = fengzhang(1, driver2.getId(), driver2.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), surplusDividedAmount, 3); - if(fengzhang.getCode() == 10000){ - rechargeRecord.setSurplusDividedAmount(0d); - rechargeRecordService.updateById(rechargeRecord); - num6_1 = new BigDecimal(num6_1).subtract(new BigDecimal(surplusDividedAmount)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); - }else{ - break; - } - } + // TODO 测试屏蔽 +// if(surplusDividedAmount.compareTo(num6_1) >= 0){ +// ResultUtil fengzhang = fengzhang(1, driver2.getId(), driver2.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), num6_1, 3); +// if(fengzhang.getCode() == 10000){ +// rechargeRecord.setSurplusDividedAmount(new BigDecimal(rechargeRecord.getSurplusDividedAmount()).subtract(new BigDecimal(num6_1)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); +// rechargeRecordService.updateById(rechargeRecord); +// } +// break; +// }else{ +// ResultUtil fengzhang = fengzhang(1, driver2.getId(), driver2.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), surplusDividedAmount, 3); +// if(fengzhang.getCode() == 10000){ +// rechargeRecord.setSurplusDividedAmount(0d); +// rechargeRecordService.updateById(rechargeRecord); +// num6_1 = new BigDecimal(num6_1).subtract(new BigDecimal(surplusDividedAmount)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); +// }else{ +// break; +// } +// } } double v = new BigDecimal(num3).subtract(new BigDecimal(num6)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); num3 = (num3 >= num6 ? v : 0); @@ -1818,23 +1834,24 @@ 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(num7_1) >= 0){ - ResultUtil fengzhang = fengzhang(1, driver3.getId(), driver3.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), num7_1, 3); - if(fengzhang.getCode() == 10000){ - rechargeRecord.setSurplusDividedAmount(new BigDecimal(rechargeRecord.getSurplusDividedAmount()).subtract(new BigDecimal(num7_1)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); - rechargeRecordService.updateById(rechargeRecord); - } - break; - }else{ - ResultUtil fengzhang = fengzhang(1, driver3.getId(), driver3.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), surplusDividedAmount, 3); - if(fengzhang.getCode() == 10000){ - rechargeRecord.setSurplusDividedAmount(0d); - rechargeRecordService.updateById(rechargeRecord); - num7_1 = new BigDecimal(num7_1).subtract(new BigDecimal(surplusDividedAmount)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); - }else{ - break; - } - } + // TODO 测试屏蔽 +// if(surplusDividedAmount.compareTo(num7_1) >= 0){ +// ResultUtil fengzhang = fengzhang(1, driver3.getId(), driver3.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), num7_1, 3); +// if(fengzhang.getCode() == 10000){ +// rechargeRecord.setSurplusDividedAmount(new BigDecimal(rechargeRecord.getSurplusDividedAmount()).subtract(new BigDecimal(num7_1)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); +// rechargeRecordService.updateById(rechargeRecord); +// } +// break; +// }else{ +// ResultUtil fengzhang = fengzhang(1, driver3.getId(), driver3.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), surplusDividedAmount, 3); +// if(fengzhang.getCode() == 10000){ +// rechargeRecord.setSurplusDividedAmount(0d); +// rechargeRecordService.updateById(rechargeRecord); +// num7_1 = new BigDecimal(num7_1).subtract(new BigDecimal(surplusDividedAmount)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); +// }else{ +// break; +// } +// } } double v = new BigDecimal(num3).subtract(new BigDecimal(num7)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); num3 = (num3 >= num7 ? v : 0); @@ -1871,23 +1888,24 @@ 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(num3_1) >= 0){ - ResultUtil fengzhang = fengzhang(1, driver1.getId(), driver1.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), num3_1, 3); - if(fengzhang.getCode() == 10000){ - rechargeRecord.setSurplusDividedAmount(new BigDecimal(rechargeRecord.getSurplusDividedAmount()).subtract(new BigDecimal(num3_1)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); - rechargeRecordService.updateById(rechargeRecord); - } - break; - }else{ - ResultUtil fengzhang = fengzhang(1, driver1.getId(), driver1.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), surplusDividedAmount, 3); - if(fengzhang.getCode() == 10000){ - rechargeRecord.setSurplusDividedAmount(0d); - rechargeRecordService.updateById(rechargeRecord); - num3_1 = new BigDecimal(num3_1).subtract(new BigDecimal(surplusDividedAmount)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); - }else{ - break; - } - } + // TODO 测试屏蔽 +// if(surplusDividedAmount.compareTo(num3_1) >= 0){ +// ResultUtil fengzhang = fengzhang(1, driver1.getId(), driver1.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), num3_1, 3); +// if(fengzhang.getCode() == 10000){ +// rechargeRecord.setSurplusDividedAmount(new BigDecimal(rechargeRecord.getSurplusDividedAmount()).subtract(new BigDecimal(num3_1)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); +// rechargeRecordService.updateById(rechargeRecord); +// } +// break; +// }else{ +// ResultUtil fengzhang = fengzhang(1, driver1.getId(), driver1.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), surplusDividedAmount, 3); +// if(fengzhang.getCode() == 10000){ +// rechargeRecord.setSurplusDividedAmount(0d); +// rechargeRecordService.updateById(rechargeRecord); +// num3_1 = new BigDecimal(num3_1).subtract(new BigDecimal(surplusDividedAmount)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); +// }else{ +// break; +// } +// } } double v = new BigDecimal(num3).subtract(new BigDecimal(num3_)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); num3 = (num3 >= num3_ ? v : 0); @@ -1921,23 +1939,24 @@ 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(num4_1) >= 0){ - ResultUtil fengzhang = fengzhang(1, driver2.getId(), driver2.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), num4_1, 3); - if(fengzhang.getCode() == 10000){ - rechargeRecord.setSurplusDividedAmount(new BigDecimal(rechargeRecord.getSurplusDividedAmount()).subtract(new BigDecimal(num4_1)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); - rechargeRecordService.updateById(rechargeRecord); - } - break; - }else{ - ResultUtil fengzhang = fengzhang(1, driver2.getId(), driver2.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), surplusDividedAmount, 3); - if(fengzhang.getCode() == 10000){ - rechargeRecord.setSurplusDividedAmount(0d); - rechargeRecordService.updateById(rechargeRecord); - num4_1 = new BigDecimal(num4_1).subtract(new BigDecimal(surplusDividedAmount)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); - }else{ - break; - } - } + // TODO 测试屏蔽 +// if(surplusDividedAmount.compareTo(num4_1) >= 0){ +// ResultUtil fengzhang = fengzhang(1, driver2.getId(), driver2.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), num4_1, 3); +// if(fengzhang.getCode() == 10000){ +// rechargeRecord.setSurplusDividedAmount(new BigDecimal(rechargeRecord.getSurplusDividedAmount()).subtract(new BigDecimal(num4_1)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); +// rechargeRecordService.updateById(rechargeRecord); +// } +// break; +// }else{ +// ResultUtil fengzhang = fengzhang(1, driver2.getId(), driver2.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), surplusDividedAmount, 3); +// if(fengzhang.getCode() == 10000){ +// rechargeRecord.setSurplusDividedAmount(0d); +// rechargeRecordService.updateById(rechargeRecord); +// num4_1 = new BigDecimal(num4_1).subtract(new BigDecimal(surplusDividedAmount)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); +// }else{ +// break; +// } +// } } double v = new BigDecimal(num3).subtract(new BigDecimal(num4)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); num3 = (num3 >= num4 ? v : 0); @@ -1974,34 +1993,86 @@ 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(num2_1) >= 0){ - ResultUtil fengzhang = fengzhang(1, driver1.getId(), driver1.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), num2_1, 3); - if(fengzhang.getCode() == 10000){ - rechargeRecord.setSurplusDividedAmount(new BigDecimal(rechargeRecord.getSurplusDividedAmount()).subtract(new BigDecimal(num2_1)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); - rechargeRecordService.updateById(rechargeRecord); - } - break; - }else{ - ResultUtil fengzhang = fengzhang(1, driver1.getId(), driver1.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), surplusDividedAmount, 3); - if(fengzhang.getCode() == 10000){ - rechargeRecord.setSurplusDividedAmount(0d); - rechargeRecordService.updateById(rechargeRecord); - num2_1 = new BigDecimal(num2_1).subtract(new BigDecimal(surplusDividedAmount)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); - }else{ - break; - } - } + // TODO 测试屏蔽 +// if(surplusDividedAmount.compareTo(num2_1) >= 0){ +// ResultUtil fengzhang = fengzhang(1, driver1.getId(), driver1.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), num2_1, 3); +// if(fengzhang.getCode() == 10000){ +// rechargeRecord.setSurplusDividedAmount(new BigDecimal(rechargeRecord.getSurplusDividedAmount()).subtract(new BigDecimal(num2_1)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); +// rechargeRecordService.updateById(rechargeRecord); +// } +// break; +// }else{ +// ResultUtil fengzhang = fengzhang(1, driver1.getId(), driver1.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), surplusDividedAmount, 3); +// if(fengzhang.getCode() == 10000){ +// rechargeRecord.setSurplusDividedAmount(0d); +// rechargeRecordService.updateById(rechargeRecord); +// num2_1 = new BigDecimal(num2_1).subtract(new BigDecimal(surplusDividedAmount)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); +// }else{ +// break; +// } +// } } double v = new BigDecimal(num3).subtract(new BigDecimal(num2_)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); num3 = (num3 >= num2_ ? v : 0); } } } + + //处理平台抽佣 + if(num4_ > 0){ + //先平台抽佣 + num4_ = (num3 >= num4_ ? num4_ : num3); + Double balance = revenueService.queryCompanyBalance(); + Revenue revenue = new Revenue(); + revenue.setType(2); + revenue.setUserType(4); + revenue.setUserId(null); + revenue.setOrderId(order.getId()); + revenue.setAmount(num4_); + revenue.setCreateTime(new Date()); + revenueService.insert(revenue); + + Double num4_1 = num4_; + 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(); + // TODO 测试屏蔽 +// if(surplusDividedAmount.compareTo(num4_1) >= 0){ +// ResultUtil fengzhang = fengzhang(3, null, "553021440975", order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), num4_1, 3); +// if(fengzhang.getCode() == 10000){ +// rechargeRecord.setSurplusDividedAmount(new BigDecimal(rechargeRecord.getSurplusDividedAmount()).subtract(new BigDecimal(num4_1)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); +// rechargeRecordService.updateById(rechargeRecord); +// } +// break; +// }else{ +// ResultUtil fengzhang = fengzhang(3, null, "553021440975", order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), surplusDividedAmount, 3); +// if(fengzhang.getCode() == 10000){ +// rechargeRecord.setSurplusDividedAmount(0d); +// rechargeRecordService.updateById(rechargeRecord); +// num4_1 = new BigDecimal(num4_1).subtract(new BigDecimal(surplusDividedAmount)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); +// }else{ +// break; +// } +// } + } + + CompanyFundFlow companyFundFlow = new CompanyFundFlow(); + companyFundFlow.setType(3); + companyFundFlow.setObjectType(1); + companyFundFlow.setObjectId(null); + companyFundFlow.setBalance(new BigDecimal(balance)); + companyFundFlow.setMoney(new BigDecimal(num4_)); + companyFundFlow.setCreateTime(new Date()); + companyFundFlowService.insert(companyFundFlow); + double v = new BigDecimal(num3).subtract(new BigDecimal(num4_)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); + num3 = (num3 >= num4_ ? v : 0); + } + //处理代理商抽佣 - if(num3 > 0){ + if(num3 > 0 && null != driver){ Double balance = revenueService.queryAgentBalance(driver.getAgentId()); Revenue revenue = new Revenue(); - revenue.setType(1); + revenue.setType(2); revenue.setUserType(3); revenue.setUserId(driver.getAgentId()); revenue.setOrderId(order.getId()); @@ -2010,26 +2081,28 @@ revenueService.insert(revenue); Agent agent = agentService.selectById(driver.getAgentId()); + Double num3_1 = num3; 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(num3) >= 0){ - ResultUtil fengzhang = fengzhang(2, agent.getId(), agent.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), num3, 3); - if(fengzhang.getCode() == 10000){ - rechargeRecord.setSurplusDividedAmount(new BigDecimal(rechargeRecord.getSurplusDividedAmount()).subtract(new BigDecimal(num3)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); - rechargeRecordService.updateById(rechargeRecord); - } - break; - }else{ - ResultUtil fengzhang = fengzhang(2, agent.getId(), agent.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), surplusDividedAmount, 3); - if(fengzhang.getCode() == 10000){ - rechargeRecord.setSurplusDividedAmount(0d); - rechargeRecordService.updateById(rechargeRecord); - num3 = new BigDecimal(num3).subtract(new BigDecimal(surplusDividedAmount)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); - }else{ - break; - } - } + // TODO 测试屏蔽 +// if(surplusDividedAmount.compareTo(num3_1) >= 0){ +// ResultUtil fengzhang = fengzhang(2, agent.getId(), agent.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), num3_1, 3); +// if(fengzhang.getCode() == 10000){ +// rechargeRecord.setSurplusDividedAmount(new BigDecimal(rechargeRecord.getSurplusDividedAmount()).subtract(new BigDecimal(num3_1)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); +// rechargeRecordService.updateById(rechargeRecord); +// } +// break; +// }else{ +// ResultUtil fengzhang = fengzhang(2, agent.getId(), agent.getMerchantNumber(), order.getId(), rechargeRecord.getId(), rechargeRecord.getOrderNumber(), surplusDividedAmount, 3); +// if(fengzhang.getCode() == 10000){ +// rechargeRecord.setSurplusDividedAmount(0d); +// rechargeRecordService.updateById(rechargeRecord); +// num3_1 = new BigDecimal(num3_1).subtract(new BigDecimal(surplusDividedAmount)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); +// }else{ +// break; +// } +// } } CompanyFundFlow companyFundFlow = new CompanyFundFlow(); -- Gitblit v1.7.1