xiexiang hace 1 año
padre
commit
974ef7b851

+ 41 - 0
src/main/java/cn/cslg/pas/common/vo/business/ScenarioVO.java

@@ -0,0 +1,41 @@
+package cn.cslg.pas.common.vo.business;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 查询应用场景
+ * @Author xiexiang
+ * @Date 2023/11/7
+ */
+@Data
+public class ScenarioVO {
+    /**
+     * id
+     */
+    private Integer id;
+    /**
+     * 名称
+     */
+    private String name;
+    /**
+     * 使用模板
+     */
+    private String fileGuid;
+    /**
+     * 描述
+     */
+    private String description;
+
+    /**
+     * 创建人
+     */
+    private String createId;
+
+    /**
+     * 创建事件
+     */
+    private Date createTime;
+}

+ 19 - 0
src/main/java/cn/cslg/pas/controller/CommonController.java

@@ -5,9 +5,13 @@ import cn.cslg.pas.common.core.base.Constants;
 import cn.cslg.pas.common.utils.Response;
 import cn.cslg.pas.common.utils.StringUtils;
 import cn.cslg.pas.common.vo.EntityVO;
+import cn.cslg.pas.common.vo.business.ScenarioVO;
+import cn.cslg.pas.domain.business.AssoScenarioMatter;
 import cn.cslg.pas.domain.business.SystemDict;
 import cn.cslg.pas.factorys.businessFactory.BusinessFactory;
+import cn.cslg.pas.service.business.AssoScenarioMatterService;
 import cn.cslg.pas.service.business.CommonService;
+import cn.cslg.pas.service.business.ScenarioService;
 import cn.cslg.pas.service.business.SystemDictService;
 import io.swagger.v3.oas.annotations.Operation;
 import lombok.extern.slf4j.Slf4j;
@@ -27,6 +31,10 @@ public class CommonController {
     private SystemDictService systemDictService;
     @Autowired
     private CommonService commonService;
+    @Autowired
+    private ScenarioService scenarioService;
+    @Autowired
+    private AssoScenarioMatterService assoScenarioMatterService;
 
     @PostMapping("getParams")
     @Operation(summary = "获得实体类栏位信息")
@@ -47,4 +55,15 @@ public class CommonController {
         return Response.success(map);
     }
 
+    @GetMapping("/scenario")
+    @Operation(summary = "查询应用场景")
+    public List<ScenarioVO> queryAllScenario(){
+        return scenarioService.queryAll();
+    }
+
+    @GetMapping("/matter")
+    @Operation(summary = "查询处理事项")
+    public List<Integer> queryMatter(List<Integer> scenarioIds){
+        return assoScenarioMatterService.queryMatterIds(scenarioIds);
+    }
 }

+ 41 - 0
src/main/java/cn/cslg/pas/domain/business/AssoScenarioMatter.java

@@ -0,0 +1,41 @@
+package cn.cslg.pas.domain.business;
+
+import cn.cslg.pas.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 应用场景和处理事项关联表
+ * @Author xiexiang
+ * @Date 2023/11/7
+ */
+@Data
+@TableName("asso_scenario_matter")
+public class AssoScenarioMatter extends BaseEntity<AssoScenarioMatter> {
+    /**
+     * 应用场景id
+     */
+    @TableField(value = "scenario_id")
+    private Integer scenarioId;
+
+    /**
+     * 处理事项id
+     */
+    @TableField(value = "matter_id")
+    private Integer matterId;
+
+    /**
+     * 创建人
+     */
+    @TableField(value = "create_id")
+    private String createId;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    private Date createTime;
+}

+ 41 - 0
src/main/java/cn/cslg/pas/domain/business/Matter.java

@@ -0,0 +1,41 @@
+package cn.cslg.pas.domain.business;
+
+import cn.cslg.pas.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 处理事项
+ * @Author xiexiang
+ * @Date 2023/11/7
+ */
+@Data
+@TableName("matter")
+public class Matter extends BaseEntity<Matter> {
+    /**
+     * 名称
+     */
+    @TableField(value = "name")
+    private String name;
+
+    /**
+     * 描述
+     */
+    @TableField(value = "description")
+    private String description;
+
+    /**
+     * 创建人
+     */
+    @TableField(value = "create_id")
+    private String createId;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    private Date createTime;
+}

+ 45 - 0
src/main/java/cn/cslg/pas/domain/business/Scenario.java

@@ -0,0 +1,45 @@
+package cn.cslg.pas.domain.business;
+
+import cn.cslg.pas.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 应用场景
+ * @Author xiexiang
+ * @Date 2023/11/7
+ */
+@Data
+@TableName("scenario")
+public class Scenario extends BaseEntity<Scenario> {
+    /**
+     * 名称
+     */
+    @TableField(value = "name")
+    private String name;
+    /**
+     * 使用模板
+     */
+    @TableField(value = "file_guid")
+    private String fileGuid;
+    /**
+     * 描述
+     */
+    @TableField(value = "description")
+    private String description;
+
+    /**
+     * 创建人
+     */
+    @TableField(value = "create_id")
+    private String createId;
+
+    /**
+     * 创建事件
+     */
+    @TableField(value = "create_time")
+    private Date createTime;
+}

+ 14 - 0
src/main/java/cn/cslg/pas/mapper/AssoScenarioMatterMapper.java

@@ -0,0 +1,14 @@
+package cn.cslg.pas.mapper;
+
+import cn.cslg.pas.domain.business.AssoScenarioMatter;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 应用场景与处理事项关联Mapper
+ * @Author xiexiang
+ * @Date 2023/11/7
+ */
+@Repository
+public interface AssoScenarioMatterMapper extends BaseMapper<AssoScenarioMatter> {
+}

+ 14 - 0
src/main/java/cn/cslg/pas/mapper/MatterMapper.java

@@ -0,0 +1,14 @@
+package cn.cslg.pas.mapper;
+
+import cn.cslg.pas.domain.business.Matter;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 处理事项mapper
+ * @Author xiexiang
+ * @Date 2023/11/7
+ */
+@Repository
+public interface MatterMapper extends BaseMapper<Matter> {
+}

+ 13 - 0
src/main/java/cn/cslg/pas/mapper/ScenarioMapper.java

@@ -0,0 +1,13 @@
+package cn.cslg.pas.mapper;
+
+import cn.cslg.pas.domain.business.Scenario;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * @Author xiexiang
+ * @Date 2023/11/7
+ */
+@Repository
+public interface ScenarioMapper extends BaseMapper<Scenario> {
+}

+ 39 - 0
src/main/java/cn/cslg/pas/service/business/AssoScenarioMatterService.java

@@ -0,0 +1,39 @@
+package cn.cslg.pas.service.business;
+
+import cn.cslg.pas.domain.business.AssoScenarioMatter;
+import cn.cslg.pas.exception.XiaoShiException;
+import cn.cslg.pas.mapper.AssoScenarioMatterMapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @Author xiexiang
+ * @Date 2023/11/7
+ */
+@Slf4j
+@Service
+public class AssoScenarioMatterService extends ServiceImpl<AssoScenarioMatterMapper, AssoScenarioMatter> {
+    /**
+     * 根据应用场景id查询处理事项id集合
+     * @param scenarioIds
+     * @return
+     */
+    public List<Integer> queryMatterIds(List<Integer> scenarioIds){
+        List<Integer> matterIds = new ArrayList<>();
+        if(scenarioIds != null && scenarioIds.size() != 0){
+            LambdaQueryWrapper<AssoScenarioMatter> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.in(AssoScenarioMatter::getScenarioId, scenarioIds);
+            List<AssoScenarioMatter> assoScenarioMatters = this.list(queryWrapper);
+            matterIds = assoScenarioMatters.stream().map(AssoScenarioMatter::getMatterId).distinct().collect(Collectors.toList());
+        } else {
+            throw new XiaoShiException("scenarioIds不能为空");
+        }
+        return matterIds;
+    }
+}

+ 16 - 0
src/main/java/cn/cslg/pas/service/business/MatterService.java

@@ -0,0 +1,16 @@
+package cn.cslg.pas.service.business;
+
+import cn.cslg.pas.domain.business.Matter;
+import cn.cslg.pas.mapper.MatterMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author xiexiang
+ * @Date 2023/11/7
+ */
+@Slf4j
+@Service
+public class MatterService extends ServiceImpl<MatterMapper, Matter> {
+}

+ 36 - 0
src/main/java/cn/cslg/pas/service/business/ScenarioService.java

@@ -0,0 +1,36 @@
+package cn.cslg.pas.service.business;
+
+import cn.cslg.pas.common.vo.business.ScenarioVO;
+import cn.cslg.pas.domain.business.Scenario;
+import cn.cslg.pas.mapper.ScenarioMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author xiexiang
+ * @Date 2023/11/7
+ */
+@Slf4j
+@Service
+public class ScenarioService extends ServiceImpl<ScenarioMapper, Scenario> {
+
+    /**
+     * 查询所有应用场景
+     * @return
+     */
+    public List<ScenarioVO> queryAll() {
+        List<ScenarioVO> scenarioVOS = new ArrayList<>();
+        List<Scenario> scenarios = this.list();
+        scenarios.forEach(item -> {
+            ScenarioVO scenarioVO = new ScenarioVO();
+            BeanUtils.copyProperties(item, scenarioVO);
+            scenarioVOS.add(scenarioVO);
+        });
+        return scenarioVOS;
+    }
+}

+ 17 - 0
src/test/java/cn/cslg/pas/service/CommonServiceTests.java

@@ -3,6 +3,7 @@ package cn.cslg.pas.service;
 import cn.cslg.pas.common.model.common.QueryCondition;
 import cn.cslg.pas.common.model.request.QueryRequest;
 import cn.cslg.pas.common.model.request.StringRequest;
+import cn.cslg.pas.common.vo.business.ScenarioVO;
 import cn.cslg.pas.controller.CommonController;
 import cn.cslg.pas.controller.EventController;
 import cn.cslg.pas.service.business.CommonService;
@@ -40,4 +41,20 @@ public class CommonServiceTests {
         commonController.getQueryConditions(list);
     }
 
+    @Test
+    void getScenarios(){
+        List<ScenarioVO> scenarioVOS = commonController.queryAllScenario();
+        System.out.println(scenarioVOS);
+    }
+
+    @Test
+    void getMatter(){
+        List<Integer> scenarioIds = new ArrayList<>();
+        scenarioIds.add(1);
+        scenarioIds.add(2);
+//        scenarioIds.add(3);
+        List<Integer> matterIds = commonController.queryMatter(scenarioIds);
+        System.out.println(matterIds);
+    }
+
 }