From 9b3f6f5952d45ceeb0770fe4622721007b8fc79d Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期五, 23 二月 2024 15:32:51 +0800 Subject: [PATCH] 修改 --- DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java | 72 +++++++++++++++++++++++++++--------- 1 files changed, 54 insertions(+), 18 deletions(-) diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java index a54881a..e5503ee 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java @@ -229,6 +229,7 @@ String travelTime_ = map.get("travelTime_").toString(); map.put("travelTime_", DateUtil.conversionFormat1(language, travelTime_)); } + map.put("cancelUser", language == 1 ? "用户" : language == 2 ? "The client" : "Le client"); return map; } @@ -334,6 +335,32 @@ } } + Driver driver = driverService.selectById(orderLogistics.getDriverId()); + if(null != orderLogistics.getCouponMoney() && 0 < orderLogistics.getCouponMoney()){ + Double money = orderLogistics.getCouponMoney(); + incomeService.saveData(2, orderLogistics.getDriverId(), 5, orderLogistics.getId(), orderLogistics.getType(), money); + driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); + driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); + driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); + driverService.updateById(driver); + } + if(null != orderLogistics.getDiscountMoney() && 0 < orderLogistics.getDiscountMoney()){ + Double money = orderLogistics.getDiscountMoney(); + incomeService.saveData(2, orderLogistics.getDriverId(), 6, orderLogistics.getId(), orderLogistics.getType(), money); + driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); + driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); + driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); + driverService.updateById(driver); + } + if(null != orderLogistics.getRedPacketMoney() && 0 < orderLogistics.getRedPacketMoney()){ + Double money = orderLogistics.getRedPacketMoney(); + incomeService.saveData(2, orderLogistics.getDriverId(), 7, orderLogistics.getId(), orderLogistics.getType(), money); + driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); + driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); + driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); + driverService.updateById(driver); + } + Company company = companyService.selectById(orderLogistics.getCompanyId()); @@ -353,7 +380,7 @@ if(d.compareTo(new BigDecimal(0)) > 0){ SettlementDetail settlementDetail = new SettlementDetail(); settlementDetail.setOrderId(orderId); - settlementDetail.setOrderType(1); + settlementDetail.setOrderType(4); settlementDetail.setDriverId(orderLogistics.getDriverId()); settlementDetail.setOrderMoney(sum); settlementDetail.setPrice(d.doubleValue()); @@ -364,24 +391,33 @@ if(null != settlementAllocation){ JSONObject jsonObject = JSON.parseObject(settlementAllocation.getContent()); Double maxPrice = jsonObject.getDouble("maxPrice"); - List<SettlementDetail> settlementDetailList = settlementDetailService.selectList(new EntityWrapper<SettlementDetail>().eq("driverId", orderLogistics.getDriverId()).isNull("settlementRecordId").last(" and DATE_FORMAT(now(), '%Y-%m-%d') = DATE_FORMAT(createTime, '%Y-%m-%d')")); - BigDecimal total = new BigDecimal(0); - for (SettlementDetail detail : settlementDetailList) { - total = total.add(new BigDecimal(detail.getPrice())); - } - if(maxPrice.compareTo(total.doubleValue()) <= 0){ - SettlementRecord settlementRecord = new SettlementRecord(); - settlementRecord.setDay(new Date()); - settlementRecord.setDriverId(orderLogistics.getDriverId()); - settlementRecord.setType(1); - settlementRecord.setPaymentStatus(1); - settlementRecord.setPayMoney(d.doubleValue()); - settlementRecord.setInsertTime(new Date()); - settlementRecordService.insert(settlementRecord); - + Integer type = jsonObject.getInteger("type"); + if(type == 1){ + List<SettlementDetail> settlementDetailList = settlementDetailService.selectList(new EntityWrapper<SettlementDetail>().eq("driverId", orderLogistics.getDriverId()).isNull("settlementRecordId").last(" and DATE_FORMAT(now(), '%Y-%m-%d') = DATE_FORMAT(createTime, '%Y-%m-%d')")); + BigDecimal total = new BigDecimal(0); for (SettlementDetail detail : settlementDetailList) { - detail.setSettlementRecordId(settlementRecord.getId()); - settlementDetailService.updateById(detail); + total = total.add(new BigDecimal(detail.getPrice())); + } + if(maxPrice.compareTo(total.doubleValue()) <= 0){ + SettlementRecord settlementRecord = settlementRecordService.selectOne(new EntityWrapper<SettlementRecord>().eq("driverId", orderLogistics.getDriverId()) + .eq("type", type).eq("paymentStatus", 1).last(" and day = DATE_FORMAT(now(), '%Y-%m-%d')")); + if(null == settlementRecord){ + settlementRecord = new SettlementRecord(); + settlementRecord.setDay(new Date()); + settlementRecord.setDriverId(orderLogistics.getDriverId()); + settlementRecord.setType(type); + settlementRecord.setPaymentStatus(1); + settlementRecord.setPayMoney(total.doubleValue()); + settlementRecord.setInsertTime(new Date()); + settlementRecordService.insert(settlementRecord); + }else{ + settlementRecord.setPayMoney(total.doubleValue()); + settlementRecordService.updateById(settlementRecord); + } + for (SettlementDetail detail : settlementDetailList) { + detail.setSettlementRecordId(settlementRecord.getId()); + settlementDetailService.updateById(detail); + } } } } -- Gitblit v1.7.1