From b219589d73f46bd98995bceb4caf16dadb56b869 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 12 九月 2025 20:30:13 +0800 Subject: [PATCH] 修改bug --- UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 59 ++++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 44 insertions(+), 15 deletions(-) diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java index 47cd81d..e1756b2 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java @@ -48,6 +48,8 @@ import java.math.MathContext; import java.math.RoundingMode; import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; @@ -1847,7 +1849,7 @@ return ResultUtil.error("订单不在待支付状态,不允许支付", ""); } Integer uid = orderPrivateCar.getUserId(); - Double orderMoney = orderPrivateCar.getOrderMoney(); + Double orderMoney = (2 == orderPrivateCar.getAbnormal() && 2 == orderPrivateCar.getAbnormalStatus() ? orderPrivateCar.getResponsibilityMoney().doubleValue() : orderPrivateCar.getOrderMoney()); UserInfo userInfo = userInfoService.selectById(uid); ResultUtil resultUtil = ResultUtil.success(new Object()); orderPrivateCar.setCouponMoney(0D);//初始化历史数据 @@ -1942,7 +1944,7 @@ //非追缴单才需要添加收入 if(0 == orderPrivateCar.getRecoveryOrder()){ //添加收入 - Double orderMoney1 = (1 == orderPrivateCar.getAbnormal() ? orderPrivateCar.getOrderMoney() : orderPrivateCar.getResponsibilityMoney().doubleValue()); + Double orderMoney1 = (2 == orderPrivateCar.getAbnormal() && 2 == orderPrivateCar.getAbnormalStatus() ? orderPrivateCar.getResponsibilityMoney().doubleValue() : orderPrivateCar.getOrderMoney()); Map<String, Object> map = incomeService.saveIncome(orderPrivateCar.getId(), 1, orderMoney1); orderPrivateCar.setSplitAllocation(JSON.toJSONString(map)); } @@ -1982,8 +1984,9 @@ if (orderPrivateCar.getState() != 7) { return ResultUtil.error("订单不在待支付状态,不允许支付", new ArrayList<>()); } + Integer uid = orderPrivateCar.getUserId(); - Double orderMoney = (1 == orderPrivateCar.getAbnormal() ? orderPrivateCar.getOrderMoney() : orderPrivateCar.getResponsibilityMoney().doubleValue()); + Double orderMoney = (2 == orderPrivateCar.getAbnormal() && 2 == orderPrivateCar.getAbnormalStatus() ? orderPrivateCar.getResponsibilityMoney().doubleValue() : orderPrivateCar.getOrderMoney()); UserInfo userInfo = userInfoService.selectById(uid); ResultUtil resultUtil = ResultUtil.success(new Object()); orderPrivateCar.setCouponMoney(0D);//初始化历史数据 @@ -2194,9 +2197,9 @@ tradeOrderCreateData.setTreatShopId(driver.getEmpId().toString()); //追缴单不要分账 if(0 == orderPrivateCar.getRecoveryOrder()){ - tradeOrderCreateData.setField1("{\"profitSharing\":\"1\",\"isPromote\":\"" + (orderPrivateCar.getPromotion() == 2 ? 1 : 0) + "\"}"); + tradeOrderCreateData.setField1("{\"profitSharing\":\"1\",\"isCompensate\":\"0\",\"isPromote\":\"" + (orderPrivateCar.getPromotion() == 2 ? 1 : 0) + "\"}"); }else{ - tradeOrderCreateData.setField1("{\"profitSharing\":\"0\",\"isPromote\":\"0\"}"); + tradeOrderCreateData.setField1("{\"profitSharing\":\"0\",\"isCompensate\":\"1\",\"isPromote\":\"0\"}"); } tradeOrderCreateData.setCharge(new BigDecimal(orderMoney)); tradeOrderCreateData.setOrderId(orderPrivateCar.getTravelId()); @@ -2215,6 +2218,7 @@ goodsInfoRequest.setProfitSharing("1"); }else{ goodsInfoRequest.setProfitSharing("0"); + goodsInfoRequest.setSettleDate(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"))); } goodsInfo.add(goodsInfoRequest); tradeOrderCreateData.setGoodsInfo(goodsInfo); @@ -2226,6 +2230,15 @@ orderPrivateCar.setIsCreated(1); resultUtil = ResultUtil.success(payInfo.getData().getRedirectUrl()); }else{ + //查询支付信息 + GetPaymentInfoDataRequest getPaymentInfoDataRequest = new GetPaymentInfoDataRequest(); + getPaymentInfoDataRequest.setPartnerPayId(orderPrivateCar.getTravelId()); + GetPaymentInfo getPaymentInfo = OrderUtil.paymentInfo(getPaymentInfoDataRequest); + String status = getPaymentInfo.getStatus(); + if("1".equals(status) || "2".equals(status)){ + payOrderPrivateCarCallback(orderPrivateCar.getId(), getPaymentInfo.getPayId(), 1); + return ResultUtil.error("订单已完成支付,不允许重复支付", new ArrayList<>()); + } //拉起支付 TradePayOff1Data tradePayOff1Data = new TradePayOff1Data(); tradePayOff1Data.setPartnerPayId(orderPrivateCar.getTravelId()); @@ -2240,6 +2253,7 @@ goodsInfoRequest.setProfitSharing("1"); }else{ goodsInfoRequest.setProfitSharing("0"); + goodsInfoRequest.setSettleDate(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"))); } goodsInfo.add(goodsInfoRequest); tradePayOff1Data.setGoodsInfo(goodsInfo); @@ -2270,11 +2284,11 @@ request.setDriverId(driver.getEmpId().toString()); ListPage<List<TravelItinerary>> travelItineraryList = OrderUtil.getTravelItineraryList(request); TravelItinerary travelItinerary = travelItineraryList.getList().get(0); - if(travelItinerary.getStatus() != 7 || travelItinerary.getOrderStatus() == 11){ - GetPaymentInfoDataRequest getPaymentInfoDataRequest = new GetPaymentInfoDataRequest(); - getPaymentInfoDataRequest.setPartnerPayId(orderPrivateCar1.getTravelId()); - GetPaymentInfo getPaymentInfo = OrderUtil.paymentInfo(getPaymentInfoDataRequest); - payOrderPrivateCarCallback(orderPrivateCar1.getId(), getPaymentInfo.getPayId(), 1); + if(travelItinerary.getStatus() != 7 || Arrays.asList(3, 11).contains(travelItinerary.getOrderStatus())){ + GetPaymentInfoDataRequest getPaymentInfoDataRequest1 = new GetPaymentInfoDataRequest(); + getPaymentInfoDataRequest1.setPartnerPayId(orderPrivateCar1.getTravelId()); + GetPaymentInfo getPaymentInfo1 = OrderUtil.paymentInfo(getPaymentInfoDataRequest1); + payOrderPrivateCarCallback(orderPrivateCar1.getId(), getPaymentInfo1.getPayId(), 1); break; } Thread.sleep(wait); @@ -2335,12 +2349,18 @@ //非追缴单才添加收入记录 if(0 == orderPrivateCar.getRecoveryOrder()){ //添加收入 - Double orderMoney1 = (1 == orderPrivateCar.getAbnormal() ? orderPrivateCar.getOrderMoney() : orderPrivateCar.getResponsibilityMoney().doubleValue()); + Double orderMoney1 = (2 == orderPrivateCar.getAbnormal() && 2 == orderPrivateCar.getAbnormalStatus() ? orderPrivateCar.getResponsibilityMoney().doubleValue() : orderPrivateCar.getOrderMoney()); Map<String, Object> map = incomeService.saveIncome(orderPrivateCar.getId(), 1, orderMoney1); orderPrivateCar.setSplitAllocation(JSON.toJSONString(map)); } - + //待审核的异常单修改状态为已关闭 + if(2 == orderPrivateCar.getAbnormal() && 1 == orderPrivateCar.getAbnormalStatus()){ + orderPrivateCar.setAbnormalStatus(3); + orderPrivateCar.setResponsibilityMoney(new BigDecimal(orderPrivateCar.getOrderMoney())); + orderPrivateCar.setResponsibilityType(3); + orderPrivateCar.setAbnormalRemark("乘客已支付订单,申诉已自动关闭"); + } this.updateAllColumnById(orderPrivateCar); promotion(orderPrivateCar.getId()); @@ -2551,8 +2571,10 @@ UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId()); OpenCity openCity = openCityService.openCity1(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString()); SysIntegral query1 = sysIntegralMapper.query(openCity.getId()); - userInfo.setIntegral(userInfo.getIntegral() + (query.getAmount().intValue() * query1.getIntegral()));//积分 - userInfoService.updateById(userInfo); + if(null != query1){ + userInfo.setIntegral(userInfo.getIntegral() + (query.getAmount().intValue() * query1.getIntegral()));//积分 + userInfoService.updateById(userInfo); + } //处理优惠券和红包 if (null != orderPrivateCar.getCouponId()) { @@ -2585,10 +2607,17 @@ //非追缴单才需要记录收入 if(0 == orderPrivateCar.getRecoveryOrder()){ //添加收入 - Double orderMoney = (1 == orderPrivateCar.getAbnormal() ? orderPrivateCar.getOrderMoney() : orderPrivateCar.getResponsibilityMoney().doubleValue()); + Double orderMoney = (2 == orderPrivateCar.getAbnormal() && 2 == orderPrivateCar.getAbnormalStatus() ? orderPrivateCar.getResponsibilityMoney().doubleValue() : orderPrivateCar.getOrderMoney()); Map<String, Object> map = incomeService.saveIncome(orderPrivateCar.getId(), 1, orderMoney); orderPrivateCar.setSplitAllocation(JSON.toJSONString(map)); } + //待审核的异常单修改状态为已关闭 + if(2 == orderPrivateCar.getAbnormal() && 1 == orderPrivateCar.getAbnormalStatus()){ + orderPrivateCar.setAbnormalStatus(3); + orderPrivateCar.setResponsibilityMoney(new BigDecimal(orderPrivateCar.getOrderMoney())); + orderPrivateCar.setResponsibilityType(3); + orderPrivateCar.setAbnormalRemark("乘客已支付订单,申诉已自动关闭"); + } this.updateById(orderPrivateCar); promotion(orderPrivateCar.getId()); -- Gitblit v1.7.1