From a70433b2ee5bb37823ab73422a01251343cb5f58 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 29 九月 2026 17:55:50 +0800
Subject: [PATCH] 修改订单业务流程和其他功能修改
---
ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/service/impl/TVinChargingOrderCompanyFleetTest.java | 34 +++++++++++++++++++++++++++++++++-
1 files changed, 33 insertions(+), 1 deletions(-)
diff --git a/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/service/impl/TVinChargingOrderCompanyFleetTest.java b/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/service/impl/TVinChargingOrderCompanyFleetTest.java
index a9c64d1..11b9f1b 100644
--- a/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/service/impl/TVinChargingOrderCompanyFleetTest.java
+++ b/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/service/impl/TVinChargingOrderCompanyFleetTest.java
@@ -2,14 +2,22 @@
import com.ruoyi.account.api.feignClient.VinManagementClient;
import com.ruoyi.account.api.model.TVinManagement;
+import com.ruoyi.chargingPile.api.feignClient.AccountingStrategyClient;
+import com.ruoyi.chargingPile.api.feignClient.AccountingStrategyDetailClient;
import com.ruoyi.chargingPile.api.feignClient.ChargingGunClient;
+import com.ruoyi.chargingPile.api.model.TAccountingStrategy;
+import com.ruoyi.chargingPile.api.model.TAccountingStrategyDetail;
import com.ruoyi.chargingPile.api.model.TChargingGun;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.order.api.dto.DeviceStartChargingDTO;
+import com.ruoyi.order.api.model.TVinAccountingStrategyDetailOrder;
+import com.ruoyi.order.api.model.TVinAccountingStrategyOrder;
import com.ruoyi.order.api.model.TVinChargingOrder;
import com.ruoyi.order.api.vo.ChargingOrderVO;
import com.ruoyi.order.api.vo.DeviceStartChargingVO;
import com.ruoyi.order.mapper.TVinChargingOrderMapper;
+import com.ruoyi.order.service.TVinAccountingStrategyDetailOrderService;
+import com.ruoyi.order.service.TVinAccountingStrategyOrderService;
import com.ruoyi.other.api.domain.TFleet;
import com.ruoyi.other.api.domain.TGroupCompany;
import com.ruoyi.other.api.feignClient.ChargeAuthorizationClient;
@@ -66,6 +74,14 @@
@Mock
private ChargeAuthorizationClient chargeAuthorizationClient;
@Mock
+ private AccountingStrategyClient accountingStrategyClient;
+ @Mock
+ private AccountingStrategyDetailClient accountingStrategyDetailClient;
+ @Mock
+ private TVinAccountingStrategyOrderService vinAccountingStrategyOrderService;
+ @Mock
+ private TVinAccountingStrategyDetailOrderService vinAccountingStrategyDetailOrderService;
+ @Mock
private org.redisson.api.RedissonClient redissonClient;
@Mock
private org.redisson.api.RLock lock;
@@ -80,12 +96,28 @@
when(redissonClient.getLock(anyString())).thenReturn(lock);
when(lock.tryLock(anyLong(), anyLong(), any(TimeUnit.class))).thenReturn(true);
lenient().when(lock.isHeldByCurrentThread()).thenReturn(true);
- when(mapper.insert(any(TVinChargingOrder.class))).thenReturn(1);
+ // 建单落库回填主键(策略快照按订单ID写入,严格模式下无ID会直接启动失败)
+ when(mapper.insert(any(TVinChargingOrder.class))).thenAnswer(invocation -> {
+ invocation.getArgument(0, TVinChargingOrder.class).setId(1001L);
+ return 1;
+ });
TChargingGun gun = new TChargingGun();
gun.setId(6);
+ gun.setAccountingStrategyId(77);
when(chargingGunClient.getChargingGunByCode(any())).thenReturn(R.ok(gun));
+ // 严格模式:策略快照必须可查(枪策略优先),策略或明细缺失将终止启动
+ TAccountingStrategy strategy = new TAccountingStrategy();
+ strategy.setId(77);
+ when(accountingStrategyClient.getAccountingStrategyById(77)).thenReturn(R.ok(strategy));
+ TAccountingStrategyDetail detail = new TAccountingStrategyDetail();
+ detail.setAccountingStrategyId(77);
+ when(accountingStrategyDetailClient.getListByAccountingStrategyId(77))
+ .thenReturn(R.ok(Collections.singletonList(detail)));
+ when(vinAccountingStrategyOrderService.save(any(TVinAccountingStrategyOrder.class))).thenReturn(true);
+ when(vinAccountingStrategyDetailOrderService.saveBatch(anyList())).thenReturn(true);
+
TVinManagement vinRecord = new TVinManagement();
vinRecord.setId(1L);
vinRecord.setVin(VIN);
--
Gitblit v1.7.1