From 0aea5b9a3af95e073cfd821b6c5af044e5d52e5f Mon Sep 17 00:00:00 2001 From: weizhiqiang <598748873@qq.com> Date: Fri, 6 Jan 2023 23:36:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E7=9A=84=E6=8E=A5=E5=8F=A3=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/CatalogServiceImpl.java | 6 +- .../impl/AttrDefinitionServiceImpl.java | 8 +- .../controller/ServiceBeanController.java} | 37 +++------ .../ServiceBeanCustomController.java | 61 +++++++++++++++ .../server/dao/ServiceBeanCustomDao.java | 19 +++++ .../dao/ServiceBeanDao.java} | 6 +- .../entity/ServiceBean.java} | 6 +- .../entity/ServiceBeanApi.java} | 8 +- .../server/entity/ServiceBeanCustom.java | 54 +++++++++++++ .../service/ServiceBeanCustomService.java | 24 ++++++ .../service/ServiceBeanService.java} | 12 +-- .../impl/ServiceBeanCustomServiceImpl.java | 72 +++++++++++++++++ .../service/impl/ServiceBeanServiceImpl.java} | 77 ++++++++----------- 13 files changed, 297 insertions(+), 93 deletions(-) rename skyeye-promote/skyeye-common/src/main/java/com/skyeye/{clazz/controller/SkyeyeClassServiceBeanController.java => server/controller/ServiceBeanController.java} (56%) create mode 100644 skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/controller/ServiceBeanCustomController.java create mode 100644 skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/dao/ServiceBeanCustomDao.java rename skyeye-promote/skyeye-common/src/main/java/com/skyeye/{clazz/dao/SkyeyeClassServiceBeanDao.java => server/dao/ServiceBeanDao.java} (78%) rename skyeye-promote/skyeye-common/src/main/java/com/skyeye/{clazz/entity/classservice/SkyeyeClassServiceBean.java => server/entity/ServiceBean.java} (94%) rename skyeye-promote/skyeye-common/src/main/java/com/skyeye/{clazz/entity/classservice/SkyeyeClassServiceBeanApi.java => server/entity/ServiceBeanApi.java} (84%) create mode 100644 skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/entity/ServiceBeanCustom.java create mode 100644 skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/service/ServiceBeanCustomService.java rename skyeye-promote/skyeye-common/src/main/java/com/skyeye/{clazz/service/SkyeyeClassServiceBeanService.java => server/service/ServiceBeanService.java} (71%) create mode 100644 skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/service/impl/ServiceBeanCustomServiceImpl.java rename skyeye-promote/skyeye-common/src/main/java/com/skyeye/{clazz/service/impl/SkyeyeClassServiceBeanServiceImpl.java => server/service/impl/ServiceBeanServiceImpl.java} (71%) diff --git a/skyeye-promote/skyeye-base-server/src/main/java/com/skyeye/catalog/service/impl/CatalogServiceImpl.java b/skyeye-promote/skyeye-base-server/src/main/java/com/skyeye/catalog/service/impl/CatalogServiceImpl.java index 92738fc6..ff71727c 100644 --- a/skyeye-promote/skyeye-base-server/src/main/java/com/skyeye/catalog/service/impl/CatalogServiceImpl.java +++ b/skyeye-promote/skyeye-base-server/src/main/java/com/skyeye/catalog/service/impl/CatalogServiceImpl.java @@ -17,7 +17,7 @@ import com.skyeye.catalog.dao.CatalogDao; import com.skyeye.catalog.entity.Catalog; import com.skyeye.catalog.service.CatalogService; import com.skyeye.catalog.service.ICatalogService; -import com.skyeye.clazz.service.SkyeyeClassServiceBeanService; +import com.skyeye.server.service.ServiceBeanService; import com.skyeye.common.constans.CommonCharConstants; import com.skyeye.common.constans.CommonNumConstants; import com.skyeye.common.object.InputObject; @@ -48,7 +48,7 @@ public class CatalogServiceImpl extends SkyeyeBusinessServiceImpl ids = catalogDao.queryAllChildIdsByParentId(Arrays.asList(id)); super.deleteById(ids); diff --git a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/attr/service/impl/AttrDefinitionServiceImpl.java b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/attr/service/impl/AttrDefinitionServiceImpl.java index 23df34be..d24b9e6f 100644 --- a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/attr/service/impl/AttrDefinitionServiceImpl.java +++ b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/attr/service/impl/AttrDefinitionServiceImpl.java @@ -13,8 +13,8 @@ import com.skyeye.attr.entity.AttrDefinitionCustom; import com.skyeye.attr.service.AttrDefinitionCustomService; import com.skyeye.attr.service.AttrDefinitionService; import com.skyeye.base.business.service.impl.SkyeyeBusinessServiceImpl; -import com.skyeye.clazz.entity.classservice.SkyeyeClassServiceBean; -import com.skyeye.clazz.service.SkyeyeClassServiceBeanService; +import com.skyeye.server.entity.ServiceBean; +import com.skyeye.server.service.ServiceBeanService; import com.skyeye.common.object.InputObject; import com.skyeye.common.object.OutputObject; import com.skyeye.common.util.mybatisplus.MybatisPlusUtil; @@ -40,7 +40,7 @@ import java.util.stream.Collectors; public class AttrDefinitionServiceImpl extends SkyeyeBusinessServiceImpl implements AttrDefinitionService { @Autowired - private SkyeyeClassServiceBeanService skyeyeClassServiceBeanService; + private ServiceBeanService skyeyeClassServiceBeanService; @Autowired private AttrDefinitionCustomService attrDefinitionCustomService; @@ -167,7 +167,7 @@ public class AttrDefinitionServiceImpl extends SkyeyeBusinessServiceImpl { +} diff --git a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/clazz/dao/SkyeyeClassServiceBeanDao.java b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/dao/ServiceBeanDao.java similarity index 78% rename from skyeye-promote/skyeye-common/src/main/java/com/skyeye/clazz/dao/SkyeyeClassServiceBeanDao.java rename to skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/dao/ServiceBeanDao.java index 2fd9e2eb..89f64db9 100644 --- a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/clazz/dao/SkyeyeClassServiceBeanDao.java +++ b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/dao/ServiceBeanDao.java @@ -2,9 +2,9 @@ * Copyright 卫志强 QQ:598748873@qq.com Inc. All rights reserved. 开源地址:https://gitee.com/doc_wei01/skyeye ******************************************************************************/ -package com.skyeye.clazz.dao; +package com.skyeye.server.dao; -import com.skyeye.clazz.entity.classservice.SkyeyeClassServiceBean; +import com.skyeye.server.entity.ServiceBean; import com.skyeye.eve.dao.SkyeyeBaseMapper; /** @@ -15,7 +15,7 @@ import com.skyeye.eve.dao.SkyeyeBaseMapper; * @Copyright: 2022 https://gitee.com/doc_wei01/skyeye Inc. All rights reserved. * 注意:本内容仅限购买后使用.禁止私自外泄以及用于其他的商业目的 */ -public interface SkyeyeClassServiceBeanDao extends SkyeyeBaseMapper { +public interface ServiceBeanDao extends SkyeyeBaseMapper { } diff --git a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/clazz/entity/classservice/SkyeyeClassServiceBean.java b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/entity/ServiceBean.java similarity index 94% rename from skyeye-promote/skyeye-common/src/main/java/com/skyeye/clazz/entity/classservice/SkyeyeClassServiceBean.java rename to skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/entity/ServiceBean.java index 41ef8140..106d5ce9 100644 --- a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/clazz/entity/classservice/SkyeyeClassServiceBean.java +++ b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/entity/ServiceBean.java @@ -2,7 +2,7 @@ * Copyright 卫志强 QQ:598748873@qq.com Inc. All rights reserved. 开源地址:https://gitee.com/doc_wei01/skyeye ******************************************************************************/ -package com.skyeye.clazz.entity.classservice; +package com.skyeye.server.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -17,7 +17,7 @@ import lombok.Data; import java.util.List; /** - * @ClassName: SkyeyeClassServiceBean + * @ClassName: ServiceBean * @Description: 服务类注册实体类 * @author: skyeye云系列--卫志强 * @date: 2022/9/18 13:11 @@ -27,7 +27,7 @@ import java.util.List; @Data @TableName(value = "skyeye_class_service_bean", autoResultMap = true) @ApiModel("服务类注册实体类") -public class SkyeyeClassServiceBean extends CommonInfo { +public class ServiceBean extends CommonInfo { @TableId("id") @Property("主键id") diff --git a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/clazz/entity/classservice/SkyeyeClassServiceBeanApi.java b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/entity/ServiceBeanApi.java similarity index 84% rename from skyeye-promote/skyeye-common/src/main/java/com/skyeye/clazz/entity/classservice/SkyeyeClassServiceBeanApi.java rename to skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/entity/ServiceBeanApi.java index 1a41a724..00990de7 100644 --- a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/clazz/entity/classservice/SkyeyeClassServiceBeanApi.java +++ b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/entity/ServiceBeanApi.java @@ -2,7 +2,7 @@ * Copyright 卫志强 QQ:598748873@qq.com Inc. All rights reserved. 开源地址:https://gitee.com/doc_wei01/skyeye ******************************************************************************/ -package com.skyeye.clazz.entity.classservice; +package com.skyeye.server.entity; import com.skyeye.annotation.api.ApiModel; import com.skyeye.annotation.api.ApiModelProperty; @@ -12,7 +12,7 @@ import java.io.Serializable; import java.util.List; /** - * @ClassName: SkyeyeClassServiceBeanApi + * @ClassName: ServiceBeanApi * @Description: 服务类注册实体类对应的实体类BOX * @author: skyeye云系列--卫志强 * @date: 2022/9/18 16:00 @@ -21,7 +21,7 @@ import java.util.List; */ @Data @ApiModel("服务类注册实体类对应的实体类BOX") -public class SkyeyeClassServiceBeanApi implements Serializable { +public class ServiceBeanApi implements Serializable { @ApiModelProperty(value = "服务名", required = "required") private String springApplicationName; @@ -33,6 +33,6 @@ public class SkyeyeClassServiceBeanApi implements Serializable { * 服务类信息 */ @ApiModelProperty(value = "服务类信息") - private List classNameList; + private List classNameList; } diff --git a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/entity/ServiceBeanCustom.java b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/entity/ServiceBeanCustom.java new file mode 100644 index 00000000..86d7339c --- /dev/null +++ b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/entity/ServiceBeanCustom.java @@ -0,0 +1,54 @@ +/******************************************************************************* + * Copyright 卫志强 QQ:598748873@qq.com Inc. All rights reserved. 开源地址:https://gitee.com/doc_wei01/skyeye + ******************************************************************************/ + +package com.skyeye.server.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.skyeye.annotation.api.ApiModel; +import com.skyeye.annotation.api.ApiModelProperty; +import com.skyeye.annotation.api.Property; +import com.skyeye.annotation.cache.RedisCacheField; +import com.skyeye.annotation.unique.UniqueField; +import com.skyeye.common.constans.CacheConstants; +import com.skyeye.common.entity.features.OperatorUserInfo; +import lombok.Data; + +/** + * @ClassName: ServiceBeanCustom + * @Description: 自定义服务信息实体类 + * @author: skyeye云系列--卫志强 + * @date: 2023/1/6 22:44 + * @Copyright: 2023 https://gitee.com/doc_wei01/skyeye Inc. All rights reserved. + * 注意:本内容仅限购买后使用.禁止私自外泄以及用于其他的商业目的 + */ +@Data +@UniqueField(value = {"className"}) +@RedisCacheField(name = CacheConstants.SERVICE_BEAN_CACHE_KEY, value = "className") +@TableName(value = "skyeye_class_service_bean_custom", autoResultMap = true) +@ApiModel("自定义服务信息实体类") +public class ServiceBeanCustom extends OperatorUserInfo { + + @TableId("id") + @ApiModelProperty(value = "主键id。为空时新增,不为空时编辑") + private String id; + + @TableField("class_name") + @ApiModelProperty(value = "服务类的className", required = "required") + private String className; + + @TableField("code_rule_id") + @ApiModelProperty(value = "编码规则id", required = "required") + private String codeRuleId; + + @TableField(exist = false) + @Property(value = "编码规则名称") + private String codeRuleName; + + @TableField(exist = false) + @Property(value = "服务的原始信息") + private ServiceBean serviceBean; + +} diff --git a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/service/ServiceBeanCustomService.java b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/service/ServiceBeanCustomService.java new file mode 100644 index 00000000..4f04339a --- /dev/null +++ b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/service/ServiceBeanCustomService.java @@ -0,0 +1,24 @@ +/******************************************************************************* + * Copyright 卫志强 QQ:598748873@qq.com Inc. All rights reserved. 开源地址:https://gitee.com/doc_wei01/skyeye + ******************************************************************************/ + +package com.skyeye.server.service; + +import com.skyeye.base.business.service.SkyeyeBusinessService; +import com.skyeye.common.object.InputObject; +import com.skyeye.common.object.OutputObject; +import com.skyeye.server.entity.ServiceBeanCustom; + +/** + * @ClassName: ServiceBeanCustomService + * @Description: 自定义服务管理服务接口层 + * @author: skyeye云系列--卫志强 + * @date: 2023/1/6 22:43 + * @Copyright: 2023 https://gitee.com/doc_wei01/skyeye Inc. All rights reserved. + * 注意:本内容仅限购买后使用.禁止私自外泄以及用于其他的商业目的 + */ +public interface ServiceBeanCustomService extends SkyeyeBusinessService { + + void queryServiceBeanCustom(InputObject inputObject, OutputObject outputObject); + +} diff --git a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/clazz/service/SkyeyeClassServiceBeanService.java b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/service/ServiceBeanService.java similarity index 71% rename from skyeye-promote/skyeye-common/src/main/java/com/skyeye/clazz/service/SkyeyeClassServiceBeanService.java rename to skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/service/ServiceBeanService.java index 439421fb..26947a4e 100644 --- a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/clazz/service/SkyeyeClassServiceBeanService.java +++ b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/service/ServiceBeanService.java @@ -2,24 +2,24 @@ * Copyright 卫志强 QQ:598748873@qq.com Inc. All rights reserved. 开源地址:https://gitee.com/doc_wei01/skyeye ******************************************************************************/ -package com.skyeye.clazz.service; +package com.skyeye.server.service; import com.skyeye.base.business.service.SkyeyeBusinessService; -import com.skyeye.clazz.entity.classservice.SkyeyeClassServiceBean; +import com.skyeye.server.entity.ServiceBean; import com.skyeye.common.object.InputObject; import com.skyeye.common.object.OutputObject; import java.net.URI; /** - * @ClassName: SkyeyeClassServiceBeanService + * @ClassName: ServiceBeanService * @Description: 所有实现了SkyeyeBusinessService的服务类的注册服务 * @author: skyeye云系列--卫志强 * @date: 2022/11/29 22:30 * @Copyright: 2022 https://gitee.com/doc_wei01/skyeye Inc. All rights reserved. * 注意:本内容仅限购买后使用.禁止私自外泄以及用于其他的商业目的 */ -public interface SkyeyeClassServiceBeanService extends SkyeyeBusinessService { +public interface ServiceBeanService extends SkyeyeBusinessService { void registerServiceBean(InputObject inputObject, OutputObject outputObject); @@ -27,7 +27,7 @@ public interface SkyeyeClassServiceBeanService extends SkyeyeBusinessService implements ServiceBeanCustomService { + + @Autowired + private ServiceBeanService serviceBeanService; + + @Override + public void queryServiceBeanCustom(InputObject inputObject, OutputObject outputObject) { + Map params = inputObject.getParams(); + String className = params.get("className").toString(); + ServiceBeanCustom serviceBeanCustom = selectById(className); + outputObject.setBean(serviceBeanCustom); + outputObject.settotal(CommonNumConstants.NUM_ONE); + } + + @Override + public ServiceBeanCustom selectById(String className) { + ServiceBeanCustom serviceBeanCustom = super.selectById(className); + ServiceBean serviceBean = serviceBeanService.queryServiceClass(className); + if (serviceBeanCustom == null) { + serviceBeanCustom = new ServiceBeanCustom(); + } + serviceBeanCustom.setServiceBean(serviceBean); + return serviceBeanCustom; + } + + @Override + public ServiceBeanCustom getDataFromDb(String className) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(MybatisPlusUtil.toColumns(ServiceBeanCustom::getClassName), className); + ServiceBeanCustom serviceBeanCustom = getOne(wrapper); + return serviceBeanCustom; + } + + @Override + public void builderByHandler(ServiceBeanCustom bean) { + if (bean != null) { + super.builderByHandler(bean); + } + } + +} diff --git a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/clazz/service/impl/SkyeyeClassServiceBeanServiceImpl.java b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/service/impl/ServiceBeanServiceImpl.java similarity index 71% rename from skyeye-promote/skyeye-common/src/main/java/com/skyeye/clazz/service/impl/SkyeyeClassServiceBeanServiceImpl.java rename to skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/service/impl/ServiceBeanServiceImpl.java index 158d356b..b7a04d0b 100644 --- a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/clazz/service/impl/SkyeyeClassServiceBeanServiceImpl.java +++ b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/server/service/impl/ServiceBeanServiceImpl.java @@ -2,7 +2,7 @@ * Copyright 卫志强 QQ:598748873@qq.com Inc. All rights reserved. 开源地址:https://gitee.com/doc_wei01/skyeye ******************************************************************************/ -package com.skyeye.clazz.service.impl; +package com.skyeye.server.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; @@ -14,16 +14,16 @@ import com.skyeye.application.service.ApplicationService; import com.skyeye.attr.entity.AttrDefinition; import com.skyeye.attr.service.AttrDefinitionService; import com.skyeye.base.business.service.impl.SkyeyeBusinessServiceImpl; -import com.skyeye.clazz.dao.SkyeyeClassServiceBeanDao; -import com.skyeye.clazz.entity.classservice.SkyeyeClassServiceBean; -import com.skyeye.clazz.entity.classservice.SkyeyeClassServiceBeanApi; -import com.skyeye.clazz.service.SkyeyeClassServiceBeanService; import com.skyeye.common.constans.CommonNumConstants; import com.skyeye.common.object.InputObject; import com.skyeye.common.object.OutputObject; import com.skyeye.common.util.MapUtil; import com.skyeye.common.util.mybatisplus.MybatisPlusUtil; import com.skyeye.exception.CustomException; +import com.skyeye.server.dao.ServiceBeanDao; +import com.skyeye.server.entity.ServiceBean; +import com.skyeye.server.entity.ServiceBeanApi; +import com.skyeye.server.service.ServiceBeanService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.client.ServiceInstance; @@ -37,7 +37,7 @@ import java.util.*; import java.util.stream.Collectors; /** - * @ClassName: SkyeyeClassServiceBeanServiceImpl + * @ClassName: ServiceBeanServiceImpl * @Description: 所有实现了SkyeyeBusinessService的服务类的注册服务 * @author: skyeye云系列--卫志强 * @date: 2022/11/29 22:30 @@ -45,7 +45,7 @@ import java.util.stream.Collectors; * 注意:本内容仅限购买后使用.禁止私自外泄以及用于其他的商业目的 */ @Service -public class SkyeyeClassServiceBeanServiceImpl extends SkyeyeBusinessServiceImpl implements SkyeyeClassServiceBeanService { +public class ServiceBeanServiceImpl extends SkyeyeBusinessServiceImpl implements ServiceBeanService { @Autowired private DiscoveryClient discoveryClient; @@ -66,48 +66,48 @@ public class SkyeyeClassServiceBeanServiceImpl extends SkyeyeBusinessServiceImpl @Override @Transactional(value = TRANSACTION_MANAGER_VALUE, rollbackFor = Exception.class) public void registerServiceBean(InputObject inputObject, OutputObject outputObject) { - SkyeyeClassServiceBeanApi skyeyeClassServiceBeanApi = inputObject.getParams(SkyeyeClassServiceBeanApi.class); + ServiceBeanApi serviceBeanApi = inputObject.getParams(ServiceBeanApi.class); // 获取数据库中的数据 - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(MybatisPlusUtil.toColumns(SkyeyeClassServiceBean::getSpringApplicationName), skyeyeClassServiceBeanApi.getSpringApplicationName()); - List oldList = super.list(wrapper); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(MybatisPlusUtil.toColumns(ServiceBean::getSpringApplicationName), serviceBeanApi.getSpringApplicationName()); + List oldList = super.list(wrapper); List oldKeys = oldList.stream().map(bean -> getKey(bean)).collect(Collectors.toList()); // 获取入参的数据 - List classNameList = skyeyeClassServiceBeanApi.getClassNameList(); + List classNameList = serviceBeanApi.getClassNameList(); classNameList.forEach(className -> { - className.setAppId(skyeyeClassServiceBeanApi.getAppId()); - className.setSpringApplicationName(skyeyeClassServiceBeanApi.getSpringApplicationName()); + className.setAppId(serviceBeanApi.getAppId()); + className.setSpringApplicationName(serviceBeanApi.getSpringApplicationName()); }); List newKeys = classNameList.stream().map(bean -> getKey(bean)).collect(Collectors.toList()); // (旧数据 - 新数据) 从数据库删除 - List deleteBeans = oldList.stream().filter(item -> !newKeys.contains(getKey(item))).collect(Collectors.toList()); + List deleteBeans = oldList.stream().filter(item -> !newKeys.contains(getKey(item))).collect(Collectors.toList()); if (!CollectionUtils.isEmpty(deleteBeans)) { List classNames = deleteBeans.stream().map(bean -> bean.getClassName()).collect(Collectors.toList()); - QueryWrapper deleteWrapper = new QueryWrapper<>(); - deleteWrapper.eq(MybatisPlusUtil.toColumns(SkyeyeClassServiceBean::getSpringApplicationName), skyeyeClassServiceBeanApi.getSpringApplicationName()); - deleteWrapper.in(MybatisPlusUtil.toColumns(SkyeyeClassServiceBean::getClassName), classNames); + QueryWrapper deleteWrapper = new QueryWrapper<>(); + deleteWrapper.eq(MybatisPlusUtil.toColumns(ServiceBean::getSpringApplicationName), serviceBeanApi.getSpringApplicationName()); + deleteWrapper.in(MybatisPlusUtil.toColumns(ServiceBean::getClassName), classNames); remove(deleteWrapper); } // (新数据 - 旧数据) 添加到数据库 - List addBeans = classNameList.stream().filter(item -> !oldKeys.contains(getKey(item))).collect(Collectors.toList()); + List addBeans = classNameList.stream().filter(item -> !oldKeys.contains(getKey(item))).collect(Collectors.toList()); if (!CollectionUtils.isEmpty(addBeans)) { createEntity(addBeans, StringUtils.EMPTY); } // 保存属性信息 - saveAttrDefinition(skyeyeClassServiceBeanApi.getAppId(), classNameList); + saveAttrDefinition(serviceBeanApi.getAppId(), classNameList); } - private String getKey(SkyeyeClassServiceBean bean) { + private String getKey(ServiceBean bean) { return String.format(Locale.ROOT, "%s_%s_%s", bean.getClassName(), bean.getManageShow(), bean.getTenant()); } - private void saveAttrDefinition(String appId, List classNameList) { + private void saveAttrDefinition(String appId, List classNameList) { List attrDefinitionList = classNameList.stream() .filter(className -> CollectionUtil.isNotEmpty(className.getAttrDefinitionList())) .flatMap(className -> className.getAttrDefinitionList().stream()) @@ -117,9 +117,7 @@ public class SkyeyeClassServiceBeanServiceImpl extends SkyeyeBusinessServiceImpl @Override public URI getServiceBean(String className) { - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(MybatisPlusUtil.toColumns(SkyeyeClassServiceBean::getClassName), className); - SkyeyeClassServiceBean serviceBean = getOne(wrapper); + ServiceBean serviceBean = queryServiceClass(className); if (serviceBean == null) { throw new CustomException("未找到 service bean 对应的业务类配置信息."); } @@ -141,8 +139,8 @@ public class SkyeyeClassServiceBeanServiceImpl extends SkyeyeBusinessServiceImpl public void queryServiceClassForTree(InputObject inputObject, OutputObject outputObject) { List> applications = applicationService.queryApplicationList(); // 查询服务类信息 - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(MybatisPlusUtil.toColumns(SkyeyeClassServiceBean::getManageShow), true); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(MybatisPlusUtil.toColumns(ServiceBean::getManageShow), true); List> serviceClass = super.list(wrapper) .stream().map(bean -> BeanUtil.beanToMap(bean)).collect(Collectors.toList()); List> result = buildResult(serviceClass); @@ -216,27 +214,18 @@ public class SkyeyeClassServiceBeanServiceImpl extends SkyeyeBusinessServiceImpl return groupName; } - /** - * 获取服务类详情信息 - * - * @param inputObject 入参以及用户信息等获取对象 - * @param outputObject 出参以及提示信息的返回值对象 - */ @Override - public void queryServiceClass(InputObject inputObject, OutputObject outputObject) { - Map params = inputObject.getParams(); - String className = params.get("className").toString(); - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(MybatisPlusUtil.toColumns(SkyeyeClassServiceBean::getClassName), className); - SkyeyeClassServiceBean skyeyeClassServiceBean = getOne(wrapper); - outputObject.setBean(skyeyeClassServiceBean); - outputObject.settotal(CommonNumConstants.NUM_ONE); + public ServiceBean queryServiceClass(String className) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(MybatisPlusUtil.toColumns(ServiceBean::getClassName), className); + ServiceBean skyeyeClassServiceBean = getOne(wrapper); + return skyeyeClassServiceBean; } @Override - public SkyeyeClassServiceBean getByEntityClassName(String entityClassName) { - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(MybatisPlusUtil.toColumns(SkyeyeClassServiceBean::getEntityClassName), entityClassName); + public ServiceBean getByEntityClassName(String entityClassName) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(MybatisPlusUtil.toColumns(ServiceBean::getEntityClassName), entityClassName); return getOne(wrapper); }