From 436f4bbe23fc5c56e23b6b065ee1726675f23560 Mon Sep 17 00:00:00 2001 From: weizhiqiang <> Date: Tue, 2 Aug 2022 11:27:40 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E9=AB=98=E7=BA=A7=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E3=80=91=E8=A1=A8=E6=A0=BC=E9=AB=98=E7=BA=A7=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E5=8A=9F=E8=83=BD=E8=BF=81=E7=A7=BB=EF=BC=8C?= =?UTF-8?q?=E6=96=B9=E4=BE=BF=E5=BE=AE=E6=9C=8D=E5=8A=A1=E6=8B=86=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SearchConfigController.java | 32 +++- .../java/com/skyeye/eve/dao/SearchDao.java | 18 ++ .../eve/entity/search/SearchMation.java | 53 ++++++ .../eve/service/SearchConfigService.java | 48 +++++ .../service/impl/SearchConfigServiceImpl.java | 169 ++++++++++++++++++ .../eve/controller/ScheduleDayController.java | 2 +- 6 files changed, 320 insertions(+), 2 deletions(-) create mode 100644 skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/dao/SearchDao.java create mode 100644 skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/entity/search/SearchMation.java create mode 100644 skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/service/SearchConfigService.java create mode 100644 skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/service/impl/SearchConfigServiceImpl.java diff --git a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/controller/SearchConfigController.java b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/controller/SearchConfigController.java index f3f2633c..d362e5cc 100644 --- a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/controller/SearchConfigController.java +++ b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/controller/SearchConfigController.java @@ -5,6 +5,7 @@ package com.skyeye.eve.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; @@ -30,6 +31,36 @@ public class SearchConfigController { @Autowired private SearchConfigService searchConfigService; + /** + * 根据urlId以及appId获取高级查询的参数配置信息----用于前台使用 + * + * @param inputObject 入参以及用户信息等获取对象 + * @param outputObject 出参以及提示信息的返回值对象 + */ + @ApiOperation(id = "querySearchParamsConfigToHtml", value = "根据urlId以及appId获取高级查询的参数配置信息----用于前台使用", method = "POST", allUse = "0") + @ApiImplicitParams({ + @ApiImplicitParam(id = "urlId", name = "urlId", value = "接口的urlId", required = "required"), + @ApiImplicitParam(id = "appId", name = "appId", value = "微服务的APPID", required = "required")}) + @RequestMapping("/post/SearchConfigController/querySearchParamsConfigToHtml") + public void querySearchParamsConfigToHtml(InputObject inputObject, OutputObject outputObject) { + searchConfigService.querySearchParamsConfigToHtml(inputObject, outputObject); + } + + /** + * 根据urlId以及appId获取高级查询的参数配置信息----用于后台使用 + * + * @param inputObject 入参以及用户信息等获取对象 + * @param outputObject 出参以及提示信息的返回值对象 + */ + @ApiOperation(id = "querySearchParamsConfig", value = "根据urlId以及appId获取高级查询的参数配置信息----用于后台使用", method = "POST", allUse = "0") + @ApiImplicitParams({ + @ApiImplicitParam(id = "urlId", name = "urlId", value = "接口的urlId", required = "required"), + @ApiImplicitParam(id = "appId", name = "appId", value = "微服务的APPID", required = "required")}) + @RequestMapping("/post/SearchConfigController/querySearchParamsConfig") + public void querySearchParamsConfig(InputObject inputObject, OutputObject outputObject) { + searchConfigService.querySearchParamsConfig(inputObject, outputObject); + } + /** * 新增/编辑高级查询配置 * @@ -43,5 +74,4 @@ public class SearchConfigController { searchConfigService.writeSearchConfigMation(inputObject, outputObject); } - } diff --git a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/dao/SearchDao.java b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/dao/SearchDao.java new file mode 100644 index 00000000..831e72d1 --- /dev/null +++ b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/dao/SearchDao.java @@ -0,0 +1,18 @@ +/******************************************************************************* + * Copyright 卫志强 QQ:598748873@qq.com Inc. All rights reserved. 开源地址:https://gitee.com/doc_wei01/skyeye + ******************************************************************************/ + +package com.skyeye.eve.dao; + +import com.skyeye.eve.entity.search.SearchMation; + +/** + * @ClassName: SearchDao + * @Description: 高级查询属性配置管理数据交互层 + * @author: skyeye云系列--卫志强 + * @date: 2022/6/30 22:31 + * @Copyright: 2022 https://gitee.com/doc_wei01/skyeye Inc. All rights reserved. + * 注意:本内容仅限购买后使用.禁止私自外泄以及用于其他的商业目的 + */ +public interface SearchDao extends SkyeyeBaseMapper { +} diff --git a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/entity/search/SearchMation.java b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/entity/search/SearchMation.java new file mode 100644 index 00000000..2c6f5eec --- /dev/null +++ b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/entity/search/SearchMation.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright 卫志强 QQ:598748873@qq.com Inc. All rights reserved. 开源地址:https://gitee.com/doc_wei01/skyeye + ******************************************************************************/ + +package com.skyeye.eve.entity.search; + +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.common.entity.CommonOperatorUserInfo; +import lombok.Data; + +import java.io.Serializable; +import java.util.Map; + +/** + * @ClassName: SearchMation + * @Description: 高级查询配置实体类 + * @author: skyeye云系列--卫志强 + * @date: 2022/7/12 11:01 + * @Copyright: 2022 https://gitee.com/doc_wei01/skyeye Inc. All rights reserved. + * 注意:本内容仅限购买后使用.禁止私自外泄以及用于其他的商业目的 + */ +@Data +@TableName(value = "sys_search") +@ApiModel("高级查询配置实体类") +public class SearchMation extends CommonOperatorUserInfo implements Serializable { + + @TableId("id") + @ApiModelProperty(value = "主键id。为空时新增,不为空时编辑") + private String id; + + @TableField("app_id") + @ApiModelProperty(value = "APPID", required = "required") + private String appId; + + @TableField("url_id") + @ApiModelProperty(value = "接口对应的url的id", required = "required") + private String urlId; + + @TableField(exist = false) + @ApiModelProperty(value = "参数配置信息", required = "required") + private Map paramsConfig; + + /** + * 参数配置信息json字符串 + */ + @TableField("params_config") + private String paramsConfigStr; + +} diff --git a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/service/SearchConfigService.java b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/service/SearchConfigService.java new file mode 100644 index 00000000..d123bdab --- /dev/null +++ b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/service/SearchConfigService.java @@ -0,0 +1,48 @@ +/******************************************************************************* + * Copyright 卫志强 QQ:598748873@qq.com Inc. All rights reserved. 开源地址:https://gitee.com/doc_wei01/skyeye + ******************************************************************************/ + +package com.skyeye.eve.service; + +import com.skyeye.common.object.InputObject; +import com.skyeye.common.object.OutputObject; +import com.skyeye.eve.entity.search.SearchMation; + +import java.util.Map; + +public interface SearchConfigService { + + void querySearchParamsConfigToHtml(InputObject inputObject, OutputObject outputObject); + + /** + * 根据urlId以及appId获取高级查询的参数配置信息----用于前台使用 + * + * @param urlId urlId + * @param appId appId + * @return 高级查询的参数配置信息 + */ + Map querySearchParamsConfigToHtml(String urlId, String appId); + + void querySearchParamsConfig(InputObject inputObject, OutputObject outputObject); + + /** + * 根据urlId以及appId获取高级查询的参数配置信息----用于后台使用 + * + * @param urlId urlId + * @param appId appId + * @return 高级查询的参数配置信息 + */ + Map querySearchParamsConfig(String urlId, String appId); + + void writeSearchConfigMation(InputObject inputObject, OutputObject outputObject); + + /** + * 根据urlId以及appId获取高级查询信息 + * + * @param urlId urlId + * @param appId appId + * @return 高级查询信息 + */ + SearchMation querySearchMation(String urlId, String appId); + +} diff --git a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/service/impl/SearchConfigServiceImpl.java b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/service/impl/SearchConfigServiceImpl.java new file mode 100644 index 00000000..1e7d693f --- /dev/null +++ b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/service/impl/SearchConfigServiceImpl.java @@ -0,0 +1,169 @@ +/******************************************************************************* + * Copyright 卫志强 QQ:598748873@qq.com Inc. All rights reserved. 开源地址:https://gitee.com/doc_wei01/skyeye + ******************************************************************************/ + +package com.skyeye.eve.service.impl; + +import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.skyeye.common.constans.CommonConstants; +import com.skyeye.common.constans.CommonNumConstants; +import com.skyeye.common.object.InputObject; +import com.skyeye.common.object.OutputObject; +import com.skyeye.common.util.DataCommonUtil; +import com.skyeye.common.util.mybatisplus.MybatisPlusUtil; +import com.skyeye.eve.dao.SearchDao; +import com.skyeye.eve.entity.search.SearchMation; +import com.skyeye.eve.entity.search.SearchOperatorMation; +import com.skyeye.eve.entity.search.SearchParamsConfigMation; +import com.skyeye.eve.service.SearchConfigService; +import net.sf.json.JSONObject; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class SearchConfigServiceImpl implements SearchConfigService { + + private static final Logger LOGGER = LoggerFactory.getLogger(SearchConfigServiceImpl.class); + + @Autowired + private SearchDao searchDao; + + /** + * 根据urlId以及appId获取高级查询的参数配置信息----用于前台使用 + * + * @param inputObject 入参以及用户信息等获取对象 + * @param outputObject 出参以及提示信息的返回值对象 + */ + @Override + public void querySearchParamsConfigToHtml(InputObject inputObject, OutputObject outputObject) { + Map params = inputObject.getParams(); + String urlId = params.get("urlId").toString(); + String appId = params.get("appId").toString(); + Map result = this.querySearchParamsConfigToHtml(urlId, appId); + outputObject.setBean(result); + outputObject.settotal(CommonNumConstants.NUM_ONE); + } + + /** + * 根据urlId以及appId获取高级查询的参数配置信息----用于前台使用 + * + * @param urlId urlId + * @param appId appId + * @return 高级查询的参数配置信息 + */ + @Override + public Map querySearchParamsConfigToHtml(String urlId, String appId) { + Map result = querySearchParamsConfig(urlId, appId); + if (result != null) { + result.forEach((key, value) -> { + Map classMap = new HashMap(); + classMap.put("searchCondition", SearchOperatorMation.class); + SearchParamsConfigMation searchParamsConfigMation = (SearchParamsConfigMation) JSONObject.toBean((JSONObject) value, + SearchParamsConfigMation.class, classMap); + // 获取筛选条件 + List searchCondition = searchParamsConfigMation.getSearchCondition(); + if (CollectionUtils.isNotEmpty(searchCondition)) { + searchCondition.forEach(bean -> { + bean.setMySql(null); + bean.setOracle(null); + bean.setPgSql(null); + bean.setSqlServer(null); + }); + } + result.put(key, searchParamsConfigMation); + }); + return result; + } + return null; + } + + /** + * 根据urlId以及appId获取高级查询的参数配置信息----用于后台使用 + * + * @param inputObject 入参以及用户信息等获取对象 + * @param outputObject 出参以及提示信息的返回值对象 + */ + @Override + public void querySearchParamsConfig(InputObject inputObject, OutputObject outputObject) { + Map params = inputObject.getParams(); + String urlId = params.get("urlId").toString(); + String appId = params.get("appId").toString(); + Map result = this.querySearchParamsConfig(urlId, appId); + outputObject.setBean(result); + outputObject.settotal(CommonNumConstants.NUM_ONE); + } + + /** + * 根据urlId以及appId获取高级查询的参数配置信息----用于后台使用 + * + * @param urlId urlId + * @param appId appId + * @return 高级查询的参数配置信息 + */ + @Override + public Map querySearchParamsConfig(String urlId, String appId) { + SearchMation searchMation = querySearchMation(urlId, appId); + if (searchMation != null) { + Map result = JSONObject.fromObject(searchMation.getParamsConfigStr()); + return result; + } + return null; + } + + /** + * 新增/编辑高级查询配置 + * + * @param inputObject 入参以及用户信息等获取对象 + * @param outputObject 出参以及提示信息的返回值对象 + */ + @Override + @Transactional(value = "transactionManager", rollbackFor = Exception.class) + public void writeSearchConfigMation(InputObject inputObject, OutputObject outputObject) { + SearchMation searchMation = inputObject.getParams(SearchMation.class); + // 1.根据appId和urlId进行校验 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(MybatisPlusUtil.getDeclaredFieldsInfo2(SearchMation.class, "appId"), searchMation.getAppId()); + queryWrapper.eq(MybatisPlusUtil.getDeclaredFieldsInfo2(SearchMation.class, "urlId"), searchMation.getUrlId()); + if (StringUtils.isNotEmpty(searchMation.getId())) { + queryWrapper.ne(CommonConstants.ID, searchMation.getId()); + } + SearchMation checkSearchMation = searchDao.selectOne(queryWrapper); + if (ObjectUtils.isEmpty(checkSearchMation)) { + String userId = inputObject.getLogParams().get("id").toString(); + searchMation.setParamsConfigStr(JSONUtil.toJsonStr(searchMation.getParamsConfig())); + // 2.新增/编辑数据 + if (StringUtils.isNotEmpty(searchMation.getId())) { + LOGGER.info("update searchConfig data, id is {}", searchMation.getId()); + DataCommonUtil.setCommonLastUpdateDataByGenericity(searchMation, userId); + searchDao.updateById(searchMation); + } else { + DataCommonUtil.setCommonDataByGenericity(searchMation, userId); + LOGGER.info("insert searchConfig data, id is {}", searchMation.getId()); + searchDao.insert(searchMation); + } + outputObject.setBean(searchMation); + } else { + outputObject.setreturnMessage("this data is non-existent."); + } + } + + @Override + public SearchMation querySearchMation(String urlId, String appId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(MybatisPlusUtil.getDeclaredFieldsInfo2(SearchMation.class, "urlId"), urlId); + queryWrapper.eq(MybatisPlusUtil.getDeclaredFieldsInfo2(SearchMation.class, "appId"), appId); + return searchDao.selectOne(queryWrapper); + } + +} diff --git a/skyeye-promote/skyeye-schedule/src/main/java/com/skyeye/eve/controller/ScheduleDayController.java b/skyeye-promote/skyeye-schedule/src/main/java/com/skyeye/eve/controller/ScheduleDayController.java index 1da0d332..9c21bafb 100644 --- a/skyeye-promote/skyeye-schedule/src/main/java/com/skyeye/eve/controller/ScheduleDayController.java +++ b/skyeye-promote/skyeye-schedule/src/main/java/com/skyeye/eve/controller/ScheduleDayController.java @@ -116,7 +116,7 @@ public class ScheduleDayController { * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ - @ApiOperation(id = "insertScheduleMationByOtherModule", value = "其他模块同步到日程", method = "POST", allUse = "2") + @ApiOperation(id = "insertScheduleMationByOtherModule", value = "其他模块同步到日程", method = "POST", allUse = "0") @ApiImplicitParams(classBean = OtherModuleScheduleMation.class) @RequestMapping("/post/ScheduleDayController/insertScheduleMationByOtherModule") public void insertScheduleMationByOtherModule(InputObject inputObject, OutputObject outputObject) {