标准管理

pull/3/head
fjj 2023-12-20 22:38:43 +08:00
parent f6c4282b46
commit f6c5cd77b3
18 changed files with 426 additions and 67 deletions

View File

@ -23,6 +23,7 @@
<module>srt-cloud-system</module>
<module>srt-cloud-gateway</module>
<module>srt-data-development</module>
<module>srt-cloud-data-governance</module>
</modules>
<properties>

View File

@ -0,0 +1,21 @@
package net.srt;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
/**
* @ClassName : GovernanceApplication
* @Description :
* @Author : FJJ
* @Date: 2023-12-20 11:16
*/
@EnableDiscoveryClient
@SpringBootApplication
public class GovernanceApplication {
public static void main(String[] args) {
SpringApplication.run(GovernanceApplication.class, args);
}
}

View File

@ -0,0 +1,60 @@
package net.srt.standard.controller;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import net.srt.framework.common.page.PageResult;
import net.srt.framework.common.utils.BeanUtil;
import net.srt.framework.common.utils.Result;
import net.srt.framework.common.utils.TreeNodeVo;
import net.srt.standard.domain.dto.StandardManagementRequest;
import net.srt.standard.domain.entity.DatagovernanceEntity;
import net.srt.standard.domain.vo.StandardManagementVo;
import net.srt.standard.service.StandardService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
* @ClassName : DatastandardController
* @Description :
* @Author : FJJ
* @Date: 2023-12-20 20:36
*/
@RestController
@RequestMapping("/data-standard")
public class DatastandardController {
@Autowired
private StandardService standardService;
@GetMapping("page")
@Operation(summary = "分页")
public Result<PageResult<StandardManagementVo>> page(@Valid StandardManagementRequest query){
return Result.ok(standardService.pagea(query));
}
@PostMapping
@Operation(summary = "保存")
@PreAuthorize("hasAuthority('data-standard:fileCategory:save')")
public Result<String > add(@RequestBody StandardManagementVo standardManagementVo){
standardService.addStand(standardManagementVo);
return Result.ok();
}
@PostMapping
@Operation(summary = "修改")
@PreAuthorize("hasAuthority('data-standard:fileCategory:update')")
public Result<String > update(@RequestBody @Valid StandardManagementVo standardManagementVo){
standardService.updateStand(standardManagementVo);
return Result.ok();
}
@DeleteMapping
@Operation(summary = "删除")
@PreAuthorize("hasAuthority('data-standard:fileCategory:delete')")
public Result<String > delete(Long id){
standardService.delete(id);
return Result.ok();
}
}

View File

@ -0,0 +1,38 @@
package net.srt.standard.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import net.srt.framework.common.utils.BeanUtil;
import net.srt.framework.common.utils.Result;
import net.srt.framework.common.utils.TreeNodeVo;
import net.srt.standard.domain.entity.DatagovernanceEntity;
import net.srt.standard.domain.vo.StandardManagementVo;
import net.srt.standard.domain.dto.StandardManagementRequest;
import net.srt.standard.service.StandardService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @ClassName : StandardController
* @Description :
* @Author : FJJ
* @Date: 2023-12-20 11:30
*/
@RestController
@RequestMapping("/standard-category")
@Tag(name = "标准管理列表")
public class StandardController {
@Autowired
private StandardService standardService;
@GetMapping("list-tree")
@Operation(summary = "查询文件分组树")
public Result<List<TreeNodeVo>> listTree() {
return Result.ok(standardService.listTree());
}
}

View File

@ -0,0 +1,18 @@
package net.srt.standard.domain.dto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import net.srt.standard.domain.query.Query;
/**
* @ClassName : StandardManagementRequest
* @Description :
* @Author : FJJ
* @Date: 2023-12-20 14:40
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class StandardManagementRequest extends Query {
private String cnName;
private String engName;
}

View File

@ -0,0 +1,57 @@
package net.srt.standard.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import net.srt.framework.mybatis.entity.BaseEntity;
/**
*
*
* @author zrx 985134801@qq.com
* @since 1.0.0 2022-11-12
*/
@EqualsAndHashCode(callSuper = true)
@SuperBuilder
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("data_file_category")
public class DatagovernanceEntity extends BaseEntity {
/**
* id0
*/
private Long parentId;
/**
*
*/
private String name;
/**
*
*/
private Integer orderNo;
/**
*
*/
private String description;
/**
*
*/
private String path;
private Integer type;
/**
* id
*/
private Long projectId;
}

View File

@ -0,0 +1,33 @@
package net.srt.standard.domain.query;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @ClassName : Query
* @Description :
* @Author : FJJ
* @Date: 2023-12-20 21:46
*/
@Data
public class Query {
@NotNull(message = "页码不能为空")
@Min(value = 1, message = "页码最小值为 1")
@Schema(description = "当前页码", required = true)
Integer page;
@NotNull(message = "每页条数不能为空")
@Range(min = 1, max = 1000, message = "每页条数,取值范围 1-1000")
@Schema(description = "每页条数", required = true)
Integer limit;
@Schema(description = "排序字段")
String order;
@Schema(description = "是否升序")
boolean asc;
}

View File

@ -0,0 +1,49 @@
package net.srt.standard.domain.vo;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* @ClassName : StandardManagementVo
* @Description :
* @Author : FJJ
* @Date: 2023-12-20 11:24
*/
@Data
@Schema(description = "标准管理查询")
@TableName(value = "standard_management")
public class StandardManagementVo {
private static final long serialVersionUID = 1L;
@TableId("id")
private Long id;
private Integer categoryId;
private String engName;
private String cnName;
private Integer codeNum;
private String dataType;
private Integer dataLength;
private Integer dataPrecision;
private Integer nullable;
private Integer standardCodeId;
private Integer type;
private String note;
private Integer projectId;
private Integer status;
private Integer version;
private Integer deleted;
private String creator;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
private String updater;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date updateTime;
private Integer ifStandardRel;
}

View File

@ -0,0 +1,15 @@
package net.srt.standard.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import net.srt.standard.domain.entity.DatagovernanceEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* @ClassName : standardMapper
* @Description :
* @Author : FJJ
* @Date: 2023-12-20 11:30
*/
@Mapper
public interface StandardMapper extends BaseMapper<DatagovernanceEntity> {
}

View File

@ -0,0 +1,35 @@
package net.srt.standard.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import net.srt.framework.common.page.PageResult;
import net.srt.framework.common.utils.TreeNodeVo;
import net.srt.framework.mybatis.service.BaseService;
import net.srt.standard.domain.vo.StandardManagementVo;
import net.srt.standard.domain.entity.DatagovernanceEntity;
import net.srt.standard.domain.dto.StandardManagementRequest;
import java.util.List;
/**
* @ClassName : StandardService
* @Description :
* @Author : FJJ
* @Date: 2023-12-20 11:31
*/
public interface StandardService extends BaseService<DatagovernanceEntity> {
// Page<StandardManagementVo> listpage(StandardManagementRequest standardManagementRequest);
List<TreeNodeVo> listTree();
void addStand(StandardManagementVo standardManagementVo);
void updateStand(StandardManagementVo standardManagementVo);
void delete(Long id);
PageResult<StandardManagementVo> pagea(StandardManagementRequest query);
// PageResult<StandardManagementVo> list(StandardManagementRequest standardManagementRequest);
//
// void add(StandardManagementVo standardManagement);
}

View File

@ -0,0 +1,79 @@
package net.srt.standard.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import net.srt.framework.common.page.PageResult;
import net.srt.framework.common.utils.BeanUtil;
import net.srt.framework.common.utils.BuildTreeUtils;
import net.srt.framework.common.utils.TreeNodeVo;
import net.srt.framework.mybatis.service.impl.BaseServiceImpl;
import net.srt.standard.domain.vo.StandardManagementVo;
import net.srt.standard.domain.entity.DatagovernanceEntity;
import net.srt.standard.domain.dto.StandardManagementRequest;
import net.srt.standard.mapper.StandardMapper;
import net.srt.standard.service.StandardService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @ClassName : StandardServiceImpl
* @Description :
* @Author : FJJ
* @Date: 2023-12-20 11:31
*/
@Service
public class StandardServiceImpl extends BaseServiceImpl<StandardMapper, DatagovernanceEntity> implements StandardService {
@Autowired
private StandardMapper standardMapper;
@Override
public List<TreeNodeVo> listTree() {
LambdaQueryWrapper<DatagovernanceEntity> wrapper = new LambdaQueryWrapper<>();
dataScopeWithoutOrgId(wrapper);
wrapper.orderByAsc(DatagovernanceEntity::getOrderNo);
List<DatagovernanceEntity> dataFileCategoryEntities = baseMapper.selectList(wrapper);
List<TreeNodeVo> treeNodeVos = BeanUtil.copyListProperties(dataFileCategoryEntities, TreeNodeVo::new, (oldItem, newItem) -> {
newItem.setLabel(oldItem.getName());
newItem.setValue(oldItem.getId());
newItem.setDisabled(oldItem.getType() == 0);
if (newItem.getPath().contains("/")) {
newItem.setParentPath(newItem.getPath().substring(0, newItem.getPath().lastIndexOf("/")));
}
});
return BuildTreeUtils.buildTree(treeNodeVos);
}
@Override
public void addStand(StandardManagementVo standardManagementVo) {
}
@Override
public void updateStand(StandardManagementVo standardManagementVo) {
}
@Override
public void delete(Long id) {
}
@Override
public PageResult<StandardManagementVo> pagea(StandardManagementRequest query) {
return null;
}
//
// @Override
// public void add(StandardManagementVo standardManagement) {
// UserDetail user = getUser();
// standardManagement.setCreator(user.getUsername());
// standardManagement.setCreateTime(new Date());
// standardMapper.insert(standardManagement);
// }
}

View File

@ -1,51 +0,0 @@
package net.srt.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import net.srt.framework.common.utils.DateUtils;
import net.srt.framework.common.utils.TreeNodeVo;
import java.util.Date;
import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(description = "数据治理-元数据-元模型-树目录")
public class MetamodelTreeVo {
private Long id;
private Long parentId;
private Integer ifLeaf;
//作业类型
private Long taskId;
private Integer taskType;
private String parentPath;
private String path;
private Integer orderNo;
private String label;
private Long metamodelId;
private String name;
private String icon;
private String code;
private Integer builtin;
private String description;
private Long projectId;
private Long creator;
@JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
private Date createTime;
private List<MetamodelTreeVo> children;
private boolean disabled;
private Boolean leaf;
/**
*
*/
private Object attributes;
/**
*
*/
private Object type;
private Object value;
}

View File

@ -1,14 +0,0 @@
package net.srt.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(description = "数据治理-元数据-元模型")
public class MetamodelVo {
}

View File

@ -3,7 +3,7 @@
<configuration status="OFF" monitorInterval="600">
<Properties>
<property name="LOG_PATH">./logs/</property>
<property name="LOG_FILE">srt-cloud-data-integrate</property>
<property name="LOG_FILE">srt-cloud-system</property>
</Properties>
<!--定义添加器-->
<appenders>
@ -34,7 +34,7 @@
</appenders>
<loggers>
<logger name="net.srt.dao" level="DEBUG" additivity="false">
<logger name="net.srt.system.dao" level="DEBUG" additivity="false">
<appender-ref ref="Console"/>
</logger>
<!--level="info"代表只能打印出info及其以上的信息Console是上面Console标签的名字往这一写就可以往控制台上输出内容了RollingFile是上面RollingFile标签的名字往这一写就会往设定的文件中输出内容了当程序运行的时候就会被创建日志输出文件不过里面没有任何日志内容是否往里面输入日志是通过下面的appender-ref标签控制的-->

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="net.srt.standard.mapper.StandardMapper">
<!-- <select id="selectPage" resultType="net.srt.standard.domain.StandardManagementVoVo">-->
<!-- select *-->
<!-- from standard_management-->
<!-- <where>-->
<!-- <if test="cnName!= null">-->
<!-- and cnName like concat('%', #{cnName}, '%')-->
<!-- </if>-->
<!-- <if test="engName!= null">-->
<!-- and engName like concat('%', #{engName}, '%')-->
<!-- </if>-->
<!-- </where>-->
<!-- </select>-->
</mapper>