Эх сурвалжийг харах

feat(realname): 商城地址保存后回填用户真实姓名

Sisyphus Agent 4 өдөр өмнө
parent
commit
82bb4f1b2b

+ 5 - 0
cfc-backend/src/main/java/com/etotem/cfc/service/UserAddressService.java

@@ -17,6 +17,9 @@ public class UserAddressService {
     @Resource
     private UserAddressMapper userAddressMapper;
 
+    @Resource
+    private RealNameBackfillService realNameBackfillService;
+
     public List<UserAddress> list(Long userId) {
         LambdaQueryWrapper<UserAddress> wrapper = new LambdaQueryWrapper<UserAddress>()
             .eq(UserAddress::getUserId, userId)
@@ -46,6 +49,7 @@ public class UserAddressService {
             clearDefault(userId);
         }
         userAddressMapper.insert(address);
+        realNameBackfillService.backfill(userId, address.getReceiverName());
     }
 
     @Transactional
@@ -60,6 +64,7 @@ public class UserAddressService {
             clearDefault(userId);
         }
         userAddressMapper.updateById(address);
+        realNameBackfillService.backfill(userId, address.getReceiverName());
     }
 
     @Transactional

+ 55 - 0
cfc-backend/src/test/java/com/etotem/cfc/service/UserAddressServiceBackfillTest.java

@@ -0,0 +1,55 @@
+package com.etotem.cfc.service;
+
+import com.etotem.cfc.entity.UserAddress;
+import com.etotem.cfc.mapper.UserAddressMapper;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.*;
+
+@ExtendWith(MockitoExtension.class)
+class UserAddressServiceBackfillTest {
+
+    @Mock
+    private UserAddressMapper userAddressMapper;
+
+    @Mock
+    private RealNameBackfillService realNameBackfillService;
+
+    @InjectMocks
+    private UserAddressService userAddressService;
+
+    @Test
+    void create_保存成功后以收货人姓名回填真实姓名() {
+        UserAddress address = new UserAddress();
+        address.setReceiverName("张三");
+        address.setIsDefault(0);
+
+        userAddressService.create(address, 1L);
+
+        verify(userAddressMapper).insert(address);
+        verify(realNameBackfillService).backfill(1L, "张三");
+    }
+
+    @Test
+    void update_保存成功后以收货人姓名回填真实姓名() {
+        UserAddress existing = new UserAddress();
+        existing.setId(10L);
+        existing.setUserId(1L);
+        when(userAddressMapper.selectOne(any())).thenReturn(existing);
+
+        UserAddress address = new UserAddress();
+        address.setId(10L);
+        address.setReceiverName("李四");
+        address.setIsDefault(0);
+
+        userAddressService.update(address, 1L);
+
+        verify(userAddressMapper).updateById(address);
+        verify(realNameBackfillService).backfill(1L, "李四");
+    }
+}