feat: 增加枚举查询接口并完善基础实体版本字段
This commit is contained in:
@@ -2,6 +2,7 @@ package com.bruce.common.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.Version;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
@@ -34,7 +35,6 @@ class EntityStructureTests {
|
||||
assertTrue(fieldNames.contains("value"));
|
||||
assertTrue(fieldNames.contains("strvalue"));
|
||||
assertTrue(fieldNames.contains("sort"));
|
||||
assertTrue(fieldNames.contains("version"));
|
||||
assertTrue(fieldNames.contains("remark"));
|
||||
assertTrue(BaseEntity.class.isAssignableFrom(SysEnum.class));
|
||||
}
|
||||
@@ -51,4 +51,15 @@ class EntityStructureTests {
|
||||
assertNotNull(createTimeSchema);
|
||||
assertNotNull(catalogSchema);
|
||||
}
|
||||
|
||||
@Test
|
||||
void versionShouldBeDefinedOnBaseEntityOnly() throws NoSuchFieldException {
|
||||
Field versionField = BaseEntity.class.getDeclaredField("version");
|
||||
Version version = versionField.getAnnotation(Version.class);
|
||||
|
||||
assertNotNull(versionField);
|
||||
assertNotNull(version);
|
||||
assertTrue(Arrays.stream(SysEnum.class.getDeclaredFields()).noneMatch(field -> "version".equals(field.getName())));
|
||||
assertTrue(Arrays.stream(SysAttachment.class.getDeclaredFields()).noneMatch(field -> "version".equals(field.getName())));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.bruce.common.enumconfig;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.bruce.common.controller.SysEnumController;
|
||||
import com.bruce.common.entity.SysEnum;
|
||||
import com.bruce.common.mapper.SysEnumMapper;
|
||||
import com.bruce.common.service.ISysEnumService;
|
||||
import com.bruce.common.service.impl.SysEnumServiceImpl;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
class SysEnumComponentStructureTests {
|
||||
|
||||
@Test
|
||||
void sysEnumComponentsShouldReuseMybatisPlusBaseTypes() {
|
||||
assertTrue(BaseMapper.class.isAssignableFrom(SysEnumMapper.class));
|
||||
assertTrue(IService.class.isAssignableFrom(ISysEnumService.class));
|
||||
assertTrue(ServiceImpl.class.isAssignableFrom(SysEnumServiceImpl.class));
|
||||
assertTrue(ISysEnumService.class.isAssignableFrom(SysEnumServiceImpl.class));
|
||||
assertTrue(SysEnum.class.isAssignableFrom(SysEnum.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
void sysEnumShouldExposeQueryMethodForCatalogAndType() throws NoSuchMethodException {
|
||||
Method serviceMethod = ISysEnumService.class.getMethod("listByCatalogAndType", String.class, String.class);
|
||||
Method controllerMethod = SysEnumController.class.getMethod("queryByCatalogAndType", String.class, String.class);
|
||||
|
||||
assertNotNull(serviceMethod);
|
||||
assertNotNull(controllerMethod);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user