From 736ab0090700c75af37b8a3456b01609e4e2d329 Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期三, 17 七月 2024 11:09:40 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/2.0' into 2.0 --- DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java | 79 +++++++++++++++++++++++++++++++++++---- 1 files changed, 70 insertions(+), 9 deletions(-) diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java index d35c434..d63347f 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java @@ -2,6 +2,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.stylefeng.guns.core.common.constant.state.Order; import com.stylefeng.guns.core.util.DateUtil; @@ -15,10 +16,7 @@ import com.stylefeng.guns.modular.system.dao.PhoneMapper; import com.stylefeng.guns.modular.system.dao.RegionMapper; import com.stylefeng.guns.modular.system.dao.SysReformistMapper; -import com.stylefeng.guns.modular.system.model.BankCard; -import com.stylefeng.guns.modular.system.model.Driver; -import com.stylefeng.guns.modular.system.model.OrderPosition; -import com.stylefeng.guns.modular.system.model.Region; +import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.*; import com.stylefeng.guns.modular.system.util.GoogleMap.DistancematrixVo; @@ -93,6 +91,18 @@ @Autowired private IBankCardService bankCardService; + + @Autowired + private ICancleOrderService cancleOrderService; + + @Autowired + private ISettlementDetailService settlementDetailService; + + @Autowired + private ISettlementRecordService settlementRecordService; + + @Resource + private IBalanceUsageRecordService balanceUsageRecordService; @@ -199,12 +209,30 @@ // datas.addAll(list); //专车 List<Map<String, Object>> list1 = orderPrivateCarService.queryMyAllOrder(state, uid, language); + for (Map<String, Object> map : list1) { + Integer id = Integer.valueOf(map.get("id").toString()); + map.put("settleAccounts", 1); + SettlementDetail settlementDetail = settlementDetailService.selectOne(new EntityWrapper<SettlementDetail>().eq("orderId", id).eq("orderType", 1)); + if(null != settlementDetail){ + SettlementRecord settlementRecord = settlementRecordService.selectById(settlementDetail.getSettlementRecordId()); + map.put("settleAccounts", settlementRecord.getPaymentStatus() == 1 ? 0 : 1); + } + } datas.addAll(list1); //跨城 // List<Map<String, Object>> list2 = orderCrossCityService.queryMyAllOrder(state, uid); // datas.addAll(list2); //小件物流 List<Map<String, Object>> list3 = orderLogisticsService.queryMyAllOrder(state, uid, language); + for (Map<String, Object> map : list3) { + Integer id = Integer.valueOf(map.get("id").toString()); + map.put("settleAccounts", 1); + SettlementDetail settlementDetail = settlementDetailService.selectOne(new EntityWrapper<SettlementDetail>().eq("orderId", id).eq("orderType", 4)); + if(null != settlementDetail){ + SettlementRecord settlementRecord = settlementRecordService.selectById(settlementDetail.getSettlementRecordId()); + map.put("settleAccounts", settlementRecord.getPaymentStatus() == 1 ? 0 : 1); + } + } datas.addAll(list3); List<OrderListWarpper> orderListWarpper = OrderListWarpper.getOrderListWarpper(datas); @@ -493,6 +521,13 @@ if(null != map.get("telX")){ map.put("phone", map.get("telX")); } + Integer companyId = 1; + if(null != map.get("driverId")){ + companyId = Integer.valueOf(String.valueOf(map.get("companyId"))); + } + CancleOrder cancleOrder = cancleOrderService.selectOne(new EntityWrapper<CancleOrder>().eq("companyId", companyId)); + JSONObject jsonObject = JSON.parseObject(cancleOrder.getContent()); + map.put("timeOutCancel", jsonObject.getIntValue("driverTimeout")); return map; } @@ -584,7 +619,7 @@ case 3://城际(没有此流程) break; case 4:// - break; + return orderLogisticsService.confirmFees(language, orderId, type, parkingFee, crossingFee); case 5: break; case 6: @@ -675,7 +710,7 @@ case 3://城际(没有此流程) return null; case 4:// - break; + return orderLogisticsService.queryOrderInfo(language, orderId); case 5: break; case 6: @@ -980,6 +1015,26 @@ redisUtil.setStrValue("VEHICLE", jsonArray.toJSONString()); } break; + case 4: + OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId); + if(orderLogistics.getState() == 8 || orderLogistics.getState() == 9){ + return ResultUtil.error(language == 1 ? "订单已完成支付,不允许重复支付" : language == 2 ? "The order has been paid, recurring payments is not allowed." : "La commande a été payée, les paiements récurrents ne sont pas autorisés."); + } + if(orderLogistics.getState() != 7){ + return ResultUtil.error(language == 1 ? "订单不在待支付,无法完成订单" : language == 2 ? "The order is no longer with Pending Payment, unable to complete the order." : "La commande n’est plus en attente de paiement, il est impossible de terminer la commande."); + } + orderLogistics.setPayManner(2);//其他方式支付 + orderLogistics.setRedPacketMoney(0D); + orderLogistics.setCouponMoney(0D); + orderLogistics.setDiscount(0D); + orderLogistics.setDiscountMoney(0D); + orderLogistics.setPayMoney(orderLogistics.getOrderMoney()); + orderLogistics.setState(8); + orderLogisticsService.updateById(orderLogistics); + userId = orderLogistics.getUserId(); + driverId = orderLogistics.getDriverId(); + state = orderLogistics.getState(); + break; } @@ -1011,6 +1066,8 @@ return orderPrivateCarService.queryMoneyInfo(orderId); case 2: break; + case 4: + return orderLogisticsService.queryMoneyInfo(orderId); } return null; } @@ -1034,7 +1091,7 @@ for(OrderPrivateCar order : orderList){ if(order.getSmsTime()==null ){ - if(order.getGetoffTime().getTime()+24*60*60*1000L<day.getTime()){ + if(null != order.getGetoffTime() && order.getGetoffTime().getTime()+24*60*60*1000L<day.getTime()){ order.setSmsNumber(order.getSmsNumber()+1); order.setSmsTime(day); //发送短信 @@ -1153,14 +1210,18 @@ } if(payType == 3){//余额支付 driver.setBalance(driver.getBalance() - money); - if(driver.getLaveBusinessMoney().compareTo(money) < 0){ - double b = money - driver.getLaveBusinessMoney(); + Double laveBusinessMoney = driver.getLaveBusinessMoney(); + if(laveBusinessMoney.compareTo(money) < 0){ + double b = money - laveBusinessMoney; driver.setLaveBusinessMoney(0D); driver.setLaveActivityMoney(driver.getLaveActivityMoney() - b); driverService.updateById(driver); + balanceUsageRecordService.saveBalanceUsageRecord(driver.getId(), 1, b, orderType == 1 ? 1 : 2); + balanceUsageRecordService.saveBalanceUsageRecord(driver.getId(), 2, laveBusinessMoney, orderType == 1 ? 1 : 2); }else{ driver.setLaveBusinessMoney(driver.getLaveBusinessMoney() - money); driverService.updateById(driver); + balanceUsageRecordService.saveBalanceUsageRecord(driver.getId(), 2, money, orderType == 1 ? 1 : 2); } if(orderType == 1){//专车 -- Gitblit v1.7.1