diff --git a/JSD-8977-配置使用文档.pdf b/JSD-8977-配置使用文档.pdf new file mode 100644 index 0000000..f3d61c5 Binary files /dev/null and b/JSD-8977-配置使用文档.pdf differ diff --git a/JSD-8977-需求确认书V1.docx b/JSD-8977-需求确认书V1.docx new file mode 100644 index 0000000..fa59837 Binary files /dev/null and b/JSD-8977-需求确认书V1.docx differ diff --git a/README.md b/README.md index 73e1941..85d8ee2 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,6 @@ # open-JSD-8977 -JSD-8977 定时调度通过决策平台目录选择对应的模板 \ No newline at end of file +JSD-8977 定时调度通过决策平台目录选择对应的模板\ +免责说明:该源码为第三方爱好者提供,不保证源码和方案的可靠性,也不提供任何形式的源码教学指导和协助!\ +仅作为开发者学习参考使用!禁止用于任何商业用途!\ +为保护开发者隐私,开发者信息已隐去!若原开发者希望公开自己的信息,可联系hugh处理。 \ No newline at end of file diff --git a/lib/finekit-10.0.jar b/lib/finekit-10.0.jar new file mode 100644 index 0000000..f4482fc Binary files /dev/null and b/lib/finekit-10.0.jar differ diff --git a/plugin.xml b/plugin.xml new file mode 100644 index 0000000..4bac6ef --- /dev/null +++ b/plugin.xml @@ -0,0 +1,20 @@ + + + com.fr.plugin.higq.entry + + yes + 1.1 + 10.0 + 2018-07-31 + fr.open + + + com.fr.plugin.higq + + com.fanruan.api + + + + + + \ No newline at end of file diff --git a/src/main/java/com/fr/plugin/higq/request/TemplatesFilter.java b/src/main/java/com/fr/plugin/higq/request/TemplatesFilter.java new file mode 100644 index 0000000..3f60b75 --- /dev/null +++ b/src/main/java/com/fr/plugin/higq/request/TemplatesFilter.java @@ -0,0 +1,137 @@ + /* + * Copyright (C), 2018-2021 + * Project: starter + * FileName: OAuthLogin + * Author: Louis + * Date: 2021/3/30 22:09 + */ + package com.fr.plugin.higq.request; + + import com.fanruan.api.i18n.I18nKit; + import com.fanruan.api.log.LogKit; + import com.fanruan.api.net.NetworkKit; + import com.fanruan.api.util.StringKit; + import com.fr.decision.fun.impl.AbstractGlobalRequestFilterProvider; + import com.fr.decision.webservice.bean.entry.EntryBean; + import com.fr.decision.webservice.bean.entry.FileNodeBean; + import com.fr.decision.webservice.v10.entry.EntryService; + import com.fr.decision.webservice.v10.entry.ReportEntryService; + import com.fr.decision.webservice.v10.user.UserService; + import com.fr.intelli.record.Focus; + import com.fr.intelli.record.Original; + import com.fr.json.JSONArray; + import com.fr.json.JSONObject; + import com.fr.record.analyzer.EnableMetrics; + import com.fr.stable.fun.Authorize; + import com.fr.web.utils.WebUtils; + + import javax.servlet.FilterChain; + import javax.servlet.FilterConfig; + import javax.servlet.http.HttpServletRequest; + import javax.servlet.http.HttpServletResponse; + import java.util.List; + + /** + *
+ * + * + * @author fr.open + * @since 1.0.0 + */ + @Authorize(callSignKey = TemplatesFilter.PLUGIN_ID) + @EnableMetrics + public class TemplatesFilter extends AbstractGlobalRequestFilterProvider { + + public static final String PLUGIN_ID = "com.fr.plugin.higq.entry"; + + /** + * 过滤器名称 + * + * @return + */ + @Override + public String filterName() { + return "higqFilter"; + } + + /** + * 过滤规则 + * + * @return + */ + @Override + public String[] urlPatterns() { + return new String[]{"/decision/v10/templates/all"}; + } + + /** + * 过滤器初始化 + * + * @param filterConfig + */ + @Override + public void init(FilterConfig filterConfig) { + super.init(filterConfig); + } + + /** + * 过滤器处理 + * + * @param request + * @param response + * @param filterChain + */ + @Override + public void doFilter(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) { + try { + operation(request, response); + } catch (Exception e) { + LogKit.error(e.getMessage(), e); + } + } + + /** + * 数据处理操作 + * + * @param req + * @param res + * @throws Exception + */ + @Focus(id = PLUGIN_ID, text = "Plugin-hrjf", source = Original.PLUGIN) + private void operation(HttpServletRequest req, HttpServletResponse res) throws Exception { + String keyword = NetworkKit.getHTTPRequestParameter(req, "keyword"); + List entryBeanList = EntryService.getInstance().getEntryTree(req); + List fileNodeBeanList = ReportEntryService.getInstance().getReportTemplateTree(UserService.getInstance().getCurrentUserId(req), keyword); + FileNodeBean fileNodeBean; + for (EntryBean entryBean : entryBeanList) { + if (entryBean.isIsParent()) { + fileNodeBean = new FileNodeBean(); + fileNodeBean.setId(entryBean.getId()); + if (StringKit.isBlank(entryBean.getpId())) { + fileNodeBean.setpId("reportlets"); + fileNodeBean.setText(I18nKit.getLocText("Dec-Entry_Management")); + } else { + fileNodeBean.setpId(entryBean.getpId()); + fileNodeBean.setText(entryBean.getText()); + } + fileNodeBean.setPath(entryBean.getId()); + fileNodeBean.setIsParent(entryBean.isIsParent()); + fileNodeBean.setOpen(entryBean.isOpen()); + fileNodeBean.setPrivilege(true); + + fileNodeBeanList.add(fileNodeBean); + } else { + for (FileNodeBean fileNode : fileNodeBeanList) { + if (StringKit.equals(fileNode.getPath(), entryBean.getPath())) { + fileNode.setpId(entryBean.getpId()); + fileNode.setText(entryBean.getText()); + } + } + } + } + + JSONObject result = JSONObject.create(); + result.put("data", JSONArray.create(fileNodeBeanList)); + WebUtils.printAsJSON(res, result); + } + } \ No newline at end of file