From 4c62b64cc158ed07f18ae7060dae71f9d1e3d9fd Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期一, 10 二月 2025 13:57:37 +0800 Subject: [PATCH] 修改bug --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 192 +++++++++++++++++++++++++---------------------- 1 files changed, 102 insertions(+), 90 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java index 6268f1e..9e68b8c 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java @@ -276,6 +276,8 @@ }else{ myChargingOrderInfo.setLicensePlate("无"); } + }else{ + myChargingOrderInfo.setLicensePlate(chargingOrder.getPlateNum()); } myChargingOrderInfo.setStartTime(chargingOrder.getStartTime().atZone(ZoneId.systemDefault()).toInstant().getEpochSecond() * 1000); myChargingOrderInfo.setEndTime(chargingOrder.getEndTime().atZone(ZoneId.systemDefault()).toInstant().getEpochSecond() * 1000); @@ -459,9 +461,11 @@ chargingOrder.setOrderClassification(1); chargingOrder.setAppUserId(userId); chargingOrder.setAppUserCarId(addChargingOrder.getAppUserCarId()); - TAppUserCar userCar = appUserCarClient.getCarById(addChargingOrder.getAppUserCarId().toString()).getData(); - if(null != userCar){ - chargingOrder.setPlateNum(userCar.getLicensePlate()); + if(null != addChargingOrder.getAppUserCarId()){ + TAppUserCar userCar = appUserCarClient.getCarById(addChargingOrder.getAppUserCarId().toString()).getData(); + if(null != userCar){ + chargingOrder.setPlateNum(userCar.getLicensePlate()); + } } TChargingGun tChargingGun = chargingGunClient.getChargingGunById(addChargingOrder.getId()).getData(); TChargingPile chargingPile = chargingPileClient.getChargingPileById(tChargingGun.getChargingPileId()).getData(); @@ -1345,6 +1349,8 @@ if (!data1.isEmpty()){ chargingOrderVO.setLicensePlate(data1.get(0).getLicensePlate()); } + }else{ + chargingOrderVO.setLicensePlate(chargingOrderVO.getPlateNum()); } } @@ -1612,6 +1618,8 @@ chargingOrderListVO.setLicensePlate(data4.get(0).getLicensePlate()); } } + }else{ + chargingOrderListVO.setLicensePlate(chargingOrderListVO.getPlateNum()); } chargingOrderListVO.setPhone(data3.getPhone()); } @@ -1881,7 +1889,11 @@ if (chargingOrder.getAppUserCarId()!=null){ List<TAppUserCar> data3 = appUserCarClient.getCarByIds(Collections.singletonList(chargingOrder.getAppUserCarId())).getData(); - if (data3!=null && !data3.isEmpty())chargingOrderListInfoVO.setLicensePlate(data3.get(0).getLicensePlate()); + if (data3!=null && !data3.isEmpty()) { + chargingOrderListInfoVO.setLicensePlate(data3.get(0).getLicensePlate()); + } + }else{ + chargingOrderListInfoVO.setLicensePlate(chargingOrder.getPlateNum()); } chargingOrderListInfoVO.setStartTime(chargingOrder.getStartTime()); chargingOrderListInfoVO.setEndTime(chargingOrder.getEndTime()); @@ -2318,92 +2330,96 @@ chargingGun.setChargingPower(BigDecimal.ZERO); chargingGunClient.updateChargingGunById(chargingGun); //推送状态给三方平台 - tcecClient.pushChargingGunStatus(chargingGun.getId(), chargingGun.getStatus()); + if(2 == chargingOrder.getOrderSource()){ + tcecClient.pushChargingGunStatus(chargingGun.getId(), chargingGun.getStatus()); + } //添加积分 - TIntegralRule integralRule = integralRuleClient.getSet().getData(); - if(null != integralRule){ - TAppUser appUser = appUserClient.getUserById(chargingOrder.getAppUserId()).getData(); - Integer num1 = JSON.parseObject(integralRule.getChargeCredit()).getInteger("num1"); - Integer integral = chargingOrder.getServiceCharge().intValue() * num1; - if(null != appUser.getVipId()){ - TVip vip = vipClient.getInfo1(appUser.getVipId()).getData(); - Integer doubleIntegration = vip.getDoubleIntegration(); - //双倍积分 - if(1 == doubleIntegration){ - integral *= 2; + if(1 == chargingOrder.getOrderSource()){ + TIntegralRule integralRule = integralRuleClient.getSet().getData(); + if(null != integralRule){ + TAppUser appUser = appUserClient.getUserById(chargingOrder.getAppUserId()).getData(); + Integer num1 = JSON.parseObject(integralRule.getChargeCredit()).getInteger("num1"); + Integer integral = chargingOrder.getServiceCharge().intValue() * num1; + if(null != appUser.getVipId()){ + TVip vip = vipClient.getInfo1(appUser.getVipId()).getData(); + Integer doubleIntegration = vip.getDoubleIntegration(); + //双倍积分 + if(1 == doubleIntegration){ + integral *= 2; + } + } + + if(integral > 0){ + TAppUserIntegralChange appUserIntegralChange = new TAppUserIntegralChange(); + appUserIntegralChange.setAppUserId(appUser.getId()); + appUserIntegralChange.setChangeType(2); + appUserIntegralChange.setHistoricalIntegral(appUser.getPoints()); + appUser.setPoints(appUser.getPoints() + integral); + appUserIntegralChange.setCurrentIntegral(appUser.getPoints()); + appUserIntegralChange.setCreateTime(LocalDateTime.now()); + appUserIntegralChange.setOrderCode(chargingOrder.getCode()); + appUserIntegralChange.setExtension(chargingOrder.getId().toString()); + appUserClient.updateAppUser(appUser); + appUserIntegralChangeClient.addAppUserIntegralChange(appUserIntegralChange); } } - if(integral > 0){ - TAppUserIntegralChange appUserIntegralChange = new TAppUserIntegralChange(); - appUserIntegralChange.setAppUserId(appUser.getId()); - appUserIntegralChange.setChangeType(2); - appUserIntegralChange.setHistoricalIntegral(appUser.getPoints()); - appUser.setPoints(appUser.getPoints() + integral); - appUserIntegralChange.setCurrentIntegral(appUser.getPoints()); - appUserIntegralChange.setCreateTime(LocalDateTime.now()); - appUserIntegralChange.setOrderCode(chargingOrder.getCode()); - appUserIntegralChange.setExtension(chargingOrder.getId().toString()); - appUserClient.updateAppUser(appUser); - appUserIntegralChangeClient.addAppUserIntegralChange(appUserIntegralChange); - } - } - - //计算用户标签 - editUserTag(chargingOrder); - //用户推荐奖励 - referralReward(chargingOrder); - - //开始构建退款费用 - refundAmount = refundAmount.setScale(2, RoundingMode.HALF_EVEN); - if(refundAmount.compareTo(BigDecimal.ZERO) > 0){ - Integer rechargePaymentType = chargingOrder.getRechargePaymentType(); - //构建退款明细 - TChargingOrderRefund chargingOrderRefund = new TChargingOrderRefund(); - chargingOrderRefund.setChargingOrderId(chargingOrder.getId()); - SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); - chargingOrderRefund.setRefundCode("CDF" + sdf.format(new Date()) + (Double.valueOf(Math.random() * 1000).intValue())); - chargingOrderRefund.setRefundAmount(refundAmount); - chargingOrderRefund.setRefundStatus(1); - chargingOrderRefund.setPayType(rechargePaymentType); - chargingOrderRefund.setRefundStatus(1); - chargingOrderRefund.setCode(chargingOrder.getCode()); - chargingOrderRefund.setRefundTitle("充电完成退款"); - chargingOrderRefund.setRefundContent("充电完成退款"); - chargingOrderRefund.setRefundReason("充电完成退款"); - chargingOrderRefund.setRefundRemark("实际充电消费金额:" + chargingOrder.getPaymentAmount()); - chargingOrderRefund.setRefundTotalAmount(refundAmount); - chargingOrderRefund.setPayAmount(rechargeAmount); - if(1 == rechargePaymentType){ - WxPaymentRefundModel model = new WxPaymentRefundModel(); - model.setOut_trade_no(chargingOrder.getCode()); - model.setOut_refund_no(chargingOrderRefund.getRefundCode()); - model.setReason("充电完成退款"); - model.setNotify_url("/payment/wx/refund/notify"); - WxPaymentRefundModel.RefundAmount amount = new WxPaymentRefundModel.RefundAmount(); - amount.setRefund(refundAmount.multiply(new BigDecimal(100)).intValue()); - amount.setTotal(rechargeAmount.multiply(new BigDecimal(100)).intValue()); - amount.setCurrency("CNY"); - model.setAmount(amount); - R<String> orderR = wxPaymentClient.refundOrderR(model); - if(200 == orderR.getCode()){ - chargingOrderRefundService.save(chargingOrderRefund); - } - } - if(2 == rechargePaymentType){ - RefundReq dto = new RefundReq(); - dto.setOutTradeNo(chargingOrder.getCode()); - dto.setOutRequestNo(chargingOrderRefund.getRefundCode()); - dto.setRefundAmount(refundAmount.toString()); - dto.setRefundReason("充电完成退款"); - RefundResp resp = aliPaymentClient.refund(dto).getData(); - if(null != resp){ - chargingOrderRefundService.save(chargingOrderRefund); - this.chargingOrderStartupFailureWxRefund(chargingOrderRefund.getRefundCode(), resp.getTradeNo(), "SUCCESS", null); - } - } + //计算用户标签 + editUserTag(chargingOrder); + //用户推荐奖励 + referralReward(chargingOrder); + //开始构建退款费用 + refundAmount = refundAmount.setScale(2, RoundingMode.HALF_EVEN); + if(refundAmount.compareTo(BigDecimal.ZERO) > 0){ + Integer rechargePaymentType = chargingOrder.getRechargePaymentType(); + //构建退款明细 + TChargingOrderRefund chargingOrderRefund = new TChargingOrderRefund(); + chargingOrderRefund.setChargingOrderId(chargingOrder.getId()); + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); + chargingOrderRefund.setRefundCode("CDF" + sdf.format(new Date()) + (Double.valueOf(Math.random() * 1000).intValue())); + chargingOrderRefund.setRefundAmount(refundAmount); + chargingOrderRefund.setRefundStatus(1); + chargingOrderRefund.setPayType(rechargePaymentType); + chargingOrderRefund.setRefundStatus(1); + chargingOrderRefund.setCode(chargingOrder.getCode()); + chargingOrderRefund.setRefundTitle("充电完成退款"); + chargingOrderRefund.setRefundContent("充电完成退款"); + chargingOrderRefund.setRefundReason("充电完成退款"); + chargingOrderRefund.setRefundRemark("实际充电消费金额:" + chargingOrder.getPaymentAmount()); + chargingOrderRefund.setRefundTotalAmount(refundAmount); + chargingOrderRefund.setPayAmount(rechargeAmount); + if(1 == rechargePaymentType){ + WxPaymentRefundModel model = new WxPaymentRefundModel(); + model.setOut_trade_no(chargingOrder.getCode()); + model.setOut_refund_no(chargingOrderRefund.getRefundCode()); + model.setReason("充电完成退款"); + model.setNotify_url("/payment/wx/refund/notify"); + WxPaymentRefundModel.RefundAmount amount = new WxPaymentRefundModel.RefundAmount(); + amount.setRefund(refundAmount.multiply(new BigDecimal(100)).intValue()); + amount.setTotal(rechargeAmount.multiply(new BigDecimal(100)).intValue()); + amount.setCurrency("CNY"); + model.setAmount(amount); + R<String> orderR = wxPaymentClient.refundOrderR(model); + if(200 == orderR.getCode()){ + chargingOrderRefundService.save(chargingOrderRefund); + } + } + if(2 == rechargePaymentType){ + RefundReq dto = new RefundReq(); + dto.setOutTradeNo(chargingOrder.getCode()); + dto.setOutRequestNo(chargingOrderRefund.getRefundCode()); + dto.setRefundAmount(refundAmount.toString()); + dto.setRefundReason("充电完成退款"); + RefundResp resp = aliPaymentClient.refund(dto).getData(); + if(null != resp){ + chargingOrderRefundService.save(chargingOrderRefund); + this.chargingOrderStartupFailureWxRefund(chargingOrderRefund.getRefundCode(), resp.getTradeNo(), "SUCCESS", null); + } + } + + } } } @@ -3154,11 +3170,7 @@ */ @Override public TChargingOrder getChargingOrderByLicensePlate(GetChargingOrderByLicensePlate query) { - TAppUserCar appUserCar = appUserCarClient.getAppUserCarByLicensePlate(query.getLicensePlate()).getData(); - if(null == appUserCar){ - return null; - } - TChargingOrder one = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getAppUserCarId, appUserCar.getId()) + TChargingOrder one = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getPlateNum, query.getLicensePlate()) .eq(TChargingOrder::getDelFlag, 0).between(TChargingOrder::getStartTime, query.getStartTime(), LocalDateTime.now()) .eq(TChargingOrder::getRechargePaymentStatus, 2).in(TChargingOrder::getStatus, Arrays.asList(4, 5))); return one; @@ -4034,7 +4046,7 @@ return R.fail("充电枪正在充电中,启动失败"); } - //构建新的待支付订单 + //构建订单数据 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); TChargingOrder chargingOrder = new TChargingOrder(); String code = "CD" + Double.valueOf(Math.random() * 1000).intValue() + sdf.format(new Date()); -- Gitblit v1.7.1