From a878aac2cc6d82a870056d8fd2bf7584fa4659ca Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期三, 09 七月 2025 19:09:26 +0800 Subject: [PATCH] 添加定时退款功能 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 54 +++++++ ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java | 14 + ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/RuoYiOrderApplicationTests.java | 119 ++-------------- ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECUtil.java | 1 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java | 19 ++ ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java | 22 +++ ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java | 87 ++++++++++++ ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml | 52 +++++++ ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/util/TCECCJianGuanontroller.java | 14 + ruoyi-service/ruoyi-order/pom.xml | 9 + 10 files changed, 274 insertions(+), 117 deletions(-) diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java index 0988577..39ad475 100644 --- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java @@ -1250,9 +1250,10 @@ if(data.size() > 0){ BigDecimal totalElectricity = data.stream().map(TChargingOrderAccountingStrategy::getPeriodElectricPrice).reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal serviceCharge = data.stream().map(TChargingOrderAccountingStrategy::getPeriodServicePrice).reduce(BigDecimal.ZERO, BigDecimal::add); + BigDecimal totalMoney = totalElectricity.add(serviceCharge).setScale(4, RoundingMode.HALF_EVEN); queryEquipChargeStatusResult.setElecMoney(totalElectricity); queryEquipChargeStatusResult.setSeviceMoney(serviceCharge); - queryEquipChargeStatusResult.setTotalMoney(chargingOrder.getPaymentAmount()); + queryEquipChargeStatusResult.setTotalMoney(totalMoney); }else if(null != chargingOrder.getRechargeAmount() && null != chargingOrder.getResidualAmount()){ queryEquipChargeStatusResult.setElecMoney(chargingOrder.getRechargeAmount().subtract(chargingOrder.getResidualAmount())); queryEquipChargeStatusResult.setSeviceMoney(BigDecimal.ZERO); @@ -1505,11 +1506,12 @@ List<TChargingOrderAccountingStrategy> data = chargingOrderAccountingStrategyClient.getChargingOrderAccountingStrategyByOrderId(chargingOrder.getId()).getData(); if(data.size() > 0){ - BigDecimal totalElectricity = data.stream().map(TChargingOrderAccountingStrategy::getPeriodElectricPrice).reduce(BigDecimal.ZERO, BigDecimal::add); - BigDecimal serviceCharge = data.stream().map(TChargingOrderAccountingStrategy::getPeriodServicePrice).reduce(BigDecimal.ZERO, BigDecimal::add); - notificationChargeOrderInfo.setTotalElecMoney(totalElectricity.setScale(2, RoundingMode.HALF_EVEN)); - notificationChargeOrderInfo.setTotalSeviceMoney(serviceCharge.setScale(2, RoundingMode.HALF_EVEN)); - notificationChargeOrderInfo.setTotalMoney(chargingOrder.getPaymentAmount()); + BigDecimal totalElectricity = data.stream().map(TChargingOrderAccountingStrategy::getPeriodElectricPrice).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(4, RoundingMode.HALF_EVEN); + BigDecimal serviceCharge = data.stream().map(TChargingOrderAccountingStrategy::getPeriodServicePrice).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(4, RoundingMode.HALF_EVEN); + BigDecimal totalMoney = totalElectricity.add(serviceCharge).setScale(4, RoundingMode.HALF_EVEN); + notificationChargeOrderInfo.setTotalElecMoney(totalElectricity); + notificationChargeOrderInfo.setTotalSeviceMoney(serviceCharge); + notificationChargeOrderInfo.setTotalMoney(totalMoney); }else{ notificationChargeOrderInfo.setTotalElecMoney(chargingOrder.getRechargeAmount().subtract(chargingOrder.getResidualAmount())); notificationChargeOrderInfo.setTotalSeviceMoney(BigDecimal.ZERO); diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECUtil.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECUtil.java index 2478762..6e2c1b1 100644 --- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECUtil.java +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECUtil.java @@ -227,6 +227,7 @@ * @return */ public static NotificationChargeOrderInfoResult notificationChargeOrderInfo(Operator operator, NotificationChargeOrderInfo info){ + System.out.println("推送充电订单信息:--->" + JSON.toJSONString(info)); HttpRequest post = HttpUtil.createPost(operator.getUrl() + InterfaceUrlEnum.NOTIFICATION_CHARGE_ORDER_INFO.getUrl()); buildBody(post, info, operator); HttpResponse execute = post.execute(); diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/util/TCECCJianGuanontroller.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/util/TCECCJianGuanontroller.java index ae2de5c..a7ce4cc 100644 --- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/util/TCECCJianGuanontroller.java +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/util/TCECCJianGuanontroller.java @@ -1193,9 +1193,10 @@ if(data.size() > 0){ BigDecimal totalElectricity = data.stream().map(TChargingOrderAccountingStrategy::getPeriodElectricPrice).reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal serviceCharge = data.stream().map(TChargingOrderAccountingStrategy::getPeriodServicePrice).reduce(BigDecimal.ZERO, BigDecimal::add); + BigDecimal totalMoney = totalElectricity.add(serviceCharge).setScale(4, RoundingMode.HALF_EVEN); queryEquipChargeStatusResult.setElecMoney(totalElectricity); queryEquipChargeStatusResult.setSeviceMoney(serviceCharge); - queryEquipChargeStatusResult.setTotalMoney(chargingOrder.getPaymentAmount()); + queryEquipChargeStatusResult.setTotalMoney(totalMoney); }else{ queryEquipChargeStatusResult.setElecMoney(chargingOrder.getRechargeAmount().subtract(chargingOrder.getResidualAmount())); queryEquipChargeStatusResult.setSeviceMoney(BigDecimal.ZERO); @@ -1443,11 +1444,12 @@ List<TChargingOrderAccountingStrategy> data = chargingOrderAccountingStrategyClient.getChargingOrderAccountingStrategyByOrderId(chargingOrder.getId()).getData(); if(data.size() > 0){ - BigDecimal totalElectricity = data.stream().map(TChargingOrderAccountingStrategy::getPeriodElectricPrice).reduce(BigDecimal.ZERO, BigDecimal::add); - BigDecimal serviceCharge = data.stream().map(TChargingOrderAccountingStrategy::getPeriodServicePrice).reduce(BigDecimal.ZERO, BigDecimal::add); - notificationChargeOrderInfo.setTotalElecMoney(totalElectricity.setScale(2, RoundingMode.HALF_EVEN)); - notificationChargeOrderInfo.setTotalSeviceMoney(serviceCharge.setScale(2, RoundingMode.HALF_EVEN)); - notificationChargeOrderInfo.setTotalMoney(chargingOrder.getPaymentAmount()); + BigDecimal totalElectricity = data.stream().map(TChargingOrderAccountingStrategy::getPeriodElectricPrice).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(4, RoundingMode.HALF_EVEN); + BigDecimal serviceCharge = data.stream().map(TChargingOrderAccountingStrategy::getPeriodServicePrice).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(4, RoundingMode.HALF_EVEN); + BigDecimal totalMoney = totalElectricity.add(serviceCharge).setScale(4, RoundingMode.HALF_EVEN); + notificationChargeOrderInfo.setTotalElecMoney(totalElectricity); + notificationChargeOrderInfo.setTotalSeviceMoney(serviceCharge); + notificationChargeOrderInfo.setTotalMoney(totalMoney); }else{ notificationChargeOrderInfo.setTotalElecMoney(chargingOrder.getRechargeAmount().subtract(chargingOrder.getResidualAmount())); notificationChargeOrderInfo.setTotalSeviceMoney(BigDecimal.ZERO); diff --git a/ruoyi-service/ruoyi-order/pom.xml b/ruoyi-service/ruoyi-order/pom.xml index 6df4555..2850f9b 100644 --- a/ruoyi-service/ruoyi-order/pom.xml +++ b/ruoyi-service/ruoyi-order/pom.xml @@ -166,6 +166,15 @@ </exclusion> </exclusions> </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-data-redis</artifactId> + </dependency> + <dependency> + <groupId>org.redisson</groupId> + <artifactId>redisson-spring-boot-starter</artifactId> + <version>3.16.8</version> + </dependency> </dependencies> <build> diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java index f4a307a..3d07126 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java @@ -10,6 +10,7 @@ import com.ruoyi.order.api.query.ChargingOrderQuery; import com.ruoyi.order.api.vo.ChargingOrderListVO; import com.ruoyi.order.api.vo.ChargingOrderVO; +import com.ruoyi.order.api.vo.TChargingOrderVo; import com.ruoyi.order.dto.*; import com.ruoyi.order.vo.OrderCountByDate; import org.apache.ibatis.annotations.Mapper; @@ -147,4 +148,25 @@ List<OrderCountByDate> countOrdersByDate(@Param("startTime")LocalDateTime startTime, @Param("endTime")LocalDateTime endTime,@Param("gunIds")List<Integer> gunIds); BigDecimal getSumDegreeBySiteIds(@Param("siteIds") List<Integer> siteIds); + + + /** + * 获取启动失败且时间超过1小时的订单 + * @return + */ + List<TChargingOrder> findFailedStartupOrder(); + + + /** + * 获取停止中的数据 + * @return + */ + List<TChargingOrder> findStoppedOrder(); + + + /** + * 获取充电中的订单 + * @return + */ + List<TChargingOrder> findChargingOrder(); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java index 771d12c..4c467bc 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java @@ -330,4 +330,23 @@ R<StatisticsOfBatteryVO> getStatisticsOfBattery(); BigDecimal getSumDegreeBySiteIds(List<Integer> siteIds); + + /** + * 获取启动失败且时间超过1小时的订单 + * @return + */ + List<TChargingOrder> findFailedStartupOrder(); + + + /** + * 获取停止中的数据 + * @return + */ + List<TChargingOrder> findStoppedOrder(); + + /** + * 获取充电中的数据 + * @return + */ + List<TChargingOrder> findChargingOrder(); } 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 35a250f..19cee63 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 @@ -51,6 +51,7 @@ import com.ruoyi.order.service.TChargingOrderService; import com.ruoyi.order.service.TOrderEvaluateService; import com.ruoyi.order.service.*; +import com.ruoyi.order.util.RedisLock; import com.ruoyi.order.util.mongodb.service.PlatformStartChargingReplyService; import com.ruoyi.order.util.mongodb.service.TransactionRecordService; import com.ruoyi.order.util.mongodb.service.UploadRealTimeMonitoringDataService; @@ -71,10 +72,14 @@ import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.feignClient.SysUserClient; import io.seata.spring.annotation.GlobalTransactional; +import org.redisson.Redisson; +import org.redisson.api.RLock; +import org.redisson.api.RedissonClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; @@ -221,6 +226,9 @@ private ITChargingOrderSummaryDataService chargingOrderSummaryDataService; @Resource private TOrderAppealService orderAppealService; + + @Autowired + private RedissonClient redissonClient; @@ -2278,12 +2286,18 @@ */ @Override public R endChargeBillingCharge(TransactionRecordMessageVO vo) { - Boolean hasKey = redisService.hasKey("endOrder:" + vo.getTransaction_serial_number()); - if(hasKey){ + RLock lock = redissonClient.getLock("endOrder:" + vo.getTransaction_serial_number()); + boolean tryLock = false; + try { + tryLock = lock.tryLock(100, TimeUnit.SECONDS); + } catch (InterruptedException e) { + e.printStackTrace(); + lock.unlock(); return R.ok(); } - //添加1分钟的缓存 - redisService.setCacheObject("endOrder:" + vo.getTransaction_serial_number(), vo.getTransaction_serial_number(), 1L, TimeUnit.MINUTES); + if(!tryLock){ + return R.ok(); + } try { TChargingOrder chargingOrder = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getCode, vo.getTransaction_serial_number())); if(null == chargingOrder){ @@ -2763,7 +2777,7 @@ }catch (Exception e) { e.printStackTrace(); }finally { - redisService.deleteObject("endOrder:" + vo.getTransaction_serial_number()); + lock.unlock(); } return R.ok(); } @@ -4279,4 +4293,34 @@ return this.baseMapper.getSumDegreeBySiteIds(siteIds); } + + + /** + * 获取启动失败且时间超过1小时的订单 + * @return + */ + @Override + public List<TChargingOrder> findFailedStartupOrder() { + return this.baseMapper.findFailedStartupOrder(); + } + + + /** + * 获取停止中的数据 + * @return + */ + @Override + public List<TChargingOrder> findStoppedOrder() { + return this.baseMapper.findStoppedOrder(); + } + + + /** + * 获取充电中的数据 + * @return + */ + @Override + public List<TChargingOrder> findChargingOrder() { + return this.baseMapper.findChargingOrder(); + } } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java index c4556d4..725396e 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java @@ -1,15 +1,29 @@ package com.ruoyi.order.util.task; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson2.util.UUIDUtils; import com.alibaba.nacos.common.utils.UuidUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.chargingPile.api.feignClient.SiteClient; import com.ruoyi.chargingPile.api.model.Site; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.integration.api.feignClient.UploadRealTimeMonitoringDataClient; +import com.ruoyi.integration.api.model.TransactionRecord; +import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData; import com.ruoyi.order.api.model.TChargingBill; import com.ruoyi.order.api.model.TChargingOrder; +import com.ruoyi.order.api.model.TChargingOrderRefund; +import com.ruoyi.order.api.vo.TransactionRecordMessageVO; import com.ruoyi.order.service.TChargingBillService; +import com.ruoyi.order.service.TChargingOrderRefundService; import com.ruoyi.order.service.TChargingOrderService; +import com.ruoyi.order.util.mongodb.service.TransactionRecordService; +import com.ruoyi.order.util.mongodb.service.UploadRealTimeMonitoringDataService; +import lombok.extern.slf4j.Slf4j; import org.apache.logging.log4j.core.util.UuidUtil; +import org.apache.poi.util.StringUtil; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.web.context.WebServerInitializedEvent; import org.springframework.context.ApplicationListener; @@ -31,6 +45,7 @@ * @author zhibing.pu * @date 2023/7/11 8:39 */ +@Slf4j @Component public class TaskUtil implements ApplicationListener<WebServerInitializedEvent> { @@ -41,9 +56,81 @@ @Resource private TChargingOrderService chargingOrderService; + @Resource + private TChargingOrderRefundService chargingOrderRefundService; + + @Resource + private UploadRealTimeMonitoringDataService uploadRealTimeMonitoringDataService; + + @Resource + private TransactionRecordService transactionRecordService; + private Integer port = null; + //十分钟循环执行的定时任务 + @Scheduled(fixedRate = 1000 * 60 * 10) + public void taskTenMinutes() { + if(null != port && port == 5400){ + List<TChargingOrder> failedStartupOrder = chargingOrderService.findFailedStartupOrder(); + log.info("定时任务执行,查询到启动失败的订单数量:{}", failedStartupOrder.size()); + for (TChargingOrder order : failedStartupOrder) { + //查询是否有充电信息 + List<UploadRealTimeMonitoringData> dataByOrderCode = uploadRealTimeMonitoringDataService.getDataByOrderCode(order.getCode()); + log.info("充电实时数据:{}", JSON.toJSONString(dataByOrderCode)); + //没有充电数据,则执行退款 + if(null == dataByOrderCode || dataByOrderCode.isEmpty()){ + log.info("定时任务执行,查询到启动失败的订单,执行退款:{}", order.getCode()); + chargingOrderService.refund(order.getCode()); + int num = 0; + while (true){ + TChargingOrderRefund one = chargingOrderRefundService.getOne(new LambdaQueryWrapper<TChargingOrderRefund>().eq(TChargingOrderRefund::getChargingOrderId, order.getId())); + if(null != one && 2 == one.getRefundStatus()){ + order.setStatus(-1); + chargingOrderService.updateById(order); + break; + } + try { + Thread.sleep(5000); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + num++; + if(num > 10){ + break; + } + } + } + } + //处理退款中的数据 + List<TChargingOrder> stoppedOrder = chargingOrderService.findStoppedOrder(); + log.info("定时任务执行,查询到停止中的订单数量:{}", stoppedOrder.size()); + for (TChargingOrder order : stoppedOrder) { + TransactionRecord one = transactionRecordService.findOne(order.getCode()); + if(null != one){ + log.info("定时任务执行,查询到停止中的订单账单数据:{}", JSON.toJSONString(one)); + TransactionRecordMessageVO vo = new TransactionRecordMessageVO(); + BeanUtils.copyProperties(one, vo); + R r = chargingOrderService.endChargeBillingCharge(vo); + log.info("定时任务执行,停止中的订单处理结果:{}", JSON.toJSONString(r)); + } + } + //处理状态为充电中,但硬件已完成的订单 + List<TChargingOrder> chargingOrder = chargingOrderService.findChargingOrder(); + log.info("定时任务执行,查询到充电中的订单数量:{}", chargingOrder.size()); + for (TChargingOrder order : chargingOrder) { + TransactionRecord one = transactionRecordService.findOne(order.getCode()); + if(null != one && StringUtils.isNotEmpty(one.getResult())){ + log.info("定时任务执行,查询到充电中的订单账单数据:{}", JSON.toJSONString(one)); + TransactionRecordMessageVO vo = new TransactionRecordMessageVO(); + BeanUtils.copyProperties(one, vo); + R r = chargingOrderService.endChargeBillingCharge(vo); + log.info("定时任务执行,充电中的订单处理结果:{}", JSON.toJSONString(r)); + } + } + } + } + @Scheduled(cron = "0 0 0 2 * ?") public void taskMonth() { diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml index 733c089..5add4b3 100644 --- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml +++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml @@ -1774,4 +1774,56 @@ </foreach> </select> + + <select id="findFailedStartupOrder" resultType="com.ruoyi.order.api.model.TChargingOrder"> + SELECT + * + FROM + t_charging_order + WHERE + `status` = 2 + AND recharge_payment_status = 2 + AND recharge_serial_number IS NOT NULL + AND NOW() >= ADDDATE( pay_time, INTERVAL 60 MINUTE ) + AND del_flag = 0 + AND order_source = 1 + AND id NOT IN ( + SELECT + charging_order_id + FROM + t_charging_order_refund) + </select> + + + <select id="findStoppedOrder" resultType="com.ruoyi.order.api.model.TChargingOrder"> + SELECT + * + FROM + t_charging_order + WHERE + `status` = 4 + AND NOW() >= ADDDATE(end_time, INTERVAL 10 MINUTE ) + AND del_flag = 0 + AND id NOT IN ( + SELECT + charging_order_id + FROM + t_charging_order_refund) + </select> + + + <select id="findChargingOrder" resultType="com.ruoyi.order.api.model.TChargingOrder"> + SELECT + * + FROM + t_charging_order + WHERE + `status` = 3 + AND del_flag = 0 + AND id NOT IN ( + SELECT + charging_order_id + FROM + t_charging_order_refund) + </select> </mapper> diff --git a/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/RuoYiOrderApplicationTests.java b/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/RuoYiOrderApplicationTests.java index bd4e6cd..a4b8a64 100644 --- a/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/RuoYiOrderApplicationTests.java +++ b/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/RuoYiOrderApplicationTests.java @@ -8,6 +8,7 @@ //import com.ruoyi.chargingPile.api.model.Site; //import com.ruoyi.chargingPile.api.model.TChargingGun; //import com.ruoyi.chargingPile.api.model.TChargingPile; +//import com.ruoyi.common.core.domain.R; //import com.ruoyi.common.core.web.domain.AjaxResult; //import com.ruoyi.common.core.web.page.PageInfo; //import com.ruoyi.common.redis.service.RedisService; @@ -34,119 +35,37 @@ //import com.ruoyi.payment.api.feignClient.AliPaymentClient; //import com.ruoyi.payment.api.feignClient.WxPaymentClient; //import org.junit.jupiter.api.Test; +//import org.redisson.api.RLock; +//import org.redisson.api.RedissonClient; +//import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.boot.test.context.SpringBootTest; // //import javax.annotation.Resource; //import java.io.PrintWriter; //import java.math.BigDecimal; //import java.util.*; +//import java.util.concurrent.TimeUnit; // //@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = RuoYiOrderApplication.class) //public class RuoYiOrderApplicationTests { // -// @Resource -// private TChargingOrderService chargingOrderService; -// -// @Resource -// private ChargingGunClient chargingGunClient; -// @Resource -// private TSettlementConfirmMapper tSettlementConfirmMapper; -// -// @Resource -// private SiteClient siteClient; -// -// @Resource -// private AppUserCarClient appUserCarClient; -// @Resource -// private AppUserClient appUserClient; -// -// @Resource -// private ChargingPileClient chargingPileClient; -// -// @Resource -// private TChargingOrderAccountingStrategyService chargingOrderAccountingStrategyService; -// -// @Resource -// private TokenService tokenService; -// -// @Resource -// private WxPaymentClient wxPaymentClient; -// -// @Resource -// private AliPaymentClient aliPaymentClient; -// -// @Resource -// private AppCouponClient appCouponClient; -// -// @Resource -// private AppUserVipDetailClient appUserVipDetailClient; -// -// @Resource -// private RedisService redisService; -// -// @Resource -// private UploadRealTimeMonitoringDataClient uploadRealTimeMonitoringDataClient; -// -// @Resource -// private ChargingHandshakeClient chargingHandshakeClient; -// -// @Resource -// private SendMessageClient sendMessageClient; -// -// @Resource -// private TOrderEvaluateService orderEvaluateService; -// -// @Resource -// private AccountingStrategyDetailClient accountingStrategyDetailClient; -// -// @Resource -// private AccountingStrategyDetailOrderClient accountingStrategyDetailOrderClient; -// -// @Resource -// private AccountingStrategyClient accountingStrategyClient; -// -// @Resource -// private PlatformStartChargingReplyClient platformStartChargingReplyClient; -// -// @Resource -// private TChargingOrderRefundService chargingOrderRefundService; -// -// @Resource -// private PlatformStopChargingReplyClient platformStopChargingReplyClient; -// -// @Resource -// private AccountingStrategyOrderService accountingStrategyOrderService; -// -// @Resource -// private AccountingStrategyDetailOrderService accountingStrategyDetailOrderService; -// -// @Resource -// private InviteUserClient inviteUserClient; -// -// @Resource -// private AppUserIntegralChangeClient appUserIntegralChangeClient; -// -// @Resource -// private IntegralRuleClient integralRuleClient; -// -// @Resource -// private VipClient vipClient; -// -// @Resource -// private UserTagClient userTagClient; -// -// @Resource -// private AppUserTagClient appUserTagClient; -// -// @Resource -// private SecurityDetectionClient securityDetectionClient; +// @Autowired +// private RedissonClient redissonClient; // // // @Test // public void test(){ -// PayOrderQueryDto payOrderQueryDto = new PayOrderQueryDto(); -// payOrderQueryDto.setPageCurr(1); -// payOrderQueryDto.setPageSize(10000999); -// PageInfo<PayOrderDto> data = chargingOrderService.payOrderQuery(payOrderQueryDto).getData(); +// RLock lock = redissonClient.getLock("endOrder:1234565"); +// boolean tryLock = false; +// try { +// tryLock = lock.tryLock(100, TimeUnit.SECONDS); +// } catch (InterruptedException e) { +// e.printStackTrace(); +// lock.unlock(); +// } +// if(!tryLock){ +// System.out.println("获取锁失败"); +// } +// System.out.println("获取锁成功"); // } //} -- Gitblit v1.7.1