From b4fb9f9d3b08b879448c027cc8246cc3ff7b43e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=B0=8F=E6=9E=97?= <320730042@qq.com> Date: Thu, 12 Sep 2024 16:41:24 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=B7=A5=E4=BD=9C=E6=B5=81=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PlanCollectorController.java | 12 ++++++++ .../service/PlanCollectorService.java | 4 +++ .../impl/PlanCollectorServiceImpl.java | 29 +++++++++++++++++++ .../impl/PlanFilterConfigServiceImpl.java | 12 +++++--- .../mapper/PlanFilterConfigMapper.xml | 2 +- 5 files changed, 54 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/bellmann/controller/PlanCollectorController.java b/src/main/java/com/bellmann/controller/PlanCollectorController.java index 90ade1d..bc72607 100644 --- a/src/main/java/com/bellmann/controller/PlanCollectorController.java +++ b/src/main/java/com/bellmann/controller/PlanCollectorController.java @@ -27,6 +27,12 @@ public class PlanCollectorController { boolean result = planCollectorService.addWorkflow(form); return Result.judge(result); } + @PostMapping("update") + @Operation(summary = "修改工作流") + public Result updateWorkflow(@RequestBody PlanFilterConfigForm form){ + boolean result = planCollectorService.updateWorkflow(form); + return Result.judge(result); + } @PostMapping("page") @Operation(summary = "工作流分页") public PageResult workflowPage(@RequestBody SelectQuery query){ @@ -45,4 +51,10 @@ public class PlanCollectorController { boolean result = planCollectorService.updateWorkflowStatus(planId,status); return Result.judge(result); } + @GetMapping("/info/{planId}") + @Operation(summary = "获取工作流信息") + public Result getWorkflowForm(@PathVariable Long planId){ + PlanFilterConfigForm result = planCollectorService.getWorkflowForm(planId); + return Result.success(result); + } } diff --git a/src/main/java/com/bellmann/service/PlanCollectorService.java b/src/main/java/com/bellmann/service/PlanCollectorService.java index 387ebf9..1f84233 100644 --- a/src/main/java/com/bellmann/service/PlanCollectorService.java +++ b/src/main/java/com/bellmann/service/PlanCollectorService.java @@ -13,4 +13,8 @@ public interface PlanCollectorService { boolean removeWorkflow(Long planId); boolean updateWorkflowStatus(Long planId, Integer status); + + PlanFilterConfigForm getWorkflowForm(Long planId); + + boolean updateWorkflow(PlanFilterConfigForm form); } diff --git a/src/main/java/com/bellmann/service/impl/PlanCollectorServiceImpl.java b/src/main/java/com/bellmann/service/impl/PlanCollectorServiceImpl.java index 863cd3a..7e6f2c4 100644 --- a/src/main/java/com/bellmann/service/impl/PlanCollectorServiceImpl.java +++ b/src/main/java/com/bellmann/service/impl/PlanCollectorServiceImpl.java @@ -1,5 +1,7 @@ package com.bellmann.service.impl; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -39,6 +41,19 @@ public class PlanCollectorServiceImpl implements PlanCollectorService { return rows>0; } + @Override + public boolean updateWorkflow(PlanFilterConfigForm form) { + WorkFlowForm workFlowForm = form.getWorkFlowForm(); + List filterFormList = form.getPlanFilterForm(); + PlanCollector planCollector = new PlanCollector(); + BeanUtil.copyProperties(workFlowForm,planCollector); + planCollector.setPlanFilter(filterFormList); + int rows = planCollectorMapper.update(planCollector, new LambdaQueryWrapper() + .eq(PlanCollector::getPlanId, workFlowForm.getPlanId()) + ); + return rows>0; + } + @Override public Page workflowPage(SelectQuery query) { int pageNum = query.getPageNum(); @@ -64,4 +79,18 @@ public class PlanCollectorServiceImpl implements PlanCollectorService { ); return rows>0; } + + @Override + public PlanFilterConfigForm getWorkflowForm(Long planId) { + PlanCollector planCollector = planCollectorMapper.selectOne(new LambdaQueryWrapper() + .eq(PlanCollector::getPlanId, planId) + ); + WorkFlowForm workFlowForm = new WorkFlowForm(); + BeanUtil.copyProperties(planCollector,workFlowForm); + List list = JSONUtil.toList((String) planCollector.getPlanFilter(), PlanFilterForm.class); + PlanFilterConfigForm form = new PlanFilterConfigForm(); + form.setPlanFilterForm(list); + form.setWorkFlowForm(workFlowForm); + return form; + } } diff --git a/src/main/java/com/bellmann/service/impl/PlanFilterConfigServiceImpl.java b/src/main/java/com/bellmann/service/impl/PlanFilterConfigServiceImpl.java index 3d6d3b0..903332e 100644 --- a/src/main/java/com/bellmann/service/impl/PlanFilterConfigServiceImpl.java +++ b/src/main/java/com/bellmann/service/impl/PlanFilterConfigServiceImpl.java @@ -23,15 +23,18 @@ public class PlanFilterConfigServiceImpl implements PlanFilterConfigService { private final JdbcTemplate jdbcTemplate; @Override public List configOption() { + List filterNames = new ArrayList<>(); List list = new ArrayList<>(); List planFilterConfigs = planFilterConfigMapper.selectList(new LambdaQueryWrapper<>()); if (planFilterConfigs.isEmpty()){ return list; } for (PlanFilterConfig planFilterConfig:planFilterConfigs){ - if (!planFilterConfig.getPropertyIdAndValueSql().isEmpty()){ + if (filterNames.contains(planFilterConfig.getFilterName())){ + continue; + } + if (planFilterConfig.getPropertyIdAndValueSql()!=null){ List> maps = jdbcTemplate.queryForList(planFilterConfig.getPropertyIdAndValueSql()); -// List> maps = SqlRunner.db().selectList(planFilterConfig.getPropertyIdAndValueSql()); List> options = maps.stream().map(obj -> { String value = obj.get("property_id").toString(); String label = obj.get("value").toString(); @@ -53,8 +56,8 @@ public class PlanFilterConfigServiceImpl implements PlanFilterConfigService { ); List> options = planFilterConfigList.stream().map(obj -> { Option option = new Option<>(); - option.setLabel(obj.getPropertyId()); - option.setValue(obj.getValue()); + option.setLabel(obj.getValue()); + option.setValue(obj.getPropertyId()); return option; }).collect(Collectors.toList()); PlanFilterConfigOption planFilterConfigOption = new PlanFilterConfigOption(); @@ -64,6 +67,7 @@ public class PlanFilterConfigServiceImpl implements PlanFilterConfigService { list.add(planFilterConfigOption); } } + filterNames.add(planFilterConfig.getFilterName()); } return list; } diff --git a/src/main/resources/mapper/PlanFilterConfigMapper.xml b/src/main/resources/mapper/PlanFilterConfigMapper.xml index b8e4df6..6ab565b 100644 --- a/src/main/resources/mapper/PlanFilterConfigMapper.xml +++ b/src/main/resources/mapper/PlanFilterConfigMapper.xml @@ -5,6 +5,6 @@