24282 2 лет назад
Родитель
Сommit
f85f8167bf

+ 9 - 6
hx-flow/src/main/java/com/fjhx/flow/controller/flow/FlowInfoController.java

@@ -4,16 +4,19 @@ import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.flow.entity.flow.dto.FlowInfoDto;
 import com.fjhx.flow.entity.flow.dto.FlowInfoSelectDto;
+import com.fjhx.flow.entity.flow.po.FlowInfo;
 import com.fjhx.flow.entity.flow.vo.FlowInfoVo;
 import com.fjhx.flow.service.flow.FlowInfoService;
 import com.ruoyi.common.constant.BaseSourceConstant;
-import com.ruoyi.common.core.domain.BaseSelectDto;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 
 /**
  * <p>
@@ -43,7 +46,7 @@ public class FlowInfoController {
      * 流程信息新增
      */
     @PostMapping("/add")
-    public void add(@RequestBody FlowInfoDto flowInfoDto) {
+    public void add(@Validated @RequestBody FlowInfoDto flowInfoDto) {
         flowInfoService.add(flowInfoDto);
     }
 
@@ -56,11 +59,11 @@ public class FlowInfoController {
     }
 
     /**
-     * 流程信息删除
+     * 获取分类名称列表
      */
-    @PostMapping("/delete")
-    public void delete(@RequestBody BaseSelectDto dto) {
-        flowInfoService.delete(dto.getId());
+    @PostMapping("/getClassifyList")
+    public List<String> getClassifyList() {
+        return flowInfoService.getDistinctList(FlowInfo::getClassifyName);
     }
 
 }

+ 5 - 0
hx-flow/src/main/java/com/fjhx/flow/entity/flow/dto/FlowInfoSelectDto.java

@@ -14,4 +14,9 @@ import lombok.Setter;
 @Setter
 public class FlowInfoSelectDto extends BaseSelectDto {
 
+    /**
+     * 分类名称
+     */
+    private String classifyName;
+
 }

+ 14 - 2
hx-flow/src/main/java/com/fjhx/flow/entity/flow/po/FlowInfo.java

@@ -1,10 +1,12 @@
 package com.fjhx.flow.entity.flow.po;
 
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.ruoyi.common.core.domain.BaseIdPo;
+import com.ruoyi.common.core.domain.BasePo;
 import lombok.Getter;
 import lombok.Setter;
 
+import javax.validation.constraints.NotBlank;
+
 /**
  * <p>
  * 流程信息
@@ -16,21 +18,31 @@ import lombok.Setter;
 @Getter
 @Setter
 @TableName("flow_info")
-public class FlowInfo extends BaseIdPo {
+public class FlowInfo extends BasePo {
 
     /**
      * 分类名称
      */
+    @NotBlank(message = "分类名称不能为空")
     private String classifyName;
 
     /**
      * 流程名称
      */
+    @NotBlank(message = "流程名称不能为空")
     private String flowName;
 
     /**
      * 流程标识
      */
+    @NotBlank(message = "流程标识不能为空")
     private String flowKey;
 
+    /**
+     * 流程状态
+     * 1启用
+     * 0禁用
+     */
+    private Integer status;
+
 }

+ 0 - 5
hx-flow/src/main/java/com/fjhx/flow/service/flow/FlowInfoService.java

@@ -33,9 +33,4 @@ public interface FlowInfoService extends BaseService<FlowInfo> {
      */
     void edit(FlowInfoDto flowInfoDto);
 
-    /**
-     * 流程信息删除
-     */
-    void delete(Long id);
-
 }

+ 9 - 6
hx-flow/src/main/java/com/fjhx/flow/service/flow/impl/FlowInfoServiceImpl.java

@@ -8,7 +8,9 @@ import com.fjhx.flow.entity.flow.po.FlowInfo;
 import com.fjhx.flow.entity.flow.vo.FlowInfoVo;
 import com.fjhx.flow.mapper.flow.FlowInfoMapper;
 import com.fjhx.flow.service.flow.FlowInfoService;
+import com.ruoyi.common.constant.StatusConstant;
 import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.ruoyi.common.utils.wrapper.SqlField;
 import org.springframework.stereotype.Service;
 
 
@@ -24,13 +26,18 @@ import org.springframework.stereotype.Service;
 public class FlowInfoServiceImpl extends ServiceImpl<FlowInfoMapper, FlowInfo> implements FlowInfoService {
 
     public Page<FlowInfoVo> getPage(FlowInfoSelectDto dto) {
+
         IWrapper<FlowInfo> wrapper = getWrapper();
+        wrapper.eq("fi", FlowInfo::getClassifyName, dto.getClassifyName());
+        wrapper.keyword(dto, new SqlField("fi", FlowInfo::getFlowName), new SqlField("fi", FlowInfo::getFlowKey));
         wrapper.orderByDesc("fi", FlowInfo::getId);
-        Page<FlowInfoVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
-        return page;
+
+        return this.baseMapper.getPage(dto.getPage(), wrapper);
     }
 
     public void add(FlowInfoDto flowInfoDto) {
+        nameDuplication(FlowInfo::getFlowKey, flowInfoDto.getFlowKey(), "流程标识已存在");
+        flowInfoDto.setStatus(StatusConstant.ENABLE);
         this.save(flowInfoDto);
     }
 
@@ -39,8 +46,4 @@ public class FlowInfoServiceImpl extends ServiceImpl<FlowInfoMapper, FlowInfo> i
         this.updateById(flowInfoDto);
     }
 
-    public void delete(Long id) {
-        this.removeById(id);
-    }
-
 }

+ 6 - 5
hx-flow/src/main/resources/mapper/flow/FlowInfoMapper.xml

@@ -2,11 +2,12 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fjhx.flow.mapper.flow.FlowInfoMapper">
     <select id="getPage" resultType="com.fjhx.flow.entity.flow.vo.FlowInfoVo">
-        select
-            fi.id,
-            fi.classify_name,
-            fi.flow_name,
-            fi.flow_key
+        select fi.id,
+               fi.classify_name,
+               fi.flow_name,
+               fi.flow_key,
+               fi.status,
+               fi.create_time
         from flow_info fi
             ${ew.customSqlSegment}
     </select>

+ 9 - 0
ruoyi-common/src/main/java/com/ruoyi/common/core/service/BaseService.java

@@ -14,6 +14,7 @@ import com.ruoyi.common.utils.wrapper.IWrapper;
 
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.function.BiConsumer;
 import java.util.function.Consumer;
 import java.util.function.Function;
@@ -100,4 +101,12 @@ public interface BaseService<T extends BaseIdPo> extends IService<T> {
         }
     }
 
+    /**
+     * 获取添加过的某个字段的去重列表
+     */
+    default <V> List<V> getDistinctList(SFunction<T, V> column) {
+        return list(Wrappers.<T>lambdaQuery().select(column))
+                .stream().map(column).filter(Objects::nonNull).distinct().collect(Collectors.toList());
+    }
+
 }