最新一版

dev
chenbingxuan 2023-12-28 10:12:22 +08:00
parent e17ee79fa3
commit 72b9a08bbc
23 changed files with 192 additions and 132 deletions

View File

@ -23,7 +23,7 @@ public class MetadataController {
@GetMapping("/list-child")
@Operation(summary = "根据父级id获取信息")
public Result<List<TreeNodeVo>> listByParentId(@RequestParam Long parentId){
List<TreeNodeVo> treeNodeVos = metadataService.listByParentId(parentId);
List<TreeNodeVo> treeNodeVos = metadataService.listByPatenId(parentId);
return Result.ok(treeNodeVos);
}
@ -44,7 +44,7 @@ public class MetadataController {
@GetMapping("/list-keyword")
@Operation(summary = "模糊查询")
public Result<List<TreeNodeVo>> listByKeyword(String keyword){
List<TreeNodeVo> treeNodeVos = metadataService.listByKeyword(keyword);
List<TreeNodeVo> treeNodeVos = metadataService.listKeyword(keyword);
return Result.ok(treeNodeVos);
}
@ -78,13 +78,13 @@ public class MetadataController {
@PostMapping("/neo4j")
@Operation(summary = "更新neo4j的url")
public Result<String> upNeo4jInfo(@RequestBody Neo4jInfo neo4jInfo){
metadataService.upNeo4jInfo(neo4jInfo);
metadataService.updateNeo4j(neo4jInfo);
return Result.ok();
}
@GetMapping("/neo4j")
@Operation(summary = "获取neo4j的url")
public Result<Neo4jInfo> getNeo4jInfo(){
return Result.ok(metadataService.getNeo4jInfo());
return Result.ok(metadataService.getNeo4j());
}
}

View File

@ -7,7 +7,7 @@ import net.srt.framework.common.page.PageResult;
import net.srt.framework.common.utils.Result;
import net.srt.query.QualityConfigQuery;
import net.srt.service.QualityConfigService;
import net.srt.vo.QualityConfigVO;
import net.srt.vo.QualityConfigVo;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
@ -28,26 +28,26 @@ public class QualityConfigController {
@GetMapping("page")
@Operation(summary = "分页")
public Result<PageResult<QualityConfigVO>> page(@Valid QualityConfigQuery query){
PageResult<QualityConfigVO> page= qualityConfigService.page(query);
public Result<PageResult<QualityConfigVo>> page(@Valid QualityConfigQuery query){
PageResult<QualityConfigVo> page= qualityConfigService.page(query);
return Result.ok(page);
}
@GetMapping("{id}")
@Operation(summary = "信息")
public Result<QualityConfigVO> get(@PathVariable("id") Long id){
public Result<QualityConfigVo> get(@PathVariable("id") Long id){
return Result.ok(qualityConfigService.get(id));
}
@PostMapping
@Operation(summary = "保存")
public Result<String> save(@RequestBody QualityConfigVO vo){
public Result<String> save(@RequestBody QualityConfigVo vo){
qualityConfigService.save(vo);
return Result.ok();
}
@PutMapping
@Operation(summary = "修改")
public Result<String> update(@RequestBody @Valid QualityConfigVO vo){
public Result<String> update(@RequestBody @Valid QualityConfigVo vo){
qualityConfigService.update(vo);
return Result.ok();
}

View File

@ -1,7 +1,7 @@
package net.srt.convert;
import net.srt.entity.QualityConfigEntity;
import net.srt.vo.QualityConfigVO;
import net.srt.vo.QualityConfigVo;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
@ -17,9 +17,9 @@ import java.util.List;
public interface QualityConfigConvert {
QualityConfigConvert INSTANCE = Mappers.getMapper(QualityConfigConvert.class);
QualityConfigVO convert(QualityConfigEntity entity);
QualityConfigVo convert(QualityConfigEntity entity);
QualityConfigEntity convert(QualityConfigVO vo);
QualityConfigEntity convert(QualityConfigVo vo);
List<QualityConfigVO> convertList(List<QualityConfigEntity> list);
List<QualityConfigVo> convertList(List<QualityConfigEntity> list);
}

View File

@ -4,7 +4,7 @@ import net.srt.entity.QualityConfigEntity;
import net.srt.framework.common.page.PageResult;
import net.srt.framework.mybatis.service.BaseService;
import net.srt.query.QualityConfigQuery;
import net.srt.vo.QualityConfigVO;
import net.srt.vo.QualityConfigVo;
import java.util.List;
@ -15,13 +15,13 @@ import java.util.List;
* @CreateTime: 2023/12/24 19:33
*/
public interface QualityConfigService extends BaseService<QualityConfigEntity> {
PageResult<QualityConfigVO> page(QualityConfigQuery query);
PageResult<QualityConfigVo> page(QualityConfigQuery query);
QualityConfigVO get(Long id);
QualityConfigVo get(Long id);
void save(QualityConfigVO vo);
void save(QualityConfigVo vo);
void update(QualityConfigVO vo);
void update(QualityConfigVo vo);
void online(Long id);

View File

@ -18,7 +18,7 @@ import net.srt.framework.common.page.PageResult;
import net.srt.framework.mybatis.service.impl.BaseServiceImpl;
import net.srt.query.QualityConfigQuery;
import net.srt.service.QualityConfigService;
import net.srt.vo.QualityConfigVO;
import net.srt.vo.QualityConfigVo;
import org.springframework.stereotype.Service;
import srt.cloud.framework.dbswitch.common.util.StringUtil;
@ -37,39 +37,39 @@ public class QualityConfigServiceimpl extends BaseServiceImpl<QualityConfigDao,
private final QuartzDataGovernanceQualityApi quartzDataGovernanceQualityApi;
private final MetadataDao metadataDao;
@Override
public PageResult<QualityConfigVO> page(QualityConfigQuery query) {
public PageResult<QualityConfigVo> page(QualityConfigQuery query) {
IPage<QualityConfigEntity> page=baseMapper.selectPage(getPage(query),getWrapper(query));
return new PageResult<>(QualityConfigConvert.INSTANCE.convertList(page.getRecords()),page.getTotal());
}
@Override
public QualityConfigVO get(Long id) {
QualityConfigVO QualityConfigVO= QualityConfigConvert.INSTANCE.convert(baseMapper.selectById(id));
List<Integer> metadataIds=QualityConfigVO.getMetadataIds();
public QualityConfigVo get(Long id) {
QualityConfigVo QualityConfigVo= QualityConfigConvert.INSTANCE.convert(baseMapper.selectById(id));
List<Integer> metadataIds=QualityConfigVo.getMetadataIds();
LambdaQueryWrapper<MetadataEntity> metadataWrapper= Wrappers.lambdaQuery();
metadataWrapper.in(MetadataEntity::getId,metadataIds);
List<MetadataEntity> metadataEntities=metadataDao.selectList(metadataWrapper);
if (CollectionUtils.isEmpty(metadataEntities)){
QualityConfigVO.setMetadataStrs("检测字段已删除,请检查数据信息");
QualityConfigVo.setMetadataStrs("检测字段已删除,请检查数据信息");
}else {
QualityConfigVO.setMetadataStrs(metadataEntities.stream().map(MetadataEntity::getPath).collect(Collectors.joining(";")));
QualityConfigVo.setMetadataStrs(metadataEntities.stream().map(MetadataEntity::getPath).collect(Collectors.joining(";")));
}
if (BuiltInQualityRule.ASSOCIATION_CONSISTENCY.getId().equals(QualityConfigVO.getRuleId())){
QualityConfigParam param = QualityConfigVO.getParam();
if (BuiltInQualityRule.ASSOCIATION_CONSISTENCY.getId().equals(QualityConfigVo.getRuleId())){
QualityConfigParam param = QualityConfigVo.getParam();
Integer columnMetaId = param.getColumnMetaId();
MetadataEntity entity = metadataDao.selectById(columnMetaId);
if (entity!= null){
QualityConfigVO.setRelMetadataStr(entity.getPath());
QualityConfigVo.setRelMetadataStr(entity.getPath());
}else {
QualityConfigVO.setMetadataStrs("关联字段已被删除,请检查元数据信息");
QualityConfigVo.setMetadataStrs("关联字段已被删除,请检查元数据信息");
}
}
return QualityConfigVO;
return QualityConfigVo;
}
@Override
public void save(QualityConfigVO vo) {
public void save(QualityConfigVo vo) {
QualityConfigEntity entity=QualityConfigConvert.INSTANCE.convert(vo);
entity.setProjectId(getProjectId());
if (!BuiltInQualityRule.UNIQUENESS.getId().equals(entity.getRuleId())&&!BuiltInQualityRule.LENGTH_CHECK.getId().equals(entity.getRuleId())&& !BuiltInQualityRule.ASSOCIATION_CONSISTENCY.getId().equals(entity.getRuleId())&&!BuiltInQualityRule.TIMELINESS.getId().equals(entity.getRuleId())){
@ -79,7 +79,7 @@ public class QualityConfigServiceimpl extends BaseServiceImpl<QualityConfigDao,
}
@Override
public void update(QualityConfigVO vo) {
public void update(QualityConfigVo vo) {
if (!BuiltInQualityRule.UNIQUENESS.getId().equals(vo.getRuleId())&&!BuiltInQualityRule.LENGTH_CHECK.getId().equals(vo.getRuleId())&&!BuiltInQualityRule.ASSOCIATION_CONSISTENCY.getId().equals(vo.getRuleId())&&!BuiltInQualityRule.TIMELINESS.getId().equals(vo.getRuleId())){
vo.setParam(null);
}

View File

@ -0,0 +1,49 @@
package net.srt.vo;
import com.baomidou.mybatisplus.annotation.TableId;
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.io.Serializable;
import java.util.Date;
/**
* @ClassName : DatastandardVo
* @Description :
* @Author : FJJ
* @Date: 2023-12-23 12:05
*/
@Data
@Schema(description = "标准管理查询")
public class DatastandardVo implements Serializable {
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 Long 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;
private String group;
}

View File

@ -15,7 +15,7 @@ spring:
discovery:
server-addr: 101.34.77.101:8848
# 命名空间默认public
namespace: 7e34f104-f333-4828-b36a-02146e521c9a
namespace: 9de208a6-cb30-41ae-a880-78196c99c050
service: ${spring.application.name}
group: srt2.0
config:

View File

@ -15,7 +15,7 @@ spring:
discovery:
server-addr: 101.34.77.101:8848
# 命名空间默认public
namespace: 7e34f104-f333-4828-b36a-02146e521c9a
namespace: 9de208a6-cb30-41ae-a880-78196c99c050
service: ${spring.application.name}
group: srt2.0
config:

View File

@ -15,7 +15,7 @@ spring:
discovery:
server-addr: 101.34.77.101:8848
# 命名空间默认public、
namespace: a60b2ca1-a8c6-47ae-94f1-741105674655
namespace: 9de208a6-cb30-41ae-a880-78196c99c050
service: ${spring.application.name}
group: srt2.0
config:

View File

@ -40,7 +40,6 @@ public class SecurityFilterConfig {
.and().authorizeRequests()
.antMatchers(permits).permitAll()
.antMatchers(HttpMethod.OPTIONS).permitAll()
.antMatchers("/datax/**").permitAll()
.anyRequest().authenticated()
.and().exceptionHandling().authenticationEntryPoint(new SecurityAuthenticationEntryPoint())
.and().headers().frameOptions().disable()

View File

@ -11,7 +11,7 @@ spring:
discovery:
server-addr: 101.34.77.101:8848
# 命名空间默认public
namespace: 7e34f104-f333-4828-b36a-02146e521c9a
namespace: 9de208a6-cb30-41ae-a880-78196c99c050
service: ${spring.application.name}
group: srt2.0
config:

View File

@ -11,7 +11,7 @@ spring:
discovery:
server-addr: 101.34.77.101:8848
# 命名空间默认public
namespace: 7e34f104-f333-4828-b36a-02146e521c9a
namespace: 9de208a6-cb30-41ae-a880-78196c99c050
service: ${spring.application.name}
group: srt2.0
config:

View File

@ -11,7 +11,7 @@ spring:
discovery:
server-addr: 101.34.77.101:8848
# 命名空间默认public
namespace: 7e34f104-f333-4828-b36a-02146e521c9a
namespace: 9de208a6-cb30-41ae-a880-78196c99c050
service: ${spring.application.name}
group: srt2.0
config:

View File

@ -9,6 +9,11 @@
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>net.srt</groupId>
<artifactId>srt-cloud-api</artifactId>
<version>2.0.0</version>
</dependency>
<!--数据血缘-->
<dependency>
<groupId>net.srt</groupId>
@ -58,7 +63,7 @@
</dependency>
<dependency>
<groupId>net.srt</groupId>
<artifactId>srt-cloud-datax</artifactId>
<artifactId>srt-cloud-api</artifactId>
<version>2.0.0</version>
</dependency>
</dependencies>
@ -165,24 +170,25 @@
</plugin>
<!--打包 日常调试打包可以把该组件注释掉不然install的速度比较慢-->
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>${project.parent.parent.basedir}/assembly/assembly-win.xml</descriptor>
<descriptor>${project.parent.parent.basedir}/assembly/assembly-linux.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- <plugin>-->
<!-- <artifactId>maven-assembly-plugin</artifactId>-->
<!-- <configuration>-->
<!-- <descriptors>-->
<!-- <descriptor>../../../srt-cloud-3z/assembly/assembly-win.xml</descriptor>-->
<!-- <descriptor>../../../srt-cloud-3z/assembly/assembly-linux.xml</descriptor>-->
<!-- </descriptors>-->
<!-- </configuration>-->
<!-- <executions>-->
<!-- <execution>-->
<!-- <id>make-assembly</id>-->
<!-- <phase>package</phase>-->
<!-- <goals>-->
<!-- <goal>single</goal>-->
<!-- </goals>-->
<!-- </execution>-->
<!-- </executions>-->
<!-- </plugin>-->
<!--<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>

View File

@ -14,7 +14,6 @@ import org.springframework.context.annotation.ComponentScan;
@EnableFeignClients
@EnableDiscoveryClient
@SpringBootApplication
@ComponentScan(basePackages = "net.srt.framework.common.cache")
public class QuartzApplication {
public static void main(String[] args) {

View File

@ -8,7 +8,6 @@ import net.srt.api.module.data.integrate.dto.DataAccessDto;
import net.srt.api.module.data.integrate.dto.DataAccessTaskDto;
import net.srt.api.module.quartz.QuartzDataAccessApi;
import net.srt.api.module.quartz.constant.QuartzJobType;
import net.srt.datax.feign.DataAccessFeign;
import net.srt.framework.common.utils.Result;
import net.srt.quartz.entity.ScheduleJobEntity;
import net.srt.quartz.enums.JobGroupEnum;
@ -32,7 +31,6 @@ public class QuartzDataAccessApiImpl implements QuartzDataAccessApi {
private final Scheduler scheduler;
private final DataAccessApi dataAccessApi;
private final ScheduleJobService jobService;
private final DataAccessFeign feign;
@Override
public Result<String> releaseAccess(Long id) {
@ -53,24 +51,48 @@ public class QuartzDataAccessApiImpl implements QuartzDataAccessApi {
return Result.ok();
}
/**
*
* @param id ID
* @return
*/
@Override
public Result<String> handRun(Long id) {
// 构建任务实体
ScheduleJobEntity jobEntity = buildJobEntity(id);
// 设置任务为单例,且不保存日志
jobEntity.setOnce(true);
jobEntity.setSaveLog(false);
// 执行任务
ScheduleUtils.run(scheduler, jobEntity);
// 返回运行结果
return Result.ok();
}
/**
* id
* @param id id
* @return
*/
private ScheduleJobEntity buildJobEntity(Long id) {
DataAccessDto dataAccessDto = dataAccessApi.getById(id).getData();
if (dataAccessDto.getIsDatax().equals("datax")){
feign.execute(dataAccessDto);
return ScheduleJobEntity.builder()
.typeId(id)
.projectId(dataAccessDto.getProjectId())
.jobType(QuartzJobType.DATA_ACCESS.getValue())
.jobName(String.format("[%s]%s", id.toString(), dataAccessDto.getTaskName()))
.concurrent(ScheduleConcurrentEnum.NO.getValue())
.beanName("dataAccessTask")
.method("run")
.jobGroup(JobGroupEnum.DATA_ACCESS.getValue())
.saveLog(true)
.cronExpression(dataAccessDto.getCron())
.status(ScheduleStatusEnum.NORMAL.getValue())
.params(String.valueOf(id))
.once(TaskType.ONE_TIME_FULL_SYNC.getCode().equals(dataAccessDto.getTaskType()))
.build();
}
return ScheduleJobEntity.builder().isDatax(dataAccessDto.getIsDatax()).typeId(id).projectId(dataAccessDto.getProjectId()).jobType(QuartzJobType.DATA_ACCESS.getValue()).jobName(String.format("[%s]%s", id.toString(), dataAccessDto.getTaskName())).concurrent(ScheduleConcurrentEnum.NO.getValue())
.beanName("dataAccessTask").method("run").jobGroup(JobGroupEnum.DATA_ACCESS.getValue()).saveLog(true).cronExpression(dataAccessDto.getCron()).status(ScheduleStatusEnum.NORMAL.getValue())
.params(String.valueOf(id)).once(TaskType.ONE_TIME_FULL_SYNC.getCode().equals(dataAccessDto.getTaskType())).build();
}
}

View File

@ -1,6 +1,5 @@
package net.srt.quartz.utils;
import net.srt.datax.feign.DataAccessFeign;
import net.srt.framework.common.exception.ServerException;
import net.srt.quartz.entity.ScheduleJobEntity;
import net.srt.quartz.enums.ScheduleConcurrentEnum;

View File

@ -11,7 +11,7 @@ spring:
discovery:
server-addr: 101.34.77.101:8848
# 命名空间默认public
namespace: 7e34f104-f333-4828-b36a-02146e521c9a
namespace: 9de208a6-cb30-41ae-a880-78196c99c050
service: ${spring.application.name}
group: srt2.0
config:

View File

@ -14,7 +14,7 @@ spring:
discovery:
server-addr: 101.34.77.101:8848
# 命名空间默认public
namespace: 7e34f104-f333-4828-b36a-02146e521c9a
namespace: 9de208a6-cb30-41ae-a880-78196c99c050
service: ${spring.application.name}
group: srt2.0
config:

View File

@ -2,20 +2,6 @@ server:
port: 8094
spring:
datasource:
druid:
stat-view-servlet:
enabled: true
loginUsername: bwie
loginPassword: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://101.34.77.101:3306/12.5yk?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: cbx@123
type: com.alibaba.druid.pool.DruidDataSource
mvc:
servlet:
load-on-startup: 1
application:
name: srt-cloud-data-development
profiles: