mirror of
https://github.com/weizhiqiang1995/erp-pro.git
synced 2025-02-28 17:33:25 +08:00
新增自定义服务的接口服务
This commit is contained in:
parent
7519f0ab05
commit
0aea5b9a3a
13 changed files with 297 additions and 93 deletions
|
@ -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<CatalogDao, Ca
|
|||
private ICatalogService iCatalogService;
|
||||
|
||||
@Autowired
|
||||
private SkyeyeClassServiceBeanService skyeyeClassServiceBeanService;
|
||||
private ServiceBeanService serviceBeanService;
|
||||
|
||||
/**
|
||||
* 一次性获取所有的目录为树结构
|
||||
|
@ -131,7 +131,7 @@ public class CatalogServiceImpl extends SkyeyeBusinessServiceImpl<CatalogDao, Ca
|
|||
@Override
|
||||
public void deleteById(String id) {
|
||||
Catalog catalog = selectById(id);
|
||||
URI serviceBeanUri = skyeyeClassServiceBeanService.getServiceBean(catalog.getObjectKey());
|
||||
URI serviceBeanUri = serviceBeanService.getServiceBean(catalog.getObjectKey());
|
||||
// 获取当前目录与所有的子目录id
|
||||
List<String> ids = catalogDao.queryAllChildIdsByParentId(Arrays.asList(id));
|
||||
super.deleteById(ids);
|
||||
|
|
|
@ -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<AttrDefinitionDao, AttrDefinition> implements AttrDefinitionService {
|
||||
|
||||
@Autowired
|
||||
private SkyeyeClassServiceBeanService skyeyeClassServiceBeanService;
|
||||
private ServiceBeanService skyeyeClassServiceBeanService;
|
||||
|
||||
@Autowired
|
||||
private AttrDefinitionCustomService attrDefinitionCustomService;
|
||||
|
@ -167,7 +167,7 @@ public class AttrDefinitionServiceImpl extends SkyeyeBusinessServiceImpl<AttrDef
|
|||
return;
|
||||
}
|
||||
|
||||
SkyeyeClassServiceBean service = skyeyeClassServiceBeanService.getByEntityClassName(attrDefinition.getAttrType());
|
||||
ServiceBean service = skyeyeClassServiceBeanService.getByEntityClassName(attrDefinition.getAttrType());
|
||||
if (service == null) {
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -2,22 +2,21 @@
|
|||
* Copyright 卫志强 QQ:598748873@qq.com Inc. All rights reserved. 开源地址:https://gitee.com/doc_wei01/skyeye
|
||||
******************************************************************************/
|
||||
|
||||
package com.skyeye.clazz.controller;
|
||||
package com.skyeye.server.controller;
|
||||
|
||||
import com.skyeye.annotation.api.Api;
|
||||
import com.skyeye.annotation.api.ApiImplicitParam;
|
||||
import com.skyeye.annotation.api.ApiImplicitParams;
|
||||
import com.skyeye.annotation.api.ApiOperation;
|
||||
import com.skyeye.clazz.entity.classservice.SkyeyeClassServiceBeanApi;
|
||||
import com.skyeye.clazz.service.SkyeyeClassServiceBeanService;
|
||||
import com.skyeye.common.object.InputObject;
|
||||
import com.skyeye.common.object.OutputObject;
|
||||
import com.skyeye.server.entity.ServiceBeanApi;
|
||||
import com.skyeye.server.service.ServiceBeanService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @ClassName: SkyeyeClassServiceBeanController
|
||||
* @ClassName: ServiceBeanController
|
||||
* @Description: 所有实现了SkyeyeBusinessService的服务类的注册服务
|
||||
* @author: skyeye云系列--卫志强
|
||||
* @date: 2022/9/18 16:08
|
||||
|
@ -26,10 +25,10 @@ import org.springframework.web.bind.annotation.RestController;
|
|||
*/
|
||||
@RestController
|
||||
@Api(value = "服务类注册", tags = "服务类注册", modelName = "系统公共模块")
|
||||
public class SkyeyeClassServiceBeanController {
|
||||
public class ServiceBeanController {
|
||||
|
||||
@Autowired
|
||||
private SkyeyeClassServiceBeanService skyeyeClassServiceBeanService;
|
||||
private ServiceBeanService serviceBeanService;
|
||||
|
||||
/**
|
||||
* 服务类注册
|
||||
|
@ -38,10 +37,10 @@ public class SkyeyeClassServiceBeanController {
|
|||
* @param outputObject 出参以及提示信息的返回值对象
|
||||
*/
|
||||
@ApiOperation(id = "registerServiceBean", value = "服务类注册", method = "POST", allUse = "0")
|
||||
@ApiImplicitParams(classBean = SkyeyeClassServiceBeanApi.class)
|
||||
@RequestMapping("/post/SkyeyeClassServiceBeanController/registerServiceBean")
|
||||
@ApiImplicitParams(classBean = ServiceBeanApi.class)
|
||||
@RequestMapping("/post/ServiceBeanController/registerServiceBean")
|
||||
public void registerServiceBean(InputObject inputObject, OutputObject outputObject) {
|
||||
skyeyeClassServiceBeanService.registerServiceBean(inputObject, outputObject);
|
||||
serviceBeanService.registerServiceBean(inputObject, outputObject);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -51,23 +50,9 @@ public class SkyeyeClassServiceBeanController {
|
|||
* @param outputObject 出参以及提示信息的返回值对象
|
||||
*/
|
||||
@ApiOperation(id = "queryServiceClassForTree", value = "获取服务类信息(树结构)", method = "GET", allUse = "2")
|
||||
@RequestMapping("/post/SkyeyeClassServiceBeanController/queryServiceClassForTree")
|
||||
@RequestMapping("/post/ServiceBeanController/queryServiceClassForTree")
|
||||
public void queryServiceClassForTree(InputObject inputObject, OutputObject outputObject) {
|
||||
skyeyeClassServiceBeanService.queryServiceClassForTree(inputObject, outputObject);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取服务类详情信息
|
||||
*
|
||||
* @param inputObject 入参以及用户信息等获取对象
|
||||
* @param outputObject 出参以及提示信息的返回值对象
|
||||
*/
|
||||
@ApiOperation(id = "queryServiceClass", value = "获取服务类详情信息", method = "GET", allUse = "2")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(id = "className", name = "className", value = "业务对象的className", required = "required")})
|
||||
@RequestMapping("/post/SkyeyeClassServiceBeanController/queryServiceClass")
|
||||
public void queryServiceClass(InputObject inputObject, OutputObject outputObject) {
|
||||
skyeyeClassServiceBeanService.queryServiceClass(inputObject, outputObject);
|
||||
serviceBeanService.queryServiceClassForTree(inputObject, outputObject);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,61 @@
|
|||
/*******************************************************************************
|
||||
* Copyright 卫志强 QQ:598748873@qq.com Inc. All rights reserved. 开源地址:https://gitee.com/doc_wei01/skyeye
|
||||
******************************************************************************/
|
||||
|
||||
package com.skyeye.server.controller;
|
||||
|
||||
import com.skyeye.annotation.api.Api;
|
||||
import com.skyeye.annotation.api.ApiImplicitParam;
|
||||
import com.skyeye.annotation.api.ApiImplicitParams;
|
||||
import com.skyeye.annotation.api.ApiOperation;
|
||||
import com.skyeye.common.object.InputObject;
|
||||
import com.skyeye.common.object.OutputObject;
|
||||
import com.skyeye.server.entity.ServiceBeanCustom;
|
||||
import com.skyeye.server.service.ServiceBeanCustomService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @ClassName: ServerController
|
||||
* @Description: 自定义服务管理控制层
|
||||
* @author: skyeye云系列--卫志强
|
||||
* @date: 2023/1/6 22:26
|
||||
* @Copyright: 2023 https://gitee.com/doc_wei01/skyeye Inc. All rights reserved.
|
||||
* 注意:本内容仅限购买后使用.禁止私自外泄以及用于其他的商业目的
|
||||
*/
|
||||
@RestController
|
||||
@Api(value = "自定义服务管理", tags = "自定义服务管理", modelName = "系统公共模块")
|
||||
public class ServiceBeanCustomController {
|
||||
|
||||
@Autowired
|
||||
private ServiceBeanCustomService serviceBeanCustomService;
|
||||
|
||||
/**
|
||||
* 获取服务信息
|
||||
*
|
||||
* @param inputObject 入参以及用户信息等获取对象
|
||||
* @param outputObject 出参以及提示信息的返回值对象
|
||||
*/
|
||||
@ApiOperation(id = "queryServiceBeanCustom", value = "获取服务信息", method = "GET", allUse = "2")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(id = "className", name = "className", value = "service的className", required = "required")})
|
||||
@RequestMapping("/post/ServiceBeanCustomController/queryServiceBeanCustom")
|
||||
public void queryServiceBeanCustom(InputObject inputObject, OutputObject outputObject) {
|
||||
serviceBeanCustomService.queryServiceBeanCustom(inputObject, outputObject);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存自定义服务信息
|
||||
*
|
||||
* @param inputObject 入参以及用户信息等获取对象
|
||||
* @param outputObject 出参以及提示信息的返回值对象
|
||||
*/
|
||||
@ApiOperation(id = "saveServiceBeanCustom", value = "保存自定义服务信息", method = "POST", allUse = "2")
|
||||
@ApiImplicitParams(classBean = ServiceBeanCustom.class)
|
||||
@RequestMapping("/post/ServiceBeanCustomController/saveServiceBeanCustom")
|
||||
public void saveServiceBeanCustom(InputObject inputObject, OutputObject outputObject) {
|
||||
serviceBeanCustomService.saveOrUpdateEntity(inputObject, outputObject);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
/*******************************************************************************
|
||||
* Copyright 卫志强 QQ:598748873@qq.com Inc. All rights reserved. 开源地址:https://gitee.com/doc_wei01/skyeye
|
||||
******************************************************************************/
|
||||
|
||||
package com.skyeye.server.dao;
|
||||
|
||||
import com.skyeye.eve.dao.SkyeyeBaseMapper;
|
||||
import com.skyeye.server.entity.ServiceBeanCustom;
|
||||
|
||||
/**
|
||||
* @ClassName: ServiceBeanCustomDao
|
||||
* @Description: 自定义服务管理数据层
|
||||
* @author: skyeye云系列--卫志强
|
||||
* @date: 2023/1/6 22:43
|
||||
* @Copyright: 2023 https://gitee.com/doc_wei01/skyeye Inc. All rights reserved.
|
||||
* 注意:本内容仅限购买后使用.禁止私自外泄以及用于其他的商业目的
|
||||
*/
|
||||
public interface ServiceBeanCustomDao extends SkyeyeBaseMapper<ServiceBeanCustom> {
|
||||
}
|
|
@ -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<SkyeyeClassServiceBean> {
|
||||
public interface ServiceBeanDao extends SkyeyeBaseMapper<ServiceBean> {
|
||||
|
||||
|
||||
}
|
|
@ -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")
|
|
@ -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<SkyeyeClassServiceBean> classNameList;
|
||||
private List<ServiceBean> classNameList;
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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<ServiceBeanCustom> {
|
||||
|
||||
void queryServiceBeanCustom(InputObject inputObject, OutputObject outputObject);
|
||||
|
||||
}
|
|
@ -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<SkyeyeClassServiceBean> {
|
||||
public interface ServiceBeanService extends SkyeyeBusinessService<ServiceBean> {
|
||||
|
||||
void registerServiceBean(InputObject inputObject, OutputObject outputObject);
|
||||
|
||||
|
@ -27,7 +27,7 @@ public interface SkyeyeClassServiceBeanService extends SkyeyeBusinessService<Sky
|
|||
|
||||
void queryServiceClassForTree(InputObject inputObject, OutputObject outputObject);
|
||||
|
||||
void queryServiceClass(InputObject inputObject, OutputObject outputObject);
|
||||
ServiceBean queryServiceClass(String className);
|
||||
|
||||
SkyeyeClassServiceBean getByEntityClassName(String entityClassName);
|
||||
ServiceBean getByEntityClassName(String entityClassName);
|
||||
}
|
|
@ -0,0 +1,72 @@
|
|||
/*******************************************************************************
|
||||
* Copyright 卫志强 QQ:598748873@qq.com Inc. All rights reserved. 开源地址:https://gitee.com/doc_wei01/skyeye
|
||||
******************************************************************************/
|
||||
|
||||
package com.skyeye.server.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.skyeye.base.business.service.impl.SkyeyeBusinessServiceImpl;
|
||||
import com.skyeye.common.constans.CommonNumConstants;
|
||||
import com.skyeye.common.object.InputObject;
|
||||
import com.skyeye.common.object.OutputObject;
|
||||
import com.skyeye.common.util.mybatisplus.MybatisPlusUtil;
|
||||
import com.skyeye.server.dao.ServiceBeanCustomDao;
|
||||
import com.skyeye.server.entity.ServiceBean;
|
||||
import com.skyeye.server.entity.ServiceBeanCustom;
|
||||
import com.skyeye.server.service.ServiceBeanCustomService;
|
||||
import com.skyeye.server.service.ServiceBeanService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @ClassName: ServiceBeanCustomServiceImpl
|
||||
* @Description: 自定义服务管理服务层
|
||||
* @author: skyeye云系列--卫志强
|
||||
* @date: 2023/1/6 22:44
|
||||
* @Copyright: 2023 https://gitee.com/doc_wei01/skyeye Inc. All rights reserved.
|
||||
* 注意:本内容仅限购买后使用.禁止私自外泄以及用于其他的商业目的
|
||||
*/
|
||||
@Service
|
||||
public class ServiceBeanCustomServiceImpl extends SkyeyeBusinessServiceImpl<ServiceBeanCustomDao, ServiceBeanCustom> implements ServiceBeanCustomService {
|
||||
|
||||
@Autowired
|
||||
private ServiceBeanService serviceBeanService;
|
||||
|
||||
@Override
|
||||
public void queryServiceBeanCustom(InputObject inputObject, OutputObject outputObject) {
|
||||
Map<String, Object> 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<ServiceBeanCustom> 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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -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<SkyeyeClassServiceBeanDao, SkyeyeClassServiceBean> implements SkyeyeClassServiceBeanService {
|
||||
public class ServiceBeanServiceImpl extends SkyeyeBusinessServiceImpl<ServiceBeanDao, ServiceBean> 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<SkyeyeClassServiceBean> wrapper = new QueryWrapper<>();
|
||||
wrapper.eq(MybatisPlusUtil.toColumns(SkyeyeClassServiceBean::getSpringApplicationName), skyeyeClassServiceBeanApi.getSpringApplicationName());
|
||||
List<SkyeyeClassServiceBean> oldList = super.list(wrapper);
|
||||
QueryWrapper<ServiceBean> wrapper = new QueryWrapper<>();
|
||||
wrapper.eq(MybatisPlusUtil.toColumns(ServiceBean::getSpringApplicationName), serviceBeanApi.getSpringApplicationName());
|
||||
List<ServiceBean> oldList = super.list(wrapper);
|
||||
List<String> oldKeys = oldList.stream().map(bean -> getKey(bean)).collect(Collectors.toList());
|
||||
|
||||
// 获取入参的数据
|
||||
List<SkyeyeClassServiceBean> classNameList = skyeyeClassServiceBeanApi.getClassNameList();
|
||||
List<ServiceBean> classNameList = serviceBeanApi.getClassNameList();
|
||||
classNameList.forEach(className -> {
|
||||
className.setAppId(skyeyeClassServiceBeanApi.getAppId());
|
||||
className.setSpringApplicationName(skyeyeClassServiceBeanApi.getSpringApplicationName());
|
||||
className.setAppId(serviceBeanApi.getAppId());
|
||||
className.setSpringApplicationName(serviceBeanApi.getSpringApplicationName());
|
||||
});
|
||||
|
||||
List<String> newKeys = classNameList.stream().map(bean -> getKey(bean)).collect(Collectors.toList());
|
||||
|
||||
// (旧数据 - 新数据) 从数据库删除
|
||||
List<SkyeyeClassServiceBean> deleteBeans = oldList.stream().filter(item -> !newKeys.contains(getKey(item))).collect(Collectors.toList());
|
||||
List<ServiceBean> deleteBeans = oldList.stream().filter(item -> !newKeys.contains(getKey(item))).collect(Collectors.toList());
|
||||
if (!CollectionUtils.isEmpty(deleteBeans)) {
|
||||
List<String> classNames = deleteBeans.stream().map(bean -> bean.getClassName()).collect(Collectors.toList());
|
||||
QueryWrapper<SkyeyeClassServiceBean> deleteWrapper = new QueryWrapper<>();
|
||||
deleteWrapper.eq(MybatisPlusUtil.toColumns(SkyeyeClassServiceBean::getSpringApplicationName), skyeyeClassServiceBeanApi.getSpringApplicationName());
|
||||
deleteWrapper.in(MybatisPlusUtil.toColumns(SkyeyeClassServiceBean::getClassName), classNames);
|
||||
QueryWrapper<ServiceBean> deleteWrapper = new QueryWrapper<>();
|
||||
deleteWrapper.eq(MybatisPlusUtil.toColumns(ServiceBean::getSpringApplicationName), serviceBeanApi.getSpringApplicationName());
|
||||
deleteWrapper.in(MybatisPlusUtil.toColumns(ServiceBean::getClassName), classNames);
|
||||
remove(deleteWrapper);
|
||||
}
|
||||
|
||||
// (新数据 - 旧数据) 添加到数据库
|
||||
List<SkyeyeClassServiceBean> addBeans = classNameList.stream().filter(item -> !oldKeys.contains(getKey(item))).collect(Collectors.toList());
|
||||
List<ServiceBean> 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<SkyeyeClassServiceBean> classNameList) {
|
||||
private void saveAttrDefinition(String appId, List<ServiceBean> classNameList) {
|
||||
List<AttrDefinition> 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<SkyeyeClassServiceBean> 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<Map<String, Object>> applications = applicationService.queryApplicationList();
|
||||
// 查询服务类信息
|
||||
QueryWrapper<SkyeyeClassServiceBean> wrapper = new QueryWrapper<>();
|
||||
wrapper.eq(MybatisPlusUtil.toColumns(SkyeyeClassServiceBean::getManageShow), true);
|
||||
QueryWrapper<ServiceBean> wrapper = new QueryWrapper<>();
|
||||
wrapper.eq(MybatisPlusUtil.toColumns(ServiceBean::getManageShow), true);
|
||||
List<Map<String, Object>> serviceClass = super.list(wrapper)
|
||||
.stream().map(bean -> BeanUtil.beanToMap(bean)).collect(Collectors.toList());
|
||||
List<Map<String, Object>> 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<String, Object> params = inputObject.getParams();
|
||||
String className = params.get("className").toString();
|
||||
QueryWrapper<SkyeyeClassServiceBean> 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<ServiceBean> wrapper = new QueryWrapper<>();
|
||||
wrapper.eq(MybatisPlusUtil.toColumns(ServiceBean::getClassName), className);
|
||||
ServiceBean skyeyeClassServiceBean = getOne(wrapper);
|
||||
return skyeyeClassServiceBean;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SkyeyeClassServiceBean getByEntityClassName(String entityClassName) {
|
||||
QueryWrapper<SkyeyeClassServiceBean> wrapper = new QueryWrapper<>();
|
||||
wrapper.eq(MybatisPlusUtil.toColumns(SkyeyeClassServiceBean::getEntityClassName), entityClassName);
|
||||
public ServiceBean getByEntityClassName(String entityClassName) {
|
||||
QueryWrapper<ServiceBean> wrapper = new QueryWrapper<>();
|
||||
wrapper.eq(MybatisPlusUtil.toColumns(ServiceBean::getEntityClassName), entityClassName);
|
||||
return getOne(wrapper);
|
||||
}
|
||||
|
Loading…
Reference in a new issue