From da9b7a52dbc6fcd2173efef90528d8fccc322554 Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期五, 17 七月 2026 16:22:40 +0800
Subject: [PATCH] P1问题fix
---
ruoyi-service/ruoyi-chargingPile/src/test/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImplTest.java | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 55 insertions(+), 0 deletions(-)
diff --git a/ruoyi-service/ruoyi-chargingPile/src/test/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImplTest.java b/ruoyi-service/ruoyi-chargingPile/src/test/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImplTest.java
index ae17d17..6380e03 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/test/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImplTest.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/test/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImplTest.java
@@ -1,11 +1,22 @@
package com.ruoyi.chargingPile.service.impl;
import com.ruoyi.chargingPile.api.model.Partner;
+import com.ruoyi.chargingPile.mapper.PartnerMapper;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import org.junit.jupiter.api.Test;
+import org.springframework.test.util.ReflectionTestUtils;
+import org.mockito.ArgumentCaptor;
import java.math.BigDecimal;
import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+import static org.mockito.ArgumentMatchers.isNull;
class PartnerServiceImplTest {
@@ -22,4 +33,48 @@
assertTrue(new PartnerServiceImpl().addPartnerParameterCheck(partner).isSuccess());
}
+
+ @Test
+ void venuePartnerFallsBackToPartnerRoleWhenDedicatedRoleIsMissing() {
+ PartnerServiceImpl service = new PartnerServiceImpl();
+ PartnerMapper mapper = mock(PartnerMapper.class);
+ ReflectionTestUtils.setField(service, "baseMapper", mapper);
+ when(mapper.getDefaultPartnerRoleId("场地方")).thenReturn(null);
+ when(mapper.getDefaultPartnerRoleId("合作商")).thenReturn(7);
+
+ assertEquals(7, service.resolveDefaultRoleId(2));
+ verify(mapper).getDefaultPartnerRoleId("场地方");
+ verify(mapper).getDefaultPartnerRoleId("合作商");
+ }
+
+ @Test
+ void serviceProviderUsesDedicatedRoleWhenItExists() {
+ PartnerServiceImpl service = new PartnerServiceImpl();
+ PartnerMapper mapper = mock(PartnerMapper.class);
+ ReflectionTestUtils.setField(service, "baseMapper", mapper);
+ when(mapper.getDefaultPartnerRoleId("服务商")).thenReturn(9);
+
+ assertEquals(9, service.resolveDefaultRoleId(3));
+ verify(mapper).getDefaultPartnerRoleId("服务商");
+ verify(mapper, never()).getDefaultPartnerRoleId("合作商");
+ }
+
+ @Test
+ void clearingShareRatiosStillProducesExplicitDatabaseUpdate() {
+ PartnerServiceImpl service = new PartnerServiceImpl();
+ PartnerMapper mapper = mock(PartnerMapper.class);
+ ReflectionTestUtils.setField(service, "baseMapper", mapper);
+ Partner partner = new Partner();
+ partner.setId(8);
+ partner.setElectricityShareRatio(null);
+ partner.setServiceShareRatio(null);
+
+ service.updateShareRatios(partner);
+
+ ArgumentCaptor<Wrapper<Partner>> wrapperCaptor = ArgumentCaptor.forClass(Wrapper.class);
+ verify(mapper).update(isNull(), wrapperCaptor.capture());
+ UpdateWrapper<Partner> wrapper = (UpdateWrapper<Partner>) wrapperCaptor.getValue();
+ assertTrue(wrapper.getSqlSet().contains("electricity_share_ratio"));
+ assertTrue(wrapper.getSqlSet().contains("service_share_ratio"));
+ }
}
--
Gitblit v1.7.1