ソースを参照

字段校验规则维护查询接口修改

zhanghang 3 年 前
コミット
2d5e6df39b

+ 3 - 4
daqe-center/src/main/java/com/lantone/daqe/dto/GetColumnDTO.java

@@ -8,19 +8,18 @@ import lombok.Setter;
 import java.io.Serializable;
 
 /**
- * @Description: 获取数据库表中列数据信息-接口出参
+ * @Description: 获取数据库表中列数据表名称信息-接口出参
  * @author: zhanghang
  * @time: 2022/3/1 10:30
  */
-@ApiModel(value = "下拉框获取数据库表中列数据信息-接口出参")
+@ApiModel(value = "下拉框获取数据库表中列数据表名称信息-接口出参")
 @Getter
 @Setter
 public class GetColumnDTO implements Serializable {
 
 
     private static final long serialVersionUID = 2674023248290037231L;
-    @ApiModelProperty(value = "表的列信息ID")
-    private Long id;
+
 
     @ApiModelProperty(value = "表名称(中文)")
     private String tableCname;

+ 29 - 0
daqe-center/src/main/java/com/lantone/daqe/dto/GetColumnNameDTO.java

@@ -0,0 +1,29 @@
+package com.lantone.daqe.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 获取数据库表中列数据字段名称信息-接口出参
+ * @author: zhanghang
+ * @time: 2022/3/7 10:30
+ */
+@ApiModel(value = "下拉框获取数据库表中列数据字段名称信息-接口出参")
+@Getter
+@Setter
+public class GetColumnNameDTO implements Serializable {
+
+
+    private static final long serialVersionUID = 5667959949810247526L;
+
+    @ApiModelProperty(value = "字段名称(中文)")
+    private String columnCname;
+
+    @ApiModelProperty(value = "字段名称(英文)")
+    private String columnEname;
+
+}

+ 30 - 0
daqe-center/src/main/java/com/lantone/daqe/dto/GetTableNameDTO.java

@@ -0,0 +1,30 @@
+package com.lantone.daqe.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 获取数据库表中列数据表名称信息-接口出参
+ * @author: zhanghang
+ * @time: 2022/3/1 10:30
+ */
+@ApiModel(value = "下拉框获取数据库表中列数据表名称信息-接口出参")
+@Getter
+@Setter
+public class GetTableNameDTO implements Serializable {
+
+
+    private static final long serialVersionUID = 2937673156548623988L;
+
+    @ApiModelProperty(value = "表名称(中文)")
+    private String tableCname;
+
+    @ApiModelProperty(value = "表名称(英文)")
+    private String tableEname;
+
+
+}

+ 91 - 5
daqe-center/src/main/java/com/lantone/daqe/facade/ColumnVerifyManagementFacade.java

@@ -3,19 +3,34 @@ package com.lantone.daqe.facade;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.lantone.common.enums.IsDeleteEnum;
+import com.lantone.common.exception.Asserts;
 import com.lantone.common.util.BeanUtil;
+import com.lantone.common.util.ListUtil;
+import com.lantone.common.util.StringUtil;
 import com.lantone.daqe.dto.GetColumnDTO;
+import com.lantone.daqe.dto.GetColumnNameDTO;
 import com.lantone.daqe.dto.GetColumnVerifyPageDTO;
 import com.lantone.daqe.dto.GetRegularDTO;
+import com.lantone.daqe.dto.GetTableNameDTO;
 import com.lantone.daqe.entity.ColumnInfo;
 import com.lantone.daqe.entity.RegularInfo;
+import com.lantone.daqe.entity.RegularMapping;
 import com.lantone.daqe.facade.base.ColumnInfoFacade;
 import com.lantone.daqe.facade.base.ColumnVerifyFacade;
 import com.lantone.daqe.facade.base.RegularInfoFacade;
+import com.lantone.daqe.facade.base.RegularMappingFacade;
+import com.lantone.daqe.vo.AddColumnVerifyVO;
+import com.lantone.daqe.vo.ColumnInfoVO;
+import com.lantone.daqe.vo.GetColumnNameVO;
 import com.lantone.daqe.vo.GetColumnVerifyPageVO;
+import com.lantone.daqe.vo.GetRegularVO;
+import com.lantone.daqe.vo.GetTableNameVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -34,6 +49,8 @@ public class ColumnVerifyManagementFacade {
     ColumnInfoFacade columnInfoFacade;
     @Autowired
     RegularInfoFacade regularInfoFacade;
+    @Autowired
+    RegularMappingFacade regularMappingFacade;
 
     /**
      * 获取字段校验规则分页列表数据
@@ -46,16 +63,36 @@ public class ColumnVerifyManagementFacade {
     }
 
     /**
-     * 下拉框获取数据库表中列数据信息
+     * 下拉框获取数据库表中列数据表名称信息
+     *
+     * @param
+     * @return: 数据库表中列数据表名称信息
+     */
+    public List<GetTableNameDTO> getTableName(GetTableNameVO getTableNameVO) {
+        List<ColumnInfo> columnInfoList = columnInfoFacade.getBaseMapper().selectList(new QueryWrapper<ColumnInfo>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .like(StringUtil.isNotBlank(getTableNameVO.getTableCname()), "table_cname", getTableNameVO.getTableCname())
+                .like(StringUtil.isNotBlank(getTableNameVO.getTableEname()), "table_ename", getTableNameVO.getTableEname())
+                .groupBy("table_cname","table_ename")
+        );
+        List<GetTableNameDTO> getColumnDTOList = BeanUtil.listCopyTo(columnInfoList, GetTableNameDTO.class);
+        return getColumnDTOList;
+    }
+
+    /**
+     * 下拉框获取数据库表中列数据字段名称信息
      *
      * @param
-     * @return: 数据库表中列数据信息
+     * @return: 数据库表中列数据字段名称信息
      */
-    public List<GetColumnDTO> getColumn() {
+    public List<GetColumnNameDTO> getColumnName(GetColumnNameVO getColumnNameVO) {
         List<ColumnInfo> columnInfoList = columnInfoFacade.getBaseMapper().selectList(new QueryWrapper<ColumnInfo>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .like(StringUtil.isNotBlank(getColumnNameVO.getColumnCname()), "column_cname", getColumnNameVO.getColumnCname())
+                .like(StringUtil.isNotBlank(getColumnNameVO.getColumnEname()), "column_ename", getColumnNameVO.getColumnEname())
+                .groupBy("column_cname","column_ename")
         );
-        List<GetColumnDTO> getColumnDTOList = BeanUtil.listCopyTo(columnInfoList, GetColumnDTO.class);
+        List<GetColumnNameDTO> getColumnDTOList = BeanUtil.listCopyTo(columnInfoList, GetColumnNameDTO.class);
         return getColumnDTOList;
     }
 
@@ -65,11 +102,60 @@ public class ColumnVerifyManagementFacade {
      * @param
      * @return: 正则式名称
      */
-    public List<GetRegularDTO> getRegular() {
+    public List<GetRegularDTO> getRegular(GetRegularVO getRegularVO) {
         List<RegularInfo> regularInfoList = regularInfoFacade.getBaseMapper().selectList(new QueryWrapper<RegularInfo>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .like(StringUtil.isNotBlank(getRegularVO.getName()), "name", getRegularVO.getName())
         );
         List<GetRegularDTO> regularDTOList = BeanUtil.listCopyTo(regularInfoList, GetRegularDTO.class);
         return regularDTOList;
     }
+
+    /**
+     * 新增字段校验规则
+     *
+     * @param
+     * @return: 是否成功
+     */
+    public Boolean addColumnVerify(AddColumnVerifyVO addColumnVerifyVO) {
+        List<ColumnInfoVO> columnList = addColumnVerifyVO.getColumnList();
+        List<Long> columnIdList = new ArrayList<>();
+        //查出表列信息ID
+        for (ColumnInfoVO columnInfoVO : columnList) {
+            ColumnInfo columnInfo = columnInfoFacade.getBaseMapper().selectOne(new QueryWrapper<ColumnInfo>()
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq(StringUtil.isNotBlank(columnInfoVO.getTableCname()), "table_cname", columnInfoVO.getTableCname())
+                    .eq(StringUtil.isNotBlank(columnInfoVO.getTableEname()), "table_ename", columnInfoVO.getTableEname())
+                    .eq(StringUtil.isNotBlank(columnInfoVO.getColumnCname()), "column_cname", columnInfoVO.getColumnCname())
+                    .eq(StringUtil.isNotBlank(columnInfoVO.getColumnEname()), "column_ename", columnInfoVO.getColumnEname())
+            );
+            columnIdList.add(columnInfo.getId());
+        }
+        //插入正则维护表
+        if(ListUtil.isNotEmpty(columnIdList)){
+            for (Long columnId : columnIdList) {
+                //先判断是否该字段信息是否已关联该正则
+                RegularMapping selectOneMapping = regularMappingFacade.getBaseMapper().selectOne(new QueryWrapper<RegularMapping>()
+                        .eq("column_id", columnId)
+                        .eq("regular_id", addColumnVerifyVO.getRegularId())
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                );
+                if(selectOneMapping!=null){
+                    Asserts.fail("所选字段已关联该正则,请重新选择正则!");
+                }
+                RegularMapping regularMapping = new RegularMapping();
+                regularMapping.setColumnId(columnId);
+                regularMapping.setGmtCreate(new Date());
+                regularMapping.setRegularId(addColumnVerifyVO.getRegularId());
+                int insert = regularMappingFacade.getBaseMapper().insert(regularMapping);
+                if(insert!=1){
+                    Asserts.fail("关联正则失败,请重试!");
+                }
+            }
+        }
+        //插入表字段的非空校验维护表
+        //插入关键字信息维护表
+        //插入总表
+        return null;
+    }
 }

+ 14 - 3
daqe-center/src/main/java/com/lantone/daqe/vo/AddColumnVerifyVO.java

@@ -19,14 +19,25 @@ import java.util.List;
 @Getter
 @Setter
 public class AddColumnVerifyVO implements Serializable {
-    private static final long serialVersionUID = -7833991160014144645L;
 
 
-    @ApiModelProperty(value = "表字段信息", required = true )
+    private static final long serialVersionUID = 7391387152361022696L;
+
+    @ApiModelProperty(value = "表字段信息", required = true)
     @NotNull(message = "表信息不能为空")
-    List<ColumnInfo> columnList;
+    List<ColumnInfoVO> columnList;
 
     @ApiModelProperty(value = "是否必填,0:否,1:是")
     String isRequired;
 
+    @ApiModelProperty(value = "正则式ID")
+    Long regularId;
+
+    @ApiModelProperty(value = "正则式名称")
+    String regularName;
+
+    @ApiModelProperty(value = "说明")
+    String description;
+
+
 }

+ 33 - 0
daqe-center/src/main/java/com/lantone/daqe/vo/ColumnInfoVO.java

@@ -0,0 +1,33 @@
+package com.lantone.daqe.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @Description:
+ * @author: zhanghang
+ * @time: 2022/3/7 10:13
+ */
+
+@ApiModel(value = "表字段名称表名称信息")
+@Getter
+@Setter
+public class ColumnInfoVO implements Serializable {
+    private static final long serialVersionUID = -4822420650132733065L;
+
+    @ApiModelProperty(value = "表名称(中文)")
+    private String tableCname;
+
+    @ApiModelProperty(value = "表名称(英文)")
+    private String tableEname;
+
+    @ApiModelProperty(value = "字段名称(中文)")
+    private String columnCname;
+
+    @ApiModelProperty(value = "字段名称(英文)")
+    private String columnEname;
+}

+ 27 - 0
daqe-center/src/main/java/com/lantone/daqe/vo/GetColumnNameVO.java

@@ -0,0 +1,27 @@
+package com.lantone.daqe.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 下拉框获取数据库表中列数据字段名称信息
+ * @author: zhanghang
+ * @time: 2022/3/7 9:45
+ */
+@ApiModel(value = "下拉框获取数据库表中列数据字段名称信息-接口入参")
+@Getter
+@Setter
+public class GetColumnNameVO implements Serializable {
+
+    private static final long serialVersionUID = 5838762135714290423L;
+
+    @ApiModelProperty(value = "字段名称(中文)")
+    private String columnCname;
+
+    @ApiModelProperty(value = "字段名称(英文)")
+    private String columnEname;
+}

+ 25 - 0
daqe-center/src/main/java/com/lantone/daqe/vo/GetRegularVO.java

@@ -0,0 +1,25 @@
+package com.lantone.daqe.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @Description:
+ * @author: zhanghang
+ * @time: 2022/3/7 10:35
+ */
+
+@ApiModel(value = "下拉框获取正则式名称-接口入参")
+@Getter
+@Setter
+public class GetRegularVO  implements Serializable {
+
+    private static final long serialVersionUID = 3368977183898868745L;
+
+    @ApiModelProperty(value = "正则名称")
+    private String name;
+}

+ 28 - 0
daqe-center/src/main/java/com/lantone/daqe/vo/GetTableNameVO.java

@@ -0,0 +1,28 @@
+package com.lantone.daqe.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 下拉框获取数据库表中列数据表名称信息-接口入参
+ * @author: zhanghang
+ * @time: 2022/3/7 9:45
+ */
+@ApiModel(value = "下拉框获取数据库表中列数据表名称信息-接口入参")
+@Getter
+@Setter
+public class GetTableNameVO implements Serializable {
+
+
+    private static final long serialVersionUID = 2433120529693705995L;
+
+    @ApiModelProperty(value = "表名称(中文)")
+    private String tableCname;
+
+    @ApiModelProperty(value = "表名称(英文)")
+    private String tableEname;
+}

+ 19 - 7
daqe-center/src/main/java/com/lantone/daqe/web/ColumnVerifyManagementController.java

@@ -3,14 +3,20 @@ package com.lantone.daqe.web;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.lantone.common.api.CommonResult;
 import com.lantone.daqe.dto.GetColumnDTO;
+import com.lantone.daqe.dto.GetColumnNameDTO;
 import com.lantone.daqe.dto.GetColumnVerifyPageDTO;
 import com.lantone.daqe.dto.GetRegularDTO;
+import com.lantone.daqe.dto.GetTableNameDTO;
 import com.lantone.daqe.facade.ColumnVerifyManagementFacade;
 import com.lantone.daqe.vo.AddColumnVerifyVO;
+import com.lantone.daqe.vo.GetColumnNameVO;
 import com.lantone.daqe.vo.GetColumnVerifyPageVO;
+import com.lantone.daqe.vo.GetRegularVO;
+import com.lantone.daqe.vo.GetTableNameVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -39,22 +45,28 @@ public class ColumnVerifyManagementController {
         return CommonResult.success(columnVerifyManagementFacade.getColumnVerifyPage(getColumnVerifyPageVO));
     }
 
-    @ApiOperation(value = "下拉框获取数据库表中列数据信息 [by:zhanghang]")
-    @PostMapping("/getColumn")
-    public CommonResult<List<GetColumnDTO>> getColumn() {
-        return CommonResult.success(columnVerifyManagementFacade.getColumn());
+    @ApiOperation(value = "下拉框获取数据库表中列数据表名称信息 [by:zhanghang]")
+    @PostMapping("/getTableName")
+    public CommonResult<List<GetTableNameDTO>> getTableName(@RequestBody GetTableNameVO getTableNameVO) {
+        return CommonResult.success(columnVerifyManagementFacade.getTableName(getTableNameVO));
+    }
+    @ApiOperation(value = "下拉框获取数据库表中列数据字段名称信息 [by:zhanghang]")
+    @PostMapping("/getColumnName")
+    public CommonResult<List<GetColumnNameDTO>> getColumnName(@RequestBody GetColumnNameVO getColumnNameVO) {
+        return CommonResult.success(columnVerifyManagementFacade.getColumnName(getColumnNameVO));
     }
 
     @ApiOperation(value = "下拉框获取正则式名称 [by:zhanghang]")
     @PostMapping("/getRegular")
-    public CommonResult<List<GetRegularDTO>> getRegular() {
-        return CommonResult.success(columnVerifyManagementFacade.getRegular());
+    public CommonResult<List<GetRegularDTO>> getRegular(@RequestBody GetRegularVO getRegularVO) {
+        return CommonResult.success(columnVerifyManagementFacade.getRegular(getRegularVO));
     }
 
 
     @ApiOperation(value = "新增字段校验规则 [by:zhanghang]")
     @PostMapping("/addColumnVerify")
+    @Transactional
     public CommonResult<Boolean> addColumnVerify(@RequestBody AddColumnVerifyVO addColumnVerifyVO) {
-        return CommonResult.success(null);
+        return CommonResult.success(columnVerifyManagementFacade.addColumnVerify(addColumnVerifyVO));
     }
 }