diff --git a/central-provider/src/main/java/central/studio/provider/database/persistence/saas/ApplicationPersistence.java b/central-provider/src/main/java/central/studio/provider/database/persistence/saas/ApplicationPersistence.java index 57227644..b03ab2d3 100644 --- a/central-provider/src/main/java/central/studio/provider/database/persistence/saas/ApplicationPersistence.java +++ b/central-provider/src/main/java/central/studio/provider/database/persistence/saas/ApplicationPersistence.java @@ -27,6 +27,7 @@ import central.bean.Page; import central.data.saas.ApplicationInput; import central.lang.Stringx; +import central.sql.data.Entity; import central.sql.query.Columns; import central.sql.query.Conditions; import central.sql.query.Orders; @@ -229,12 +230,8 @@ public long deleteByIds(@Nullable List ids) { * @param conditions 条件 */ public long deleteBy(@Nullable Conditions conditions) { - var entities = this.mapper.findBy(conditions); - if (Listx.isNullOrEmpty(entities)) { - return 0; - } - - var ids = entities.stream().map(ApplicationEntity::getId).toList(); + var ids = this.mapper.findBy(Columns.of(ApplicationEntity::getId), conditions).stream() + .map(Entity::getId).toList(); return this.deleteByIds(ids); } } diff --git a/central-provider/src/main/java/central/studio/provider/database/persistence/saas/TenantPersistence.java b/central-provider/src/main/java/central/studio/provider/database/persistence/saas/TenantPersistence.java index 6f410aa7..5c3cbbcb 100644 --- a/central-provider/src/main/java/central/studio/provider/database/persistence/saas/TenantPersistence.java +++ b/central-provider/src/main/java/central/studio/provider/database/persistence/saas/TenantPersistence.java @@ -27,6 +27,7 @@ import central.bean.Page; import central.data.saas.TenantInput; import central.lang.Stringx; +import central.sql.data.Entity; import central.sql.query.Columns; import central.sql.query.Conditions; import central.sql.query.Orders; @@ -229,12 +230,8 @@ public long deleteByIds(@Nullable List ids) { * @param conditions 条件 */ public long deleteBy(@Nullable Conditions conditions) { - var entities = this.mapper.findBy(conditions); - if (Listx.isNullOrEmpty(entities)) { - return 0; - } - - var ids = entities.stream().map(TenantEntity::getId).toList(); + var ids = this.mapper.findBy(Columns.of(TenantEntity::getId), conditions).stream() + .map(Entity::getId).toList(); return this.deleteByIds(ids); } } diff --git a/central-provider/src/test/java/central/studio/provider/graphql/TestContext.java b/central-provider/src/test/java/central/studio/provider/graphql/TestContext.java new file mode 100644 index 00000000..543edb31 --- /dev/null +++ b/central-provider/src/test/java/central/studio/provider/graphql/TestContext.java @@ -0,0 +1,145 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Alan Yeh + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package central.studio.provider.graphql; + +import central.data.saas.ApplicationInput; +import central.data.saas.TenantApplicationInput; +import central.data.saas.TenantInput; +import central.data.system.DatabaseInput; +import central.data.system.DatabasePropertiesInput; +import central.sql.query.Columns; +import central.sql.query.Conditions; +import central.studio.provider.database.core.DatabaseType; +import central.studio.provider.database.persistence.saas.ApplicationPersistence; +import central.studio.provider.database.persistence.saas.TenantApplicationPersistence; +import central.studio.provider.database.persistence.saas.TenantPersistence; +import central.studio.provider.database.persistence.saas.entity.ApplicationEntity; +import central.studio.provider.database.persistence.saas.entity.TenantEntity; +import central.studio.provider.database.persistence.system.DatabasePersistence; +import central.studio.provider.database.persistence.system.entity.DatabaseEntity; +import central.util.Guidx; +import lombok.Setter; +import org.springframework.beans.factory.DisposableBean; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Collections; + +/** + * Test Context + *

+ * 测试上下文 + * + * @author Alan Yeh + * @since 2024/12/29 + */ +@Component +public class TestContext implements InitializingBean, DisposableBean { + + @Setter(onMethod_ = @Autowired) + private TenantPersistence tenantPersistence; + + @Setter(onMethod_ = @Autowired) + private ApplicationPersistence applicationPersistence; + + @Setter(onMethod_ = @Autowired) + private TenantApplicationPersistence relationPersistence; + + @Setter(onMethod_ = @Autowired) + private DatabasePersistence databasePersistence; + + @Override + public void afterPropertiesSet() throws Exception { + // SaaS 应用 + var saas = applicationPersistence.findFirstBy(Columns.all(), Conditions.of(ApplicationEntity.class).eq(ApplicationEntity::getCode, "central-saas"), null); + + // 为 SaaS 应用新增测试数据库 + var database = databasePersistence.insert(DatabaseInput.builder() + .applicationId(saas.getId()) + .code("test") + .name("测试数据源") + .type(DatabaseType.H2.getValue()) + .enabled(Boolean.TRUE) + .remark("测试数据源,用后即删") + .master(DatabasePropertiesInput.builder() + .driver("") + .url("jdbc:h2:mem:test") + .username("test") + .password("test") + .build()) + .slaves(Collections.emptyList()) + .params("{}") + .build(), "syssa", "master"); + + var tenant = tenantPersistence.insert(TenantInput.builder() + .code("test") + .name("测试租户") + .databaseId(database.getId()) + .enabled(Boolean.TRUE) + .remark("测试租户") + .build(), "syssa"); + + var application = applicationPersistence.insert(ApplicationInput.builder() + .code("test") + .name("测试应用") + .logo("1234") + .url("http://127.0.0.1:3100") + .contextPath("/test") + .secret(Guidx.nextID()) + .enabled(Boolean.TRUE) + .remark("测试应用") + .routes(Collections.emptyList()) + .build(), "syssa"); + + relationPersistence.insert(TenantApplicationInput.builder() + .tenantId(tenant.getId()) + .applicationId(application.getId()) + .enabled(Boolean.TRUE) + .primary(Boolean.TRUE) + .build(), "syssa"); + } + + @Override + public void destroy() throws Exception { + this.applicationPersistence.deleteBy(Conditions.of(ApplicationEntity.class).eq(ApplicationEntity::getCode, "test")); + this.tenantPersistence.deleteBy(Conditions.of(TenantEntity.class).eq(TenantEntity::getCode, "test")); + this.databasePersistence.deleteBy(Conditions.of(DatabaseEntity.class).eq(DatabaseEntity::getCode, "test"), "master"); + } + + /** + * 获取测试租户 + */ + public TenantEntity getTenant() { + return this.tenantPersistence.findFirstBy(Columns.all(), Conditions.of(TenantEntity.class).eq(TenantEntity::getCode, "master"), null); + } + + /** + * 测试应用 + */ + public ApplicationEntity getApplication() { + return this.applicationPersistence.findFirstBy(Columns.all(), Conditions.of(ApplicationEntity.class).eq(ApplicationEntity::getCode, "central-identity"), null); + } +} diff --git a/central-provider/src/test/java/central/studio/provider/graphql/authority/TestMenuProvider.java b/central-provider/src/test/java/central/studio/provider/graphql/authority/TestMenuProvider.java index 60dca09d..b9850f80 100644 --- a/central-provider/src/test/java/central/studio/provider/graphql/authority/TestMenuProvider.java +++ b/central-provider/src/test/java/central/studio/provider/graphql/authority/TestMenuProvider.java @@ -28,33 +28,29 @@ import central.data.authority.MenuInput; import central.data.authority.option.MenuType; import central.provider.graphql.authority.MenuProvider; +import central.provider.scheduled.DataContext; +import central.provider.scheduled.fetcher.DataFetcherType; +import central.provider.scheduled.fetcher.saas.SaasContainer; +import central.sql.query.Columns; import central.sql.query.Conditions; import central.studio.provider.ProviderApplication; -import central.studio.provider.ProviderProperties; -import central.studio.provider.graphql.TestProvider; +import central.studio.provider.database.persistence.authority.MenuPersistence; import central.studio.provider.database.persistence.authority.entity.MenuEntity; -import central.studio.provider.database.persistence.authority.mapper.MenuMapper; -import central.studio.provider.database.persistence.authority.mapper.PermissionMapper; -import central.studio.provider.database.persistence.saas.entity.ApplicationEntity; -import central.studio.provider.database.persistence.saas.mapper.ApplicationMapper; -import central.util.Guidx; -import central.util.Listx; +import central.studio.provider.graphql.TestContext; +import central.studio.provider.graphql.TestProvider; import lombok.Setter; -import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import java.nio.charset.StandardCharsets; import java.util.List; -import java.util.Objects; import static org.junit.jupiter.api.Assertions.*; /** * MenuProvider Test Cases - * 菜单 * * @author Alan Yeh * @since 2022/09/27 @@ -62,471 +58,44 @@ @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT, classes = ProviderApplication.class) public class TestMenuProvider extends TestProvider { - @Setter(onMethod_ = @Autowired) - private ProviderProperties properties; - @Setter(onMethod_ = @Autowired) private MenuProvider provider; @Setter(onMethod_ = @Autowired) - private MenuMapper mapper; + private MenuPersistence persistence; @Setter(onMethod_ = @Autowired) - private PermissionMapper permissionMapper; - - @Setter(onMethod_ = @Autowired) - private ApplicationMapper applicationMapper; + private TestContext context; + + @BeforeAll + public static void setup(@Autowired DataContext context) throws Exception { + SaasContainer container = null; + while (container == null || container.getApplications().isEmpty()) { + Thread.sleep(100); + container = context.getData(DataFetcherType.SAAS); + } + } @BeforeEach - @AfterEach public void clear() { - // 清空测试数据 - this.mapper.deleteAll(); - this.applicationMapper.deleteAll(); - this.permissionMapper.deleteAll(); + var tenant = this.context.getTenant(); + var application = this.context.getApplication(); + this.persistence.deleteBy(Conditions.of(MenuEntity.class).eq(MenuEntity::getApplicationId, application.getId()), tenant.getCode()); } /** + * @see MenuProvider#insert * @see MenuProvider#findById + * @see MenuProvider#update + * @see MenuProvider#deleteByIds */ @Test public void case1() { - var applicationEntity = new ApplicationEntity(); - applicationEntity.setCode("central-security"); - applicationEntity.setName("统一认证中心"); - applicationEntity.setLogoBytes("1234".getBytes(StandardCharsets.UTF_8)); - applicationEntity.setUrl("http://127.0.0.1:3100"); - applicationEntity.setContextPath("/security"); - applicationEntity.setSecret(Guidx.nextID()); - applicationEntity.setEnabled(Boolean.TRUE); - applicationEntity.setRemark("用于所有应用的认证处理"); - applicationEntity.setRoutesJson("[]"); - applicationEntity.updateCreator(properties.getSupervisor().getUsername()); - this.applicationMapper.insert(applicationEntity); - - var parentEntity = new MenuEntity(); - parentEntity.setApplicationId(applicationEntity.getId()); - parentEntity.setParentId(""); - parentEntity.setCode("test-parent"); - parentEntity.setName("测试父菜单"); - parentEntity.setIcon("icon-parent"); - parentEntity.setUrl(""); - parentEntity.setType(MenuType.BACKEND.getValue()); - parentEntity.setEnabled(Boolean.TRUE); - parentEntity.setOrder(0); - parentEntity.setRemark("父菜单"); - parentEntity.setTenantCode("master"); - parentEntity.updateCreator(properties.getSupervisor().getUsername()); - this.mapper.insert(parentEntity); - - var menuEntity = new MenuEntity(); - menuEntity.setApplicationId(applicationEntity.getId()); - menuEntity.setParentId(parentEntity.getId()); - menuEntity.setCode("test"); - menuEntity.setName("测试菜单"); - menuEntity.setIcon("icon"); - menuEntity.setUrl("@/test"); - menuEntity.setType(MenuType.BACKEND.getValue()); - menuEntity.setEnabled(Boolean.TRUE); - menuEntity.setOrder(0); - menuEntity.setRemark("菜单"); - menuEntity.setTenantCode("master"); - menuEntity.updateCreator(properties.getSupervisor().getUsername()); - this.mapper.insert(menuEntity); - - var childEntity = new MenuEntity(); - childEntity.setApplicationId(applicationEntity.getId()); - childEntity.setParentId(menuEntity.getId()); - childEntity.setCode("test-child"); - childEntity.setName("测试子菜单"); - childEntity.setIcon("icon-child"); - childEntity.setUrl("@/test-child"); - childEntity.setType(MenuType.BACKEND.getValue()); - childEntity.setEnabled(Boolean.TRUE); - childEntity.setOrder(0); - childEntity.setRemark("子菜单"); - childEntity.setTenantCode("master"); - childEntity.updateCreator(properties.getSupervisor().getUsername()); - this.mapper.insert(childEntity); - - // 查询数据 - var menu = this.provider.findById(menuEntity.getId(), "master"); - assertNotNull(menu); - assertEquals(menu.getId(), menu.getId()); - // 关联查询 - assertNotNull(menu.getApplication()); - assertEquals(applicationEntity.getId(), menu.getApplication().getId()); - // 关联查询 - assertNotNull(menu.getParent()); - assertEquals(parentEntity.getId(), menu.getParent().getId()); - // 关联查询 - assertNotNull(menu.getChildren()); - assertEquals(1, menu.getChildren().size()); - assertTrue(menu.getChildren().stream().allMatch(it -> Objects.equals(childEntity.getId(), it.getId()))); - // 关联查询 - assertNotNull(menu.getCreator()); - assertEquals(properties.getSupervisor().getUsername(), menu.getCreator().getId()); - assertNotNull(menu.getModifier()); - assertEquals(properties.getSupervisor().getUsername(), menu.getModifier().getId()); - } - - /** - * @see MenuProvider#findByIds - */ - @Test - public void case2() { - var applicationEntity = new ApplicationEntity(); - applicationEntity.setCode("central-security"); - applicationEntity.setName("统一认证中心"); - applicationEntity.setLogoBytes("1234".getBytes(StandardCharsets.UTF_8)); - applicationEntity.setUrl("http://127.0.0.1:3100"); - applicationEntity.setContextPath("/security"); - applicationEntity.setSecret(Guidx.nextID()); - applicationEntity.setEnabled(Boolean.TRUE); - applicationEntity.setRemark("用于所有应用的认证处理"); - applicationEntity.setRoutesJson("[]"); - applicationEntity.updateCreator(properties.getSupervisor().getUsername()); - this.applicationMapper.insert(applicationEntity); - - var parentEntity = new MenuEntity(); - parentEntity.setApplicationId(applicationEntity.getId()); - parentEntity.setParentId(""); - parentEntity.setCode("test-parent"); - parentEntity.setName("测试父菜单"); - parentEntity.setIcon("icon-parent"); - parentEntity.setUrl(""); - parentEntity.setType(MenuType.BACKEND.getValue()); - parentEntity.setEnabled(Boolean.TRUE); - parentEntity.setOrder(0); - parentEntity.setRemark("父菜单"); - parentEntity.setTenantCode("master"); - parentEntity.updateCreator(properties.getSupervisor().getUsername()); - this.mapper.insert(parentEntity); - - var menuEntity = new MenuEntity(); - menuEntity.setApplicationId(applicationEntity.getId()); - menuEntity.setParentId(parentEntity.getId()); - menuEntity.setCode("test"); - menuEntity.setName("测试菜单"); - menuEntity.setIcon("icon"); - menuEntity.setUrl("@/test"); - menuEntity.setType(MenuType.BACKEND.getValue()); - menuEntity.setEnabled(Boolean.TRUE); - menuEntity.setOrder(0); - menuEntity.setRemark("菜单"); - menuEntity.setTenantCode("master"); - menuEntity.updateCreator(properties.getSupervisor().getUsername()); - this.mapper.insert(menuEntity); - - var childEntity = new MenuEntity(); - childEntity.setApplicationId(applicationEntity.getId()); - childEntity.setParentId(menuEntity.getId()); - childEntity.setCode("test-child"); - childEntity.setName("测试子菜单"); - childEntity.setIcon("icon-child"); - childEntity.setUrl("@/test-child"); - childEntity.setType(MenuType.BACKEND.getValue()); - childEntity.setEnabled(Boolean.TRUE); - childEntity.setOrder(0); - childEntity.setRemark("子菜单"); - childEntity.setTenantCode("master"); - childEntity.updateCreator(properties.getSupervisor().getUsername()); - this.mapper.insert(childEntity); - - // 查询数据 - var menus = this.provider.findByIds(List.of(menuEntity.getId()), "master"); - assertNotNull(menus); - assertEquals(1, menus.size()); - - var menu = Listx.getFirstOrNull(menus); - assertNotNull(menu); - assertEquals(menu.getId(), menu.getId()); - // 关联查询 - assertNotNull(menu.getApplication()); - assertEquals(applicationEntity.getId(), menu.getApplication().getId()); - // 关联查询 - assertNotNull(menu.getParent()); - assertEquals(parentEntity.getId(), menu.getParent().getId()); - // 关联查询 - assertNotNull(menu.getChildren()); - assertEquals(1, menu.getChildren().size()); - assertTrue(menu.getChildren().stream().allMatch(it -> Objects.equals(childEntity.getId(), it.getId()))); - // 关联查询 - assertNotNull(menu.getCreator()); - assertEquals(properties.getSupervisor().getUsername(), menu.getCreator().getId()); - assertNotNull(menu.getModifier()); - assertEquals(properties.getSupervisor().getUsername(), menu.getModifier().getId()); - } - - /** - * @see MenuProvider#findBy - */ - @Test - public void case3() { - var applicationEntity = new ApplicationEntity(); - applicationEntity.setCode("central-security"); - applicationEntity.setName("统一认证中心"); - applicationEntity.setLogoBytes("1234".getBytes(StandardCharsets.UTF_8)); - applicationEntity.setUrl("http://127.0.0.1:3100"); - applicationEntity.setContextPath("/security"); - applicationEntity.setSecret(Guidx.nextID()); - applicationEntity.setEnabled(Boolean.TRUE); - applicationEntity.setRemark("用于所有应用的认证处理"); - applicationEntity.setRoutesJson("[]"); - applicationEntity.updateCreator(properties.getSupervisor().getUsername()); - this.applicationMapper.insert(applicationEntity); - - var parentEntity = new MenuEntity(); - parentEntity.setApplicationId(applicationEntity.getId()); - parentEntity.setParentId(""); - parentEntity.setCode("test-parent"); - parentEntity.setName("测试父菜单"); - parentEntity.setIcon("icon-parent"); - parentEntity.setUrl(""); - parentEntity.setType(MenuType.BACKEND.getValue()); - parentEntity.setEnabled(Boolean.TRUE); - parentEntity.setOrder(0); - parentEntity.setRemark("父菜单"); - parentEntity.setTenantCode("master"); - parentEntity.updateCreator(properties.getSupervisor().getUsername()); - this.mapper.insert(parentEntity); - - var menuEntity = new MenuEntity(); - menuEntity.setApplicationId(applicationEntity.getId()); - menuEntity.setParentId(parentEntity.getId()); - menuEntity.setCode("test"); - menuEntity.setName("测试菜单"); - menuEntity.setIcon("icon"); - menuEntity.setUrl("@/test"); - menuEntity.setType(MenuType.BACKEND.getValue()); - menuEntity.setEnabled(Boolean.TRUE); - menuEntity.setOrder(0); - menuEntity.setRemark("菜单"); - menuEntity.setTenantCode("master"); - menuEntity.updateCreator(properties.getSupervisor().getUsername()); - this.mapper.insert(menuEntity); - - var childEntity = new MenuEntity(); - childEntity.setApplicationId(applicationEntity.getId()); - childEntity.setParentId(menuEntity.getId()); - childEntity.setCode("test-child"); - childEntity.setName("测试子菜单"); - childEntity.setIcon("icon-child"); - childEntity.setUrl("@/test-child"); - childEntity.setType(MenuType.BACKEND.getValue()); - childEntity.setEnabled(Boolean.TRUE); - childEntity.setOrder(0); - childEntity.setRemark("子菜单"); - childEntity.setTenantCode("master"); - childEntity.updateCreator(properties.getSupervisor().getUsername()); - this.mapper.insert(childEntity); - - // 查询数据 - var menus = this.provider.findBy(null, null, Conditions.of(Menu.class).eq("application.code", applicationEntity.getCode()), null, "master"); - assertNotNull(menus); - assertEquals(3, menus.size()); - - var menu = menus.stream().filter(it -> Objects.equals(menuEntity.getId(), it.getId())).findFirst().orElse(null); - assertNotNull(menu); - assertEquals(menu.getId(), menu.getId()); - // 关联查询 - assertNotNull(menu.getApplication()); - assertEquals(applicationEntity.getId(), menu.getApplication().getId()); - // 关联查询 - assertNotNull(menu.getParent()); - assertEquals(parentEntity.getId(), menu.getParent().getId()); - // 关联查询 - assertNotNull(menu.getChildren()); - assertEquals(1, menu.getChildren().size()); - assertTrue(menu.getChildren().stream().allMatch(it -> Objects.equals(childEntity.getId(), it.getId()))); - // 关联查询 - assertNotNull(menu.getCreator()); - assertEquals(properties.getSupervisor().getUsername(), menu.getCreator().getId()); - assertNotNull(menu.getModifier()); - assertEquals(properties.getSupervisor().getUsername(), menu.getModifier().getId()); - } - - /** - * @see MenuProvider#pageBy - */ - @Test - public void case4() { - var applicationEntity = new ApplicationEntity(); - applicationEntity.setCode("central-security"); - applicationEntity.setName("统一认证中心"); - applicationEntity.setLogoBytes("1234".getBytes(StandardCharsets.UTF_8)); - applicationEntity.setUrl("http://127.0.0.1:3100"); - applicationEntity.setContextPath("/security"); - applicationEntity.setSecret(Guidx.nextID()); - applicationEntity.setEnabled(Boolean.TRUE); - applicationEntity.setRemark("用于所有应用的认证处理"); - applicationEntity.setRoutesJson("[]"); - applicationEntity.updateCreator(properties.getSupervisor().getUsername()); - this.applicationMapper.insert(applicationEntity); - - var parentEntity = new MenuEntity(); - parentEntity.setApplicationId(applicationEntity.getId()); - parentEntity.setParentId(""); - parentEntity.setCode("test-parent"); - parentEntity.setName("测试父菜单"); - parentEntity.setIcon("icon-parent"); - parentEntity.setUrl(""); - parentEntity.setType(MenuType.BACKEND.getValue()); - parentEntity.setEnabled(Boolean.TRUE); - parentEntity.setOrder(0); - parentEntity.setRemark("父菜单"); - parentEntity.setTenantCode("master"); - parentEntity.updateCreator(properties.getSupervisor().getUsername()); - this.mapper.insert(parentEntity); - - var menuEntity = new MenuEntity(); - menuEntity.setApplicationId(applicationEntity.getId()); - menuEntity.setParentId(parentEntity.getId()); - menuEntity.setCode("test"); - menuEntity.setName("测试菜单"); - menuEntity.setIcon("icon"); - menuEntity.setUrl("@/test"); - menuEntity.setType(MenuType.BACKEND.getValue()); - menuEntity.setEnabled(Boolean.TRUE); - menuEntity.setOrder(0); - menuEntity.setRemark("菜单"); - menuEntity.setTenantCode("master"); - menuEntity.updateCreator(properties.getSupervisor().getUsername()); - this.mapper.insert(menuEntity); - - var childEntity = new MenuEntity(); - childEntity.setApplicationId(applicationEntity.getId()); - childEntity.setParentId(menuEntity.getId()); - childEntity.setCode("test-child"); - childEntity.setName("测试子菜单"); - childEntity.setIcon("icon-child"); - childEntity.setUrl("@/test-child"); - childEntity.setType(MenuType.BACKEND.getValue()); - childEntity.setEnabled(Boolean.TRUE); - childEntity.setOrder(0); - childEntity.setRemark("子菜单"); - childEntity.setTenantCode("master"); - childEntity.updateCreator(properties.getSupervisor().getUsername()); - this.mapper.insert(childEntity); - - // 查询数据 - var page = this.provider.pageBy(1L, 20L, Conditions.of(Menu.class).eq("application.code", applicationEntity.getCode()), null, "master"); - assertNotNull(page); - assertNotNull(page.getPager()); - assertEquals(1, page.getPager().getPageIndex()); - assertEquals(20, page.getPager().getPageSize()); - assertEquals(1, page.getPager().getPageCount()); - assertEquals(3, page.getPager().getItemCount()); - - var menu = page.getData().stream().filter(it -> Objects.equals(menuEntity.getId(), it.getId())).findFirst().orElse(null); - assertNotNull(menu); - assertEquals(menu.getId(), menu.getId()); - // 关联查询 - assertNotNull(menu.getApplication()); - assertEquals(applicationEntity.getId(), menu.getApplication().getId()); - // 关联查询 - assertNotNull(menu.getParent()); - assertEquals(parentEntity.getId(), menu.getParent().getId()); - // 关联查询 - assertNotNull(menu.getChildren()); - assertEquals(1, menu.getChildren().size()); - assertTrue(menu.getChildren().stream().allMatch(it -> Objects.equals(childEntity.getId(), it.getId()))); - // 关联查询 - assertNotNull(menu.getCreator()); - assertEquals(properties.getSupervisor().getUsername(), menu.getCreator().getId()); - assertNotNull(menu.getModifier()); - assertEquals(properties.getSupervisor().getUsername(), menu.getModifier().getId()); - } - - /** - * @see MenuProvider#countBy - */ - @Test - public void case5() { - var applicationEntity = new ApplicationEntity(); - applicationEntity.setCode("central-security"); - applicationEntity.setName("统一认证中心"); - applicationEntity.setLogoBytes("1234".getBytes(StandardCharsets.UTF_8)); - applicationEntity.setUrl("http://127.0.0.1:3100"); - applicationEntity.setContextPath("/security"); - applicationEntity.setSecret(Guidx.nextID()); - applicationEntity.setEnabled(Boolean.TRUE); - applicationEntity.setRemark("用于所有应用的认证处理"); - applicationEntity.setRoutesJson("[]"); - applicationEntity.updateCreator(properties.getSupervisor().getUsername()); - this.applicationMapper.insert(applicationEntity); - - var parentEntity = new MenuEntity(); - parentEntity.setApplicationId(applicationEntity.getId()); - parentEntity.setParentId(""); - parentEntity.setCode("test-parent"); - parentEntity.setName("测试父菜单"); - parentEntity.setIcon("icon-parent"); - parentEntity.setUrl(""); - parentEntity.setType(MenuType.BACKEND.getValue()); - parentEntity.setEnabled(Boolean.TRUE); - parentEntity.setOrder(0); - parentEntity.setRemark("父菜单"); - parentEntity.setTenantCode("master"); - parentEntity.updateCreator(properties.getSupervisor().getUsername()); - this.mapper.insert(parentEntity); - - var menuEntity = new MenuEntity(); - menuEntity.setApplicationId(applicationEntity.getId()); - menuEntity.setParentId(parentEntity.getId()); - menuEntity.setCode("test"); - menuEntity.setName("测试菜单"); - menuEntity.setIcon("icon"); - menuEntity.setUrl("@/test"); - menuEntity.setType(MenuType.BACKEND.getValue()); - menuEntity.setEnabled(Boolean.TRUE); - menuEntity.setOrder(0); - menuEntity.setRemark("菜单"); - menuEntity.setTenantCode("master"); - menuEntity.updateCreator(properties.getSupervisor().getUsername()); - this.mapper.insert(menuEntity); - - var childEntity = new MenuEntity(); - childEntity.setApplicationId(applicationEntity.getId()); - childEntity.setParentId(menuEntity.getId()); - childEntity.setCode("test-child"); - childEntity.setName("测试子菜单"); - childEntity.setIcon("icon-child"); - childEntity.setUrl("@/test-child"); - childEntity.setType(MenuType.BACKEND.getValue()); - childEntity.setEnabled(Boolean.TRUE); - childEntity.setOrder(0); - childEntity.setRemark("子菜单"); - childEntity.setTenantCode("master"); - childEntity.updateCreator(properties.getSupervisor().getUsername()); - this.mapper.insert(childEntity); - - // 查询数据 - var count = this.provider.countBy(Conditions.of(Menu.class).eq("application.code", applicationEntity.getCode()), "master"); - assertNotNull(count); - assertEquals(3, count); - } - - /** - * @see MenuProvider#insert - */ - @Test - public void case6() { - var applicationEntity = new ApplicationEntity(); - applicationEntity.setCode("central-security"); - applicationEntity.setName("统一认证中心"); - applicationEntity.setLogoBytes("1234".getBytes(StandardCharsets.UTF_8)); - applicationEntity.setUrl("http://127.0.0.1:3100"); - applicationEntity.setContextPath("/security"); - applicationEntity.setSecret(Guidx.nextID()); - applicationEntity.setEnabled(Boolean.TRUE); - applicationEntity.setRemark("用于所有应用的认证处理"); - applicationEntity.setRoutesJson("[]"); - applicationEntity.updateCreator(properties.getSupervisor().getUsername()); - this.applicationMapper.insert(applicationEntity); + var tenant = this.context.getTenant(); + var application = this.context.getApplication(); var input = MenuInput.builder() - .applicationId(applicationEntity.getId()) + .applicationId(application.getId()) .parentId("") .code("test") .name("测试菜单") @@ -535,41 +104,87 @@ public void case6() { .type(MenuType.BACKEND.getValue()) .enabled(Boolean.TRUE) .order(0) - .remark("菜单") + .remark("测试菜单") .build(); - // 查询数据 - var menu = this.provider.insert(input, properties.getSupervisor().getUsername(), "master"); - - assertNotNull(menu); - assertNotNull(menu.getId()); - - menu = this.provider.findById(menu.getId(), "master"); - - // 查询数据库 - assertTrue(this.mapper.existsBy(Conditions.of(MenuEntity.class).eq(MenuEntity::getId, menu.getId()))); + // test insert + var data = this.provider.insert(input, "syssa", tenant.getCode()); + assertNotNull(data); + assertNotNull(data.getId()); + assertEquals(input.getApplicationId(), data.getApplicationId()); + assertEquals(input.getApplicationId(), data.getApplication().getId()); + assertEquals(input.getParentId(), data.getParentId()); + assertEquals(input.getCode(), data.getCode()); + assertEquals(input.getName(), data.getName()); + assertEquals(input.getUrl(), data.getUrl()); + assertEquals(input.getType(), data.getType()); + assertEquals(input.getEnabled(), data.getEnabled()); + assertEquals(input.getOrder(), data.getOrder()); + assertEquals(input.getRemark(), data.getRemark()); + var entity = this.persistence.findById(data.getId(), Columns.all(), tenant.getCode()); + assertNotNull(entity); + + // test findById + var fetched = this.provider.findById(data.getId(), tenant.getCode()); + assertEquals(data.getId(), fetched.getId()); + assertEquals(data.getApplicationId(), fetched.getApplicationId()); + assertEquals(data.getApplicationId(), fetched.getApplication().getId()); + assertEquals(data.getParentId(), fetched.getParentId()); + assertEquals(data.getCode(), fetched.getCode()); + assertEquals(data.getName(), fetched.getName()); + assertEquals(data.getUrl(), fetched.getUrl()); + assertEquals(data.getType(), fetched.getType()); + assertEquals(data.getEnabled(), fetched.getEnabled()); + assertEquals(data.getOrder(), fetched.getOrder()); + assertEquals(data.getRemark(), fetched.getRemark()); + + // test update + this.provider.update(fetched.toInput().code("test2").enabled(Boolean.FALSE).build(), "syssa", tenant.getCode()); + fetched = this.provider.findById(data.getId(), tenant.getCode()); + assertEquals(data.getId(), fetched.getId()); + assertEquals(data.getApplicationId(), fetched.getApplicationId()); + assertEquals(data.getApplicationId(), fetched.getApplication().getId()); + assertEquals(data.getParentId(), fetched.getParentId()); + assertEquals("test2", fetched.getCode()); + assertEquals(data.getName(), fetched.getName()); + assertEquals(data.getUrl(), fetched.getUrl()); + assertEquals(data.getType(), fetched.getType()); + assertEquals(Boolean.FALSE, fetched.getEnabled()); + assertEquals(data.getOrder(), fetched.getOrder()); + assertEquals(data.getRemark(), fetched.getRemark()); + + // test deleteById + this.provider.deleteByIds(List.of(data.getId()), tenant.getCode()); + entity = this.persistence.findById(data.getId(), Columns.all(), tenant.getCode()); + assertNull(entity); } /** * @see MenuProvider#insertBatch + * @see MenuProvider#findBy + * @see MenuProvider#updateBatch + * @see MenuProvider#pageBy + * @see MenuProvider#deleteBy */ @Test - public void case7() { - var applicationEntity = new ApplicationEntity(); - applicationEntity.setCode("central-security"); - applicationEntity.setName("统一认证中心"); - applicationEntity.setLogoBytes("1234".getBytes(StandardCharsets.UTF_8)); - applicationEntity.setUrl("http://127.0.0.1:3100"); - applicationEntity.setContextPath("/security"); - applicationEntity.setSecret(Guidx.nextID()); - applicationEntity.setEnabled(Boolean.TRUE); - applicationEntity.setRemark("用于所有应用的认证处理"); - applicationEntity.setRoutesJson("[]"); - applicationEntity.updateCreator(properties.getSupervisor().getUsername()); - this.applicationMapper.insert(applicationEntity); + public void case2() { + var tenant = this.context.getTenant(); + var application = this.context.getApplication(); + var input_parent = MenuInput.builder() + .applicationId(application.getId()) + .parentId("") + .code("test_parent") + .name("测试父菜单") + .icon("icon") + .url("@/parent") + .type(MenuType.BACKEND.getValue()) + .enabled(Boolean.TRUE) + .order(0) + .remark("测试父菜单") + .build(); var input = MenuInput.builder() - .applicationId(applicationEntity.getId()) + .applicationId(application.getId()) .parentId("") .code("test") .name("测试菜单") @@ -578,205 +193,54 @@ public void case7() { .type(MenuType.BACKEND.getValue()) .enabled(Boolean.TRUE) .order(0) - .remark("菜单") - .build(); - - // 查询数据 - var menus = this.provider.insertBatch(List.of(input), properties.getSupervisor().getUsername(), "master"); - assertNotNull(menus); - assertEquals(1, menus.size()); - - var menu = Listx.getFirstOrNull(menus); - assertNotNull(menu); - assertNotNull(menu.getId()); - - // 查询数据库 - assertTrue(this.mapper.existsBy(Conditions.of(MenuEntity.class).eq(MenuEntity::getId, menu.getId()))); - } - - /** - * @see MenuProvider#update - */ - @Test - public void case8() { - var applicationEntity = new ApplicationEntity(); - applicationEntity.setCode("central-security"); - applicationEntity.setName("统一认证中心"); - applicationEntity.setLogoBytes("1234".getBytes(StandardCharsets.UTF_8)); - applicationEntity.setUrl("http://127.0.0.1:3100"); - applicationEntity.setContextPath("/security"); - applicationEntity.setSecret(Guidx.nextID()); - applicationEntity.setEnabled(Boolean.TRUE); - applicationEntity.setRemark("用于所有应用的认证处理"); - applicationEntity.setRoutesJson("[]"); - applicationEntity.updateCreator(properties.getSupervisor().getUsername()); - this.applicationMapper.insert(applicationEntity); - - var menuEntity = new MenuEntity(); - menuEntity.setApplicationId(applicationEntity.getId()); - menuEntity.setParentId(""); - menuEntity.setCode("test"); - menuEntity.setName("测试菜单"); - menuEntity.setIcon("icon"); - menuEntity.setUrl("@/test"); - menuEntity.setType(MenuType.BACKEND.getValue()); - menuEntity.setEnabled(Boolean.TRUE); - menuEntity.setOrder(0); - menuEntity.setRemark("菜单"); - menuEntity.setTenantCode("master"); - menuEntity.updateCreator(properties.getSupervisor().getUsername()); - this.mapper.insert(menuEntity); - - // 查询数据 - var menu = this.provider.findById(menuEntity.getId(), "master"); - assertNotNull(menu); - assertEquals(menuEntity.getId(), menu.getId()); - - var input = menu.toInput().toBuilder() - .code("test1") - .build(); - - // 更新数据 - menu = this.provider.update(input, properties.getSupervisor().getUsername(), "master"); - assertNotNull(menu); - assertEquals(menuEntity.getId(), menu.getId()); - - // 查询数据库 - assertTrue(this.mapper.existsBy(Conditions.of(MenuEntity.class).eq(MenuEntity::getCode, "test1"))); - } - - /** - * @see MenuProvider#updateBatch - */ - @Test - public void case9() { - var applicationEntity = new ApplicationEntity(); - applicationEntity.setCode("central-security"); - applicationEntity.setName("统一认证中心"); - applicationEntity.setLogoBytes("1234".getBytes(StandardCharsets.UTF_8)); - applicationEntity.setUrl("http://127.0.0.1:3100"); - applicationEntity.setContextPath("/security"); - applicationEntity.setSecret(Guidx.nextID()); - applicationEntity.setEnabled(Boolean.TRUE); - applicationEntity.setRemark("用于所有应用的认证处理"); - applicationEntity.setRoutesJson("[]"); - applicationEntity.updateCreator(properties.getSupervisor().getUsername()); - this.applicationMapper.insert(applicationEntity); - - var menuEntity = new MenuEntity(); - menuEntity.setApplicationId(applicationEntity.getId()); - menuEntity.setParentId(""); - menuEntity.setCode("test"); - menuEntity.setName("测试菜单"); - menuEntity.setIcon("icon"); - menuEntity.setUrl("@/test"); - menuEntity.setType(MenuType.BACKEND.getValue()); - menuEntity.setEnabled(Boolean.TRUE); - menuEntity.setOrder(0); - menuEntity.setRemark("菜单"); - menuEntity.setTenantCode("master"); - menuEntity.updateCreator(properties.getSupervisor().getUsername()); - this.mapper.insert(menuEntity); - - // 查询数据 - var menu = this.provider.findById(menuEntity.getId(), "master"); - assertNotNull(menu); - assertEquals(menuEntity.getId(), menu.getId()); - - var input = menu.toInput().toBuilder() - .code("test1") + .remark("测试菜单") .build(); - // 更新数据 - var menus = this.provider.updateBatch(Listx.of(input), properties.getSupervisor().getUsername(), "master"); - assertNotNull(menus); - assertEquals(1, menus.size()); - - menu = Listx.getFirstOrNull(menus); - assertNotNull(menu); - assertEquals(menuEntity.getId(), menu.getId()); - - // 查询数据库 - assertTrue(this.mapper.existsBy(Conditions.of(MenuEntity.class).eq(MenuEntity::getCode, "test1"))); - } - - /** - * @see MenuProvider#deleteByIds - */ - @Test - public void case10() { - var applicationEntity = new ApplicationEntity(); - applicationEntity.setCode("central-security"); - applicationEntity.setName("统一认证中心"); - applicationEntity.setLogoBytes("1234".getBytes(StandardCharsets.UTF_8)); - applicationEntity.setUrl("http://127.0.0.1:3100"); - applicationEntity.setContextPath("/security"); - applicationEntity.setSecret(Guidx.nextID()); - applicationEntity.setEnabled(Boolean.TRUE); - applicationEntity.setRemark("用于所有应用的认证处理"); - applicationEntity.setRoutesJson("[]"); - applicationEntity.updateCreator(properties.getSupervisor().getUsername()); - this.applicationMapper.insert(applicationEntity); - - var menuEntity = new MenuEntity(); - menuEntity.setApplicationId(applicationEntity.getId()); - menuEntity.setParentId(""); - menuEntity.setCode("test"); - menuEntity.setName("测试菜单"); - menuEntity.setIcon("icon"); - menuEntity.setUrl("@/test"); - menuEntity.setType(MenuType.BACKEND.getValue()); - menuEntity.setEnabled(Boolean.TRUE); - menuEntity.setOrder(0); - menuEntity.setRemark("菜单"); - menuEntity.setTenantCode("master"); - menuEntity.updateCreator(properties.getSupervisor().getUsername()); - this.mapper.insert(menuEntity); - - var deleted = this.provider.deleteByIds(List.of(menuEntity.getId()), "master"); - assertNotNull(deleted); - assertEquals(1L, deleted); - - assertFalse(this.mapper.existsBy(Conditions.of(MenuEntity.class).eq(MenuEntity::getId, menuEntity.getId()))); - } - - /** - * @see MenuProvider#deleteBy(Conditions) - */ - @Test - public void case11() { - var applicationEntity = new ApplicationEntity(); - applicationEntity.setCode("central-security"); - applicationEntity.setName("统一认证中心"); - applicationEntity.setLogoBytes("1234".getBytes(StandardCharsets.UTF_8)); - applicationEntity.setUrl("http://127.0.0.1:3100"); - applicationEntity.setContextPath("/security"); - applicationEntity.setSecret(Guidx.nextID()); - applicationEntity.setEnabled(Boolean.TRUE); - applicationEntity.setRemark("用于所有应用的认证处理"); - applicationEntity.setRoutesJson("[]"); - applicationEntity.updateCreator(properties.getSupervisor().getUsername()); - this.applicationMapper.insert(applicationEntity); - - var menuEntity = new MenuEntity(); - menuEntity.setApplicationId(applicationEntity.getId()); - menuEntity.setParentId(""); - menuEntity.setCode("test"); - menuEntity.setName("测试菜单"); - menuEntity.setIcon("icon"); - menuEntity.setUrl("@/test"); - menuEntity.setType(MenuType.BACKEND.getValue()); - menuEntity.setEnabled(Boolean.TRUE); - menuEntity.setOrder(0); - menuEntity.setRemark("菜单"); - menuEntity.setTenantCode("master"); - menuEntity.updateCreator(properties.getSupervisor().getUsername()); - this.mapper.insert(menuEntity); - - var deleted = this.provider.deleteBy(Conditions.of(Menu.class).eq(Menu::getCode, menuEntity.getCode()), "master"); - assertNotNull(deleted); - assertEquals(1L, deleted); - - assertFalse(this.mapper.existsBy(Conditions.of(MenuEntity.class).eq(MenuEntity::getId, menuEntity.getId()))); + // test insertBatch + var data = this.provider.insertBatch(List.of(input_parent, input), "syssa", tenant.getCode()); + assertNotNull(data); + assertEquals(2, data.size()); + assertTrue(data.stream().anyMatch(it -> it.getCode().equals("test"))); + assertTrue(data.stream().anyMatch(it -> it.getCode().equals("test_parent"))); + assertTrue(data.stream().noneMatch(it -> it.getParent() != null)); + var count = this.persistence.countBy(Conditions.of(MenuEntity.class).eq(MenuEntity::getApplicationId, application.getId()), tenant.getCode()); + assertEquals(2, count); + + // test findBy + var fetched = this.provider.findBy(null, null, Conditions.of(Menu.class).eq(Menu::getApplicationId, application.getId()), null, tenant.getCode()); + assertNotNull(fetched); + assertEquals(2, fetched.size()); + assertTrue(fetched.stream().anyMatch(it -> it.getCode().equals("test"))); + assertTrue(fetched.stream().anyMatch(it -> it.getCode().equals("test_parent"))); + assertTrue(fetched.stream().noneMatch(it -> it.getParent() != null)); + + // test updateBatch + var parent = fetched.stream().filter(it -> it.getCode().equals("test_parent")).findFirst().orElse(null); + var child = fetched.stream().filter(it -> it.getCode().equals("test")).findFirst().orElse(null); + assertNotNull(parent); + assertNotNull(child); + + this.provider.updateBatch(List.of(child.toInput().parentId(parent.getId()).build()), "syssa", tenant.getCode()); + var page = this.provider.pageBy(1L, 10L, Conditions.of(Menu.class).eq(Menu::getApplicationId, application.getId()), null, tenant.getCode()); + assertNotNull(page); + assertEquals(1, page.getPager().getPageIndex()); + assertEquals(10, page.getPager().getPageSize()); + assertEquals(1, page.getPager().getPageCount()); + assertEquals(2, page.getPager().getItemCount()); + assertEquals(2, page.getData().size()); + parent = page.getData().stream().filter(it -> it.getCode().equals("test_parent")).findFirst().orElse(null); + child = page.getData().stream().filter(it -> it.getCode().equals("test")).findFirst().orElse(null); + assertNotNull(parent); + assertNotNull(child); + assertNotNull(parent.getChildren()); + assertEquals(1, parent.getChildren().size()); + assertEquals(child.getId(), parent.getChildren().get(0).getId()); + assertNotNull(child.getParent()); + assertEquals(parent.getId(), child.getParent().getId()); + + // test deleteBy + this.provider.deleteBy(Conditions.of(Menu.class).eq(Menu::getApplicationId, application.getId()), tenant.getCode()); + count = this.persistence.countBy(Conditions.of(MenuEntity.class).eq(MenuEntity::getApplicationId, application.getId()), tenant.getCode()); + assertEquals(0, count); } } diff --git a/central-provider/src/test/java/central/studio/provider/graphql/authority/TestPermissionProvider.java b/central-provider/src/test/java/central/studio/provider/graphql/authority/TestPermissionProvider.java index 76629570..15163308 100644 --- a/central-provider/src/test/java/central/studio/provider/graphql/authority/TestPermissionProvider.java +++ b/central-provider/src/test/java/central/studio/provider/graphql/authority/TestPermissionProvider.java @@ -473,7 +473,7 @@ public void case8() { assertNotNull(permission); assertEquals(permissionEntity.getId(), permission.getId()); - var input = permission.toInput().toBuilder() + var input = permission.toInput() .code("test-delete") .build(); @@ -533,7 +533,7 @@ public void case9() { assertNotNull(permission); assertEquals(permissionEntity.getId(), permission.getId()); - var input = permission.toInput().toBuilder() + var input = permission.toInput() .code("test-delete") .build(); diff --git a/central-provider/src/test/java/central/studio/provider/graphql/authority/TestRoleProvider.java b/central-provider/src/test/java/central/studio/provider/graphql/authority/TestRoleProvider.java index cae6b757..d6cd232f 100644 --- a/central-provider/src/test/java/central/studio/provider/graphql/authority/TestRoleProvider.java +++ b/central-provider/src/test/java/central/studio/provider/graphql/authority/TestRoleProvider.java @@ -619,7 +619,7 @@ public void case8() { assertNotNull(role); assertEquals(roleEntity.getId(), role.getId()); - var roleInput = role.toInput().toBuilder() + var roleInput = role.toInput() .code("10001") .build(); @@ -697,7 +697,7 @@ public void case9() { assertNotNull(role); assertEquals(roleEntity.getId(), role.getId()); - var roleInput = role.toInput().toBuilder() + var roleInput = role.toInput() .code("10001") .build(); diff --git a/central-provider/src/test/java/central/studio/provider/graphql/gateway/TestGatewayFilterProvider.java b/central-provider/src/test/java/central/studio/provider/graphql/gateway/TestGatewayFilterProvider.java index 78a305fc..13164ac8 100644 --- a/central-provider/src/test/java/central/studio/provider/graphql/gateway/TestGatewayFilterProvider.java +++ b/central-provider/src/test/java/central/studio/provider/graphql/gateway/TestGatewayFilterProvider.java @@ -417,7 +417,7 @@ public void case8() { assertNotNull(filter); assertEquals(entity.getId(), filter.getId()); - var input = filter.toInput().toBuilder() + var input = filter.toInput() .path("/test") .build(); @@ -459,7 +459,7 @@ public void case9() { assertNotNull(filter); assertEquals(entity.getId(), filter.getId()); - var input = filter.toInput().toBuilder() + var input = filter.toInput() .path("/test") .build(); diff --git a/central-provider/src/test/java/central/studio/provider/graphql/identity/TestIdentityStrategyProvider.java b/central-provider/src/test/java/central/studio/provider/graphql/identity/TestIdentityStrategyProvider.java index 450c66f6..52b3888c 100644 --- a/central-provider/src/test/java/central/studio/provider/graphql/identity/TestIdentityStrategyProvider.java +++ b/central-provider/src/test/java/central/studio/provider/graphql/identity/TestIdentityStrategyProvider.java @@ -319,7 +319,7 @@ public void case8() { assertNotNull(strategy); assertEquals(entity.getId(), strategy.getId()); - var input = strategy.toInput().toBuilder() + var input = strategy.toInput() .code("test1") .build(); @@ -353,7 +353,7 @@ public void case9() { assertNotNull(strategy); assertEquals(entity.getId(), strategy.getId()); - var input = strategy.toInput().toBuilder() + var input = strategy.toInput() .code("test1") .build(); diff --git a/central-provider/src/test/java/central/studio/provider/graphql/log/TestLogCollectorProvider.java b/central-provider/src/test/java/central/studio/provider/graphql/log/TestLogCollectorProvider.java index 118b4c47..a8859d83 100644 --- a/central-provider/src/test/java/central/studio/provider/graphql/log/TestLogCollectorProvider.java +++ b/central-provider/src/test/java/central/studio/provider/graphql/log/TestLogCollectorProvider.java @@ -315,7 +315,7 @@ public void case8() { assertNotNull(collector); assertEquals(entity.getId(), collector.getId()); - var input = collector.toInput().toBuilder() + var input = collector.toInput() .code("test1") .build(); @@ -348,7 +348,7 @@ public void case9() { assertNotNull(collector); assertEquals(entity.getId(), collector.getId()); - var input = collector.toInput().toBuilder() + var input = collector.toInput() .code("test1") .build(); diff --git a/central-provider/src/test/java/central/studio/provider/graphql/log/TestLogFilterProvider.java b/central-provider/src/test/java/central/studio/provider/graphql/log/TestLogFilterProvider.java index 26c9b9b8..c27c1128 100644 --- a/central-provider/src/test/java/central/studio/provider/graphql/log/TestLogFilterProvider.java +++ b/central-provider/src/test/java/central/studio/provider/graphql/log/TestLogFilterProvider.java @@ -462,7 +462,7 @@ public void case8() { assertNotNull(filter); assertEquals(id, filter.getId()); - var input = filter.toInput().toBuilder() + var input = filter.toInput() .code("test1") .build(); @@ -488,7 +488,7 @@ public void case9() { assertNotNull(filter); assertEquals(id, filter.getId()); - var input = filter.toInput().toBuilder() + var input = filter.toInput() .code("test1") .build(); diff --git a/central-provider/src/test/java/central/studio/provider/graphql/log/TestLogStorageProvider.java b/central-provider/src/test/java/central/studio/provider/graphql/log/TestLogStorageProvider.java index a1855ace..e65b0fff 100644 --- a/central-provider/src/test/java/central/studio/provider/graphql/log/TestLogStorageProvider.java +++ b/central-provider/src/test/java/central/studio/provider/graphql/log/TestLogStorageProvider.java @@ -355,7 +355,7 @@ public void case8() { assertNotNull(storage); assertEquals(entity.getId(), storage.getId()); - var input = storage.toInput().toBuilder() + var input = storage.toInput() .code("test1") .build(); @@ -393,7 +393,7 @@ public void case9() { assertNotNull(storage); assertEquals(entity.getId(), storage.getId()); - var input = storage.toInput().toBuilder() + var input = storage.toInput() .code("test1") .build(); diff --git a/central-provider/src/test/java/central/studio/provider/graphql/multicast/TestMulticastBroadcasterProvider.java b/central-provider/src/test/java/central/studio/provider/graphql/multicast/TestMulticastBroadcasterProvider.java index 9d7e1533..b35c3fed 100644 --- a/central-provider/src/test/java/central/studio/provider/graphql/multicast/TestMulticastBroadcasterProvider.java +++ b/central-provider/src/test/java/central/studio/provider/graphql/multicast/TestMulticastBroadcasterProvider.java @@ -424,7 +424,7 @@ public void case8() { assertNotNull(broadcaster); assertEquals(entity.getId(), broadcaster.getId()); - var input = broadcaster.toInput().toBuilder() + var input = broadcaster.toInput() .code("test1") .build(); @@ -466,7 +466,7 @@ public void case9() { assertNotNull(broadcaster); assertEquals(entity.getId(), broadcaster.getId()); - var input = broadcaster.toInput().toBuilder() + var input = broadcaster.toInput() .code("test1") .build(); diff --git a/central-provider/src/test/java/central/studio/provider/graphql/multicast/TestMulticastMessageProvider.java b/central-provider/src/test/java/central/studio/provider/graphql/multicast/TestMulticastMessageProvider.java index d0063968..6f24237d 100644 --- a/central-provider/src/test/java/central/studio/provider/graphql/multicast/TestMulticastMessageProvider.java +++ b/central-provider/src/test/java/central/studio/provider/graphql/multicast/TestMulticastMessageProvider.java @@ -365,7 +365,7 @@ public void case8() { assertNotNull(message); assertEquals(entity.getId(), message.getId()); - var input = message.toInput().toBuilder() + var input = message.toInput() .status(MessageStatus.SUCCEED.getValue()) .build(); @@ -397,7 +397,7 @@ public void case9() { assertNotNull(message); assertEquals(entity.getId(), message.getId()); - var input = message.toInput().toBuilder() + var input = message.toInput() .status(MessageStatus.SUCCEED.getValue()) .build(); diff --git a/central-provider/src/test/java/central/studio/provider/graphql/organization/TestAccountProvider.java b/central-provider/src/test/java/central/studio/provider/graphql/organization/TestAccountProvider.java index 73e3b889..893a134d 100644 --- a/central-provider/src/test/java/central/studio/provider/graphql/organization/TestAccountProvider.java +++ b/central-provider/src/test/java/central/studio/provider/graphql/organization/TestAccountProvider.java @@ -448,7 +448,7 @@ public void case8() { assertNotNull(account); // 修改数据 - var input = account.toInput().toBuilder() + var input = account.toInput() .name("章三") .build(); var updated = this.provider.update(input, this.properties.getSupervisor().getUsername(), "master"); @@ -481,7 +481,7 @@ public void case9() { assertNotNull(account); // 修改数据 - var input = account.toInput().toBuilder() + var input = account.toInput() .name("章三") .build(); diff --git a/central-provider/src/test/java/central/studio/provider/graphql/organization/TestAreaProvider.java b/central-provider/src/test/java/central/studio/provider/graphql/organization/TestAreaProvider.java index b07a0747..380245fc 100644 --- a/central-provider/src/test/java/central/studio/provider/graphql/organization/TestAreaProvider.java +++ b/central-provider/src/test/java/central/studio/provider/graphql/organization/TestAreaProvider.java @@ -326,7 +326,7 @@ public void case8() { assertNotNull(area); // 修改数据 - var input = area.toInput().toBuilder() + var input = area.toInput() .name("美国") .code("840") .order(1) @@ -374,7 +374,7 @@ public void case9() { assertNotNull(areas); // 修改数据 - var inputs = areas.stream().map(it -> it.toInput().toBuilder().order(1).build()).toList(); + var inputs = areas.stream().map(it -> it.toInput().order(1).build()).toList(); var updated = this.provider.updateBatch(inputs, this.properties.getSupervisor().getUsername(), "master"); assertNotNull(updated); assertTrue(updated.stream().allMatch(it -> Objects.equals(1, it.getOrder()))); diff --git a/central-provider/src/test/java/central/studio/provider/graphql/organization/TestDepartmentProvider.java b/central-provider/src/test/java/central/studio/provider/graphql/organization/TestDepartmentProvider.java index ea06a74d..31865a98 100644 --- a/central-provider/src/test/java/central/studio/provider/graphql/organization/TestDepartmentProvider.java +++ b/central-provider/src/test/java/central/studio/provider/graphql/organization/TestDepartmentProvider.java @@ -487,7 +487,7 @@ public void case8() { assertNotNull(department); assertNotNull(department.getId()); - var input = department.toInput().toBuilder() + var input = department.toInput() .code("20003") .build(); @@ -537,7 +537,7 @@ public void case9() { assertNotNull(department); assertNotNull(department.getId()); - var input = department.toInput().toBuilder() + var input = department.toInput() .code("20003") .build(); diff --git a/central-provider/src/test/java/central/studio/provider/graphql/organization/TestPostProvider.java b/central-provider/src/test/java/central/studio/provider/graphql/organization/TestPostProvider.java index bde198e0..898934c9 100644 --- a/central-provider/src/test/java/central/studio/provider/graphql/organization/TestPostProvider.java +++ b/central-provider/src/test/java/central/studio/provider/graphql/organization/TestPostProvider.java @@ -442,7 +442,7 @@ public void case8() { var post = this.provider.findById(postEntity.getId(), "master"); assertNotNull(post); - var input = post.toInput().toBuilder() + var input = post.toInput() .code("10001") .build(); @@ -490,7 +490,7 @@ public void case9() { var post = this.provider.findById(postEntity.getId(), "master"); assertNotNull(post); - var input = post.toInput().toBuilder() + var input = post.toInput() .code("10001") .build(); diff --git a/central-provider/src/test/java/central/studio/provider/graphql/organization/TestRankProvider.java b/central-provider/src/test/java/central/studio/provider/graphql/organization/TestRankProvider.java index 97c059cf..2f8084c3 100644 --- a/central-provider/src/test/java/central/studio/provider/graphql/organization/TestRankProvider.java +++ b/central-provider/src/test/java/central/studio/provider/graphql/organization/TestRankProvider.java @@ -441,7 +441,7 @@ public void case8() { var post = this.provider.findById(rankEntity.getId(), "master"); assertNotNull(post); - var input = post.toInput().toBuilder() + var input = post.toInput() .code("10001") .build(); @@ -489,7 +489,7 @@ public void case9() { var post = this.provider.findById(rankEntity.getId(), "master"); assertNotNull(post); - var input = post.toInput().toBuilder() + var input = post.toInput() .code("10001") .build(); diff --git a/central-provider/src/test/java/central/studio/provider/graphql/organization/TestUnitProvider.java b/central-provider/src/test/java/central/studio/provider/graphql/organization/TestUnitProvider.java index e957cec1..73aff45a 100644 --- a/central-provider/src/test/java/central/studio/provider/graphql/organization/TestUnitProvider.java +++ b/central-provider/src/test/java/central/studio/provider/graphql/organization/TestUnitProvider.java @@ -605,7 +605,7 @@ public void case8() { assertNotNull(unit); assertNotNull(unit.getId()); - var unitInput = unit.toInput().toBuilder() + var unitInput = unit.toInput() .code("10002") .build(); @@ -655,7 +655,7 @@ public void case9() { assertNotNull(unit); assertNotNull(unit.getId()); - var unitInput = unit.toInput().toBuilder() + var unitInput = unit.toInput() .code("10002") .build(); diff --git a/central-provider/src/test/java/central/studio/provider/graphql/saas/TestApplicationProvider.java b/central-provider/src/test/java/central/studio/provider/graphql/saas/TestApplicationProvider.java index 3e73b6a9..b972ed88 100644 --- a/central-provider/src/test/java/central/studio/provider/graphql/saas/TestApplicationProvider.java +++ b/central-provider/src/test/java/central/studio/provider/graphql/saas/TestApplicationProvider.java @@ -386,7 +386,7 @@ public void case8() { var application = this.provider.findById(entity.getId(), "master"); assertNotNull(application); - var input = application.toInput().toBuilder() + var input = application.toInput() .name("统一认证") .url("http://127.0.0.1:4100") .build(); @@ -427,7 +427,7 @@ public void case9() { var application = this.provider.findById(entity.getId(), "master"); assertNotNull(application); - var input = application.toInput().toBuilder() + var input = application.toInput() .name("统一认证") .url("http://127.0.0.1:4100") .build(); diff --git a/central-provider/src/test/java/central/studio/provider/graphql/saas/TestTenantApplicationProvider.java b/central-provider/src/test/java/central/studio/provider/graphql/saas/TestTenantApplicationProvider.java index bb38aaa5..242c9048 100644 --- a/central-provider/src/test/java/central/studio/provider/graphql/saas/TestTenantApplicationProvider.java +++ b/central-provider/src/test/java/central/studio/provider/graphql/saas/TestTenantApplicationProvider.java @@ -456,7 +456,7 @@ public void case8() { var tenantApplications = this.provider.findById(entity.getId(), "master"); assertNotNull(tenantApplications); - var input = tenantApplications.toInput().toBuilder() + var input = tenantApplications.toInput() .enabled(Boolean.FALSE) .build(); tenantApplications = this.provider.update(input, properties.getSupervisor().getUsername(), "master"); @@ -496,7 +496,7 @@ public void case9() { var tenantApplications = this.provider.findById(entity.getId(), "master"); assertNotNull(tenantApplications); - var input = tenantApplications.toInput().toBuilder() + var input = tenantApplications.toInput() .enabled(Boolean.FALSE) .build(); var updated = this.provider.updateBatch(List.of(input), properties.getSupervisor().getUsername(), "master"); diff --git a/central-provider/src/test/java/central/studio/provider/graphql/saas/TestTenantProvider.java b/central-provider/src/test/java/central/studio/provider/graphql/saas/TestTenantProvider.java index dffd45e6..c2223fc6 100644 --- a/central-provider/src/test/java/central/studio/provider/graphql/saas/TestTenantProvider.java +++ b/central-provider/src/test/java/central/studio/provider/graphql/saas/TestTenantProvider.java @@ -31,6 +31,7 @@ import central.sql.query.Conditions; import central.studio.provider.ProviderApplication; import central.studio.provider.ProviderProperties; +import central.studio.provider.database.core.DatabaseType; import central.studio.provider.graphql.TestProvider; import central.studio.provider.database.persistence.saas.entity.ApplicationEntity; import central.studio.provider.database.persistence.saas.entity.TenantApplicationEntity; @@ -113,7 +114,7 @@ private DatabaseEntity buildDatabase(ApplicationEntity application) { databaseEntity.setApplicationId(application.getId()); databaseEntity.setCode("test"); databaseEntity.setName("测试数据库"); - databaseEntity.setType("mysql"); + databaseEntity.setType(DatabaseType.H2.getValue()); databaseEntity.setEnabled(Boolean.TRUE); databaseEntity.setRemark("测试"); databaseEntity.setMasterJson(Jsonx.Default().serialize(new DatabaseProperties("org.h2.Driver", "jdbc:h2:mem:central-provider", "centralx", "central.x"))); @@ -404,7 +405,7 @@ public void case8() { var tenant = this.provider.findById(entity.getId(), "master"); assertNotNull(tenant); - var input = tenant.toInput().toBuilder() + var input = tenant.toInput() .code("master") .build(); tenant = this.provider.update(input, properties.getSupervisor().getUsername(), "master"); @@ -436,7 +437,7 @@ public void case9() { var tenant = this.provider.findById(entity.getId(), "master"); assertNotNull(tenant); - var input = tenant.toInput().toBuilder() + var input = tenant.toInput() .code("master") .build(); var updated = this.provider.updateBatch(List.of(input), properties.getSupervisor().getUsername(), "master"); diff --git a/central-provider/src/test/java/central/studio/provider/graphql/storage/TestStorageBucketProvider.java b/central-provider/src/test/java/central/studio/provider/graphql/storage/TestStorageBucketProvider.java index c736d57e..2f212b34 100644 --- a/central-provider/src/test/java/central/studio/provider/graphql/storage/TestStorageBucketProvider.java +++ b/central-provider/src/test/java/central/studio/provider/graphql/storage/TestStorageBucketProvider.java @@ -371,7 +371,7 @@ public void case8() { assertNotNull(bucket); assertEquals(entity.getId(), bucket.getId()); - var input = bucket.toInput().toBuilder() + var input = bucket.toInput() .code("test1") .build(); @@ -406,7 +406,7 @@ public void case9() { assertNotNull(bucket); assertEquals(entity.getId(), bucket.getId()); - var input = bucket.toInput().toBuilder() + var input = bucket.toInput() .code("test1") .build(); diff --git a/central-provider/src/test/java/central/studio/provider/graphql/storage/TestStorageObjectProvider.java b/central-provider/src/test/java/central/studio/provider/graphql/storage/TestStorageObjectProvider.java index ea21df27..2783b36c 100644 --- a/central-provider/src/test/java/central/studio/provider/graphql/storage/TestStorageObjectProvider.java +++ b/central-provider/src/test/java/central/studio/provider/graphql/storage/TestStorageObjectProvider.java @@ -352,7 +352,7 @@ public void case8() { assertNotNull(object); assertEquals(entity.getId(), object.getId()); - var input = object.toInput().toBuilder() + var input = object.toInput() .key("test1") .build(); @@ -377,7 +377,7 @@ public void case9() { assertNotNull(object); assertEquals(entity.getId(), object.getId()); - var input = object.toInput().toBuilder() + var input = object.toInput() .key("test1") .build(); diff --git a/central-provider/src/test/java/central/studio/provider/graphql/system/TestDatabaseProvider.java b/central-provider/src/test/java/central/studio/provider/graphql/system/TestDatabaseProvider.java index ec4db4c4..09e06d67 100644 --- a/central-provider/src/test/java/central/studio/provider/graphql/system/TestDatabaseProvider.java +++ b/central-provider/src/test/java/central/studio/provider/graphql/system/TestDatabaseProvider.java @@ -600,7 +600,7 @@ public void case8() { var database = this.provider.findById(databaseEntity.getId(), "master"); assertNotNull(database); - var input = database.toInput().toBuilder() + var input = database.toInput() .code("example") .build(); @@ -656,7 +656,7 @@ public void case9() { var database = this.provider.findById(databaseEntity.getId(), "master"); assertNotNull(database); - var input = database.toInput().toBuilder() + var input = database.toInput() .code("example") .build(); diff --git a/central-provider/src/test/java/central/studio/provider/graphql/system/TestDictionaryProvider.java b/central-provider/src/test/java/central/studio/provider/graphql/system/TestDictionaryProvider.java index a2ac5dba..982c1c2e 100644 --- a/central-provider/src/test/java/central/studio/provider/graphql/system/TestDictionaryProvider.java +++ b/central-provider/src/test/java/central/studio/provider/graphql/system/TestDictionaryProvider.java @@ -488,7 +488,7 @@ public void case8() { var dictionary = this.provider.findById(dictionaryEntity.getId(), "master"); assertNotNull(dictionary); - var input = dictionary.toInput().toBuilder() + var input = dictionary.toInput() .code("example") .build(); @@ -538,7 +538,7 @@ public void case9() { var dictionary = this.provider.findById(dictionaryEntity.getId(), "master"); assertNotNull(dictionary); - var input = dictionary.toInput().toBuilder() + var input = dictionary.toInput() .code("example") .build(); diff --git a/central-storage/src/main/java/central/studio/storage/controller/ObjectController.java b/central-storage/src/main/java/central/studio/storage/controller/ObjectController.java index 71835055..1d7be0b6 100644 --- a/central-storage/src/main/java/central/studio/storage/controller/ObjectController.java +++ b/central-storage/src/main/java/central/studio/storage/controller/ObjectController.java @@ -247,7 +247,7 @@ public Long confirm(@PathVariable String code, Conditions.of(StorageObject.class).eq(StorageObject::getBucketId, bucket.getData().getId()).in(StorageObject::getId, params.getIds()), null, tenant); var inputs = objects.stream() - .map(it -> it.toInput().toBuilder().confirmed(Boolean.TRUE).build()) + .map(it -> it.toInput().confirmed(Boolean.TRUE).build()) .toList(); return (long) this.provider.updateBatch(inputs, Objectx.getOrDefault(accountId, "syssa"), tenant).size(); } diff --git a/central-studio-library/src/main/java/central/data/authority/Menu.java b/central-studio-library/src/main/java/central/data/authority/Menu.java index d040b4b0..18b5e9c6 100644 --- a/central-studio-library/src/main/java/central/data/authority/Menu.java +++ b/central-studio-library/src/main/java/central/data/authority/Menu.java @@ -157,7 +157,7 @@ public class Menu extends ModifiableEntity implements Codeable, Available, Remar @JsonInclude(JsonInclude.Include.NON_NULL) private Account modifier; - public MenuInput toInput() { + public MenuInput.Builder toInput() { return MenuInput.builder() .id(this.getId()) .applicationId(this.getApplicationId()) @@ -170,7 +170,6 @@ public MenuInput toInput() { .enabled(this.getEnabled()) .order(this.getOrder()) .remark(this.getRemark()) - .permissions(Listx.asStream(this.getPermissions()).map(Permission::toInput).toList()) - .build(); + .permissions(Listx.asStream(this.getPermissions()).map(Permission::toInput).map(PermissionInput.Builder::build).toList()); } } diff --git a/central-studio-library/src/main/java/central/data/authority/MenuInput.java b/central-studio-library/src/main/java/central/data/authority/MenuInput.java index f64dee14..ca54e801 100644 --- a/central-studio-library/src/main/java/central/data/authority/MenuInput.java +++ b/central-studio-library/src/main/java/central/data/authority/MenuInput.java @@ -44,10 +44,10 @@ * @since 2022/09/12 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class MenuInput implements Serializable { @Serial private static final long serialVersionUID = 149311675845387166L; diff --git a/central-studio-library/src/main/java/central/data/authority/Permission.java b/central-studio-library/src/main/java/central/data/authority/Permission.java index 1c9e3e22..3b4b5c81 100644 --- a/central-studio-library/src/main/java/central/data/authority/Permission.java +++ b/central-studio-library/src/main/java/central/data/authority/Permission.java @@ -101,13 +101,12 @@ public class Permission extends ModifiableEntity implements Codeable { @JsonInclude(JsonInclude.Include.NON_NULL) private Account modifier; - public PermissionInput toInput() { + public PermissionInput.Builder toInput() { return PermissionInput.builder() .id(this.getId()) .applicationId(this.getApplicationId()) .menuId(this.getMenuId()) .code(this.getCode()) - .name(this.getName()) - .build(); + .name(this.getName()); } } diff --git a/central-studio-library/src/main/java/central/data/authority/PermissionInput.java b/central-studio-library/src/main/java/central/data/authority/PermissionInput.java index e334d5d3..7a802cdf 100644 --- a/central-studio-library/src/main/java/central/data/authority/PermissionInput.java +++ b/central-studio-library/src/main/java/central/data/authority/PermissionInput.java @@ -40,10 +40,10 @@ * @since 2022/09/12 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class PermissionInput implements Serializable { @Serial private static final long serialVersionUID = 648426476157791454L; diff --git a/central-studio-library/src/main/java/central/data/authority/Role.java b/central-studio-library/src/main/java/central/data/authority/Role.java index 0f2623ba..74cadc64 100644 --- a/central-studio-library/src/main/java/central/data/authority/Role.java +++ b/central-studio-library/src/main/java/central/data/authority/Role.java @@ -116,7 +116,7 @@ public class Role extends ModifiableEntity implements Codeable, Available, Remar @JsonInclude(JsonInclude.Include.NON_NULL) private Account modifier; - public RoleInput toInput() { + public RoleInput.Builder toInput() { return RoleInput.builder() .id(this.getId()) .applicationId(this.getApplicationId()) @@ -124,7 +124,6 @@ public RoleInput toInput() { .name(this.getName()) .unitId(this.getUnitId()) .enabled(this.getEnabled()) - .remark(this.getRemark()) - .build(); + .remark(this.getRemark()); } } diff --git a/central-studio-library/src/main/java/central/data/authority/RoleInput.java b/central-studio-library/src/main/java/central/data/authority/RoleInput.java index f4e455dc..d6b85e8e 100644 --- a/central-studio-library/src/main/java/central/data/authority/RoleInput.java +++ b/central-studio-library/src/main/java/central/data/authority/RoleInput.java @@ -40,10 +40,10 @@ * @since 2022/09/13 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class RoleInput implements Serializable { @Serial private static final long serialVersionUID = 7839500265618952568L; diff --git a/central-studio-library/src/main/java/central/data/authority/RolePermissionInput.java b/central-studio-library/src/main/java/central/data/authority/RolePermissionInput.java index 2557e7e8..30cc23a4 100644 --- a/central-studio-library/src/main/java/central/data/authority/RolePermissionInput.java +++ b/central-studio-library/src/main/java/central/data/authority/RolePermissionInput.java @@ -41,10 +41,10 @@ * @since 2024/12/14 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class RolePermissionInput implements Serializable { @Serial private static final long serialVersionUID = 3468906764396504541L; diff --git a/central-studio-library/src/main/java/central/data/authority/RolePrincipalInput.java b/central-studio-library/src/main/java/central/data/authority/RolePrincipalInput.java index d17abddc..5fd03a0f 100644 --- a/central-studio-library/src/main/java/central/data/authority/RolePrincipalInput.java +++ b/central-studio-library/src/main/java/central/data/authority/RolePrincipalInput.java @@ -43,10 +43,10 @@ * @since 2024/12/14 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class RolePrincipalInput implements Serializable { @Serial private static final long serialVersionUID = -857459902924798809L; diff --git a/central-studio-library/src/main/java/central/data/authority/RoleRangeInput.java b/central-studio-library/src/main/java/central/data/authority/RoleRangeInput.java index 8a7a6385..ff46aeec 100644 --- a/central-studio-library/src/main/java/central/data/authority/RoleRangeInput.java +++ b/central-studio-library/src/main/java/central/data/authority/RoleRangeInput.java @@ -48,10 +48,10 @@ * @since 2024/12/14 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class RoleRangeInput implements Serializable { @Serial private static final long serialVersionUID = -3601193715982317662L; diff --git a/central-studio-library/src/main/java/central/data/gateway/GatewayFilter.java b/central-studio-library/src/main/java/central/data/gateway/GatewayFilter.java index 344c2f73..2291697a 100644 --- a/central-studio-library/src/main/java/central/data/gateway/GatewayFilter.java +++ b/central-studio-library/src/main/java/central/data/gateway/GatewayFilter.java @@ -97,7 +97,7 @@ public class GatewayFilter extends ModifiableEntity implements Remarkable, Avail @JsonInclude(JsonInclude.Include.NON_NULL) private Account modifier; - public GatewayFilterInput toInput() { + public GatewayFilterInput.Builder toInput() { return GatewayFilterInput.builder() .id(this.getId()) .type(this.getType()) @@ -106,7 +106,6 @@ public GatewayFilterInput toInput() { .enabled(this.getEnabled()) .remark(this.getRemark()) .params(this.getParams()) - .predicates(Listx.asStream(this.predicates).map(GatewayPredicate::toInput).toList()) - .build(); + .predicates(Listx.asStream(this.predicates).map(GatewayPredicate::toInput).map(GatewayPredicateInput.Builder::build).toList()); } } \ No newline at end of file diff --git a/central-studio-library/src/main/java/central/data/gateway/GatewayFilterInput.java b/central-studio-library/src/main/java/central/data/gateway/GatewayFilterInput.java index 16056769..144252d4 100644 --- a/central-studio-library/src/main/java/central/data/gateway/GatewayFilterInput.java +++ b/central-studio-library/src/main/java/central/data/gateway/GatewayFilterInput.java @@ -44,10 +44,10 @@ * @since 2022/11/08 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class GatewayFilterInput implements Serializable { @Serial private static final long serialVersionUID = 3224470673107616978L; diff --git a/central-studio-library/src/main/java/central/data/gateway/GatewayPredicate.java b/central-studio-library/src/main/java/central/data/gateway/GatewayPredicate.java index 4b5a965c..8efe978c 100644 --- a/central-studio-library/src/main/java/central/data/gateway/GatewayPredicate.java +++ b/central-studio-library/src/main/java/central/data/gateway/GatewayPredicate.java @@ -52,10 +52,9 @@ public class GatewayPredicate implements Serializable { */ private String params; - public GatewayPredicateInput toInput() { + public GatewayPredicateInput.Builder toInput() { return GatewayPredicateInput.builder() .type(this.getType()) - .params(this.getParams()) - .build(); + .params(this.getParams()); } } diff --git a/central-studio-library/src/main/java/central/data/gateway/GatewayPredicateInput.java b/central-studio-library/src/main/java/central/data/gateway/GatewayPredicateInput.java index 8127950c..79d53f22 100644 --- a/central-studio-library/src/main/java/central/data/gateway/GatewayPredicateInput.java +++ b/central-studio-library/src/main/java/central/data/gateway/GatewayPredicateInput.java @@ -41,10 +41,10 @@ * @since 2022/11/08 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class GatewayPredicateInput implements Serializable { @Serial private static final long serialVersionUID = -587790023920410524L; diff --git a/central-studio-library/src/main/java/central/data/identity/IdentityPasswordInput.java b/central-studio-library/src/main/java/central/data/identity/IdentityPasswordInput.java index 0a51baa7..5dcc484f 100644 --- a/central-studio-library/src/main/java/central/data/identity/IdentityPasswordInput.java +++ b/central-studio-library/src/main/java/central/data/identity/IdentityPasswordInput.java @@ -41,10 +41,10 @@ * @since 2022/10/07 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class IdentityPasswordInput implements Serializable { @Serial private static final long serialVersionUID = 3757147748065456405L; diff --git a/central-studio-library/src/main/java/central/data/identity/IdentityStrategy.java b/central-studio-library/src/main/java/central/data/identity/IdentityStrategy.java index 87d492d8..fd7ea1b7 100644 --- a/central-studio-library/src/main/java/central/data/identity/IdentityStrategy.java +++ b/central-studio-library/src/main/java/central/data/identity/IdentityStrategy.java @@ -94,7 +94,7 @@ public class IdentityStrategy extends ModifiableEntity implements Codeable, Rema @JsonInclude(JsonInclude.Include.NON_NULL) private Account modifier; - public IdentityStrategyInput toInput() { + public IdentityStrategyInput.Builder toInput() { return IdentityStrategyInput.builder() .id(this.getId()) .code(this.getCode()) @@ -102,7 +102,6 @@ public IdentityStrategyInput toInput() { .type(this.getType()) .enabled(this.getEnabled()) .remark(this.getRemark()) - .params(this.getParams()) - .build(); + .params(this.getParams()); } } diff --git a/central-studio-library/src/main/java/central/data/identity/IdentityStrategyInput.java b/central-studio-library/src/main/java/central/data/identity/IdentityStrategyInput.java index 15aa67e9..f59a763b 100644 --- a/central-studio-library/src/main/java/central/data/identity/IdentityStrategyInput.java +++ b/central-studio-library/src/main/java/central/data/identity/IdentityStrategyInput.java @@ -42,10 +42,10 @@ * @since 2022/10/24 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class IdentityStrategyInput implements Serializable { @Serial private static final long serialVersionUID = 2899160796868349040L; diff --git a/central-studio-library/src/main/java/central/data/log/LogCollector.java b/central-studio-library/src/main/java/central/data/log/LogCollector.java index d5cb5201..3ee880ae 100644 --- a/central-studio-library/src/main/java/central/data/log/LogCollector.java +++ b/central-studio-library/src/main/java/central/data/log/LogCollector.java @@ -91,7 +91,7 @@ public class LogCollector extends ModifiableEntity implements Codeable, Availabl @JsonInclude(JsonInclude.Include.NON_NULL) private Account modifier; - public LogCollectorInput toInput() { + public LogCollectorInput.Builder toInput() { return LogCollectorInput.builder() .id(this.getId()) .code(this.getCode()) @@ -99,7 +99,6 @@ public LogCollectorInput toInput() { .type(this.getType()) .enabled(this.getEnabled()) .remark(this.getRemark()) - .params(this.getParams()) - .build(); + .params(this.getParams()); } } diff --git a/central-studio-library/src/main/java/central/data/log/LogCollectorInput.java b/central-studio-library/src/main/java/central/data/log/LogCollectorInput.java index e29c051c..dadc39bc 100644 --- a/central-studio-library/src/main/java/central/data/log/LogCollectorInput.java +++ b/central-studio-library/src/main/java/central/data/log/LogCollectorInput.java @@ -40,10 +40,10 @@ * @since 2022/10/25 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class LogCollectorInput implements Serializable { @Serial private static final long serialVersionUID = 6288318765960103194L; diff --git a/central-studio-library/src/main/java/central/data/log/LogFilter.java b/central-studio-library/src/main/java/central/data/log/LogFilter.java index aa44dc92..efea477f 100644 --- a/central-studio-library/src/main/java/central/data/log/LogFilter.java +++ b/central-studio-library/src/main/java/central/data/log/LogFilter.java @@ -97,7 +97,7 @@ public class LogFilter extends ModifiableEntity implements Codeable, Available, @JsonInclude(JsonInclude.Include.NON_NULL) private Account modifier; - public LogFilterInput toInput() { + public LogFilterInput.Builder toInput() { return LogFilterInput.builder() .id(this.getId()) .code(this.getCode()) @@ -106,7 +106,6 @@ public LogFilterInput toInput() { .remark(this.getRemark()) .collectorIds(Listx.asStream(this.getCollectors()).map(LogCollector::getId).toList()) .storageIds(Listx.asStream(this.getStorages()).map(LogStorage::getId).toList()) - .predicates(Listx.asStream(this.getPredicates()).map(LogPredicate::toInput).toList()) - .build(); + .predicates(Listx.asStream(this.getPredicates()).map(LogPredicate::toInput).map(LogPredicateInput.Builder::build).toList()); } } diff --git a/central-studio-library/src/main/java/central/data/log/LogFilterInput.java b/central-studio-library/src/main/java/central/data/log/LogFilterInput.java index b6c11872..e8d23825 100644 --- a/central-studio-library/src/main/java/central/data/log/LogFilterInput.java +++ b/central-studio-library/src/main/java/central/data/log/LogFilterInput.java @@ -34,7 +34,6 @@ import java.io.Serial; import java.io.Serializable; import java.util.List; -import java.util.Set; /** * 日志过滤器 @@ -43,10 +42,10 @@ * @since 2022/10/25 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class LogFilterInput implements Serializable { @Serial private static final long serialVersionUID = -1719713873601684029L; diff --git a/central-studio-library/src/main/java/central/data/log/LogPredicate.java b/central-studio-library/src/main/java/central/data/log/LogPredicate.java index 3c8cf0d2..5406710b 100644 --- a/central-studio-library/src/main/java/central/data/log/LogPredicate.java +++ b/central-studio-library/src/main/java/central/data/log/LogPredicate.java @@ -57,10 +57,9 @@ public class LogPredicate implements Serializable { @Nonnull private String params; - public LogPredicateInput toInput() { + public LogPredicateInput.Builder toInput() { return LogPredicateInput.builder() .type(this.getType()) - .params(this.getParams()) - .build(); + .params(this.getParams()); } } diff --git a/central-studio-library/src/main/java/central/data/log/LogPredicateInput.java b/central-studio-library/src/main/java/central/data/log/LogPredicateInput.java index 4caca620..04c59efd 100644 --- a/central-studio-library/src/main/java/central/data/log/LogPredicateInput.java +++ b/central-studio-library/src/main/java/central/data/log/LogPredicateInput.java @@ -39,10 +39,10 @@ * @since 2022/10/25 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class LogPredicateInput implements Serializable { @Serial private static final long serialVersionUID = 3560063797225131955L; diff --git a/central-studio-library/src/main/java/central/data/log/LogStorage.java b/central-studio-library/src/main/java/central/data/log/LogStorage.java index 737662e9..d08cb776 100644 --- a/central-studio-library/src/main/java/central/data/log/LogStorage.java +++ b/central-studio-library/src/main/java/central/data/log/LogStorage.java @@ -92,7 +92,7 @@ public class LogStorage extends ModifiableEntity implements Codeable, Remarkable @JsonInclude(JsonInclude.Include.NON_NULL) private Account modifier; - public LogStorageInput toInput() { + public LogStorageInput.Builder toInput() { return LogStorageInput.builder() .id(this.getId()) .code(this.getCode()) @@ -100,7 +100,6 @@ public LogStorageInput toInput() { .type(this.getType()) .enabled(this.getEnabled()) .remark(this.getRemark()) - .params(this.getParams()) - .build(); + .params(this.getParams()); } } diff --git a/central-studio-library/src/main/java/central/data/log/LogStorageInput.java b/central-studio-library/src/main/java/central/data/log/LogStorageInput.java index f5ec52bc..c2b507df 100644 --- a/central-studio-library/src/main/java/central/data/log/LogStorageInput.java +++ b/central-studio-library/src/main/java/central/data/log/LogStorageInput.java @@ -40,10 +40,10 @@ * @since 2022/10/25 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class LogStorageInput implements Serializable { @Serial private static final long serialVersionUID = 7347863460261507841L; diff --git a/central-studio-library/src/main/java/central/data/multicast/MulticastBroadcaster.java b/central-studio-library/src/main/java/central/data/multicast/MulticastBroadcaster.java index 6dd844a4..94245472 100644 --- a/central-studio-library/src/main/java/central/data/multicast/MulticastBroadcaster.java +++ b/central-studio-library/src/main/java/central/data/multicast/MulticastBroadcaster.java @@ -106,7 +106,7 @@ public class MulticastBroadcaster extends ModifiableEntity implements Codeable, @JsonInclude(JsonInclude.Include.NON_NULL) private Account modifier; - public MulticastBroadcasterInput toInput() { + public MulticastBroadcasterInput.Builder toInput() { return MulticastBroadcasterInput.builder() .id(this.getId()) .applicationId(this.getApplicationId()) @@ -115,7 +115,6 @@ public MulticastBroadcasterInput toInput() { .type(this.getType()) .enabled(this.getEnabled()) .remark(this.getRemark()) - .params(this.getParams()) - .build(); + .params(this.getParams()); } } diff --git a/central-studio-library/src/main/java/central/data/multicast/MulticastBroadcasterInput.java b/central-studio-library/src/main/java/central/data/multicast/MulticastBroadcasterInput.java index fd5eeb07..6227ce5a 100644 --- a/central-studio-library/src/main/java/central/data/multicast/MulticastBroadcasterInput.java +++ b/central-studio-library/src/main/java/central/data/multicast/MulticastBroadcasterInput.java @@ -42,10 +42,10 @@ * @since 2022/11/03 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class MulticastBroadcasterInput implements Serializable { @Serial private static final long serialVersionUID = -6114012468449157217L; diff --git a/central-studio-library/src/main/java/central/data/multicast/MulticastMessage.java b/central-studio-library/src/main/java/central/data/multicast/MulticastMessage.java index f31b6fb4..97273122 100644 --- a/central-studio-library/src/main/java/central/data/multicast/MulticastMessage.java +++ b/central-studio-library/src/main/java/central/data/multicast/MulticastMessage.java @@ -94,13 +94,12 @@ public class MulticastMessage extends ModifiableEntity { @JsonInclude(JsonInclude.Include.NON_NULL) private Account modifier; - public MulticastMessageInput toInput() { + public MulticastMessageInput.Builder toInput() { return MulticastMessageInput.builder() .id(this.getId()) .broadcasterId(this.getBroadcasterId()) .body(this.getBody()) .mode(this.getMode()) - .status(this.getStatus()) - .build(); + .status(this.getStatus()); } } diff --git a/central-studio-library/src/main/java/central/data/multicast/MulticastMessageInput.java b/central-studio-library/src/main/java/central/data/multicast/MulticastMessageInput.java index b2a604a7..7750757e 100644 --- a/central-studio-library/src/main/java/central/data/multicast/MulticastMessageInput.java +++ b/central-studio-library/src/main/java/central/data/multicast/MulticastMessageInput.java @@ -43,10 +43,10 @@ * @since 2022/11/04 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class MulticastMessageInput implements Serializable { @Serial private static final long serialVersionUID = -6457292307996258219L; diff --git a/central-studio-library/src/main/java/central/data/organization/Account.java b/central-studio-library/src/main/java/central/data/organization/Account.java index 349cdff0..6f2f5133 100644 --- a/central-studio-library/src/main/java/central/data/organization/Account.java +++ b/central-studio-library/src/main/java/central/data/organization/Account.java @@ -130,7 +130,7 @@ public class Account extends ModifiableEntity implements Available, Deletable { @JsonInclude(JsonInclude.Include.NON_NULL) private Account modifier; - public AccountInput toInput() { + public AccountInput.Builder toInput() { return AccountInput.builder() .id(this.getId()) .username(this.getUsername()) @@ -140,7 +140,6 @@ public AccountInput toInput() { .avatar(this.getAvatar()) .enabled(this.getEnabled()) .deleted(this.getDeleted()) - .units(Listx.asStream(this.getUnits()).map(AccountUnit::toInput).toList()) - .build(); + .units(Listx.asStream(this.getUnits()).map(AccountUnit::toInput).map(AccountUnitInput.Builder::build).toList()); } } diff --git a/central-studio-library/src/main/java/central/data/organization/AccountDepartment.java b/central-studio-library/src/main/java/central/data/organization/AccountDepartment.java index c52c3b13..79843c65 100644 --- a/central-studio-library/src/main/java/central/data/organization/AccountDepartment.java +++ b/central-studio-library/src/main/java/central/data/organization/AccountDepartment.java @@ -120,13 +120,12 @@ public class AccountDepartment extends Entity { @JsonInclude(JsonInclude.Include.NON_NULL) private Account modifier; - public AccountDepartmentInput toInput() { + public AccountDepartmentInput.Builder toInput() { return AccountDepartmentInput.builder() .accountId(this.getAccountId()) .unitId(this.getUnitId()) .departmentId(this.getDepartmentId()) .postId(this.getPostId()) - .primary(this.getPrimary()) - .build(); + .primary(this.getPrimary()); } } diff --git a/central-studio-library/src/main/java/central/data/organization/AccountDepartmentInput.java b/central-studio-library/src/main/java/central/data/organization/AccountDepartmentInput.java index 379858b2..4af75a63 100644 --- a/central-studio-library/src/main/java/central/data/organization/AccountDepartmentInput.java +++ b/central-studio-library/src/main/java/central/data/organization/AccountDepartmentInput.java @@ -40,10 +40,10 @@ * @since 2022/09/12 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class AccountDepartmentInput implements Serializable { @Serial private static final long serialVersionUID = -3926795037316288441L; diff --git a/central-studio-library/src/main/java/central/data/organization/AccountInput.java b/central-studio-library/src/main/java/central/data/organization/AccountInput.java index ceb7d158..cd8a2856 100644 --- a/central-studio-library/src/main/java/central/data/organization/AccountInput.java +++ b/central-studio-library/src/main/java/central/data/organization/AccountInput.java @@ -42,10 +42,10 @@ * @since 2022/09/12 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class AccountInput implements Serializable { @Serial private static final long serialVersionUID = 1132155902087028804L; diff --git a/central-studio-library/src/main/java/central/data/organization/AccountUnit.java b/central-studio-library/src/main/java/central/data/organization/AccountUnit.java index 78ce873e..91cf47e5 100644 --- a/central-studio-library/src/main/java/central/data/organization/AccountUnit.java +++ b/central-studio-library/src/main/java/central/data/organization/AccountUnit.java @@ -116,13 +116,12 @@ public class AccountUnit extends Entity { @JsonInclude(JsonInclude.Include.NON_NULL) private Account modifier; - public AccountUnitInput toInput() { + public AccountUnitInput.Builder toInput() { return AccountUnitInput.builder() .accountId(this.getAccountId()) .unitId(this.getUnitId()) .rankId(this.getRankId()) .primary(this.getPrimary()) - .departments(Listx.asStream(this.getDepartments()).map(AccountDepartment::toInput).toList()) - .build(); + .departments(Listx.asStream(this.getDepartments()).map(AccountDepartment::toInput).map(AccountDepartmentInput.Builder::build).toList()); } } diff --git a/central-studio-library/src/main/java/central/data/organization/AccountUnitInput.java b/central-studio-library/src/main/java/central/data/organization/AccountUnitInput.java index 40c58151..a5aadb09 100644 --- a/central-studio-library/src/main/java/central/data/organization/AccountUnitInput.java +++ b/central-studio-library/src/main/java/central/data/organization/AccountUnitInput.java @@ -42,10 +42,10 @@ * @since 2022/09/12 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class AccountUnitInput implements Serializable { @Serial private static final long serialVersionUID = -7840283230047486126L; diff --git a/central-studio-library/src/main/java/central/data/organization/Area.java b/central-studio-library/src/main/java/central/data/organization/Area.java index 4b968613..2f2f9a7a 100644 --- a/central-studio-library/src/main/java/central/data/organization/Area.java +++ b/central-studio-library/src/main/java/central/data/organization/Area.java @@ -136,14 +136,13 @@ public static List build(List areas, @Nullable Comparator comp } } - public AreaInput toInput() { + public AreaInput.Builder toInput() { return AreaInput.builder() .id(this.getId()) .parentId(this.getParentId()) .code(this.getCode()) .name(this.getName()) .type(this.getType()) - .order(this.getOrder()) - .build(); + .order(this.getOrder()); } } diff --git a/central-studio-library/src/main/java/central/data/organization/AreaInput.java b/central-studio-library/src/main/java/central/data/organization/AreaInput.java index dd9ecbee..6dbb9163 100644 --- a/central-studio-library/src/main/java/central/data/organization/AreaInput.java +++ b/central-studio-library/src/main/java/central/data/organization/AreaInput.java @@ -42,10 +42,10 @@ * @since 2022/09/12 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class AreaInput implements Serializable { @Serial private static final long serialVersionUID = 1526112752706371237L; diff --git a/central-studio-library/src/main/java/central/data/organization/Department.java b/central-studio-library/src/main/java/central/data/organization/Department.java index 82abf2af..91a9933a 100644 --- a/central-studio-library/src/main/java/central/data/organization/Department.java +++ b/central-studio-library/src/main/java/central/data/organization/Department.java @@ -117,14 +117,13 @@ public static class Tree { } - public DepartmentInput toInput() { + public DepartmentInput.Builder toInput() { return DepartmentInput.builder() .id(this.getId()) .unitId(this.getUnitId()) .parentId(this.getParentId()) .code(this.getCode()) .name(this.getName()) - .order(this.getOrder()) - .build(); + .order(this.getOrder()); } } diff --git a/central-studio-library/src/main/java/central/data/organization/DepartmentInput.java b/central-studio-library/src/main/java/central/data/organization/DepartmentInput.java index 3a184f54..eefbf9b2 100644 --- a/central-studio-library/src/main/java/central/data/organization/DepartmentInput.java +++ b/central-studio-library/src/main/java/central/data/organization/DepartmentInput.java @@ -40,10 +40,10 @@ * @since 2022/09/12 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class DepartmentInput implements Serializable { @Serial private static final long serialVersionUID = -1851595709807737755L; diff --git a/central-studio-library/src/main/java/central/data/organization/Post.java b/central-studio-library/src/main/java/central/data/organization/Post.java index b1aae7d4..e7e818b6 100644 --- a/central-studio-library/src/main/java/central/data/organization/Post.java +++ b/central-studio-library/src/main/java/central/data/organization/Post.java @@ -93,13 +93,12 @@ public class Post extends ModifiableEntity implements Codeable, Orderable @JsonInclude(JsonInclude.Include.NON_NULL) private Account modifier; - public PostInput toInput() { + public PostInput.Builder toInput() { return PostInput.builder() .id(this.getId()) .code(this.getCode()) .name(this.getName()) .unitId(this.getUnitId()) - .order(this.getOrder()) - .build(); + .order(this.getOrder()); } } diff --git a/central-studio-library/src/main/java/central/data/organization/PostInput.java b/central-studio-library/src/main/java/central/data/organization/PostInput.java index d9112336..88306917 100644 --- a/central-studio-library/src/main/java/central/data/organization/PostInput.java +++ b/central-studio-library/src/main/java/central/data/organization/PostInput.java @@ -40,10 +40,10 @@ * @since 2022/09/12 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class PostInput implements Serializable { @Serial private static final long serialVersionUID = -3851812190600278726L; diff --git a/central-studio-library/src/main/java/central/data/organization/Rank.java b/central-studio-library/src/main/java/central/data/organization/Rank.java index b33c53aa..329d671a 100644 --- a/central-studio-library/src/main/java/central/data/organization/Rank.java +++ b/central-studio-library/src/main/java/central/data/organization/Rank.java @@ -93,13 +93,12 @@ public class Rank extends ModifiableEntity implements Codeable, Orderable @JsonInclude(JsonInclude.Include.NON_NULL) private Account modifier; - public RankInput toInput() { + public RankInput.Builder toInput() { return RankInput.builder() .id(this.getId()) .code(this.getCode()) .name(this.getName()) .unitId(this.getUnitId()) - .order(this.getOrder()) - .build(); + .order(this.getOrder()); } } diff --git a/central-studio-library/src/main/java/central/data/organization/RankInput.java b/central-studio-library/src/main/java/central/data/organization/RankInput.java index f55569a7..cc50a624 100644 --- a/central-studio-library/src/main/java/central/data/organization/RankInput.java +++ b/central-studio-library/src/main/java/central/data/organization/RankInput.java @@ -40,10 +40,10 @@ * @since 2022/09/12 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class RankInput implements Serializable { @Serial private static final long serialVersionUID = -3851812190600278726L; diff --git a/central-studio-library/src/main/java/central/data/organization/Unit.java b/central-studio-library/src/main/java/central/data/organization/Unit.java index 3abd4214..10c8c4be 100644 --- a/central-studio-library/src/main/java/central/data/organization/Unit.java +++ b/central-studio-library/src/main/java/central/data/organization/Unit.java @@ -127,14 +127,13 @@ public static class Tree { } - public UnitInput toInput() { + public UnitInput.Builder toInput() { return UnitInput.builder() .id(this.getId()) .parentId(this.getParentId()) .code(this.getCode()) .name(this.getName()) .areaId(this.getAreaId()) - .order(this.getOrder()) - .build(); + .order(this.getOrder()); } } diff --git a/central-studio-library/src/main/java/central/data/organization/UnitInput.java b/central-studio-library/src/main/java/central/data/organization/UnitInput.java index ce6d7616..cba88f3e 100644 --- a/central-studio-library/src/main/java/central/data/organization/UnitInput.java +++ b/central-studio-library/src/main/java/central/data/organization/UnitInput.java @@ -40,10 +40,10 @@ * @since 2022/09/24 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class UnitInput implements Serializable { @Serial private static final long serialVersionUID = 3440463659560196578L; diff --git a/central-studio-library/src/main/java/central/data/saas/Application.java b/central-studio-library/src/main/java/central/data/saas/Application.java index 826b31f4..2c8ca34b 100644 --- a/central-studio-library/src/main/java/central/data/saas/Application.java +++ b/central-studio-library/src/main/java/central/data/saas/Application.java @@ -119,7 +119,7 @@ public class Application extends ModifiableEntity implements Codeable, Available @JsonInclude(JsonInclude.Include.NON_NULL) private Account modifier; - public ApplicationInput toInput() { + public ApplicationInput.Builder toInput() { return ApplicationInput.builder() .id(this.getId()) .code(this.getCode()) @@ -130,7 +130,6 @@ public ApplicationInput toInput() { .secret(this.getSecret()) .enabled(this.getEnabled()) .remark(this.getRemark()) - .routes(Listx.asStream(this.getRoutes()).map(ApplicationRoute::toInput).toList()) - .build(); + .routes(Listx.asStream(this.getRoutes()).map(ApplicationRoute::toInput).map(ApplicationRouteInput.Builder::build).toList()); } } diff --git a/central-studio-library/src/main/java/central/data/saas/ApplicationInput.java b/central-studio-library/src/main/java/central/data/saas/ApplicationInput.java index 4ef0fe0d..07dda5a5 100644 --- a/central-studio-library/src/main/java/central/data/saas/ApplicationInput.java +++ b/central-studio-library/src/main/java/central/data/saas/ApplicationInput.java @@ -42,10 +42,10 @@ * @since 2022/09/12 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class ApplicationInput implements Serializable { @Serial private static final long serialVersionUID = 8025153683772274773L; diff --git a/central-studio-library/src/main/java/central/data/saas/ApplicationRoute.java b/central-studio-library/src/main/java/central/data/saas/ApplicationRoute.java index f48c1931..4951a815 100644 --- a/central-studio-library/src/main/java/central/data/saas/ApplicationRoute.java +++ b/central-studio-library/src/main/java/central/data/saas/ApplicationRoute.java @@ -76,12 +76,11 @@ public class ApplicationRoute implements Serializable, Available, Remarkable { @Nonnull private String remark; - public ApplicationRouteInput toInput() { + public ApplicationRouteInput.Builder toInput() { return ApplicationRouteInput.builder() .contextPath(this.getContextPath()) .url(this.getUrl()) .enabled(this.getEnabled()) - .remark(this.getRemark()) - .build(); + .remark(this.getRemark()); } } diff --git a/central-studio-library/src/main/java/central/data/saas/ApplicationRouteInput.java b/central-studio-library/src/main/java/central/data/saas/ApplicationRouteInput.java index fbf8531f..2fccf69b 100644 --- a/central-studio-library/src/main/java/central/data/saas/ApplicationRouteInput.java +++ b/central-studio-library/src/main/java/central/data/saas/ApplicationRouteInput.java @@ -45,9 +45,9 @@ * @since 2024/12/10 */ @Data -@Builder @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class ApplicationRouteInput implements Serializable { @Serial private static final long serialVersionUID = 2736131525653405558L; diff --git a/central-studio-library/src/main/java/central/data/saas/Tenant.java b/central-studio-library/src/main/java/central/data/saas/Tenant.java index 9480c2d6..c0c6a998 100644 --- a/central-studio-library/src/main/java/central/data/saas/Tenant.java +++ b/central-studio-library/src/main/java/central/data/saas/Tenant.java @@ -109,14 +109,13 @@ public class Tenant extends ModifiableEntity implements Codeable, Available, Rem @JsonInclude(JsonInclude.Include.NON_NULL) private Account modifier; - public TenantInput toInput() { + public TenantInput.Builder toInput() { return TenantInput.builder() .id(this.getId()) .code(this.getCode()) .name(this.getName()) .databaseId(this.getDatabaseId()) .enabled(this.getEnabled()) - .remark(this.getRemark()) - .build(); + .remark(this.getRemark()); } } diff --git a/central-studio-library/src/main/java/central/data/saas/TenantApplication.java b/central-studio-library/src/main/java/central/data/saas/TenantApplication.java index ad916857..44836bb1 100644 --- a/central-studio-library/src/main/java/central/data/saas/TenantApplication.java +++ b/central-studio-library/src/main/java/central/data/saas/TenantApplication.java @@ -102,13 +102,12 @@ public class TenantApplication extends ModifiableEntity implements Available { @JsonInclude(JsonInclude.Include.NON_NULL) private Account modifier; - public TenantApplicationInput toInput() { + public TenantApplicationInput.Builder toInput() { return TenantApplicationInput.builder() .id(this.getId()) .tenantId(this.getTenantId()) .applicationId(this.getApplicationId()) .enabled(this.getEnabled()) - .primary(this.getPrimary()) - .build(); + .primary(this.getPrimary()); } } diff --git a/central-studio-library/src/main/java/central/data/saas/TenantApplicationInput.java b/central-studio-library/src/main/java/central/data/saas/TenantApplicationInput.java index 0c43487d..54734adc 100644 --- a/central-studio-library/src/main/java/central/data/saas/TenantApplicationInput.java +++ b/central-studio-library/src/main/java/central/data/saas/TenantApplicationInput.java @@ -43,10 +43,10 @@ * @since 2022/09/12 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class TenantApplicationInput implements Serializable { @Serial private static final long serialVersionUID = -4281770477133783048L; diff --git a/central-studio-library/src/main/java/central/data/saas/TenantInput.java b/central-studio-library/src/main/java/central/data/saas/TenantInput.java index b1df6ce0..927aa4e2 100644 --- a/central-studio-library/src/main/java/central/data/saas/TenantInput.java +++ b/central-studio-library/src/main/java/central/data/saas/TenantInput.java @@ -40,10 +40,10 @@ * @since 2022/09/12 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class TenantInput implements Serializable { @Serial private static final long serialVersionUID = 4410755389649900929L; diff --git a/central-studio-library/src/main/java/central/data/storage/StorageBucket.java b/central-studio-library/src/main/java/central/data/storage/StorageBucket.java index 285a4e3c..a12004e2 100644 --- a/central-studio-library/src/main/java/central/data/storage/StorageBucket.java +++ b/central-studio-library/src/main/java/central/data/storage/StorageBucket.java @@ -106,7 +106,7 @@ public class StorageBucket extends ModifiableEntity implements Codeable, Remarka @JsonInclude(JsonInclude.Include.NON_NULL) private Account modifier; - public StorageBucketInput toInput() { + public StorageBucketInput.Builder toInput() { return StorageBucketInput.builder() .id(this.getId()) .applicationId(this.getApplicationId()) @@ -115,7 +115,6 @@ public StorageBucketInput toInput() { .type(this.getType()) .enabled(this.getEnabled()) .remark(this.getRemark()) - .params(this.getParams()) - .build(); + .params(this.getParams()); } } diff --git a/central-studio-library/src/main/java/central/data/storage/StorageBucketInput.java b/central-studio-library/src/main/java/central/data/storage/StorageBucketInput.java index ada70b97..01cc575b 100644 --- a/central-studio-library/src/main/java/central/data/storage/StorageBucketInput.java +++ b/central-studio-library/src/main/java/central/data/storage/StorageBucketInput.java @@ -42,10 +42,10 @@ * @since 2022/10/30 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class StorageBucketInput implements Serializable { @Serial private static final long serialVersionUID = 5843689960235570368L; diff --git a/central-studio-library/src/main/java/central/data/storage/StorageFile.java b/central-studio-library/src/main/java/central/data/storage/StorageFile.java index 8d8a45fd..bcfcdfd3 100644 --- a/central-studio-library/src/main/java/central/data/storage/StorageFile.java +++ b/central-studio-library/src/main/java/central/data/storage/StorageFile.java @@ -119,7 +119,7 @@ public class StorageFile extends ModifiableEntity implements Codeable, Treeable< @JsonInclude(JsonInclude.Include.NON_NULL) private Account modifier; - public StorageFileInput toInput() { + public StorageFileInput.Builder toInput() { return StorageFileInput.builder() .id(this.getId()) .bucketId(this.getBucketId()) @@ -127,7 +127,6 @@ public StorageFileInput toInput() { .code(this.getCode()) .name(this.getName()) .directory(this.getDirectory()) - .confirmed(this.getConfirmed()) - .build(); + .confirmed(this.getConfirmed()); } } diff --git a/central-studio-library/src/main/java/central/data/storage/StorageFileInput.java b/central-studio-library/src/main/java/central/data/storage/StorageFileInput.java index a7e29007..7d428196 100644 --- a/central-studio-library/src/main/java/central/data/storage/StorageFileInput.java +++ b/central-studio-library/src/main/java/central/data/storage/StorageFileInput.java @@ -42,10 +42,10 @@ * @since 2022/10/30 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class StorageFileInput implements Serializable { @Serial private static final long serialVersionUID = -2608513748142892569L; diff --git a/central-studio-library/src/main/java/central/data/storage/StorageObject.java b/central-studio-library/src/main/java/central/data/storage/StorageObject.java index e4c32562..7860e704 100644 --- a/central-studio-library/src/main/java/central/data/storage/StorageObject.java +++ b/central-studio-library/src/main/java/central/data/storage/StorageObject.java @@ -107,7 +107,7 @@ public class StorageObject extends ModifiableEntity { @JsonInclude(JsonInclude.Include.NON_NULL) private Account modifier; - public StorageObjectInput toInput() { + public StorageObjectInput.Builder toInput() { return StorageObjectInput.builder() .id(this.getId()) .bucketId(this.getBucketId()) @@ -115,7 +115,6 @@ public StorageObjectInput toInput() { .size(this.getSize()) .digest(this.getDigest()) .key(this.getKey()) - .confirmed(this.getConfirmed()) - .build(); + .confirmed(this.getConfirmed()); } } diff --git a/central-studio-library/src/main/java/central/data/storage/StorageObjectInput.java b/central-studio-library/src/main/java/central/data/storage/StorageObjectInput.java index 1fffdc8e..2527277c 100644 --- a/central-studio-library/src/main/java/central/data/storage/StorageObjectInput.java +++ b/central-studio-library/src/main/java/central/data/storage/StorageObjectInput.java @@ -42,10 +42,10 @@ * @since 2022/10/30 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class StorageObjectInput implements Serializable { @Serial private static final long serialVersionUID = -7717666978083018758L; diff --git a/central-studio-library/src/main/java/central/data/system/Database.java b/central-studio-library/src/main/java/central/data/system/Database.java index ddaad6e0..286f961c 100644 --- a/central-studio-library/src/main/java/central/data/system/Database.java +++ b/central-studio-library/src/main/java/central/data/system/Database.java @@ -131,7 +131,7 @@ public class Database extends ModifiableEntity implements Codeable, Available, R @JsonInclude(JsonInclude.Include.NON_NULL) private Account modifier; - public DatabaseInput toInput() { + public DatabaseInput.Builder toInput() { return DatabaseInput.builder() .id(this.getId()) .applicationId(this.getApplicationId()) @@ -140,9 +140,8 @@ public DatabaseInput toInput() { .type(this.getType()) .enabled(this.getEnabled()) .remark(this.getRemark()) - .master(this.getMaster().toInput()) - .slaves(Listx.asStream(this.getSlaves()).map(DatabaseProperties::toInput).toList()) - .params(this.getParams()) - .build(); + .master(this.getMaster().toInput().build()) + .slaves(Listx.asStream(this.getSlaves()).map(DatabaseProperties::toInput).map(DatabasePropertiesInput.Builder::build).toList()) + .params(this.getParams()); } } diff --git a/central-studio-library/src/main/java/central/data/system/DatabaseInput.java b/central-studio-library/src/main/java/central/data/system/DatabaseInput.java index 7c80f52a..d41a68ff 100644 --- a/central-studio-library/src/main/java/central/data/system/DatabaseInput.java +++ b/central-studio-library/src/main/java/central/data/system/DatabaseInput.java @@ -42,10 +42,10 @@ * @since 2022/09/12 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class DatabaseInput implements Serializable { @Serial private static final long serialVersionUID = -5975066044517701397L; diff --git a/central-studio-library/src/main/java/central/data/system/DatabaseProperties.java b/central-studio-library/src/main/java/central/data/system/DatabaseProperties.java index 4754da9b..200a8833 100644 --- a/central-studio-library/src/main/java/central/data/system/DatabaseProperties.java +++ b/central-studio-library/src/main/java/central/data/system/DatabaseProperties.java @@ -63,12 +63,11 @@ public class DatabaseProperties implements Serializable { */ private String password; - public DatabasePropertiesInput toInput() { + public DatabasePropertiesInput.Builder toInput() { return DatabasePropertiesInput.builder() .driver(this.getDriver()) .url(this.getUrl()) .username(this.getUsername()) - .password(this.getPassword()) - .build(); + .password(this.getPassword()); } } diff --git a/central-studio-library/src/main/java/central/data/system/DatabasePropertiesInput.java b/central-studio-library/src/main/java/central/data/system/DatabasePropertiesInput.java index 447697bb..786c301c 100644 --- a/central-studio-library/src/main/java/central/data/system/DatabasePropertiesInput.java +++ b/central-studio-library/src/main/java/central/data/system/DatabasePropertiesInput.java @@ -39,10 +39,10 @@ * @since 2022/11/13 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class DatabasePropertiesInput implements Serializable { @Serial private static final long serialVersionUID = -5021500567067262588L; diff --git a/central-studio-library/src/main/java/central/data/system/Dictionary.java b/central-studio-library/src/main/java/central/data/system/Dictionary.java index c4472dd9..e595d54a 100644 --- a/central-studio-library/src/main/java/central/data/system/Dictionary.java +++ b/central-studio-library/src/main/java/central/data/system/Dictionary.java @@ -125,7 +125,7 @@ public boolean containsValue(String value) { return Listx.asStream(this.items).anyMatch(it -> Objects.equals(it.getCode(), value)); } - public DictionaryInput toInput() { + public DictionaryInput.Builder toInput() { return DictionaryInput.builder() .id(this.getId()) .applicationId(this.getApplicationId()) @@ -133,7 +133,6 @@ public DictionaryInput toInput() { .name(this.getName()) .enabled(this.getEnabled()) .remark(this.getRemark()) - .items(Listx.asStream(this.getItems()).map(DictionaryItem::toInput).toList()) - .build(); + .items(Listx.asStream(this.getItems()).map(DictionaryItem::toInput).map(DictionaryItemInput.Builder::build).toList()); } } diff --git a/central-studio-library/src/main/java/central/data/system/DictionaryInput.java b/central-studio-library/src/main/java/central/data/system/DictionaryInput.java index 8a65bdc6..a859e2f2 100644 --- a/central-studio-library/src/main/java/central/data/system/DictionaryInput.java +++ b/central-studio-library/src/main/java/central/data/system/DictionaryInput.java @@ -42,10 +42,10 @@ * @since 2022/09/12 */ @Data -@Builder(toBuilder = true) @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor +@Builder(toBuilder = true, builderClassName = "Builder") public class DictionaryInput implements Serializable { @Serial private static final long serialVersionUID = -7368102521678042161L; diff --git a/central-studio-library/src/main/java/central/data/system/DictionaryItem.java b/central-studio-library/src/main/java/central/data/system/DictionaryItem.java index 3cf2c81a..8ab155d8 100644 --- a/central-studio-library/src/main/java/central/data/system/DictionaryItem.java +++ b/central-studio-library/src/main/java/central/data/system/DictionaryItem.java @@ -80,12 +80,11 @@ public class DictionaryItem implements Serializable, Codeable, Orderable