From 531c94e27fd3dc2abe8ad72485f66e9e141a0bae Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期六, 07 九月 2024 10:00:06 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 104 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 93 insertions(+), 11 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 ceaf65f..27599e1 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 @@ -38,10 +38,7 @@ import com.ruoyi.order.api.query.ChargingOrderQuery; import com.ruoyi.order.api.query.SettlementListQuery; import com.ruoyi.order.api.query.UploadRealTimeMonitoringDataQuery; -import com.ruoyi.order.api.vo.ChargingOrderListVO; -import com.ruoyi.order.api.vo.ChargingOrderTimeVO; -import com.ruoyi.order.api.vo.ChargingOrderVO; -import com.ruoyi.order.api.vo.TCharingOrderVO; +import com.ruoyi.order.api.vo.*; import com.ruoyi.order.dto.*; import com.ruoyi.order.mapper.TChargingOrderMapper; import com.ruoyi.order.mapper.TSettlementConfirmMapper; @@ -104,7 +101,7 @@ private ChargingGunClient chargingGunClient; @Resource private TSettlementConfirmMapper tSettlementConfirmMapper; - + @Resource private SiteClient siteClient; @@ -128,7 +125,7 @@ @Resource private AliPaymentClient aliPaymentClient; - + @Resource private AppCouponClient appCouponClient; @@ -447,6 +444,7 @@ chargingOrder.setVipDiscountAmount(discountAmount); } } + } this.save(chargingOrder); @@ -598,7 +596,7 @@ preChargeCheck1.setFailureCause(failure_cause); //启动失败后取消订单,退款操作 refund(code); - order.setStatus(5); + order.setStatus(-1); order.setEndMode(0); }else{ preChargeCheck1.setStartupSuccess(2); @@ -1332,10 +1330,10 @@ return chargingOrderTimeVO; } - @Override - public R payRefund(PayOrderRefundDto payOrderQueryDto) { - return null; - } +// @Override +// public R payRefund(PayOrderRefundDto payOrderQueryDto) { +// return null; +// } @Override public ChargingOrderListInfoVO chargingInfo(String uid) { @@ -1387,6 +1385,7 @@ chargingOrderListInfoVO.setList1(list); return chargingOrderListInfoVO; } + /** * 处理充电订单实时监控数据相关的业务逻辑 @@ -1556,6 +1555,89 @@ endCharge(orderCode, 0); } + + + @Override + public R payRefund(PayOrderRefundDto payOrderQueryDto) { + if (payOrderQueryDto.getType()==1){ + TChargingOrder tChargingOrder = this.baseMapper.selectById(payOrderQueryDto.getOrderId()); + TChargingOrderRefund chargingOrderRefund = new TChargingOrderRefund(); + chargingOrderRefund.setChargingOrderId(tChargingOrder.getId()); + chargingOrderRefund.setRefundAmount(payOrderQueryDto.getRefundAmount()); + chargingOrderRefund.setRefundStatus(1); + chargingOrderRefund.setPayType(tChargingOrder.getRechargePaymentType()); + chargingOrderRefund.setRefundTime(LocalDateTime.now()); + chargingOrderRefund.setCode(tChargingOrder.getCode()); + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); + chargingOrderRefund.setRefundCode("GDF" + sdf.format(new Date()) + (Math.random() * 1000)); + chargingOrderRefund.setRefundTitle("后台退款"); + chargingOrderRefund.setRefundContent("后台退款"); + chargingOrderRefund.setRefundReason("后台退款"); + chargingOrderRefund.setRefundRemark("后台退款"); + chargingOrderRefund.setRefundTotalAmount(tChargingOrder.getRefundAmount().add(payOrderQueryDto.getRefundAmount())); + chargingOrderRefund.setPayAmount(tChargingOrder.getPaymentAmount()); + + if(1 == tChargingOrder.getRechargePaymentType()){ + WxPaymentRefundModel model = new WxPaymentRefundModel(); + model.setOut_trade_no(tChargingOrder.getCode()); + model.setOut_refund_no(chargingOrderRefund.getRefundCode()); + model.setTransaction_id(tChargingOrder.getRechargeSerialNumber()); + model.setReason("取消订单"); + model.setNotify_url("http://127.0.0.1:9000/order/t-shopping-order/cancelShoppingOrderWxRefund"); + WxPaymentRefundModel.RefundAmount amount = new WxPaymentRefundModel.RefundAmount(); + amount.setRefund(payOrderQueryDto.getRefundAmount().multiply(new BigDecimal(100)).intValue()); + amount.setTotal(tChargingOrder.getPaymentAmount().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 == tChargingOrder.getRechargePaymentType()){ + RefundReq dto = new RefundReq(); + dto.setOutTradeNo(tChargingOrder.getCode()); + dto.setOutRequestNo(tChargingOrder.getCode()); + dto.setRefundAmount(payOrderQueryDto.getRefundAmount().toString()); + dto.setRefundReason("取消订单"); + RefundResp resp = aliPaymentClient.refund(dto).getData(); + if(null != resp){ + SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-DDTHH:mm:ss+TIMEZONE"); + chargingOrderRefundService.save(chargingOrderRefund); + + } + } + + + + + + } + + + + return null; + } + + + /** + * 根据车牌号和开始时间查询充电数据 + * @param query + * @return + */ + @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()) + .eq(TChargingOrder::getDelFlag, 0).gt(TChargingOrder::getStartTime, query.getStartTime()) + .eq(TChargingOrder::getRechargePaymentStatus, 2).ne(TChargingOrder::getStatus, -1)); + return one; + } + @Override public TSettlementConfirm settlementAdd(SettlementConfirmAdd dto) { List<Site> data = siteClient.getSiteByIds(Arrays.asList(dto.getSiteId())).getData(); -- Gitblit v1.7.1