feat(admin): 最低价ASIN列表操作列新增整条删除按钮——后端DELETE /skip-price-asins/{id}(权限校验+日志),前端确认弹窗+删空页回退,补单测与对齐测试
This commit is contained in:
+27
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
|
||||
import org.apache.ibatis.builder.MapperBuilderAssistant;
|
||||
import org.apache.ibatis.session.Configuration;
|
||||
import com.nanri.aiimage.common.exception.BusinessException;
|
||||
import com.nanri.aiimage.modules.shopkey.mapper.ShopManageMapper;
|
||||
import com.nanri.aiimage.modules.shopkey.mapper.SkipPriceAsinMapper;
|
||||
import com.nanri.aiimage.modules.shopkey.model.dto.SkipPriceAsinCreateRequest;
|
||||
@@ -34,6 +35,7 @@ import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.verify;
|
||||
@@ -179,6 +181,31 @@ class SkipPriceAsinServiceTest {
|
||||
assertEquals(new BigDecimal("14.00"), existing.getMinimumPriceUk());
|
||||
}
|
||||
|
||||
@Test
|
||||
void deleteRemovesWholeRecordAfterGroupAccessCheck() {
|
||||
SkipPriceAsinEntity entity = new SkipPriceAsinEntity();
|
||||
entity.setId(100L);
|
||||
entity.setGroupId(10L);
|
||||
entity.setShopName("shop-a");
|
||||
entity.setAsinDe("B0DE1");
|
||||
when(skipPriceAsinMapper.selectById(100L)).thenReturn(entity);
|
||||
when(shopManageGroupService.getAccessibleById(10L, 7L, true)).thenReturn(group());
|
||||
|
||||
service.delete(100L, 7L, true);
|
||||
|
||||
verify(skipPriceAsinMapper).deleteById((java.io.Serializable) 100L);
|
||||
}
|
||||
|
||||
@Test
|
||||
void deleteRejectsUnknownRecord() {
|
||||
when(skipPriceAsinMapper.selectById(999L)).thenReturn(null);
|
||||
|
||||
BusinessException exception = assertThrows(BusinessException.class, () -> service.delete(999L, 7L, true));
|
||||
|
||||
assertEquals("记录不存在", exception.getMessage());
|
||||
verify(skipPriceAsinMapper, never()).deleteById(any(java.io.Serializable.class));
|
||||
}
|
||||
|
||||
private ShopManageGroupEntity group() {
|
||||
ShopManageGroupEntity group = new ShopManageGroupEntity();
|
||||
group.setId(10L);
|
||||
|
||||
Reference in New Issue
Block a user