From 2c021232d7a57553fce2ff0ce2f113714d5c16e6 Mon Sep 17 00:00:00 2001 From: LiZi <2954265606@qq.com> Date: Sun, 24 Dec 2023 22:15:12 +0800 Subject: [PATCH 01/22] =?UTF-8?q?my=E6=9C=80=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- srt-cloud-data-server/.gitignore | 38 ++++ srt-cloud-data-server/pom.xml | 204 ++++++++++++++++++ .../java/net/srt/DataServiceApplication.java | 16 ++ .../srt/controller/ApiConfigController.java | 118 ++++++++++ .../srt/controller/ApiGroupController.java | 70 ++++++ .../main/java/net/srt/controller/ApiTest.java | 43 ++++ .../net/srt/convert/ApiConfigConvert.java | 29 +++ .../java/net/srt/convert/ApiGroupConvert.java | 26 +++ .../java/net/srt/convert/ApiLogConvert.java | 25 +++ .../main/java/net/srt/dto/ApiConfigDto.java | 49 +++++ .../java/net/srt/entity/ApiConfigEntity.java | 59 +++++ .../java/net/srt/entity/ApiGroupEntity.java | 41 ++++ .../java/net/srt/entity/ApiLogEntity.java | 31 +++ .../java/net/srt/mapper/ApiConfigDao.java | 14 ++ .../main/java/net/srt/mapper/ApiGroupDao.java | 9 + .../main/java/net/srt/mapper/ApiLogDao.java | 15 ++ .../java/net/srt/query/ApiConfigQuery.java | 21 ++ .../main/java/net/srt/query/ApiLogQuery.java | 16 ++ .../net/srt/service/ApiConfigService.java | 37 ++++ .../java/net/srt/service/ApiGroupService.java | 18 ++ .../java/net/srt/service/ApiLogService.java | 19 ++ .../service/impl/ApiConfigServiceImpl.java | 164 ++++++++++++++ .../srt/service/impl/ApiGroupServiceImpl.java | 93 ++++++++ .../srt/service/impl/ApiLogServiceImpl.java | 54 +++++ .../src/main/java/net/srt/vo/ApiConfig.java | 51 +++++ .../src/main/java/net/srt/vo/ApiGroup.java | 25 +++ .../src/main/java/net/srt/vo/ApiLog.java | 32 +++ .../src/main/resources/auth.yml | 7 + .../src/main/resources/bootstrap.yml | 43 ++++ .../src/main/resources/log4j2.xml | 48 +++++ .../main/resources/mapper/ApiConfigMapper.xml | 14 ++ ...k-app-1.14-2.0.0-jar-with-dependencies.jar | Bin 19336858 -> 19336872 bytes .../flink-catalog-mysql-1.14-2.0.0.jar | Bin 21538 -> 21538 bytes .../build/extends/flink-client-1.14-2.0.0.jar | Bin 146952 -> 146952 bytes .../mybatis/service/impl/BaseServiceImpl.java | 19 +- srt-cloud-module/srt-cloud-datax/pom.xml | 20 +- 37 files changed, 1453 insertions(+), 17 deletions(-) create mode 100644 srt-cloud-data-server/.gitignore create mode 100644 srt-cloud-data-server/pom.xml create mode 100644 srt-cloud-data-server/src/main/java/net/srt/DataServiceApplication.java create mode 100644 srt-cloud-data-server/src/main/java/net/srt/controller/ApiConfigController.java create mode 100644 srt-cloud-data-server/src/main/java/net/srt/controller/ApiGroupController.java create mode 100644 srt-cloud-data-server/src/main/java/net/srt/controller/ApiTest.java create mode 100644 srt-cloud-data-server/src/main/java/net/srt/convert/ApiConfigConvert.java create mode 100644 srt-cloud-data-server/src/main/java/net/srt/convert/ApiGroupConvert.java create mode 100644 srt-cloud-data-server/src/main/java/net/srt/convert/ApiLogConvert.java create mode 100644 srt-cloud-data-server/src/main/java/net/srt/dto/ApiConfigDto.java create mode 100644 srt-cloud-data-server/src/main/java/net/srt/entity/ApiConfigEntity.java create mode 100644 srt-cloud-data-server/src/main/java/net/srt/entity/ApiGroupEntity.java create mode 100644 srt-cloud-data-server/src/main/java/net/srt/entity/ApiLogEntity.java create mode 100644 srt-cloud-data-server/src/main/java/net/srt/mapper/ApiConfigDao.java create mode 100644 srt-cloud-data-server/src/main/java/net/srt/mapper/ApiGroupDao.java create mode 100644 srt-cloud-data-server/src/main/java/net/srt/mapper/ApiLogDao.java create mode 100644 srt-cloud-data-server/src/main/java/net/srt/query/ApiConfigQuery.java create mode 100644 srt-cloud-data-server/src/main/java/net/srt/query/ApiLogQuery.java create mode 100644 srt-cloud-data-server/src/main/java/net/srt/service/ApiConfigService.java create mode 100644 srt-cloud-data-server/src/main/java/net/srt/service/ApiGroupService.java create mode 100644 srt-cloud-data-server/src/main/java/net/srt/service/ApiLogService.java create mode 100644 srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java create mode 100644 srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java create mode 100644 srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiLogServiceImpl.java create mode 100644 srt-cloud-data-server/src/main/java/net/srt/vo/ApiConfig.java create mode 100644 srt-cloud-data-server/src/main/java/net/srt/vo/ApiGroup.java create mode 100644 srt-cloud-data-server/src/main/java/net/srt/vo/ApiLog.java create mode 100644 srt-cloud-data-server/src/main/resources/auth.yml create mode 100644 srt-cloud-data-server/src/main/resources/bootstrap.yml create mode 100644 srt-cloud-data-server/src/main/resources/log4j2.xml create mode 100644 srt-cloud-data-server/src/main/resources/mapper/ApiConfigMapper.xml diff --git a/pom.xml b/pom.xml index 8ce166e..9003ee4 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,7 @@ srt-cloud-gateway srt-data-development srt-cloud-data-governance - srt-cloud-data-service + srt-cloud-data-server diff --git a/srt-cloud-data-server/.gitignore b/srt-cloud-data-server/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/srt-cloud-data-server/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/srt-cloud-data-server/pom.xml b/srt-cloud-data-server/pom.xml new file mode 100644 index 0000000..9d2401b --- /dev/null +++ b/srt-cloud-data-server/pom.xml @@ -0,0 +1,204 @@ + + + 4.0.0 + + net.srt + srt-cloud + 2.0.0 + + + srt-cloud-data-server + + + 8 + 8 + UTF-8 + + + + + net.srt + srt-cloud-api + 2.0.0 + + + + org.springframework.boot + spring-boot-starter-log4j2 + + + net.srt + srt-cloud-mybatis + 2.0.0 + + + net.srt + srt-cloud-dbswitch + 2.0.0 + + + jsqlparser + com.github.jsqlparser + + + spring-boot-starter-logging + org.springframework.boot + + + + + org.springframework.cloud + spring-cloud-starter-bootstrap + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + com.github.xiaoymin + knife4j-springdoc-ui + + + + + + + + org.codehaus.mojo + appassembler-maven-plugin + 2.1.0 + + + + + generate-jsw-scripts + package + + generate-daemons + + + + + + + flat + + src/main/resources + true + + true + + conf + + lib + + bin + UTF-8 + logs + + + + ${project.artifactId} + net.srt.DataServiceApplication + + jsw + + + + jsw + + linux-x86-32 + linux-x86-64 + windows-x86-32 + windows-x86-64 + + + + configuration.directory.in.classpath.first + conf + + + wrapper.ping.timeout + 120 + + + set.default.REPO_DIR + lib + + + wrapper.logfile + logs/wrapper.log + + + + + + + + + -server + -Dfile.encoding=utf-8 + -Xms128m + -Xmx1024m + -XX:+PrintGCDetails + -XX:+PrintGCDateStamps + -Xloggc:logs/gc.log + + + + + + + net.srt.DataServiceApplication + ${project.artifactId} + + + + + + + + maven-assembly-plugin + + + ${project.parent.basedir}/assembly/assembly-win.xml + ${project.parent.basedir}/assembly/assembly-linux.xml + + + + + make-assembly + package + + single + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + true + + + + + + diff --git a/srt-cloud-data-server/src/main/java/net/srt/DataServiceApplication.java b/srt-cloud-data-server/src/main/java/net/srt/DataServiceApplication.java new file mode 100644 index 0000000..08dc8b9 --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/DataServiceApplication.java @@ -0,0 +1,16 @@ +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; + +@EnableFeignClients +@EnableDiscoveryClient +@SpringBootApplication +public class DataServiceApplication { + public static void main(String[] args) { + SpringApplication.run(DataServiceApplication.class, args); + System.out.println("==============启动成功==================="); + } +} diff --git a/srt-cloud-data-server/src/main/java/net/srt/controller/ApiConfigController.java b/srt-cloud-data-server/src/main/java/net/srt/controller/ApiConfigController.java new file mode 100644 index 0000000..c84f33a --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/controller/ApiConfigController.java @@ -0,0 +1,118 @@ +package net.srt.controller; + +import io.swagger.v3.oas.annotations.Operation; +import lombok.AllArgsConstructor; +import net.srt.dto.ApiConfigDto; +import net.srt.entity.ApiConfigEntity; +import net.srt.framework.common.page.PageResult; +import net.srt.framework.common.utils.Result; +import net.srt.framework.common.utils.TreeNodeVo; +import net.srt.query.ApiConfigQuery; +import net.srt.service.ApiConfigService; +import net.srt.vo.ApiConfig; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +@RestController +@RequestMapping("/api-config") +@AllArgsConstructor +public class ApiConfigController { + private final ApiConfigService apiConfigService; + + + + /** + * 查询文件分组树 + * + * @return 结果列表 + */ + @GetMapping("/api-group") + @Operation(summary = "查询文件分组树") + public Result> listTree() { + return Result.ok(apiConfigService.listTree()); + } + + /** + * 分页查询API配置 + * @param query API配置查询对象 + * @return 分页结果 + */ + @GetMapping("page") + @Operation(summary = "分页") + @PreAuthorize("hasAuthority('data-service:api-config:page')") + public Result> page(@Valid ApiConfigQuery query) { + PageResult page = apiConfigService.page(query); + + return Result.ok(page); + } + + /** + * 获取IP和端口信息 + * + * @return 返回IP和端口信息 + */ + @GetMapping("getIpPort") + public Result getIpPort() { + return Result.ok(apiConfigService.getIpPort()); + } + + /** + * 根据ID获取API配置信息 + * + * @param id API配置ID + * @return API配置实体对象 + */ + @GetMapping("/{id}") + @Operation(summary = "查看") + @PreAuthorize("hasAuthority('data-service:api-config:info')") + public Result get(@PathVariable("id") Long id) { + ApiConfigEntity apiConfig = apiConfigService.getByI(id); + + return Result.ok(apiConfig); + } + + @PutMapping("/{id}") + @Operation(summary = "修改") + @PreAuthorize("hasAuthority('data-service:api-config:update')") + public Result update(@PathVariable Long id, @RequestBody @Valid ApiConfigEntity vo) { + apiConfigService.update(id,vo); + return Result.ok(); + } + @PutMapping("/{id}/offline") + @Operation(summary = "下线") + @PreAuthorize("hasAuthority('data-service:api-config:update')") + public Result xia(@PathVariable Long id) { + apiConfigService.xia(id); + return Result.ok(); + } + + @PutMapping("/{id}/online") + @Operation(summary = "上线") + @PreAuthorize("hasAuthority('data-service:api-config:update')") + public Result shang(@PathVariable Long id) { + apiConfigService.shang(id); + return Result.ok(); + } + + + @PostMapping + @Operation(summary = "新增") + @PreAuthorize("hasAuthority('data-service:api-config:save')") + public Result insert(@RequestBody ApiConfig vo) { + apiConfigService.sav(vo); + return Result.ok(); + } + + @DeleteMapping + @Operation(summary = "删除") + @PreAuthorize("hasAuthority('data-service:api-config:delete')") + public Result delete(@PathVariable("id") Long id) { + apiConfigService.removeByI(id); + return Result.ok(); + } + + +} diff --git a/srt-cloud-data-server/src/main/java/net/srt/controller/ApiGroupController.java b/srt-cloud-data-server/src/main/java/net/srt/controller/ApiGroupController.java new file mode 100644 index 0000000..d63facc --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/controller/ApiGroupController.java @@ -0,0 +1,70 @@ +package net.srt.controller; + +import io.swagger.v3.oas.annotations.Operation; +import lombok.AllArgsConstructor; +import net.srt.convert.ApiGroupConvert; +import net.srt.entity.ApiGroupEntity; +import net.srt.framework.common.utils.Result; +import net.srt.framework.common.utils.TreeNodeVo; +import net.srt.service.ApiGroupService; +import net.srt.vo.ApiGroup; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** +* 数据服务-api分组 +* +* @author zrx 985134801@qq.com +* @since 1.0.0 2023-01-28 +*/ +@RestController +@RequestMapping("/api-group") +@AllArgsConstructor +public class ApiGroupController { + private final ApiGroupService apiGroupService; + + @GetMapping + @Operation(summary = "查询文件分组树") + public Result> listTree() { + return Result.ok(apiGroupService.listTree()); + } + + @GetMapping("{id}") + @Operation(summary = "信息") + @PreAuthorize("hasAuthority('data-service:api-group:info')") + public Result get(@PathVariable("id") Long id){ + ApiGroupEntity entity = apiGroupService.getById(id); + return Result.ok(ApiGroupConvert.INSTANCE.convert(entity)); + } + + + @PostMapping + @Operation(summary = "保存") + @PreAuthorize("hasAuthority('data-service:api-group:save')") + public Result save(@RequestBody ApiGroup vo) { + apiGroupService.save(vo); + return Result.ok(); + } + + + @PutMapping + @Operation(summary = "修改") + @PreAuthorize("hasAuthority('data-service:api-group:update')") + public Result update(@RequestBody @Valid ApiGroup vo) { + apiGroupService.update(vo); + return Result.ok(); + } + + + @DeleteMapping("/{id}") + @Operation(summary = "删除") + @PreAuthorize("hasAuthority('data-service:api-group:delete')") + public Result delete(@PathVariable Long id) { + apiGroupService.delete(id); + return Result.ok(); + } + +} diff --git a/srt-cloud-data-server/src/main/java/net/srt/controller/ApiTest.java b/srt-cloud-data-server/src/main/java/net/srt/controller/ApiTest.java new file mode 100644 index 0000000..2568106 --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/controller/ApiTest.java @@ -0,0 +1,43 @@ +package net.srt.controller; + +import io.swagger.v3.oas.annotations.Operation; +import lombok.AllArgsConstructor; +import net.srt.framework.common.page.PageResult; +import net.srt.framework.common.utils.Result; +import net.srt.query.ApiConfigQuery; +import net.srt.query.ApiLogQuery; +import net.srt.service.ApiLogService; +import net.srt.vo.ApiConfig; +import net.srt.vo.ApiLog; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.validation.Valid; + +/** + * @ClassName ApiTest + * @Description 描述 + * @Author 栗永斌 + */ +@RestController +@RequestMapping("/log") +@AllArgsConstructor +public class ApiTest { + + @Autowired + ApiLogService apiLogService; + + @GetMapping("/page") + @Operation(summary = "日志列表") + @PreAuthorize("hasAuthority('data-service:api-config:page')") + public Result> page(@Valid ApiLogQuery query) { + PageResult page = apiLogService.pag(query); + + return Result.ok(page); + } + +} diff --git a/srt-cloud-data-server/src/main/java/net/srt/convert/ApiConfigConvert.java b/srt-cloud-data-server/src/main/java/net/srt/convert/ApiConfigConvert.java new file mode 100644 index 0000000..d411d67 --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/convert/ApiConfigConvert.java @@ -0,0 +1,29 @@ +package net.srt.convert; + +import net.srt.dto.ApiConfigDto; +import net.srt.entity.ApiConfigEntity; +import net.srt.vo.ApiConfig; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** +* 数据服务-api配置 +* +* @author zrx 985134801@qq.com +* @since 1.0.0 2023-01-28 +*/ +@Mapper +public interface ApiConfigConvert { + ApiConfigConvert INSTANCE = Mappers.getMapper(ApiConfigConvert.class); + + ApiConfigEntity convert(ApiConfig vo); + + ApiConfig convert(ApiConfigEntity entity); + + ApiConfigDto convertDto(ApiConfigEntity entity); + + List convertList(List list); + +} diff --git a/srt-cloud-data-server/src/main/java/net/srt/convert/ApiGroupConvert.java b/srt-cloud-data-server/src/main/java/net/srt/convert/ApiGroupConvert.java new file mode 100644 index 0000000..1c4f4bb --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/convert/ApiGroupConvert.java @@ -0,0 +1,26 @@ +package net.srt.convert; + +import net.srt.entity.ApiGroupEntity; +import net.srt.vo.ApiGroup; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** +* 数据服务-api分组 +* +* @author zrx 985134801@qq.com +* @since 1.0.0 2023-01-28 +*/ +@Mapper +public interface ApiGroupConvert { + ApiGroupConvert INSTANCE = Mappers.getMapper(ApiGroupConvert.class); + + ApiGroupEntity convert(ApiGroup vo); + + ApiGroup convert(ApiGroupEntity entity); + + List convertList(List list); + +} diff --git a/srt-cloud-data-server/src/main/java/net/srt/convert/ApiLogConvert.java b/srt-cloud-data-server/src/main/java/net/srt/convert/ApiLogConvert.java new file mode 100644 index 0000000..c187daa --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/convert/ApiLogConvert.java @@ -0,0 +1,25 @@ +package net.srt.convert; + +import net.srt.entity.ApiLogEntity; +import net.srt.vo.ApiLog; +import org.apache.ibatis.annotations.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * @ClassName ApiLogConvert + * @Description 描述 + * @Author 栗永斌 + */ +@Mapper +public interface ApiLogConvert { + + ApiLogConvert INSTANCE = Mappers.getMapper(ApiLogConvert.class); + + ApiLogEntity convert(ApiLog vo); + + ApiLog convert(ApiLogEntity entity); + + List convertList(List list); +} diff --git a/srt-cloud-data-server/src/main/java/net/srt/dto/ApiConfigDto.java b/srt-cloud-data-server/src/main/java/net/srt/dto/ApiConfigDto.java new file mode 100644 index 0000000..ce03da4 --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/dto/ApiConfigDto.java @@ -0,0 +1,49 @@ +package net.srt.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import net.srt.framework.common.utils.DateUtils; + +import java.io.Serializable; +import java.util.Date; + + +@Data +public class ApiConfigDto implements Serializable { + private static final long serialVersionUID = 1L; + private Long id; + private Long groupId; + private String path; + private String type; + private String name; + private String note; + private String sqlText; + private String sqlSeparator; + private Integer sqlMaxRow; + private String sqlParam; + private String jsonParam; + private String responseResult; + private String contentType; + private Integer status; + private Date releaseTime; + private Long releaseUserId; + private Integer sqlDbType; + private Long databaseId; + private Integer previlege; + private Integer openTrans; + private Long projectId; + private Integer version; + private Integer deleted; + private Long creator; + private Date createTime; + private Long updater; + private Date updateTime; + private Integer requestedTimes; + private Integer requestedSuccessTimes; + private Integer requestedFailedTimes; + private Long authId; + private String group; + + +} diff --git a/srt-cloud-data-server/src/main/java/net/srt/entity/ApiConfigEntity.java b/srt-cloud-data-server/src/main/java/net/srt/entity/ApiConfigEntity.java new file mode 100644 index 0000000..db43cc0 --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/entity/ApiConfigEntity.java @@ -0,0 +1,59 @@ +package net.srt.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import net.srt.framework.mybatis.entity.BaseEntity; +import org.springframework.data.annotation.CreatedDate; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +@TableName("data_dispatch_catalogue") +public class ApiConfigEntity extends BaseEntity { + /** + * 父级id(顶级为0) + */ + private Long parentId; + + /** + * 分组名称 + */ + private String name; + + /** + * 分组序号 + */ + private Integer orderNo; + + /** + * 描述 + */ + private String description; + + /** + * 分组路径 + */ + private String path; + + private Integer type; + + /** + * 项目id + */ + private Long projectId; + private Long id; + + // 私有属性,状态 + private Integer status; + // 私有属性,发布用户ID + private Long releaseUserId; + // 自定义注解,日期格式化,格式为"yyyy-MM-dd HH:mm:ss" + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date releaseTime; + // 私有属性,内容类型 + private String contentType; + private Integer previlege; + private Integer openTrans; + +} diff --git a/srt-cloud-data-server/src/main/java/net/srt/entity/ApiGroupEntity.java b/srt-cloud-data-server/src/main/java/net/srt/entity/ApiGroupEntity.java new file mode 100644 index 0000000..aabf06c --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/entity/ApiGroupEntity.java @@ -0,0 +1,41 @@ +package net.srt.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import net.srt.framework.mybatis.entity.BaseEntity; + +@Data +@TableName(value = "data_dispatch_catalogue",autoResultMap = true) +public class ApiGroupEntity extends BaseEntity { + /** + * 父级id(顶级为0) + */ + private Long parentId; + + /** + * 分组名称 + */ + private String name; + + /** + * 分组序号 + */ + private Integer orderNo; + + /** + * 描述 + */ + private String description; + + /** + * 分组路径 + */ + private String path; + + private Integer type; + + /** + * 项目id + */ + private Long projectId; +} diff --git a/srt-cloud-data-server/src/main/java/net/srt/entity/ApiLogEntity.java b/srt-cloud-data-server/src/main/java/net/srt/entity/ApiLogEntity.java new file mode 100644 index 0000000..f819add --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/entity/ApiLogEntity.java @@ -0,0 +1,31 @@ +package net.srt.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import net.srt.framework.mybatis.entity.BaseEntity; + +import java.util.Date; + +/** + * @ClassName ApiLogEntity + * @Description 描述 + * @Author 栗永斌 + */ +@Data +@TableName(value = "data_service_api_log",autoResultMap = true) +public class ApiLogEntity extends BaseEntity { +// private Integer id; + private String url; + private Integer duration; + private String ip; + private Integer apiId; + private String error; + private Integer projectId; +// private String deleted; +// private Integer creator; +// private String createTime; +// private Integer updater; + private Date updateTime; + private String apiName; + +} diff --git a/srt-cloud-data-server/src/main/java/net/srt/mapper/ApiConfigDao.java b/srt-cloud-data-server/src/main/java/net/srt/mapper/ApiConfigDao.java new file mode 100644 index 0000000..6919a9f --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/mapper/ApiConfigDao.java @@ -0,0 +1,14 @@ +package net.srt.mapper; + +import net.srt.entity.ApiConfigEntity; +import net.srt.framework.mybatis.dao.BaseDao; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface ApiConfigDao extends BaseDao { + void xia(@Param("id") Long id); + + void shang(Long id); + +} diff --git a/srt-cloud-data-server/src/main/java/net/srt/mapper/ApiGroupDao.java b/srt-cloud-data-server/src/main/java/net/srt/mapper/ApiGroupDao.java new file mode 100644 index 0000000..a8bd1f0 --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/mapper/ApiGroupDao.java @@ -0,0 +1,9 @@ +package net.srt.mapper; + +import net.srt.entity.ApiGroupEntity; +import net.srt.framework.mybatis.dao.BaseDao; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface ApiGroupDao extends BaseDao { +} diff --git a/srt-cloud-data-server/src/main/java/net/srt/mapper/ApiLogDao.java b/srt-cloud-data-server/src/main/java/net/srt/mapper/ApiLogDao.java new file mode 100644 index 0000000..6e45e61 --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/mapper/ApiLogDao.java @@ -0,0 +1,15 @@ +package net.srt.mapper; + +import net.srt.entity.ApiGroupEntity; +import net.srt.entity.ApiLogEntity; +import net.srt.framework.mybatis.dao.BaseDao; +import org.apache.ibatis.annotations.Mapper; + +/** + * @ClassName ApiLogDao + * @Description 描述 + * @Author 栗永斌 + */ +@Mapper +public interface ApiLogDao extends BaseDao { +} diff --git a/srt-cloud-data-server/src/main/java/net/srt/query/ApiConfigQuery.java b/srt-cloud-data-server/src/main/java/net/srt/query/ApiConfigQuery.java new file mode 100644 index 0000000..4cbb148 --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/query/ApiConfigQuery.java @@ -0,0 +1,21 @@ +package net.srt.query; + +import lombok.Data; +import net.srt.framework.common.query.Query; + +@Data +public class ApiConfigQuery extends Query { + private Long groupId; + private Long resourceId; + private Long appId; + private String name; + private String path; + private String contentType; + private Integer status; + private Integer sqlDbType; + private Long databaseId; + private Integer privates; + private Integer openTrans; + private Integer queryApply; + private Integer ifMarket; +} diff --git a/srt-cloud-data-server/src/main/java/net/srt/query/ApiLogQuery.java b/srt-cloud-data-server/src/main/java/net/srt/query/ApiLogQuery.java new file mode 100644 index 0000000..09aded7 --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/query/ApiLogQuery.java @@ -0,0 +1,16 @@ +package net.srt.query; + +import lombok.Data; +import net.srt.framework.common.query.Query; + +/** + * @ClassName ApiLogQuery + * @Description 描述 + * @Author 栗永斌 + */ +@Data +public class ApiLogQuery extends Query { + + private String ip; + private String apiName; +} diff --git a/srt-cloud-data-server/src/main/java/net/srt/service/ApiConfigService.java b/srt-cloud-data-server/src/main/java/net/srt/service/ApiConfigService.java new file mode 100644 index 0000000..8b5d7ff --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/service/ApiConfigService.java @@ -0,0 +1,37 @@ +package net.srt.service; + +import net.srt.dto.ApiConfigDto; +import net.srt.entity.ApiConfigEntity; +import net.srt.framework.common.page.PageResult; +import net.srt.framework.common.utils.Result; +import net.srt.framework.common.utils.TreeNodeVo; +import net.srt.framework.mybatis.service.BaseService; +import net.srt.query.ApiConfigQuery; +import net.srt.vo.ApiConfig; + +import java.util.List; + +public interface ApiConfigService extends BaseService { + String getIpPort(); + + List listTree(); + + + PageResult page(ApiConfigQuery query); + + ApiConfigEntity getByI(Long id); + + + void update(Long id, ApiConfigEntity vo); + + void xia(Long id); + + + void shang(Long id); + + void removeByI(Long id); + + + void sav(ApiConfig vo); + +} diff --git a/srt-cloud-data-server/src/main/java/net/srt/service/ApiGroupService.java b/srt-cloud-data-server/src/main/java/net/srt/service/ApiGroupService.java new file mode 100644 index 0000000..df523d0 --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/service/ApiGroupService.java @@ -0,0 +1,18 @@ +package net.srt.service; + +import net.srt.entity.ApiGroupEntity; +import net.srt.framework.common.utils.TreeNodeVo; +import net.srt.framework.mybatis.service.BaseService; +import net.srt.vo.ApiGroup; + +import java.util.List; + +public interface ApiGroupService extends BaseService { + List listTree(); + + void save(ApiGroup vo); + + void update(ApiGroup vo); + + void delete(Long id); +} diff --git a/srt-cloud-data-server/src/main/java/net/srt/service/ApiLogService.java b/srt-cloud-data-server/src/main/java/net/srt/service/ApiLogService.java new file mode 100644 index 0000000..70fca35 --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/service/ApiLogService.java @@ -0,0 +1,19 @@ +package net.srt.service; + +import net.srt.entity.ApiGroupEntity; +import net.srt.entity.ApiLogEntity; +import net.srt.framework.common.page.PageResult; +import net.srt.framework.mybatis.service.BaseService; +import net.srt.query.ApiLogQuery; +import net.srt.vo.ApiLog; + +/** + * @ClassName ApiLogService + * @Description 描述 + * @Author 栗永斌 + */ +public interface ApiLogService extends BaseService { + + PageResult pag(ApiLogQuery query); + +} diff --git a/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java b/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java new file mode 100644 index 0000000..56a1ea8 --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java @@ -0,0 +1,164 @@ +package net.srt.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.AllArgsConstructor; +import net.srt.convert.ApiConfigConvert; +import net.srt.convert.ApiGroupConvert; +import net.srt.dto.ApiConfigDto; +import net.srt.entity.ApiConfigEntity; +import net.srt.entity.ApiGroupEntity; +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.Result; +import net.srt.framework.common.utils.TreeNodeVo; +import net.srt.framework.mybatis.service.impl.BaseServiceImpl; +import net.srt.mapper.ApiConfigDao; +import net.srt.query.ApiConfigQuery; +import net.srt.service.ApiConfigService; +import net.srt.vo.ApiConfig; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import srt.cloud.framework.dbswitch.common.util.StringUtil; + +import java.util.List; + +@Service +@AllArgsConstructor +public class ApiConfigServiceImpl extends BaseServiceImpl implements ApiConfigService { + @Override + public String getIpPort() { + return null; + } + + + /** + * 从数据库中查询并返回树结构的节点列表 + * @return List 树节点列表 + */ + @Override + public List listTree() { + // 创建查询条件 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + // 设置查询条件,排除组织id + dataScopeWithoutOrgId(wrapper); + // 按照排序字段升序排序 + wrapper.orderByAsc(ApiConfigEntity::getOrderNo); + // 从数据库中查询列表数据 + List dataFileCategoryEntities = baseMapper.selectList(wrapper); + // 将数据转换为树节点vo列表 + List treeNodeVos = BeanUtil.copyListProperties(dataFileCategoryEntities, TreeNodeVo::new, (oldItem, newItem) -> { + // 设置树节点的标签为名称 + newItem.setLabel(oldItem.getName()); + // 设置树节点的值为id + newItem.setValue(oldItem.getId()); + // 设置树节点是否不可用,类型为0表示不可用 + newItem.setDisabled(oldItem.getType() == 0); + // 如果树节点路径包含斜杠,则设置父路径为路径截取到倒数第一个斜杠的位置 + if (newItem.getPath().contains("/")) { + newItem.setParentPath(newItem.getPath().substring(0, newItem.getPath().lastIndexOf("/"))); + } + }); + // 调用工具类构建树结构 + return BuildTreeUtils.buildTree(treeNodeVos); + } + + + + + /** + * 分页查询API配置信息 + * + * @param query 查询条件 + * @return 分页结果 + */ + @Override + public PageResult page(ApiConfigQuery query) { + // 调用Mapper层方法,查询分页数据 + IPage page = baseMapper.selectPage(getPage(query), getWrapper(query)); + + // 将查询结果转换为ApiConfig对象列表 + // 返回分页结果 + return new PageResult<>(ApiConfigConvert.INSTANCE.convertList(page.getRecords()), page.getTotal()); + } + + + /** + * 根据ID获取ApiConfigEntity对象 + * + * @param id ID值 + * @return ApiConfigEntity对象 + */ + @Override + public ApiConfigEntity getByI(Long id) { + return id != null ? baseMapper.selectById(id) : null; + } + + @Override + public void update(Long id,ApiConfigEntity vo) { + baseMapper.deleteById(id); + baseMapper.insert(vo); +// if (vo.getType() == 0) { +// ApiGroupEntity apiGroupEntity = new ApiGroupEntity(); +// apiGroupEntity.setId(vo.getId()); +// apiGroupEntity.setVersion(vo.getVersion()); +// apiGroupEntity.setDeleted(vo.getDeleted()); +// apiGroupEntity.setUpdateTime(vo.getUpdateTime()); +// apiGroupEntity.setCreateTime(vo.getCreateTime()); +// apiGroupEntity.setUpdater(vo.getUpdater()); +// } + } + + @Autowired + ApiConfigDao apiConfigDto; + + @Override + public void xia(Long id) { + apiConfigDto.xia(id); + } + + + + @Override + public void shang(Long id) { + apiConfigDto.shang(id); + } + + @Override + public void removeByI(Long id) { + baseMapper.deleteById(id); + } + + @Override + public void sav(ApiConfig vo) { + ApiConfigEntity entity = ApiConfigConvert.INSTANCE.convert(vo); + entity.setPath(recursionPath(entity, null)); + entity.setProjectId(getProjectId()); + baseMapper.insert(entity); // 使用 insertSelective() 方法进行插入操作 + } + private String recursionPath(ApiConfigEntity groupEntity, String path) { + if (StringUtil.isBlank(path)) { + path = groupEntity.getName(); + } + if (groupEntity.getParentId() != 0) { + ApiConfigEntity parent = getById(groupEntity.getParentId()); + path = parent.getName() + "/" + path; + return recursionPath(parent, path); + } + return path; + } + + private LambdaQueryWrapper getWrapper(ApiConfigQuery query) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.like(StringUtil.isNotBlank(query.getName()), ApiConfigEntity::getName, query.getName()); + wrapper.like(StringUtil.isNotBlank(query.getPath()), ApiConfigEntity::getPath, query.getPath()); +// wrapper.eq(StringUtil.isNotBlank(query.getContentType()), ApiConfigEntity::getContentType, query.getContentType()); +// wrapper.eq(query.getStatus()!= null, ApiConfigEntity::getStatus, query.getStatus()); +// wrapper.eq(query.getSqlDbType() != null, ApiConfigEntity::getSqlDbType, query.getSqlDbType()); +// + return wrapper; + } + +} diff --git a/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java b/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java new file mode 100644 index 0000000..1fd1973 --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java @@ -0,0 +1,93 @@ +package net.srt.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.AllArgsConstructor; +import net.srt.convert.ApiGroupConvert; +import net.srt.entity.ApiConfigEntity; +import net.srt.entity.ApiGroupEntity; +import net.srt.framework.common.exception.ServerException; +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.mapper.ApiGroupDao; +import net.srt.service.ApiConfigService; +import net.srt.service.ApiGroupService; +import net.srt.vo.ApiGroup; +import org.springframework.stereotype.Service; +import srt.cloud.framework.dbswitch.common.util.StringUtil; + +import java.util.List; + +@Service +@AllArgsConstructor +public class ApiGroupServiceImpl extends BaseServiceImpl implements ApiGroupService{ + private final ApiConfigService apiConfigService; + @Override + public List listTree() { + List treeNodeVos = getTreeNodeVos(); + return BuildTreeUtils.buildTree(treeNodeVos); + } + + private List getTreeNodeVos() { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + dataScopeWithoutOrgId(wrapper); + wrapper.orderByAsc(ApiGroupEntity::getOrderNo); + List apiGroupEntities = baseMapper.selectList(wrapper); + return BeanUtil.copyListProperties(apiGroupEntities, TreeNodeVo::new, (oldItem, newItem) -> { + newItem.setLabel(oldItem.getName()); + newItem.setValue(oldItem.getId()); + newItem.setDisabled(oldItem.getType() == 1); + if (newItem.getPath().contains("/")) { + newItem.setParentPath(newItem.getPath().substring(0, newItem.getPath().lastIndexOf("/"))); + } + }); + } + + @Override + public void save(ApiGroup vo) { + ApiGroupEntity entity = ApiGroupConvert.INSTANCE.convert(vo); + entity.setPath(recursionPath(entity, null)); + entity.setProjectId(getProjectId()); + baseMapper.insert(entity); // 使用 insertSelective() 方法进行插入操作 + } + + @Override + public void update(ApiGroup vo) { + ApiGroupEntity entity = ApiGroupConvert.INSTANCE.convert(vo); + entity.setPath(recursionPath(entity, null)); + entity.setProjectId(getProjectId()); + updateById(entity); + } + + private String recursionPath(ApiGroupEntity groupEntity, String path) { + if (StringUtil.isBlank(path)) { + path = groupEntity.getName(); + } + if (groupEntity.getParentId() != 0) { + ApiGroupEntity parent = getById(groupEntity.getParentId()); + path = parent.getName() + "/" + path; + return recursionPath(parent, path); + } + return path; + } + + @Override + public void delete(Long id) { + //查询有没有子节点 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ApiGroupEntity::getParentId, id).last(" limit 1"); + ApiGroupEntity one = baseMapper.selectOne(wrapper); + if (one != null) { + throw new ServerException("存在子节点,不允许删除!"); + } + //查询有没有api与之关联 + LambdaQueryWrapper serviceApiConfigWrapper = new LambdaQueryWrapper<>(); + serviceApiConfigWrapper.eq(ApiConfigEntity::getParentId, id).last(" limit 1"); + ApiConfigEntity apiConfigEntity = apiConfigService.getOne(serviceApiConfigWrapper); + if (apiConfigEntity != null) { + throw new ServerException("节点下有 api 与之关联,不允许删除!"); + } + removeById(id); + } +} diff --git a/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiLogServiceImpl.java b/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiLogServiceImpl.java new file mode 100644 index 0000000..58a6a9d --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiLogServiceImpl.java @@ -0,0 +1,54 @@ +package net.srt.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.AllArgsConstructor; + +import net.srt.convert.ApiLogConvert; + + +import net.srt.entity.ApiLogEntity; +import net.srt.framework.common.page.PageResult; +import net.srt.framework.mybatis.service.impl.BaseServiceImpl; +import net.srt.mapper.ApiLogDao; + +import net.srt.query.ApiLogQuery; + +import net.srt.service.ApiLogService; +import net.srt.vo.ApiLog; +import org.springframework.stereotype.Service; +import srt.cloud.framework.dbswitch.common.util.StringUtil; + +/** + * @ClassName ApiLogServiceImpl + * @Description 描述 + * @Author 栗永斌 + */ +@Service +@AllArgsConstructor +public class ApiLogServiceImpl extends BaseServiceImpl implements ApiLogService { + + + @Override + public PageResult pag(ApiLogQuery query) { + // 调用Mapper层方法,查询分页数据 + IPage page = baseMapper.selectPage(getPage(query), getWrapper(query)); + + // 将查询结果转换为ApiConfig对象列表 + // 返回分页结果 + return new PageResult<>(ApiLogConvert.INSTANCE.convertList(page.getRecords()), page.getTotal()); + } + + private LambdaQueryWrapper getWrapper(ApiLogQuery query) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.like(StringUtil.isNotBlank(query.getApiName()), ApiLogEntity::getApiName, query.getApiName()); + wrapper.like(StringUtil.isNotBlank(query.getIp()), ApiLogEntity::getIp, query.getIp()); +// wrapper.eq(StringUtil.isNotBlank(query.getContentType()), ApiConfigEntity::getContentType, query.getContentType()); +// wrapper.eq(query.getStatus()!= null, ApiConfigEntity::getStatus, query.getStatus()); +// wrapper.eq(query.getSqlDbType() != null, ApiConfigEntity::getSqlDbType, query.getSqlDbType()); + + return wrapper; + } + +} diff --git a/srt-cloud-data-server/src/main/java/net/srt/vo/ApiConfig.java b/srt-cloud-data-server/src/main/java/net/srt/vo/ApiConfig.java new file mode 100644 index 0000000..9293809 --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/vo/ApiConfig.java @@ -0,0 +1,51 @@ +package net.srt.vo; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 数据服务-api配置 +* +* @author zrx 985134801@qq.com +* @since 1.0.0 2023-01-28 +*/ +@Data +public class ApiConfig implements Serializable { + private static final long serialVersionUID = 1L; + private Long id; + private Long groupId; + private String path; + private String type; + private String name; + private String note; + private String sqlText; + private String sqlSeparator; + private Integer sqlMaxRow; + private String sqlParam; + private String jsonParam; + private String responseResult; + private Integer contentType; + private Integer status; + private Date releaseTime; + private Long releaseUserId; + private Integer sqlDbType; + private Long databaseId; + private Integer previlege; + private Integer openTrans; + private Long projectId; + private Integer version; + private Integer deleted; + private Long creator; + private Date createTime; + private Long updater; + private Date updateTime; + private Integer requestedTimes; + private Integer requestedSuccessTimes; + private Integer requestedFailedTimes; + private Long authId; + private String group; + private String groupPath; + +} diff --git a/srt-cloud-data-server/src/main/java/net/srt/vo/ApiGroup.java b/srt-cloud-data-server/src/main/java/net/srt/vo/ApiGroup.java new file mode 100644 index 0000000..dcaa232 --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/vo/ApiGroup.java @@ -0,0 +1,25 @@ +package net.srt.vo; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class ApiGroup implements Serializable { + private static final long serialVersionUID = 1L; + private Long id; + private Long parentId; + private Integer type; + private String name; + private String description; + private Integer orderNo; + private String path; + private Long projectId; + private Integer version; + private Integer deleted; + private Long creator; + private Date createTime; + private Long updater; + private Date updateTime; +} diff --git a/srt-cloud-data-server/src/main/java/net/srt/vo/ApiLog.java b/srt-cloud-data-server/src/main/java/net/srt/vo/ApiLog.java new file mode 100644 index 0000000..e45af60 --- /dev/null +++ b/srt-cloud-data-server/src/main/java/net/srt/vo/ApiLog.java @@ -0,0 +1,32 @@ +package net.srt.vo; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @ClassName ApiLog + * @Description 描述 + * @Author 栗永斌 + */ +@Data +public class ApiLog implements Serializable { + private static final long serialVersionUID = 1L; + + + private Integer id; + private String url; + private Integer duration; + private String ip; + private Integer apiId; + private String error; + private Integer projectId; + private String deleted; + private Integer creator; + private String createTime; + private Integer updater; + private Date updateTime; + + +} diff --git a/srt-cloud-data-server/src/main/resources/auth.yml b/srt-cloud-data-server/src/main/resources/auth.yml new file mode 100644 index 0000000..0e6a006 --- /dev/null +++ b/srt-cloud-data-server/src/main/resources/auth.yml @@ -0,0 +1,7 @@ +auth: + ignore_urls: + - /auth/captcha + - /auth/login + - /auth/send/code + - /auth/mobile + - /upload/** \ No newline at end of file diff --git a/srt-cloud-data-server/src/main/resources/bootstrap.yml b/srt-cloud-data-server/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..227c8ed --- /dev/null +++ b/srt-cloud-data-server/src/main/resources/bootstrap.yml @@ -0,0 +1,43 @@ +server: + port: 8085 + +spring: + mvc: + servlet: + load-on-startup: 1 + application: + name: data-service + profiles: + active: dev + cloud: + nacos: + discovery: + server-addr: 101.34.77.101:8848 + # 命名空间,默认:public + namespace: a60b2ca1-a8c6-47ae-94f1-741105674655 + service: ${spring.application.name} + group: srt2.0 + config: + server-addr: ${spring.cloud.nacos.discovery.server-addr} + namespace: ${spring.cloud.nacos.discovery.namespace} + file-extension: yaml + # 指定配置 + extension-configs: + - data-id: datasource.yaml + refresh: true + servlet: + multipart: + max-request-size: 100MB + max-file-size: 1024MB +storage: + enabled: true + config: + # 存储类型:local、aliyun + type: local + # 访问域名 + domain: http://localhost:8082/sys + # 配置访问前缀 + prefix: + local: + # 本地上传路径 + path: D://upload diff --git a/srt-cloud-data-server/src/main/resources/log4j2.xml b/srt-cloud-data-server/src/main/resources/log4j2.xml new file mode 100644 index 0000000..14461eb --- /dev/null +++ b/srt-cloud-data-server/src/main/resources/log4j2.xml @@ -0,0 +1,48 @@ + + + + + ./logs/ + srt-cloud-system + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srt-cloud-data-server/src/main/resources/mapper/ApiConfigMapper.xml b/srt-cloud-data-server/src/main/resources/mapper/ApiConfigMapper.xml new file mode 100644 index 0000000..a15f3e3 --- /dev/null +++ b/srt-cloud-data-server/src/main/resources/mapper/ApiConfigMapper.xml @@ -0,0 +1,14 @@ + + + + + + + update data_dispatch_catalogue set status = 0 where id = #{id} + + + update data_dispatch_catalogue set status = 1 where id = #{id} + + diff --git a/srt-cloud-framework/srt-cloud-flink/build/app/flink-app-1.14-2.0.0-jar-with-dependencies.jar b/srt-cloud-framework/srt-cloud-flink/build/app/flink-app-1.14-2.0.0-jar-with-dependencies.jar index 05954671112ce438091df94e6f7f11d623a68e73..e9979b706f7d1e05b64c34666dfcca462f0e510a 100644 GIT binary patch delta 420653 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 EK??*c4;V1>1KW9x1+G5KD;TCBee z_wC|)_eNB7B@ThnXPmz$o~MuQ0QvECH@gVYS1Zw6QPV=O()z3eB2@&!sGMnXVunF%$xl409-hRdjc!{GVTHxcQwLI;HorJ zCm{9w^pSt)6p!$RbnQ(X=7zn4D%QzpPIbPCjO`l1(FR{Ib;!zqYsb%g7hpi^ zBGae0Sq3Z~E_clWALL!G;Vvrewl#OjsY|QyX<*sB5_of_j$hlhGl)(nW-M~4Fn;2E3s zLQDRo1`jzMY8;QMNp$mq*)r-^X1MH0Q#Mu1lS!j)=!ETBDjiOn)3%Sddj1Hu&4WpjLY_&7BS=&Fav9{;x0y}Fr+skaOkVyj;j zwV2~CCp=4AcEmSSQ;)w2?kj1ly0Vd$4(G&Y!c6j9DHd2yRoP9^NV=OGs%8gQ@B|t6 z!$}P96`)`h*ms~l_iE19h#PYKHFVmd+aA^LdQL*^N)Nc9)trQq

kKoaWc9ya~6L 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 &N5#<5b`U9Krj4w)K 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 delta 421271 zcmZ5|cU%-p)9&e+*~~8NvgDjW6c9noU_=ZA6)=Ml6ckWELB*UCiZB97W5g^bN)cTQ z#~d(%3BeqX7!XvHTf=$3@4ol`!S6TI%+B<5S65d(&r`E&^Cnpy{wYKIvz+{|zodWt z^(}8Bzk6vf8x{}X!7lroEWdnC@suN#8b1kiyIt|p1wJn?u2a%?k1dD+AGwuPg0)lZ zB@w;1)1GMg*C(8n^p~{}F{CC%_QV9vhH9a=PJ_1<_``)+qU!vqVG<+F28Q$e9wG#lWX&v0oW@^Wjzn10i2;onv8^W>va~ zURY;_PnyxWx00{(JEY|&tnJ+Z^(L##STM1KX!5+BEz1nwAooyfox z!>?))Tu)o|n+3C*haNDHKcG(y*K%tb;AKQOepN7I%>O7@WdPECld@SD6y0Yv2OIaS zk}&Y0`SxWg%u(KXD5FbH+T(x=;|n!bcOFY1Yk8k01{T+@@)5)Q_p2&>q2GWz^%6LL z|7)!R#)muE5m+6ydaMSfJeuUefcV1UzUDCQ(47mN;Qd>tg$xb~>qp+lpCZ zTJyn?=+oWUst+Y$lb;iq`oSsA0L-{GXC>e~Z*m2JZo0r%gvKzI*qNej-#ox`8qb_TqR<9bNo*2}xuc(bQ#QpNPbW?Ov5?g{m-eBzfiBEDSjo(x)rA5CJwBA5#> zD2e8-C_o!@&y>(B1B{44izy_ga8f=qgA>ESx!fKC=dRYDVd#z#)_5;)i8G@5O^!qa zQ+lt(vF=t?pJf0Cd&VhPDppw%Ee!1+cTWt@uN*ZOLEebC*#sQ+_f<30CdGu9@<-ns zHKNU-_$)BhxXj{c?^K*{-sd^jlkUMo6(n1_v{Jyx&)i-#!Y(ey8MMZ%W(B>|LXCTTe*!_B;_F$6 z9C2SlVEnlIuSHO=EHTxW2rK;ouJj458*KS#$zm}t?^GgZg(j0uC2b{Asr0X#c^iw& z;^GO52T<^BZLYNCh)ap*xt62Ihb{rEaK!5wWM2w3tZZVI5k?ne`_;2S!z@M>Z|Uj{tl`nfU?L#CLBXb%%7 zoD~zr02|tT#+DdCZeGI|20qHC{KHb;ik88)$Ta3dSBYhyN$%&M1Zd}qv%LG0u*PDi zC)n_X8JYStbF~Rk6x7)hJ$Ua?`GUZJ`I%1{;5xVpQ?e+tKo90SOzEb9lVPq3Zy+D~ z4aXN+GNnpGUuOwZm3`2)ObiLkx?6IHJ1}Jl3sI6rFA1z~v(8EhKl}HeC5FY#m1EH4 z#;+S9g>B|;Zy37B(Fwcpw{(gPAMnam4i>{3OVxZw`%En_AL!Nvnvbj#8^AyhNrDU# zS2jLkz*04}nuVa->*5H_dM^05zZW#NqEGSA0TNF4*YyTphxOk%2+WcwR1o2@eg_Lr zJda;dLVTIqLOCe&rW zVA8KnVgEw=NI4pd=Z=v3+O3+QLG6UTqZ!!nw(O6lmR{$Kp6WmYmRl1U+}pOko`IC| z^<ICoPReB~!2p+Uc}m+<2Ez!DZtwtHy9 zz!tfC6HCtzM;F5%y~Y_9)Y_7E1;5P*2cr%q=8B!Go*6{)j;D!G>83Ed3Cy zWN5#=Ehg75*qBzdaUeE)^dq?*@0TKPhPL&=>o|HTN!YE#+mog&a@E z91=2wz(#hO4+D1LO*%2e_s?D<2B(zP)f{|CZ@MS~OFe}N3z9+8Fl?~B5YpQb4xefY z=3v0?*24%q-H>g=^1Ju8*765dYxMaFI&Ca1Om-qte(lE)^PKZd{&46*(>MlX#nTq! z3a@Os%0P3wlP|Q8`ljhK2UCVBE;4ZbQ_~X>T-3ICLrFB_Y_^l(B`Qkg3#Pd!Hf8H zQCQ}v^z`_|iH~h*Gqzz+Vn2N)3$;aU4ioTjC^O}#i=S}Mivc;7d~~ZaC-|Nlx&i|x zv7Q9ia_`@z1YR2GJwQw8_xl?<`K>t|3pa{#N@OtYXigOibN$LX>qGO`(4Q>a{`GjB z4Cd)Q!M?@!^r+{+!~6-)!tT4%%?x0|f!}F*;M<=!w1h*G^?ov-cv6Puz_kr~CI(OE zWJfW~=@K@I0qY)N=r>G*!ZtEsV)rK#ZTv@>iiNm8Wd{gEx&8@cKsz#QCJVo%rv~WJ zA!8kISvO1ybD+6+sDLxao{ZqYBvPcDrTQofGiG?A zeAwt93o>EF_H#~RZ6Q`=hU^*@ZBQ=+p6dMi>{Px@>Iu@=9k-_CTgV6UT zYQ5SrbV#{iltouhn^P}0QzD0p8&eiC(6b4g#?7ZMziqU`U z;GQySGR73IbIHy%=gX4^D|wIf!7}*r+FNA=HLcoZGJGfvLz7xoJ^~ZLtnvgABzLZ9 zU}%7g4G#0gK`ITOsG6ao0j@SgLIY|oaW5|DoWFvhPHw^#4X5%=`Qi>U%wSw(z99o` zDhF?6q3qRQdlvqT*PqD2v)_Yp?oA;dGn_<|A@5nJ_?e$1hvWP7C$SJ7)2^DpFK%Wx zQq(o0odo(X8G=jVUiOe25o~BRb07n)4-QEe(}w}V3&+mR*YKIA+Nr2%cN<~^RWX}p zGI00KkZmj+dp=|g3qMwG>V@-@GqXqx>pO+xl3H%$Gmit)*zhU>@2d3uG0ahKcH>~+ zSN+>kSiu>*R>67`gJJ^lZfRx&K30ZrQ$k3`v`-?~)D&)t+jCr6XH0Z54C)wIlVyPE zSwnC{wg~PQrbS>lEVII%4c(us$=RKzqObAP90GQv<+1SSVH$>mep@5{h(TGG=E4Hs zlr{=O&<^S7`T`pwa#)~d1@~C^&_TVKgHAJQs-+M(OMQg_M`h#&4vrltcgBcwCe9*U z@b-DiLI<130W7so7nVWbq;?vkUrW6Bg3ID$_KDI+MXpb1Sa&3bR%%8uH1pZ%AM($ zzdf4bGlTHMR}^UZMf{#9mCQuV!o@E_xArC^;|@Sf1+Za59pbR0{pXyI^{ zXn-qApNq-)nREd;eXDH z)Y5r#?FdIJqJ?|e4mBon{@M(Cx$as5OVCkm-qr4wIeN79d6CJ454ww^-m}Qwkk70vaN>IxOf%=NZ;9-abI-?yuH9#c zfzaHokt*F#%92Gyx3-8S&YZ6B7)#tR+WP6kOLfJ!SmH_ zf%GG_$1#NTn6-w540nq8#Y$iLkfD918sobx4KTFjjlF!0An=}MEUxwYwHTUi38tIH zG`FYlws?gdKkrGc91euf!iCwtr*9<#_wJm*{lmVG?*azaO`{GhESW`bI>O7@zFC~E zE}bJEFo(^XWh2sEUBZzCGWcqI)_?^^k7qWx6PP&To&CZLJJ17osM6)_;Rt%IGv|Eg zNx{vE_uyx9=XDU#3C{!SRx9eFd1IL4gi3r>{@(e)_ z{T_uu1R_eF;bu~r(*8NoEl3g(JED6wLqytQ;G8;}Vz4r#@Gt|Bug-SjVE^{nPsFhB zuIfrq4RiT1L zb#O*sbO~Ekko|4;L)>cK7h+7m((l{{4u1G`gEKX!acqG z&v{GXsr{UNxS@ugYm)2I;>3baQD$iOGthg1_8AMS9JXMz^Dtu0UNK!US$On}4u&{k zZMQg3gLTFjS*oMvh($D_P6(PM_h*~&woA^bA>{3_Z5ZIbc)kPu`bn)u1R-{QCuLMz z?||1ute;~~`{1D#_&?8O1jxQ~7cgt->Nisbi!Ptr#?lwP1Ko3>;E!Jl|4rX&|~{xs-&7 zC>Y?Q;I`RIV;P*d-k~e2dto6Zb~s=SMzIWEQ9jpz_rJ1LC2B$EsqGaTTue*sO*H)4 z!P}%uZw}rDHwSOm9|o6Nb@q|KZ=cT1YCd=Cjt(3;14iX>TRL7sF!{$Vsw@Ml?blg<;Ug zGYdchk>__#AYlDyfe8WX9#t&{RaTc*5=iaw_6DIV(uIY_+gPfp!6!XpOm7Me2S*%N z5(f6{>T-jlQi*^;M*i$3H9$zmM~qtusQiFA+DDw2*l+mR^5@a5XBe;8UW8MWYS|635yiT9{n14f;4IL0Dt*#}uN%6EqZ!zsM}KJb$vb$sewQ-? z6Zl=j40J~Z=#w2X`dWz(rA7E}2O2ue5u+%NOS|5J;k{@L2k~vKnvKDw|CLrOT^cE{ zWPZodN~2##JJ1JsZV#28qc;GQ9*zPfV>g1^JBXz1nz z`b5qOZDB%NsC3ITeoNc2AKh#Ty}v~tS6|}aRvbU_=9Tdf zu3215AU}1?G4yp7i^mgs@vyKgCYJ5i=WCAdR#VXtXQHp$vO}L(VVJw&{UidjH@;UQ zD6??PY-F-(tY&ajK3*8x310rzkhyYnEvIqvzGUM%byXWfP6>8mkP-DVpD zl4Jzeq+@4@V1j1sKoNEAA}pD}t{+_KR6I0>1=;@84k~(&EtJup-GqPodD&Rfik@b~ zl7{-5A>!jw~m-2D%t!?4z;jsv9 zb-OgS9D}rx0YzF6B`mqg>Q2-fkcR{!)gLn$T>seV29Dt z4GKQ=ZNP&P$ED*ClRs}Wn1Q$a-YPNNE8N=;DOS6sTK>)XkKO1iCxNbD`Yv^Vqfc#S zOJMlSYhyTI=UhY3$USkK2?Jfr_eKy13|i_e)sZqa?$Thp=vn{=>GwXiXJDbV?QH_x zhc1o8O`uY+RllHd+JX^gm}b7jb0fOzoSHPj>JJ~AMKG_e?HB^14~?54ru<~|W;8HI zO|1U4v>S)6-4{bfciT$LuLE%cpis20BLfaAmhLsyZ4+xqx*eRa8HY&Y(`VQA5^9zt z_`|#x*UX{$^)=kDq;JRVBf8f<8iN0AY$v?ilyghXsHcw!PV=}Ww$lmh`7{o*{)h`p zF$JwzZ~F*&+tL5*BD#X!8j{UGiRpE38C~1~$xBGtZHv%giDJA+0(-RM$FXpwsrys{ z%?tl&;$U{czQ3jL{m{NYQYgP-*$=t_GTl2R$8S5Bx?gTB*&BZL-BG9)MH?Zb|k($}YcawNJ9lMTs8!Utbi zDurFMKHXq+Y_cI)%R+*3BAWPb+nd)}IwVQ3pNa!LLKqOGFQ0*1THYtzu|0<#SitdS zt}$BPCV#n&&T)?+NoJv{-^6$^9C_Je1i~k$4>$u6FJ>^9w~LYvyYZI(|_>TkUqs@DYU;h@hb!EL+jcb z(wBb=D=adm&XU?(u)ru{@$HGD^{MnCHiP54iM1?EPY^6aGW8%D-;bUvELhO?Uoo7( zUJ|2~0iDrvwStz&T+prVu#dr=FQ=y&f73ojrQ35wOAyQH=@ZkBg$dnb%sI#pi&-dz zwc?81FOij_MV`!HJU3=Ot7e zDp+YlQH2TZjE7p@_E-gSPV?f_VH8y z;r$M_(;L_J=i+|ZepmkX->R0I-&oS+;Ge>#i1nl{_)){H$an9qf-KFNi;`B^5gd98Kc$=fU1t?YKiE!wS5uRWpD7CSW_Cp$UEBCA2q zRvqyR?Jtr3Z_luI|Eg&I(`UH4v{ygGkt-b0#$82U4jV$*#FZC08YBp3;H7!2pXkU^ zPhTX{tiSAJ_)+RxzDEYnev2Vnr`Sru2lVfK3r2O1MIFJdL0`HsFtW7+gn=TZcd;Cz zpWj*~1Ep-$4Wt&Jw|#4{ei=Jd44)!z8*`x7X_d2v-|E(u-uLx9^hOD|r z=$9OU8x}+)yusYt#?+6;bJ*?Grzff|Caqea0LvbZ`Oeh4M(DQ4_UkADZ*L#!gJe|B zs!lA8Xl;bQFS0yrOxNI{Bm85;^usQDe%;K#h;@!8dH}y}`{G{Nd}y``#%D~rLE!M+ zRd@6tcI8)O+gG{c0Q7d zWAX9MH81em68JZvIsXV*9d;XqF1rG)VeRa1QdIeLx*Mv6+0}s=1~Bw%;7SXayZr9o zR$%$&$S?zXd9Yye|$2T zY$cDX7a1+UQ*&4}W-Y?FJO6P`lGE?oP*??%?j5bt<9!bH)$$3~xJA(S_0f?8Hs9bF z+|$bYUNQwUxd?>_%S=T%9E1*cabc-3BhdJZcE@?snX?38%d^byWg6Odx8RpbW*=*> z4=W$7&0^rP^8R?dS((c_G0YARGC_$+y2u9A8XfL`Lh3E>{#Xh8lM@ueLO|WI&Mchx zb!@u`OfLkngkCBZTuza(3*u3hmMA@v9kRtoMOc+Ys8uLNiLC8+O1n+**IzF7{Fb2I z7L*>f#rVBDJ(2$}F3qnrvCF`qfC zL`uc6*63?5H?MvEuYTnqm-(D&xlNnD?~6tJYXj6*I6il2E#Qz+e%B6>24)OxSd9vk zS1#>1cofxeN&&AeGPe=RO^B>$`3a1eAQ3VzMsR!BC^?}ww3l#z-0jZ40+0StWY=!&?NPS;@1f@WQ2cO=ez zr-ZXGF?vc02k)O}F0zKO64ys8*opdUxtx+899;d{(0~EmDOW==gcz=?XF+V(=wk-f z!Rro-;FYNAk^-JYG!jg<&rS(8fB~JW0whr7C_#eNoSW(_hS#s*Bi_MmD(Wi=-30Qg zAx$i(H;&sBv~ohjU$(0e{qzLxcn1bg!(m6pRqOqTZJ;zVl%8~BDLp5eo z1ALUwW=aA=3BR=i{aN^)k?;i7Z4U%hp~=<+N4`1xxCFYcKfZ#6zq_?Ujm+>zg5^bm z8zx!3T8Zc;JlDX8L&tkbq2u@U-Uy&SPcSxt-4h2QZxUbhV2S}0tZQ{t4x`UMu#i!| zHG*QGa=}0gnuv$ia8N4?=b(p~?35ZF^_9J6=(|#3&zqPaG3FD^WFne4%#w)sx)CxX z+V!Lf_Iv1;Ru&8lcX@bP&PUIby#kB-Sv|$jZ`28UJ$UFA{2O`IzY_}tDVyo92h8aB9CnpYFkP z3%E7s7jjlNKb*LVIKPV=1xbUd9vTw(xq8Dq2Cn=#@r=;Yn?j!hPoA*gLzlaYs5_pk z`5*_>V9Yp=J`YhzK?o5vD5;+a5+A$Y#sE2U!+H*mzjFUT;M#=^D2=!iP#VWj(`ca+ ztvZI-^O;}VQKxtN7qVYbA*D7fZRIK8l0{#F?dcS2bE4suU0N%PzI?@Wq4CMDF$l7; zt?@>aUT>&m;qjrQ^Lv{A_iwtG|o!4BC& za36BbMvvV0vb>CgBL602>!;Qy4Iy;rWZ~B?)iR`Brponb=v0(9@s7Ql-a}a1?16;7 zjT0_-ofh130S7nwHpNN6HZo+C1dfiH~SGP zGP5@}^+V9~VAC}{aLaszIpIax+LVBHM|PDy48GaKa!@7>Es($(?~}-B6#s7B%)z*k z3P74{_(^XIn7u&=8Yt zWW)!sdPWdD@V8b0%Ws9wm4YYh5y*j!+JnW|vmtc82(Fb+$MDx(@+4dYMcz+V5bAbQ zu>X|x(_165|69si5Al$|DtA475tQ5Ue=BG`C%|)(&@xB9I9*T9-=6AGhOFh2kxKZu z)MKz7oq1Q-ULzBp_|fZlr~=s(K28BwXFjRr!0Cv`MkGw%l_8u$*6W2aw9^{wFkCeK zU@&FNty8S_RZ>Gs9WM7^|C+9J+@f4rV(!1jXgxuxa6BG@7ANXe*3)v2*T63^z zZgLJXD%PH5BB)xCT*lDY8sVWP&-6^?;MxCFUj`xuokB{rV1TCwu2u*;DgyJ7o_PPa zV?7h_xvi@=%Al-MH3nH}x58XFD5(nTA*SOy3L1l^Asd~*Jo{84fs;>@^H{q4h%lRy z^ub6VtV5l{WjxmcyiI<>Vo>u(B7&}?Hb!GcwOjd?1wG#LjRXczIUk!dS=vx6m|RhTmpLE$xmg2+_069o)b+5?+Q8?U z(`Y=jJ4wYPNeX?ERa-?TuQ&^!fnUDYNR~#22!q8Zo%&Y>Au9;ABWg&fKRuL#7gq=E z#(nRqS1&Q_&sF7#A#Gr4E+((8x==BU{l{w$p^G~q1Psf*dQrrNF6O3)AU7eEW1+m+ zt3Y%zdKanTV9AqQM-dEj8f-0wPDQE9*ptpz$N~|KJR@{6vTP7SvdfW|IywI%NtZ&& z%iJW64ps_kfyf29=J1r{VYps@KD9{#{{07ILiAgukK&oRtJ)4#>rUnp(wEh(Jwgbo z8qZ0+S0dYF<9!n~0iNFXab$-JZ|LWg=SrK0n&O}q?$pVkU!l%a443WlFvZ-x%6k#| zpgP?+F|<9Fmn4A$)p@wF77r>1Js579AI3s-ayf#vC!O+<#O(bd)dPhVUs7#EP%WM@ zhoMJM=77%_s&C5McF)IGaGbG`r4>?vQ2#H%!$5sY4l{;!BN^D2l#j}sFB$p9sAXK6 zA1wmyeEqE)ygZ(dkh1OheAMa(+|0+^ed&!E$W3W81a1nSprO(21;RmhXNH`P##S+m zYd-{i;{8uE@GW``Z}(aXev{fgC(vFs(@6yDHVu(6beg{~oM`on}$9?C0JA{E8zPBr3VdvpZ#mMCi3pYXx+}sCgst7~jjZAjvYxwA{ z;Uc;g&#gdqRv*Q6OQwdOP=Mi|O@%BSg8(BwEu<|z&DlW9xA{9<0mNg`MZX-YBF*QA}4K!>kssCQp=B*IDxuVm?4g3UztwmVC%Au!fj7uLkYGEItx(5A{Gz8PU~GVaX#xUq%YoNMbd{d~|Z8G4(|4 zf&r`#w^G=BN=9m2X(1l!fh5-l`H@MZYjL&3Z54za zbq~@v3z41A3c|l0t6BVC$_QiBGN_SII-}BUTEUVW)CYGvvxq?2ipXym++QpxK!7b( zgW82I*9z`n271Eh6cQ(MG|~SNC9J+%;05>RYY+v@epGOZ(fz%dCGE-oWxZSRnSsNk zP?o7#OJK{-^azv~zAIQkbeB)E|H6*lQiLek|pBq|0W(PVK z6BmKe z3>RklqCoFD^XxqX1-^zTx%1baJ&K8ZCG{5R4j$r2JEZt08V*tG9$nzbdwcNzv78LGj3|Betr4*faQmal6V>ii!egG2hWFPM;np^Zf6X(b|@wSvMy5HG0sdppir@v|nhx8g&WXgS&s1t%&fY+pD9 z*Ttmv%NeNaKYKUYOk(@(*cYW1ar<6w!r(2vg#rk#7v@B*yE9EhFnaoBrwxaJX*3?1Kx2L3PF6P}P)s-u z-ri|{kAsR6!?3(!#H03@b-g#;g4?I$oSL_*&W=`88=ct4iOweR&Bq|_|%#qW=>!t{|^m?F0!NrJ0Tc$IV z@6!UsHydiHR|$5Cukm@I((QjFCPVDt+#l_5+zwxyJI3fnC?q6BOqc!=tmb08pCuo< z)K9|y9yDA+Z(^gGKM?ie7F1}Bx?n`G-p_;u|JdPs6(Dmo3P-P6wWX5`e)^nG(4*ge z3x=~q;$cMR-9wcoKOpag5scV1d=xT&@~yoQ6xO{6Cm?d{u!M!atIm%R!JdfVGljFUrUieb|`Bo@TxU~2@rZ1J$=nT$ubcaYK z_^-}L!^(<aE7aC2Udot~jw6y-2<`b zwhK};1@Sw3D4_89=*1WVy%~)D7Yt!x_3SP+7{A&@;qXOY+&Mr&f3^{@S~uS)wCMb8U2YKFkP;;+C%Ttsm1H;D z@@B}=V;Kkk^jMd+U^6TVMFh4(-uj^WaZVJf?&rq8MO9YJ^DZbKxTG&27ZD9z+VP2x zETr)9bC)JUWxIuG{XT5rbp|S4Szvxq`4dtP$M(b~K|qY^6ea zL^r}&MS|ooaLz(3dYo%&Ih+CS`%wrdJTSMsPiXoPp*ulzVF-Gd-j`8$bGVhIf&+SW zVGj{ZySEUx*T7ya1jdW54t(?!tj~NZiyq8Dq4m3494)FAR_#*%cdjt1m*q9_=~5Nh z%)rV)mRt28Z|CK=2mYwW!VJ3VkdpYL&F>Gy}J1?m~viqrx&a@-WyYgS`zQC=YNky_=I0)%f;!F!$n-SIjcLj3&&h%4*F_FZlKE|5L6P zUDr+g|1t4R=3{hR3+rz2bJ16k3V#q8SaBeEmFlm*?zG~&8@|_Odo6YXlTBClsameH zT(H~bU+#Y0L95Z~mbOkk#@Kn#cRz%k()favFGrnPxcLd1#aIq!C7{^_C-jL#H)^Xs zaU*<)m~uHmD%QX|X5Pk&F|} zhqqpAPBZb)5N<6VvrYtCR*jj45|3T)*As9xz4}%P2FKnb3{bFr42PtW?meOpgRZ_; zbFjAS)m8*H%v+3nUc~h=NP_JC^gcjAizEVkwdCFhOTO@LYdug#S)(@4a@^HcBFJ9h zZ;z;S@nWo@h;AB#Ci!&K9xsF`SNVHj8Cb4$Fyf~HA7+bbPO{KF)CM3KkB8Qv=P))N z)k{$yw#lKa*H|rz_R>BaN64|>Um>OtBAD9JMSCpyjGcSbaQO7q17bet%GJJLQMTuq zh+fJN?iaLvu^)IW9_!2K+%_5z3qKUVe7L93aW4!ACROy_*tbG`!IDQ(;G3-{=+hyK zg?0VX@q?C+4z`xU8u>@$8q<~rw8e6!4NDwEuxew#Mj0J;RaiS+zK-pnYxY!=1`fuA zeO#hMiPN=oL}U~88ezigeC-zp>o?d`NOUg~)Fd7){%ODhlzKf27)g+@5M~Qs;a|$1 zHuo2Z?QV@$n6oj8r8cOwT(x&Kt8+?MlOtm4)Kyr18#8to@&>(-26r?;|94}<-g)%l zSYa%de6=W&&ZkI~~ksGwV)r8wWk^)}y)A$-j> z4WsLRR!tlT6m7b;mZ8$#!eUJRx_1_VTLZg~*5?O^_62~o?4O4SFPyzri3KXdZBcLZ zV_o-Kli}LveRc?U$;VTolaA34%(G5v#(yF@y;u#w$a>>+jUczo^S_QcnbLIpcNt8| z`o~mCcf4(h#ID)8==N^Yke4jvj=SC)%V!d=n@d6Yeklex2iuLWmceWH9wSk`S+{gj zXLug4e;o(0MmI1*nrt-zk;_jHY(Fw|{&In@O0Kc>1=Ef140u1C~tGrw8#|4N)EKoAhYM0r)@q zI!Iu$4O|T|bodZt{{v;)1GOaE3ffOTc#7qx4p?y>I_t+A))T1Zj@0#x@IEiv#JKaG zm+BNySzZ?{)8$>)5?pr6{bC9+jVk3+cr?$}M>`Kh< z`wxyiAqHvwt)YEkiZeNgCFdE!DiJ<40Jipr4jO^`k6XzO5Y*?;aRkOZRw167`aTx@ zkZY?xzYujwyNz`rkvk5d9PX#|Yayys4jq~;DYEo;#6q5rs49S1r%8SUIJkHU8V=$6dmUS~iiQ04%ojO$rA%UwL5lm@3M(I#hlh&b zR5;UDkERt0!ARsGR>^1DAGW0Bc#gHmYx^K}-D5hFigvnbQa;uxIj!E!f$Bz|RhYUY z97Y`R`>;Dp^sn88G)-a}?ED2fsZxfj_(1APGEI^&M|c z?;aG`R(|hYCq6`l-;t>3+}DqxlfRmGx2whcir3eU(=v$0h{h<0* zrqD08J{|FwG0sO+FrayjBi8p!J^IWL!gn|qilMA3?VP-9?s3v*n3D%peSx`*w^M5g1hzgaljvN%ye~&E#Sb7E|SWm;56C zTgs0CgKvv*3q}0PZ@6s!pCW#+jE_I}FG=d(rNKhp!g$t2l_dVlf?k*#f1Trhhc;ZM zf45ZZ$9!-@`eSuG3R2>P4{FqFGA9tay;QJf={IT1|E%CbYRLw4GEw-Vyrh$BORF)I z?-ETl0Csac){@*=RFa33(Drz&PabI9Zzl$lStS^|){hl_gUp`|*j9>A2J~7d+!`Ni z1KW3$EYX9MAMsz%7!H@9`&_xX0X@f_)|GEi!nC^I5v+bKYnaX=M_)1?W$xLT=Mg+LNL@P7iU($xM|mBdauTb@?^Mpm?=)-_R3}`S*o|i5VSBjs%oS6;=kp*Q zfpL$<$5L2G+;R~wP***W!jLBM5rivSxy_NoAB`kV4i|d3dCBRmE4HXVl2$+^16|}( zF!aE|&)gd`K|*ByATHEvGS2G7Nixu&W+B47(7T~I5oS)WP% zr!c+~46|MT0zpCQmd(&sa{MtY*;Iu^AKqpIu)KP2*W-f~aQmFwH}r=70}f*0<@G98 z2~A2D2-Jqs%KxgtHv^knk~gOKDi6YpVBX&K3k^Vj!4FhJ#mtZ`hE-FU7A3+2z=SR88m6Oq^Y?FmvW zfW5!|iY0vWADAJ9{Z&$2n+Cmpq7?^{L_b%0DO>QAErx;Qr<_Iu#t2Y4I19Ol5m8xF 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

HeM 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 z z5v>`3P~|~?lN<8QNm;r`dRJbae&v*CxD&Tdn=@Ho2qhd8-mdm+yBPM?!rzbs5K7QO zh^}<_Pj>tK-!)~0+c=9#b8m4fzE?EmNGR>;3Y2Bw#4Dk}_tSM5z>`k1NY|V>0}F4X zewdcR13Pu@RC^HDbjQD?(w#;?^r25#+`RNeQ;q~ng@ZVjHQIp|>iHVJf{lD3AHDcO zwItnW2M9QkWOD;Yhfec+E}=amHNA)0U03yWmSU*TS6pR54PbGlzS*40x_=EV3U^!~ zhVGSi&v%-gxh<$S2q(-%+^*3;%iGRteJbeN+gu@MKFFXN@x1172)Vj(lts2RIZYV~r6XC*QDAIN`LCxEuZu zs-?Hc>azk{LQ)SnCnqAL#Y;5UW$R3fkIO+3GyoMSvNOAab!BB&bQLt5l~{G-LT;%F zlcJ^wB6pBZlo2uHZR9lXSC?i(t_cxa@3UnpSS4_AIi8zfd|efWp8ms~;yjcA^wOU_ ze{Tb6@}-yn;3ts2ghz%ojinMR77#t?w?-UEcGK+|DTQ}qf9!V4DiO7g8S$a~)KUdf z>=Y4Nr>L`+tNZKrXf2I+!h_~RR|YnE`WqfW?sWcQFC(6?YwC|FWJq@)E9#QFYxa~$ z-`k6{@4vF3#W0lhyt&OemydeNKsbO7@(6PpckVyh2;t$p+R&qC^j9H8JLlEdFn`PM za)qor0$dXSO&Ydc@k``F4AnRuVh^$D*a*!u6(UG+K_Y>fHxp3kTt;t~)Dq!1%E5Ga zms6z6Ox(_-5~1WZEf6Pc7OYgy3vftS(j@3&b??`F(N&t)c!66e5{-u{GybOSP^GL+(XARm-x#%~a638l<2l_8$YrSHfd!o3 z!-wQ!AQKB1V?_g?tD>uN_>0bx_Cx1NsqMIShaWYx+=R|w9C^FXuv+h&gzs4H_otNO zy!NC|K$!Kr`7(awZ_-i;H~4%pHB>$Q&2+Axzb|cPHj2vP>1sQCnf}NxsXDc}tp26a zQkxb+45jUuPGG6!PZa2Df0LSG@yo9)#mTV!w$ux9*~m9RvPs0<-!2;NUmZh7Acl}z zCoaL-$0z~FD1>*N{pQpiI^4M zRVc|hA#y@NsE`7Ki`ezpsJKpEGMq*`LBbmJ9pY%0Du$&x?PC~5eCSf8qQ)4YJodyd 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

Sf;R@{LY-(x8(!t%P;u6yy)>W(R3sr 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 diff --git a/srt-cloud-framework/srt-cloud-flink/build/extends/flink-catalog-mysql-1.14-2.0.0.jar b/srt-cloud-framework/srt-cloud-flink/build/extends/flink-catalog-mysql-1.14-2.0.0.jar index e848764941fd94886d9de3f16d8815608b898c18..bc7b2a024bb977fac44d690c4f10917a56a0dd98 100644 GIT binary patch delta 338 zcmZ3qf^pFbM&1B#W)?061`Y;>ciGb?@~SccNt4aYAkHg2AZM}^qXLMsVN?N8NsL+` zs*lk~AbWZ^0}_y#Y{)J@`8^{yNd6C_1BkL?(gso4OvWH;0h2e#+|BQpT$zCU&8Dnx z7_FT&KLZdo!OsLl9rFX3G?~fY2}HU1dw}Kq13=Uxe`^pW yAK(n4QUapE#vBSr197zivq01|2*nf>58@>U<$ce7?p{N(qH+#vZsj1C~mj!7FtWiuIrs0B>kAaggrV{&Bz@;95Z zzG376nqu_sLSh&r1B1(CdsfrUN$iD;Ala)Nu~s13#JP|KNH1RQ&dfY@W&h??UZEh} zlNo&%fvBavrXcE$uRX}@$#Q;nAa0zW0f?I5X9A**`GHKD%;fI`qTKvFz;gZpAnK97 zHHeZAa0XE+0nuP%4h5uvxLSc(AZi+fVhV}}@sfk`K-A@+5|Dc)dj%(hxa)(90f(@C Ay#N3J diff --git a/srt-cloud-framework/srt-cloud-flink/build/extends/flink-client-1.14-2.0.0.jar b/srt-cloud-framework/srt-cloud-flink/build/extends/flink-client-1.14-2.0.0.jar index e6aa6cd35a97f3accbd41c9cf54a9293780aba8c..724cdbd401ff487f552ab5f759d9e063bac13c32 100644 GIT binary patch delta 1607 zcmY+De@xVM7{~8;Rtlq zps=O8@;m1ou2yDkiMxYutF^V(szord{&1~{3gwzMY_Z(Zvd{bTz1I5Y`}(|}=lwjN z=kvMyjNY}3-nCfUniXS`!C)~M79+>3Ygv5D&hbLz*rHo}qh|5|1>^;`Qi(7`$EX6h zM?SU9$L9a_5YhFCWc1lNbF`O}P&vRgh-zF5b(^c9_A3Rd%gxD2|BfJ1`;|JR;z|&> zr3Bz#XLLg~8}oqYjea0(a;mOrvPNf(NzgwSYv5gDDg?r&GGNeD4QQqYSpG8k0I#_W z=rV5-x!AkrunAmB_9~zw<)Y-$s+|_wLPYI|`7>U4Q85@Un4@iTuGo;{J( zO3bGD578aDSHVk^Di^gQG%Y>JuaI3va*t4J8q5byQ3%(jO^s73?nnFjEZK2^+QNtQ zEpA>rAEQny7S_*bOh!(8L6fqo?JJs)4SAX_J%I8b=P8}A`27mKFV8i;Kq>fzwTYjp zOP)RL2HA>~P(;713-j>ZFP$s9cMN$Z{T_fnt;dYo0 z;XN&c7TS|l$`JM#7Nzhj+^1}CO zDepmkxs->&{xWes!7F9F7x|WQeV)m3?uGVL@L}*wg?>JJCHF%gt<=wN4CwPl0%Bef zp9%0j^b1w#^SxQ6@4H;Z+mL^xTEFM>)%yL~gE|if`6<+04{`)-U(Z9}_X)Pw@F4WX R8t%a(P-{ba!;>NI{Ra~@R*wJx delta 1607 zcmY+De@xV69LMkZeDBT+&Vw^0uj9A_PQW|h_gmRf}Mr>E>D!e^9Pz!xqaeEqmV2^IfigzOU!~{(PR# z^Z9)DJfrt4qxUS<)+WW6WH49^hKqeit*eNCOV7}SzN7OV{*9WM7szKm9*J&Z#lRRV z2ktY!+Uh6s|7vh|jUJ5dO_-xSlmt0I)qqAdz#Xar`jmXt?V;qP2Q6@~7NNKj0&Xio zV71W$G#PV&7mWcRVsfeOX=aVi8pRPm8pRPSO$9Pq3JjXWNt&r1>Ti=D@R>!d)4ZOm z*!$*)30z3_DWEguyx_vJZ5G?bKD9j-NPp>N#b7vRjRC z23^AcEi_?-9{F&}rQO`EqZAad~kp$+7 zHJ{iZ@{XUJ7kPv4zM2YOiAO}8W^GXseg3(#cj0TZ!4R-VQ{o|Yrht~j-uUdC8OdE= zUbTVsiHIov`nAKtcmCRt41dQW3GTXolX0!JGxiRuYj=%o9mdgW9%BD25eqwupdoGK zVHOuo*vW1=;rN5>Q!5rX>ezAA*M=KeMhX_=9jwRAuaagPV5tlX&wjSlj78u8yQ^T4 z{|ZYLi<%KOEpn1yV-Dfu9A+(cmRf4MXP6HtV6V6 z{eq1N=dG{Uq}bK^4Vw^i(KNfX9J_v+V=KhSe_UZ7ik$K5EJfr@{K7iLcKc0cD^$|< z9@DZM6i1SJ$w|k+J?VtUpuU$*Yk7ZadM2f-ii?&*I9yZ)wzvq_SsioHI&juS>%lV_ zJh?c7aG#|ZdLWu$F3sW@E8SEC(ded);2g{;H{qhIKf9>~tnf&Vc&HKj2M>b$ITZ4PZg{OugM?~bn9bLnaLlex45bmdVuIGRV#gTL#1YBjw8 zJ*)FEAN4}Vebfa$;+Nd-r|r;lI_vYLe=1+rOD&Kb(0Q$ZoiHM@>`{RL diff --git a/srt-cloud-framework/srt-cloud-mybatis/src/main/java/net/srt/framework/mybatis/service/impl/BaseServiceImpl.java b/srt-cloud-framework/srt-cloud-mybatis/src/main/java/net/srt/framework/mybatis/service/impl/BaseServiceImpl.java index 89a427e..077c62b 100644 --- a/srt-cloud-framework/srt-cloud-mybatis/src/main/java/net/srt/framework/mybatis/service/impl/BaseServiceImpl.java +++ b/srt-cloud-framework/srt-cloud-mybatis/src/main/java/net/srt/framework/mybatis/service/impl/BaseServiceImpl.java @@ -198,13 +198,20 @@ public class BaseServiceImpl, T> extends ServiceImpl queryWrapper) { - DataScope dataScope = getDataScope(null, null, null, null, false, true); - if (dataScope != null) { - queryWrapper.apply(dataScope.getSqlFilter()); - } - } +// protected void dataScopeWithoutOrgId(LambdaQueryWrapper queryWrapper) { +// DataScope dataScope = getDataScope(null, null, null, null, false, true); +// if (dataScope != null) { +// queryWrapper.apply(dataScope.getSqlFilter()); +// } +// } + protected void dataScopeWithoutOrgId(LambdaQueryWrapper queryWrapper) { + DataScope dataScope = this.getDataScope((String)null, (String)null, (String)null, (String)null, false, true); + if (dataScope != null) { + queryWrapper.apply(dataScope.getSqlFilter(), new Object[0]); + } + + } /** * MyBatis-Plus 数据权限 */ diff --git a/srt-cloud-module/srt-cloud-datax/pom.xml b/srt-cloud-module/srt-cloud-datax/pom.xml index 4ccd30a..5ba3ab9 100644 --- a/srt-cloud-module/srt-cloud-datax/pom.xml +++ b/srt-cloud-module/srt-cloud-datax/pom.xml @@ -101,11 +101,11 @@ - - com.alibaba.datax - mysqlreader - 0.0.1-SNAPSHOT - + + + + + @@ -117,11 +117,11 @@ - - com.alibaba.datax - oraclereader - 0.0.1-SNAPSHOT - + + + + + From 4c6d33591227e11df5315db98efcd91554ade576 Mon Sep 17 00:00:00 2001 From: LiZi <2954265606@qq.com> Date: Mon, 25 Dec 2023 18:52:44 +0800 Subject: [PATCH 02/22] =?UTF-8?q?my=E6=9C=80=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../srt/controller/ApiConfigController.java | 9 +- .../java/net/srt/convert/ApiLogConvert.java | 3 +- .../java/net/srt/entity/ApiConfigEntity.java | 2 + .../java/net/srt/mapper/ApiConfigDao.java | 2 +- .../java/net/srt/query/ApiConfigQuery.java | 1 + .../net/srt/service/ApiConfigService.java | 3 +- .../java/net/srt/service/ApiLogService.java | 1 - .../service/impl/ApiConfigServiceImpl.java | 17 ++- .../srt/service/impl/ApiGroupServiceImpl.java | 18 +-- .../srt/service/impl/ApiLogServiceImpl.java | 1 + .../src/main/java/net/srt/vo/ApiConfig.java | 104 +++++++++++++----- 11 files changed, 112 insertions(+), 49 deletions(-) diff --git a/srt-cloud-data-server/src/main/java/net/srt/controller/ApiConfigController.java b/srt-cloud-data-server/src/main/java/net/srt/controller/ApiConfigController.java index c84f33a..3cad1b4 100644 --- a/srt-cloud-data-server/src/main/java/net/srt/controller/ApiConfigController.java +++ b/srt-cloud-data-server/src/main/java/net/srt/controller/ApiConfigController.java @@ -20,6 +20,7 @@ import java.util.List; @RequestMapping("/api-config") @AllArgsConstructor public class ApiConfigController { + private final ApiConfigService apiConfigService; @@ -40,7 +41,7 @@ public class ApiConfigController { * @param query API配置查询对象 * @return 分页结果 */ - @GetMapping("page") + @GetMapping("/page") @Operation(summary = "分页") @PreAuthorize("hasAuthority('data-service:api-config:page')") public Result> page(@Valid ApiConfigQuery query) { @@ -54,7 +55,7 @@ public class ApiConfigController { * * @return 返回IP和端口信息 */ - @GetMapping("getIpPort") + @GetMapping("/getIpPort") public Result getIpPort() { return Result.ok(apiConfigService.getIpPort()); } @@ -109,8 +110,8 @@ public class ApiConfigController { @DeleteMapping @Operation(summary = "删除") @PreAuthorize("hasAuthority('data-service:api-config:delete')") - public Result delete(@PathVariable("id") Long id) { - apiConfigService.removeByI(id); + public Result delete(@RequestBody List idList) { + apiConfigService.removeByI(idList); return Result.ok(); } diff --git a/srt-cloud-data-server/src/main/java/net/srt/convert/ApiLogConvert.java b/srt-cloud-data-server/src/main/java/net/srt/convert/ApiLogConvert.java index c187daa..6399679 100644 --- a/srt-cloud-data-server/src/main/java/net/srt/convert/ApiLogConvert.java +++ b/srt-cloud-data-server/src/main/java/net/srt/convert/ApiLogConvert.java @@ -2,7 +2,8 @@ package net.srt.convert; import net.srt.entity.ApiLogEntity; import net.srt.vo.ApiLog; -import org.apache.ibatis.annotations.Mapper; + +import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import java.util.List; diff --git a/srt-cloud-data-server/src/main/java/net/srt/entity/ApiConfigEntity.java b/srt-cloud-data-server/src/main/java/net/srt/entity/ApiConfigEntity.java index db43cc0..7b9dec0 100644 --- a/srt-cloud-data-server/src/main/java/net/srt/entity/ApiConfigEntity.java +++ b/srt-cloud-data-server/src/main/java/net/srt/entity/ApiConfigEntity.java @@ -1,6 +1,7 @@ package net.srt.entity; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import net.srt.framework.mybatis.entity.BaseEntity; import org.springframework.data.annotation.CreatedDate; @@ -50,6 +51,7 @@ public class ApiConfigEntity extends BaseEntity { private Long releaseUserId; // 自定义注解,日期格式化,格式为"yyyy-MM-dd HH:mm:ss" @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date releaseTime; // 私有属性,内容类型 private String contentType; diff --git a/srt-cloud-data-server/src/main/java/net/srt/mapper/ApiConfigDao.java b/srt-cloud-data-server/src/main/java/net/srt/mapper/ApiConfigDao.java index 6919a9f..6ddc07f 100644 --- a/srt-cloud-data-server/src/main/java/net/srt/mapper/ApiConfigDao.java +++ b/srt-cloud-data-server/src/main/java/net/srt/mapper/ApiConfigDao.java @@ -9,6 +9,6 @@ import org.apache.ibatis.annotations.Param; public interface ApiConfigDao extends BaseDao { void xia(@Param("id") Long id); - void shang(Long id); + void shang(@Param("id") Long id); } diff --git a/srt-cloud-data-server/src/main/java/net/srt/query/ApiConfigQuery.java b/srt-cloud-data-server/src/main/java/net/srt/query/ApiConfigQuery.java index 4cbb148..a9631c1 100644 --- a/srt-cloud-data-server/src/main/java/net/srt/query/ApiConfigQuery.java +++ b/srt-cloud-data-server/src/main/java/net/srt/query/ApiConfigQuery.java @@ -5,6 +5,7 @@ import net.srt.framework.common.query.Query; @Data public class ApiConfigQuery extends Query { + private Long groupId; private Long resourceId; private Long appId; diff --git a/srt-cloud-data-server/src/main/java/net/srt/service/ApiConfigService.java b/srt-cloud-data-server/src/main/java/net/srt/service/ApiConfigService.java index 8b5d7ff..83335ce 100644 --- a/srt-cloud-data-server/src/main/java/net/srt/service/ApiConfigService.java +++ b/srt-cloud-data-server/src/main/java/net/srt/service/ApiConfigService.java @@ -29,9 +29,10 @@ public interface ApiConfigService extends BaseService { void shang(Long id); - void removeByI(Long id); void sav(ApiConfig vo); + void removeByI(List idList); + } diff --git a/srt-cloud-data-server/src/main/java/net/srt/service/ApiLogService.java b/srt-cloud-data-server/src/main/java/net/srt/service/ApiLogService.java index 70fca35..3404363 100644 --- a/srt-cloud-data-server/src/main/java/net/srt/service/ApiLogService.java +++ b/srt-cloud-data-server/src/main/java/net/srt/service/ApiLogService.java @@ -1,6 +1,5 @@ package net.srt.service; -import net.srt.entity.ApiGroupEntity; import net.srt.entity.ApiLogEntity; import net.srt.framework.common.page.PageResult; import net.srt.framework.mybatis.service.BaseService; diff --git a/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java b/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java index 56a1ea8..e17bf7c 100644 --- a/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java +++ b/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java @@ -23,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import srt.cloud.framework.dbswitch.common.util.StringUtil; +import javax.annotation.Resource; import java.util.List; @Service @@ -111,7 +112,7 @@ public class ApiConfigServiceImpl extends BaseServiceImpl idList) { + baseMapper.deleteBatchIds(idList); + } + private String recursionPath(ApiConfigEntity groupEntity, String path) { if (StringUtil.isBlank(path)) { path = groupEntity.getName(); diff --git a/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java b/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java index 1fd1973..bce878f 100644 --- a/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java +++ b/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java @@ -22,7 +22,7 @@ import java.util.List; @Service @AllArgsConstructor public class ApiGroupServiceImpl extends BaseServiceImpl implements ApiGroupService{ - private final ApiConfigService apiConfigService; +// private final ApiConfigService apiConfigService; @Override public List listTree() { List treeNodeVos = getTreeNodeVos(); @@ -81,13 +81,13 @@ public class ApiGroupServiceImpl extends BaseServiceImpl serviceApiConfigWrapper = new LambdaQueryWrapper<>(); - serviceApiConfigWrapper.eq(ApiConfigEntity::getParentId, id).last(" limit 1"); - ApiConfigEntity apiConfigEntity = apiConfigService.getOne(serviceApiConfigWrapper); - if (apiConfigEntity != null) { - throw new ServerException("节点下有 api 与之关联,不允许删除!"); - } - removeById(id); +// //查询有没有api与之关联 +// LambdaQueryWrapper serviceApiConfigWrapper = new LambdaQueryWrapper<>(); +// serviceApiConfigWrapper.eq(ApiConfigEntity::getParentId, id).last(" limit 1"); +// ApiConfigEntity apiConfigEntity = apiConfigService.getOne(serviceApiConfigWrapper); +// if (apiConfigEntity != null) { +// throw new ServerException("节点下有 api 与之关联,不允许删除!"); +// } +// removeById(id); } } diff --git a/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiLogServiceImpl.java b/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiLogServiceImpl.java index 58a6a9d..18e2019 100644 --- a/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiLogServiceImpl.java +++ b/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiLogServiceImpl.java @@ -35,6 +35,7 @@ public class ApiLogServiceImpl extends BaseServiceImpl // 调用Mapper层方法,查询分页数据 IPage page = baseMapper.selectPage(getPage(query), getWrapper(query)); + // 将查询结果转换为ApiConfig对象列表 // 返回分页结果 return new PageResult<>(ApiLogConvert.INSTANCE.convertList(page.getRecords()), page.getTotal()); diff --git a/srt-cloud-data-server/src/main/java/net/srt/vo/ApiConfig.java b/srt-cloud-data-server/src/main/java/net/srt/vo/ApiConfig.java index 9293809..73251a0 100644 --- a/srt-cloud-data-server/src/main/java/net/srt/vo/ApiConfig.java +++ b/srt-cloud-data-server/src/main/java/net/srt/vo/ApiConfig.java @@ -1,6 +1,10 @@ package net.srt.vo; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.util.Date; @@ -14,38 +18,84 @@ import java.util.Date; @Data public class ApiConfig implements Serializable { private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) private Long id; - private Long groupId; - private String path; - private String type; + private Integer parentId; + private Integer type; private String name; - private String note; - private String sqlText; - private String sqlSeparator; - private Integer sqlMaxRow; - private String sqlParam; - private String jsonParam; - private String responseResult; - private Integer contentType; - private Integer status; - private Date releaseTime; - private Long releaseUserId; - private Integer sqlDbType; - private Long databaseId; - private Integer previlege; - private Integer openTrans; - private Long projectId; + private Integer orderNo; + private String description; + private String path; + private Integer projectId; private Integer version; private Integer deleted; - private Long creator; + private Integer creator; + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createTime; - private Long updater; + private Integer 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 requestedTimes; - private Integer requestedSuccessTimes; - private Integer requestedFailedTimes; - private Long authId; - private String group; - private String groupPath; + private Integer status; + private String contentType; + private Integer releaseUserId; + private Date releaseTime; + private Integer previlege; + private Integer openTrans; + + + + + + + + + + + + + + + +// @TableId(value = "id", type = IdType.AUTO) +// private Long id; +// private Long groupId; +// private String path; +// private String type; +// private String name; +//// private String note; +// private String sqlText; +// private String sqlSeparator; +// private Integer sqlMaxRow; +// private String sqlParam; +// private String jsonParam; +// private String responseResult; +// private Integer contentType; +// private Integer status +// private Date releaseTime; +// private Long releaseUserId; +// private Integer sqlDbType; +// private Long databaseId; +// private Integer previlege; +// private Integer openTrans; +// private Long projectId; +// private Integer version; +// private Integer deleted; +// private Long creator; +// @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") +// private Date createTime; +// private Long 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 requestedTimes; +// private Integer requestedSuccessTimes; +// private Integer requestedFailedTimes; +// private Long authId; +// private String group; +// private String groupPath; } From 0d328599061cdec1c83db7be608b7f722a771763 Mon Sep 17 00:00:00 2001 From: LiZi <2954265606@qq.com> Date: Mon, 25 Dec 2023 18:56:34 +0800 Subject: [PATCH 03/22] =?UTF-8?q?=E6=9C=80=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/bootstrap.yml | 43 ------------------- 1 file changed, 43 deletions(-) delete mode 100644 srt-cloud-data-server/src/main/resources/bootstrap.yml diff --git a/srt-cloud-data-server/src/main/resources/bootstrap.yml b/srt-cloud-data-server/src/main/resources/bootstrap.yml deleted file mode 100644 index 227c8ed..0000000 --- a/srt-cloud-data-server/src/main/resources/bootstrap.yml +++ /dev/null @@ -1,43 +0,0 @@ -server: - port: 8085 - -spring: - mvc: - servlet: - load-on-startup: 1 - application: - name: data-service - profiles: - active: dev - cloud: - nacos: - discovery: - server-addr: 101.34.77.101:8848 - # 命名空间,默认:public - namespace: a60b2ca1-a8c6-47ae-94f1-741105674655 - service: ${spring.application.name} - group: srt2.0 - config: - server-addr: ${spring.cloud.nacos.discovery.server-addr} - namespace: ${spring.cloud.nacos.discovery.namespace} - file-extension: yaml - # 指定配置 - extension-configs: - - data-id: datasource.yaml - refresh: true - servlet: - multipart: - max-request-size: 100MB - max-file-size: 1024MB -storage: - enabled: true - config: - # 存储类型:local、aliyun - type: local - # 访问域名 - domain: http://localhost:8082/sys - # 配置访问前缀 - prefix: - local: - # 本地上传路径 - path: D://upload From 267968dab37776f245d008d2ec9be04e25b4d2db Mon Sep 17 00:00:00 2001 From: zmyYYDS <864398951@qq.com> Date: Mon, 25 Dec 2023 20:53:09 +0800 Subject: [PATCH 04/22] =?UTF-8?q?=E6=9C=80=E6=96=B0=E4=B8=80=E7=89=8812.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../net/srt/vo/{QualityConfigVo.java => QualityConfigVO.java} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename srt-cloud-data-governance/src/main/java/net/srt/vo/{QualityConfigVo.java => QualityConfigVO.java} (97%) diff --git a/srt-cloud-data-governance/src/main/java/net/srt/vo/QualityConfigVo.java b/srt-cloud-data-governance/src/main/java/net/srt/vo/QualityConfigVO.java similarity index 97% rename from srt-cloud-data-governance/src/main/java/net/srt/vo/QualityConfigVo.java rename to srt-cloud-data-governance/src/main/java/net/srt/vo/QualityConfigVO.java index 1c10b51..5ec83a9 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/vo/QualityConfigVo.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/vo/QualityConfigVO.java @@ -18,7 +18,7 @@ import java.util.List; */ @Data @Schema(description = "数据治理-质量规则配置") -public class QualityConfigVo implements Serializable { +public class QualityConfigVO implements Serializable { private static final long serialVersionUID = 1L; @Schema(description = "自增id") From 45115147e81603f44870958b63f3536c5939f618 Mon Sep 17 00:00:00 2001 From: zmyYYDS <864398951@qq.com> Date: Mon, 25 Dec 2023 20:55:27 +0800 Subject: [PATCH 05/22] =?UTF-8?q?=E6=9C=80=E6=96=B0=E4=B8=80=E7=89=8813.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/net/srt/vo/DatastandardVO.java | 49 +++++++++++++++++++ .../main/java/net/srt/vo/DatastandardVo.java | 2 +- 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 srt-cloud-data-governance/src/main/java/net/srt/vo/DatastandardVO.java diff --git a/srt-cloud-data-governance/src/main/java/net/srt/vo/DatastandardVO.java b/srt-cloud-data-governance/src/main/java/net/srt/vo/DatastandardVO.java new file mode 100644 index 0000000..bc4a826 --- /dev/null +++ b/srt-cloud-data-governance/src/main/java/net/srt/vo/DatastandardVO.java @@ -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; +} diff --git a/srt-cloud-data-governance/src/main/java/net/srt/vo/DatastandardVo.java b/srt-cloud-data-governance/src/main/java/net/srt/vo/DatastandardVo.java index bc4a826..9842038 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/vo/DatastandardVo.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/vo/DatastandardVo.java @@ -17,7 +17,7 @@ import java.util.Date; */ @Data @Schema(description = "标准管理查询") -public class DatastandardVo implements Serializable { +public class DatastandardVO implements Serializable { private static final long serialVersionUID = 1L; @TableId("id") private Long id; From a4120e8f2004cff9a0e76f0bfd702cf4771deb55 Mon Sep 17 00:00:00 2001 From: zmyYYDS <864398951@qq.com> Date: Mon, 25 Dec 2023 22:28:06 +0800 Subject: [PATCH 06/22] =?UTF-8?q?=E6=9C=80=E6=96=B0=E4=B8=80=E7=89=8814.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../net/srt/init/BusinessInitializer.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 srt-cloud-data-governance/src/main/java/net/srt/init/BusinessInitializer.java diff --git a/srt-cloud-data-governance/src/main/java/net/srt/init/BusinessInitializer.java b/srt-cloud-data-governance/src/main/java/net/srt/init/BusinessInitializer.java new file mode 100644 index 0000000..947e95a --- /dev/null +++ b/srt-cloud-data-governance/src/main/java/net/srt/init/BusinessInitializer.java @@ -0,0 +1,34 @@ +package net.srt.init; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import net.srt.service.MetadataCollectRecordService; +import net.srt.service.QualityTaskService; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.stereotype.Component; + +@Slf4j +@Component +@RequiredArgsConstructor +public class BusinessInitializer implements ApplicationRunner { + + private final MetadataCollectRecordService metadataCollectRecordService; + private final QualityTaskService qualityTaskService; + + @Override + public void run(ApplicationArguments args) { + initScheduleMonitor(); + } + + /** + * init task monitor + */ + private void initScheduleMonitor() { + //处理没执行完的采集任务 + metadataCollectRecordService.dealNotFinished(); + //处理没执行完的质量检测任务 + qualityTaskService.dealNotFinished(); + } + +} From ddc882e00eb845e9d62e207d0707c383f1ba1e9c Mon Sep 17 00:00:00 2001 From: zmyYYDS <864398951@qq.com> Date: Mon, 25 Dec 2023 22:28:33 +0800 Subject: [PATCH 07/22] =?UTF-8?q?=E6=9C=80=E6=96=B0=E4=B8=80=E7=89=8814.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/net/srt/vo/DatastandardVo.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srt-cloud-data-governance/src/main/java/net/srt/vo/DatastandardVo.java b/srt-cloud-data-governance/src/main/java/net/srt/vo/DatastandardVo.java index 9842038..bc4a826 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/vo/DatastandardVo.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/vo/DatastandardVo.java @@ -17,7 +17,7 @@ import java.util.Date; */ @Data @Schema(description = "标准管理查询") -public class DatastandardVO implements Serializable { +public class DatastandardVo implements Serializable { private static final long serialVersionUID = 1L; @TableId("id") private Long id; From 388bc5808190a7c3a16e8474f54fd918b47b2e56 Mon Sep 17 00:00:00 2001 From: chenbingxuan <3581044601@qq.com> Date: Mon, 25 Dec 2023 22:39:28 +0800 Subject: [PATCH 08/22] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../srt/controller/MetadataController.java | 208 +++++++++--------- .../java/net/srt/service/MetadataService.java | 76 +++---- .../srt/service/impl/MetadataServiceimpl.java | 24 +- srt-cloud-module/srt-cloud-quartz/pom.xml | 5 - 4 files changed, 154 insertions(+), 159 deletions(-) diff --git a/srt-cloud-data-governance/src/main/java/net/srt/controller/MetadataController.java b/srt-cloud-data-governance/src/main/java/net/srt/controller/MetadataController.java index 916b7a8..bd2506e 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/controller/MetadataController.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/controller/MetadataController.java @@ -1,104 +1,104 @@ -package net.srt.controller; - - -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.AllArgsConstructor; -import net.srt.framework.common.cache.bean.Neo4jInfo; -import net.srt.framework.common.utils.Result; -import net.srt.framework.common.utils.TreeNodeVo; -import net.srt.service.MetadataService; -import net.srt.vo.MetadataVo; -import org.springframework.web.bind.annotation.*; - -import javax.validation.Valid; -import java.util.List; - -/** - * @BelongsProject: srt_cloud - * @BelongsPackage: net.srt.controller - * @Author: jpz - * @CreateTime: 2023/12/24 14:24 - */ -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.AllArgsConstructor; -import net.srt.service.MetadataService; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@RequestMapping("metadata") -@Tag(name = "数据治理-元数据") -@AllArgsConstructor -public class MetadataController { - private final MetadataService metadataService; - @GetMapping("/list-chlid") - @Operation(summary = "根据父类id获取信息") - public Result> listByPatenId(@RequestParam Long parentId){ - List list=metadataService.listByPatenId(parentId); - return Result.ok(list); - } - @GetMapping("/list-floder") - @Operation(summary = "获取目录树") - public Result> listFloder(){ - List list=metadataService.listFloder(); - return Result.ok(list); - } - @GetMapping("/list-db") - @Operation(summary = "获取库表目录树") - public Result> listDb() { - List list=metadataService.listDb(); - return Result.ok(list); - } - - @GetMapping("/list-keyword") - @Operation(summary = "模糊查询") - public Result> listKeyword( String keyword) { - List list=metadataService.listKeyword(keyword); - return Result.ok(list); - } - - @GetMapping("{id}") - @Operation(summary = "信息") - public Result get(@PathVariable("id") Long id){ - return Result.ok(metadataService.get(id)); - } - - @PostMapping - @Operation(summary = "保存") - public Result save(@RequestBody MetadataVo vo){ - metadataService.save(vo); - return Result.ok(); - } - - @PutMapping - @Operation(summary = "修改") - public Result update(@RequestBody @Valid MetadataVo vo){ - metadataService.update(vo); - return Result.ok(); - } - - @DeleteMapping("{id}") - @Operation(summary = "删除") - public Result delete(@PathVariable Long id){ - metadataService.delete(id); - return Result.ok(); - } - - @PostMapping("{neo4j}") - @Operation(summary = "更新neo4路径") - public Result updateNeo4j(@PathVariable Neo4jInfo neo4jInfo){ - metadataService.updateNeo4j(neo4jInfo); - return Result.ok(); - } - - @GetMapping("/neo4j") - @Operation(summary = "获取neo4的路径") - public Result getNeo4j(){ - return Result.ok(metadataService.getNeo4j()); - } - - - - -} +//package net.srt.controller; +// +// +//import io.swagger.v3.oas.annotations.Operation; +//import io.swagger.v3.oas.annotations.tags.Tag; +//import lombok.AllArgsConstructor; +//import net.srt.framework.common.cache.bean.Neo4jInfo; +//import net.srt.framework.common.utils.Result; +//import net.srt.framework.common.utils.TreeNodeVo; +//import net.srt.service.MetadataService; +//import net.srt.vo.MetadataVo; +//import org.springframework.web.bind.annotation.*; +// +//import javax.validation.Valid; +//import java.util.List; +// +///** +// * @BelongsProject: srt_cloud +// * @BelongsPackage: net.srt.controller +// * @Author: jpz +// * @CreateTime: 2023/12/24 14:24 +// */ +//import io.swagger.v3.oas.annotations.tags.Tag; +//import lombok.AllArgsConstructor; +//import net.srt.service.MetadataService; +//import org.springframework.web.bind.annotation.RequestMapping; +//import org.springframework.web.bind.annotation.RestController; +// +//@RestController +//@RequestMapping("metadata") +//@Tag(name = "数据治理-元数据") +//@AllArgsConstructor +//public class MetadataController { +// private final MetadataService metadataService; +// @GetMapping("/list-chlid") +// @Operation(summary = "根据父类id获取信息") +// public Result> listByPatenId(@RequestParam Long parentId){ +// List list=metadataService.listByPatenId(parentId); +// return Result.ok(list); +// } +// @GetMapping("/list-floder") +// @Operation(summary = "获取目录树") +// public Result> listFloder(){ +// List list=metadataService.listFloder(); +// return Result.ok(list); +// } +// @GetMapping("/list-db") +// @Operation(summary = "获取库表目录树") +// public Result> listDb() { +// List list=metadataService.listDb(); +// return Result.ok(list); +// } +// +// @GetMapping("/list-keyword") +// @Operation(summary = "模糊查询") +// public Result> listKeyword( String keyword) { +// List list=metadataService.listKeyword(keyword); +// return Result.ok(list); +// } +// +// @GetMapping("{id}") +// @Operation(summary = "信息") +// public Result get(@PathVariable("id") Long id){ +// return Result.ok(metadataService.get(id)); +// } +// +// @PostMapping +// @Operation(summary = "保存") +// public Result save(@RequestBody MetadataVo vo){ +// metadataService.save(vo); +// return Result.ok(); +// } +// +// @PutMapping +// @Operation(summary = "修改") +// public Result update(@RequestBody @Valid MetadataVo vo){ +// metadataService.update(vo); +// return Result.ok(); +// } +// +// @DeleteMapping("{id}") +// @Operation(summary = "删除") +// public Result delete(@PathVariable Long id){ +// metadataService.delete(id); +// return Result.ok(); +// } +// +// @PostMapping("{neo4j}") +// @Operation(summary = "更新neo4路径") +// public Result updateNeo4j(@PathVariable Neo4jInfo neo4jInfo){ +// metadataService.updateNeo4j(neo4jInfo); +// return Result.ok(); +// } +// +// @GetMapping("/neo4j") +// @Operation(summary = "获取neo4的路径") +// public Result getNeo4j(){ +// return Result.ok(metadataService.getNeo4j()); +// } +// +// +// +// +//} diff --git a/srt-cloud-data-governance/src/main/java/net/srt/service/MetadataService.java b/srt-cloud-data-governance/src/main/java/net/srt/service/MetadataService.java index 4273356..13dce44 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/service/MetadataService.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/service/MetadataService.java @@ -1,38 +1,38 @@ -package net.srt.service; - -import net.srt.entity.MetadataEntity; -import net.srt.framework.common.cache.bean.Neo4jInfo; -import net.srt.framework.common.utils.TreeNodeVo; -import net.srt.framework.mybatis.service.BaseService; -import net.srt.vo.MetadataVo; - -import java.util.List; - -/** - * @BelongsProject: srt_cloud - * @BelongsPackage: net.srt.service - * @Author: jpz - * @CreateTime: 2023/12/24 14:35 - */ - -public interface MetadataService extends BaseService { - List listByPatenId(Long parentId); - - List listFloder(); - - List listDb(); - - List listKeyword(String keyword); - - MetadataVo get(Long id); - - void save(MetadataVo vo); - - void update(MetadataVo vo); - - void delete(Long id); - - void updateNeo4j(Neo4jInfo neo4jInfo); - - Neo4jInfo getNeo4j(); -} +//package net.srt.service; +// +//import net.srt.entity.MetadataEntity; +//import net.srt.framework.common.cache.bean.Neo4jInfo; +//import net.srt.framework.common.utils.TreeNodeVo; +//import net.srt.framework.mybatis.service.BaseService; +//import net.srt.vo.MetadataVo; +// +//import java.util.List; +// +///** +// * @BelongsProject: srt_cloud +// * @BelongsPackage: net.srt.service +// * @Author: jpz +// * @CreateTime: 2023/12/24 14:35 +// */ +// +//public interface MetadataService extends BaseService { +// List listByPatenId(Long parentId); +// +// List listFloder(); +// +// List listDb(); +// +// List listKeyword(String keyword); +// +// MetadataVo get(Long id); +// +// void save(MetadataVo vo); +// +// void update(MetadataVo vo); +// +// void delete(Long id); +// +// void updateNeo4j(Neo4jInfo neo4jInfo); +// +// Neo4jInfo getNeo4j(); +//} diff --git a/srt-cloud-data-governance/src/main/java/net/srt/service/impl/MetadataServiceimpl.java b/srt-cloud-data-governance/src/main/java/net/srt/service/impl/MetadataServiceimpl.java index 1e64ca1..327f578 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/service/impl/MetadataServiceimpl.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/service/impl/MetadataServiceimpl.java @@ -1,12 +1,12 @@ -package net.srt.service.impl; - -import io.swagger.v3.oas.annotations.servers.Server; -import lombok.AllArgsConstructor; -import net.srt.dao.MetadataDao; -import net.srt.entity.MetadataEntity; -import net.srt.framework.mybatis.service.impl.BaseServiceImpl; -import net.srt.service.MetadataService; -@Server -@AllArgsConstructor -public class MetadataServiceImpl extends BaseServiceImpl implements MetadataService { -} +//package net.srt.service.impl; +// +//import io.swagger.v3.oas.annotations.servers.Server; +//import lombok.AllArgsConstructor; +//import net.srt.dao.MetadataDao; +//import net.srt.entity.MetadataEntity; +//import net.srt.framework.mybatis.service.impl.BaseServiceImpl; +//import net.srt.service.MetadataService; +//@Server +//@AllArgsConstructor +//public class MetadataServiceImpl extends BaseServiceImpl implements MetadataService { +//} diff --git a/srt-cloud-module/srt-cloud-quartz/pom.xml b/srt-cloud-module/srt-cloud-quartz/pom.xml index 63bf9b5..06c139a 100644 --- a/srt-cloud-module/srt-cloud-quartz/pom.xml +++ b/srt-cloud-module/srt-cloud-quartz/pom.xml @@ -9,11 +9,6 @@ jar - - net.srt - srt-cloud-api - 2.0.0 - net.srt From ce78b4e3fd2c2fb944bfc11f6777e31058ecbf11 Mon Sep 17 00:00:00 2001 From: liyongbin <2954265606@qq.com> Date: Tue, 26 Dec 2023 18:51:47 +0800 Subject: [PATCH 09/22] =?UTF-8?q?api=E6=9C=80=E6=96=B0=E4=B8=80=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/net/srt/DataServiceApplication.java | 40 +++ .../java/net/srt/constants/ApiConstants.java | 8 + .../java/net/srt/constants/ApiController.java | 53 ++++ .../java/net/srt/constants/ApiGroupType.java | 19 ++ .../srt/controller/ApiConfigController.java | 119 ++++++++ .../srt/controller/ApiGroupController.java | 69 +++++ .../DataServiceApiAuthController.java | 10 + .../DataServiceApiLogController.java | 43 +++ .../net/srt/convert/ApiConfigConvert.java | 30 ++ .../java/net/srt/convert/ApiGroupConvert.java | 26 ++ .../convert/DataServiceApiAuthConvert.java | 10 + .../srt/convert/DataServiceApiLogConvert.java | 24 ++ .../main/java/net/srt/dao/ApiConfigDao.java | 15 + .../main/java/net/srt/dao/ApiGroupDao.java | 9 + .../net/srt/dao/DataServiceApiAuthDao.java | 10 + .../net/srt/dao/DataServiceApiLogDao.java | 15 + .../main/java/net/srt/dto/ApiConfigDto.java | 48 ++++ .../src/main/java/net/srt/dto/AppToken.java | 17 ++ .../src/main/java/net/srt/dto/SqlDto.java | 15 + .../java/net/srt/entity/ApiConfigEntity.java | 38 +++ .../java/net/srt/entity/ApiGroupEntity.java | 17 ++ .../srt/entity/DataServiceApiAuthEntity.java | 69 +++++ .../srt/entity/DataServiceApiLogEntity.java | 61 ++++ .../main/java/net/srt/handler/ApiHandler.java | 27 ++ .../java/net/srt/handler/ApiRegistration.java | 21 ++ .../srt/handler/MappingRequestHandler.java | 9 + .../handler/MappingRequestHandlerExample.java | 25 ++ .../java/net/srt/query/ApiConfigQuery.java | 21 ++ .../net/srt/query/DataServiceApiLogQuery.java | 20 ++ .../net/srt/service/ApiConfigService.java | 40 +++ .../java/net/srt/service/ApiGroupService.java | 18 ++ .../service/DataServiceApiAuthService.java | 10 + .../srt/service/DataServiceApiLogService.java | 21 ++ .../service/impl/ApiConfigServiceImpl.java | 260 ++++++++++++++++++ .../srt/service/impl/ApiGroupServiceImpl.java | 95 +++++++ .../impl/DataServiceApiAuthServiceImpl.java | 10 + .../impl/DataServiceApiLogServiceImpl.java | 51 ++++ .../src/main/java/net/srt/vo/ApiConfigVo.java | 55 ++++ .../src/main/java/net/srt/vo/ApiGroupVo.java | 25 ++ .../java/net/srt/vo/DataServiceApiLogVo.java | 72 +++++ .../main/java/net/srt/vo/ServiceApiLogVo.java | 73 +++++ .../main/java/net/srt/vo/ServiceAppVo.java | 70 +++++ .../main/resources/mapper/ApiConfigDao.xml | 28 ++ 43 files changed, 1716 insertions(+) create mode 100644 srt-cloud-data-service/src/main/java/net/srt/DataServiceApplication.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/constants/ApiConstants.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/constants/ApiController.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/constants/ApiGroupType.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/controller/ApiConfigController.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/controller/ApiGroupController.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceApiAuthController.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceApiLogController.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/convert/ApiConfigConvert.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/convert/ApiGroupConvert.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/convert/DataServiceApiAuthConvert.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/convert/DataServiceApiLogConvert.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/dao/ApiConfigDao.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/dao/ApiGroupDao.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceApiAuthDao.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceApiLogDao.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/dto/ApiConfigDto.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/dto/AppToken.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/dto/SqlDto.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/entity/ApiConfigEntity.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/entity/ApiGroupEntity.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiAuthEntity.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiLogEntity.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/handler/ApiHandler.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/handler/ApiRegistration.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/handler/MappingRequestHandler.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/handler/MappingRequestHandlerExample.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/query/ApiConfigQuery.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/query/DataServiceApiLogQuery.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/service/ApiConfigService.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/service/ApiGroupService.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/service/DataServiceApiAuthService.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/service/DataServiceApiLogService.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/service/impl/DataServiceApiAuthServiceImpl.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/service/impl/DataServiceApiLogServiceImpl.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/vo/ApiConfigVo.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/vo/ApiGroupVo.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/vo/DataServiceApiLogVo.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/vo/ServiceApiLogVo.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/vo/ServiceAppVo.java create mode 100644 srt-cloud-data-service/src/main/resources/mapper/ApiConfigDao.xml diff --git a/srt-cloud-data-service/src/main/java/net/srt/DataServiceApplication.java b/srt-cloud-data-service/src/main/java/net/srt/DataServiceApplication.java new file mode 100644 index 0000000..f8b6551 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/DataServiceApplication.java @@ -0,0 +1,40 @@ +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; + +@EnableFeignClients +@EnableDiscoveryClient +@SpringBootApplication +public class DataServiceApplication { + public static void main(String[] args) { + SpringApplication.run(DataServiceApplication.class, args); + System.out.println("\n" + + "/**\n" + + " * _ooOoo_\n" + + " * o8888888o\n" + + " * 88\" . \"88\n" + + " * (| -_- |)\n" + + " * O\\ = /O\n" + + " * ____/`---'\\____\n" + + " * . ' \\\\| |// `.\n" + + " * / \\\\||| : |||// \\\n" + + " * / _||||| -:- |||||- \\\n" + + " * | | \\\\\\ - /// | |\n" + + " * | \\_| ''\\---/'' | |\n" + + " * \\ .-\\__ `-` ___/-. /\n" + + " * ___`. .' /--.--\\ `. . __\n" + + " * .\"\" '< `.___\\_<|>_/___.' >'\"\".\n" + + " * | | : `- \\`.;`\\ _ /`;.`/ - ` : | |\n" + + " * \\ \\ `-. \\_ __\\ /__ _/ .-` / /\n" + + " * ======`-.____`-.___\\_____/___.-`____.-'======\n" + + " * `=---='\n" + + " *\n" + + " * .............................................\n" + + " * 佛祖保佑 代码 启动 永无BUG\n" + + " */\n" + + "————————代码——启动————————"); + } +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/constants/ApiConstants.java b/srt-cloud-data-service/src/main/java/net/srt/constants/ApiConstants.java new file mode 100644 index 0000000..6800b30 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/constants/ApiConstants.java @@ -0,0 +1,8 @@ +package net.srt.constants; + +import lombok.Data; + +@Data +public class ApiConstants { + public static final String API_PREFIX = "/api/v1"; // 例如,这里定义了一个API的前缀 +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/constants/ApiController.java b/srt-cloud-data-service/src/main/java/net/srt/constants/ApiController.java new file mode 100644 index 0000000..20e6083 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/constants/ApiController.java @@ -0,0 +1,53 @@ +package net.srt.constants; + +import net.srt.dao.ApiConfigDao; +import net.srt.entity.ApiConfigEntity; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.http.HttpStatus; +import org.springframework.web.server.ResponseStatusException; + +@Controller +@RequestMapping("/api") +public class ApiController { + + private boolean isOnline = true; + + @GetMapping("/status") + public ResponseEntity getStatus() { + String status = isOnline ? "online" : "offline"; + return ResponseEntity.ok("API status: " + status); + } + + @GetMapping("/resource/{id}") + public ResponseEntity getResource(@PathVariable Long id) { + if (!isOnline) { + throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Resource not found"); + } + + // 处理获取资源的逻辑... + + String resource = ""; // 假设这里是获取资源的代码 + + if (resource != null) { + return ResponseEntity.ok("Resource: " + resource); + } else { + throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Resource not found"); + } + } + + @GetMapping("/offline") + public ResponseEntity offline() { + isOnline = false; + return ResponseEntity.ok("API is now offline"); + } + + @GetMapping("/online") + public ResponseEntity online() { + isOnline = true; + return ResponseEntity.ok("API is now online"); + } +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/constants/ApiGroupType.java b/srt-cloud-data-service/src/main/java/net/srt/constants/ApiGroupType.java new file mode 100644 index 0000000..7ab6c34 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/constants/ApiGroupType.java @@ -0,0 +1,19 @@ +package net.srt.constants; + +public enum ApiGroupType { + FOLDER(1,"数据库"), + API(2,"数据库"); + private final Integer value; + private final String longValue; + + ApiGroupType(Integer value, String longValue) { + this.value = value; + this.longValue = longValue; + } + public Integer getValue() { + return value; + } + public String getLongValue() { + return longValue; + } +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/controller/ApiConfigController.java b/srt-cloud-data-service/src/main/java/net/srt/controller/ApiConfigController.java new file mode 100644 index 0000000..6d4b01e --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/controller/ApiConfigController.java @@ -0,0 +1,119 @@ +package net.srt.controller; +import io.swagger.v3.oas.annotations.Operation; +import lombok.AllArgsConstructor; +import net.srt.convert.ApiConfigConvert; +import net.srt.dto.SqlDto; +import net.srt.entity.ApiConfigEntity; +import net.srt.framework.common.page.PageResult; +import net.srt.framework.common.utils.Result; +import net.srt.query.ApiConfigQuery; +import net.srt.service.ApiConfigService; +import net.srt.vo.ApiConfigVo; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; +import srt.cloud.framework.dbswitch.core.model.JdbcSelectResult; + +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.List; + +@RestController +@RequestMapping("/api-config") +@AllArgsConstructor +public class ApiConfigController { + private final ApiConfigService apiConfigService; + + @GetMapping("page") + @Operation(summary = "分页") + @PreAuthorize("hasAuthority('data-service:api-config:page')") + public Result> page(@Valid ApiConfigQuery query) { + PageResult page = apiConfigService.page(query); + + return Result.ok(page); + } + @GetMapping("page-resource") + @Operation(summary = "根据resourceId分页获取") + public Result> pageResource(@Valid ApiConfigQuery query){ + PageResult page = apiConfigService.pageResource(query); + + return Result.ok(page); + } + +// @GetMapping("{id}") +// @Operation(summary = "信息") +// public ResponseEntity get(@PathVariable("id") Long id) { +// ApiConfigEntity entity = apiConfigService.getById(id); +// if (entity != null && entity.getStatus() == 1) { +// return ResponseEntity.ok(ApiConfigConvert.INSTANCE.convert(entity)); +// } else { +// return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Resource not found"); +// } +// } + + @GetMapping("{id}") + @Operation(summary = "信息") + @PreAuthorize("hasAnyAuthority('data-service:api-config:info')") + public Result get(@PathVariable("id") Long id){ + ApiConfigEntity entity=apiConfigService.getById(id); + return Result.ok(ApiConfigConvert.INSTANCE.convert(entity)); + } + + @PostMapping + @Operation(summary = "保存") + @PreAuthorize("hasAnyAuthority('data-service:api-config:save')") + public Result save(@RequestBody ApiConfigVo vo) { + apiConfigService.save(vo); + return Result.ok(); + } + @PutMapping + @Operation(summary = "修改") + @PreAuthorize("hasAnyAuthority('data-service:api-config:update')") + public Result update(@RequestBody ApiConfigVo vo){ + apiConfigService.update(vo); + return Result.ok(); + } + @DeleteMapping + @Operation(summary = "删除") + @PreAuthorize("hasAnyAuthority('data-service:api-config:delete')") + public Result delete(@RequestBody List idList){ + apiConfigService.delete(idList); + return Result.ok(); + } + @GetMapping("getIpPort") + public Result getIpPort() { + return Result.ok(apiConfigService.getIpPort()); + } + @Operation(summary = "获取服务的ip和端口号") + @GetMapping("/ip-port") + public Result ipPort() { + return Result.ok(apiConfigService.ipPort()); + } + @Operation(summary = "上线") + @PreAuthorize("hasAnyAuthority('data-service:api-config:online')") + @PutMapping("/{id}/online") + public Result online(@PathVariable Long id) { + apiConfigService.online(id); + return Result.ok(); + } + @Operation(summary = "下线") + @PreAuthorize("hasAnyAuthority('data-service:api-config:offline')") + @PutMapping("/{id}/offline") + public Result offline(@PathVariable Long id){ + apiConfigService.offline(id); + return Result.ok(); + } + + @Operation(summary = "执行sql") + @PostMapping("/sql/execute") + public Result sqlExecute(@RequestBody SqlDto dto) { + return Result.ok(apiConfigService.sqlExecute(dto)); + } + + @Operation(summary = "导出 api 文档") + @PostMapping(value = "/export-docs") + public void exportDocs(@RequestBody List ids, HttpServletResponse response) { + apiConfigService.exportDocs(ids, response); + } +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/controller/ApiGroupController.java b/srt-cloud-data-service/src/main/java/net/srt/controller/ApiGroupController.java new file mode 100644 index 0000000..8a67958 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/controller/ApiGroupController.java @@ -0,0 +1,69 @@ +package net.srt.controller; + +import io.swagger.v3.oas.annotations.Operation; +import lombok.AllArgsConstructor; +import net.srt.convert.ApiGroupConvert; +import net.srt.entity.ApiGroupEntity; +import net.srt.framework.common.page.PageResult; +import net.srt.framework.common.utils.Result; +import net.srt.framework.common.utils.TreeNodeVo; +import net.srt.query.ApiConfigQuery; +import net.srt.service.ApiGroupService; +import net.srt.vo.ApiConfigVo; +import net.srt.vo.ApiGroupVo; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** +* 数据服务-api分组 +* +* @author zrx 985134801@qq.com +* @since 1.0.0 2023-01-28 +*/ +@RestController +@RequestMapping("/api-group") +@AllArgsConstructor +public class ApiGroupController { + private final ApiGroupService apiGroupService; + @GetMapping("api-group") + @Operation(summary = "查询文件分组树") + public Result> listTree() { + return Result.ok(apiGroupService.listTree()); + } + + @GetMapping("{id}") + @Operation(summary = "信息") + @PreAuthorize("hasAuthority('data-service:api-group:info')") + public Result get(@PathVariable("id") Long id){ + ApiGroupEntity entity = apiGroupService.getById(id); + + return Result.ok(ApiGroupConvert.INSTANCE.convert(entity)); + } + + @PostMapping + @Operation(summary = "保存") + @PreAuthorize("hasAuthority('data-service:api-group:save')") + public Result save(@RequestBody ApiGroupVo vo) { + apiGroupService.save(vo); + return Result.ok(); + } + + @PutMapping + @Operation(summary = "修改") + @PreAuthorize("hasAuthority('data-service:api-group:update')") + public Result update(@RequestBody @Valid ApiGroupVo vo) { + apiGroupService.update(vo); + return Result.ok(); + } + + @DeleteMapping("/{id}") + @Operation(summary = "删除") + @PreAuthorize("hasAuthority('data-service:api-group:delete')") + public Result delete(@PathVariable Long id) { + apiGroupService.delete(id); + return Result.ok(); + } +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceApiAuthController.java b/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceApiAuthController.java new file mode 100644 index 0000000..0feaeae --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceApiAuthController.java @@ -0,0 +1,10 @@ +package net.srt.controller; + +/** + * @ClassName : DataServiceApiAuthController + * @Description : + * @Author : FJJ + * @Date: 2023-12-26 15:22 + */ +public class DataServiceApiAuthController { +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceApiLogController.java b/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceApiLogController.java new file mode 100644 index 0000000..a9ffb07 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceApiLogController.java @@ -0,0 +1,43 @@ +package net.srt.controller; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import net.srt.framework.common.page.PageResult; +import net.srt.framework.common.utils.Result; +import net.srt.query.DataServiceApiLogQuery; +import net.srt.query.DataServiceAppQuery; +import net.srt.service.DataServiceApiLogService; +import net.srt.vo.DataServiceApiLogVo; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** + * @ClassName : DataServiceApiLogController + * @Description : + * @Author : FJJ + * @Date: 2023-12-25 11:29 + */ +@RestController +@RequestMapping("log") +@Tag(name = "api请求日志") +@AllArgsConstructor +public class DataServiceApiLogController { + private final DataServiceApiLogService dataServiceApiLogService; + + @GetMapping("page") + @Operation(summary = "分页") + public Result> page(@Valid DataServiceApiLogQuery query){ + //查询数据 + PageResult page=dataServiceApiLogService.dataPageList(query); + return Result.ok(page); + } + @DeleteMapping + @Operation(summary ="删除") + public Result delete(@RequestBody List idList){ + dataServiceApiLogService.removeId(idList); + return Result.ok(); + } +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/convert/ApiConfigConvert.java b/srt-cloud-data-service/src/main/java/net/srt/convert/ApiConfigConvert.java new file mode 100644 index 0000000..9706f7e --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/convert/ApiConfigConvert.java @@ -0,0 +1,30 @@ +package net.srt.convert; + +import net.srt.dto.ApiConfigDto; +import net.srt.entity.ApiConfigEntity; +import net.srt.vo.ApiConfigVo; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** +* 数据服务-api配置 +* +* @author zrx 985134801@qq.com +* @since 1.0.0 2023-01-28 +*/ +@Mapper +public interface ApiConfigConvert { + ApiConfigConvert INSTANCE = Mappers.getMapper(ApiConfigConvert.class); + + ApiConfigEntity convert(ApiConfigVo vo); + + ApiConfigVo convert(ApiConfigEntity entity); + + ApiConfigDto convertDto(ApiConfigEntity entity); + + List convertList(List list); + + +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/convert/ApiGroupConvert.java b/srt-cloud-data-service/src/main/java/net/srt/convert/ApiGroupConvert.java new file mode 100644 index 0000000..c0e45ce --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/convert/ApiGroupConvert.java @@ -0,0 +1,26 @@ +package net.srt.convert; + +import net.srt.entity.ApiGroupEntity; +import net.srt.vo.ApiGroupVo; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** +* 数据服务-api分组 +* +* @author zrx 985134801@qq.com +* @since 1.0.0 2023-01-28 +*/ +@Mapper +public interface ApiGroupConvert { + ApiGroupConvert INSTANCE = Mappers.getMapper(ApiGroupConvert.class); + + ApiGroupEntity convert(ApiGroupVo vo); + + ApiGroupVo convert(ApiGroupEntity entity); + + List convertList(List list); + +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/convert/DataServiceApiAuthConvert.java b/srt-cloud-data-service/src/main/java/net/srt/convert/DataServiceApiAuthConvert.java new file mode 100644 index 0000000..fb9bfb4 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/convert/DataServiceApiAuthConvert.java @@ -0,0 +1,10 @@ +package net.srt.convert; + +/** + * @ClassName : DataServiceApiAuthConvert + * @Description : + * @Author : FJJ + * @Date: 2023-12-26 15:23 + */ +public interface DataServiceApiAuthConvert { +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/convert/DataServiceApiLogConvert.java b/srt-cloud-data-service/src/main/java/net/srt/convert/DataServiceApiLogConvert.java new file mode 100644 index 0000000..0921ae7 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/convert/DataServiceApiLogConvert.java @@ -0,0 +1,24 @@ +package net.srt.convert; + +import net.srt.entity.DataServiceApiLogEntity; +import net.srt.vo.DataServiceApiLogVo; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * @ClassName : DataServiceApiLogConvert + * @Description : + * @Author : FJJ + * @Date: 2023-12-25 11:30 + */ +@Mapper +public interface DataServiceApiLogConvert { + DataServiceApiLogConvert INSTANCE = Mappers.getMapper(DataServiceApiLogConvert.class); + DataServiceApiLogEntity convert(DataServiceApiLogVo vo); + + DataServiceApiLogVo convert(DataServiceApiLogEntity entity); + + List convertList(List list); +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/dao/ApiConfigDao.java b/srt-cloud-data-service/src/main/java/net/srt/dao/ApiConfigDao.java new file mode 100644 index 0000000..d225d1f --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/dao/ApiConfigDao.java @@ -0,0 +1,15 @@ +package net.srt.dao; + +import net.srt.entity.ApiConfigEntity; +import net.srt.framework.mybatis.dao.BaseDao; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; +import java.util.Map; + +@Mapper +public interface ApiConfigDao extends BaseDao { + List getResourceList(Map params); + + ApiConfigEntity getById(Long id); +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/dao/ApiGroupDao.java b/srt-cloud-data-service/src/main/java/net/srt/dao/ApiGroupDao.java new file mode 100644 index 0000000..66b1af5 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/dao/ApiGroupDao.java @@ -0,0 +1,9 @@ +package net.srt.dao; + +import net.srt.entity.ApiGroupEntity; +import net.srt.framework.mybatis.dao.BaseDao; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface ApiGroupDao extends BaseDao { +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceApiAuthDao.java b/srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceApiAuthDao.java new file mode 100644 index 0000000..2d09eb4 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceApiAuthDao.java @@ -0,0 +1,10 @@ +package net.srt.dao; + +/** + * @ClassName : DataServiceApiAuthDao + * @Description : + * @Author : FJJ + * @Date: 2023-12-26 15:23 + */ +public interface DataServiceApiAuthDao { +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceApiLogDao.java b/srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceApiLogDao.java new file mode 100644 index 0000000..a2cb64e --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceApiLogDao.java @@ -0,0 +1,15 @@ +package net.srt.dao; + +import net.srt.entity.DataServiceApiLogEntity; +import net.srt.framework.mybatis.dao.BaseDao; +import org.apache.ibatis.annotations.Mapper; + +/** + * @ClassName : DataServiceApiLogDao + * @Description : + * @Author : FJJ + * @Date: 2023-12-25 11:30 + */ +@Mapper +public interface DataServiceApiLogDao extends BaseDao { +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/dto/ApiConfigDto.java b/srt-cloud-data-service/src/main/java/net/srt/dto/ApiConfigDto.java new file mode 100644 index 0000000..638f19d --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/dto/ApiConfigDto.java @@ -0,0 +1,48 @@ +package net.srt.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import net.srt.framework.common.utils.DateUtils; + +import java.io.Serializable; +import java.util.Date; + + +@Data +public class ApiConfigDto implements Serializable { + private static final long serialVersionUID = 1L; + private Long id; + private Long groupId; + private String path; + private String type; + private String name; + private String note; + private String sqlText; + private String sqlSeparator; + private Integer sqlMaxRow; + private String sqlParam; + private String jsonParam; + private String responseResult; + private String contentType; + private Integer status; + private Date releaseTime; + private Long releaseUserId; + private Integer sqlDbType; + private Long databaseId; + private Integer privates; + private Integer openTrans; + private Long projectId; + private Integer version; + private Integer deleted; + private Long creator; + private Date createTime; + private Long updater; + private Date updateTime; + private Integer requestedTimes; + private Integer requestedSuccessTimes; + private Integer requestedFailedTimes; + private Long authId; + private String group; + +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/dto/AppToken.java b/srt-cloud-data-service/src/main/java/net/srt/dto/AppToken.java new file mode 100644 index 0000000..335ef90 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/dto/AppToken.java @@ -0,0 +1,17 @@ +package net.srt.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class AppToken implements Serializable { + private Long appId; + private String appKey; + private String token; + private Long expireAt; +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/dto/SqlDto.java b/srt-cloud-data-service/src/main/java/net/srt/dto/SqlDto.java new file mode 100644 index 0000000..599ea55 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/dto/SqlDto.java @@ -0,0 +1,15 @@ +package net.srt.dto; + +import lombok.Data; + +@Data +public class SqlDto { + private Integer sqlDbType; + private Long projectId; + private String statement; + private String sqlSeparator; + private Long databaseId; + private Integer openTrans; + private String jsonParams; + private Integer sqlMaxRow; +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/entity/ApiConfigEntity.java b/srt-cloud-data-service/src/main/java/net/srt/entity/ApiConfigEntity.java new file mode 100644 index 0000000..4e9eb1d --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/entity/ApiConfigEntity.java @@ -0,0 +1,38 @@ +package net.srt.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import net.srt.framework.mybatis.entity.BaseEntity; + +import java.util.ArrayList; +import java.util.Date; + +@Data +@TableName("data_service_api_config") +public class ApiConfigEntity extends BaseEntity { + private Long groupId; + private String path; + private String type; + private String name; + private String note; + private String sqlText; + private String sqlSeparator; + private Integer sqlMaxRow; + private String sqlParam; + private String jsonParam; + private String responseResult; + private String contentType; + private Integer status; + private Date releaseTime; + private Long releaseUserId; + private Integer sqlDbType; + private Long databaseId; + private Integer privates; + private Integer openTrans; + private Long projectId; + private Integer requestedTimes; + private Integer requestedSuccessTimes; + private Integer requestedFailedTimes; + private Long authId; + private String groupPath; +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/entity/ApiGroupEntity.java b/srt-cloud-data-service/src/main/java/net/srt/entity/ApiGroupEntity.java new file mode 100644 index 0000000..a3afe4c --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/entity/ApiGroupEntity.java @@ -0,0 +1,17 @@ +package net.srt.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import net.srt.framework.mybatis.entity.BaseEntity; + +@Data +@TableName("data_service_api_group") +public class ApiGroupEntity extends BaseEntity { + private Long parentId; + private Integer type; + private String name; + private String description; + private Integer orderNo; + private String path; + private Long projectId; +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiAuthEntity.java b/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiAuthEntity.java new file mode 100644 index 0000000..e17b9df --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiAuthEntity.java @@ -0,0 +1,69 @@ +package net.srt.entity; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import net.srt.framework.mybatis.entity.BaseEntity; + +import java.util.Date; + +/** + * @ClassName : DataServiceApiAuthEntity + * @Description : + * @Author : FJJ + * @Date: 2023-12-26 15:20 + */ +@EqualsAndHashCode(callSuper = false) +@Data +@TableName("data_service_api_auth1") +public class DataServiceApiAuthEntity extends BaseEntity { + /** + * app的id + */ + private Long appId; + + /** + * 分组id + */ + private Long groupId; + + /** + * api的id + */ + private Long apiId; + + /** + * 调用次数 不限次数为-1 + */ + private Integer requestTimes; + + @TableField(updateStrategy = FieldStrategy.IGNORED) + private Date startTime; + @TableField(updateStrategy = FieldStrategy.IGNORED) + private Date endTime; + + /** + * 已调用次数 + */ + @TableField(updateStrategy = FieldStrategy.NEVER) + private Integer requestedTimes; + @TableField(updateStrategy = FieldStrategy.NEVER) + private Integer requestedSuccessTimes; + @TableField(updateStrategy = FieldStrategy.NEVER) + private Integer requestedFailedTimes; + + /** + * 所属项目id + */ + private Long projectId; + + /** + * 真删 + */ + @TableField(fill = FieldFill.INSERT) + private Integer deleted; + +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiLogEntity.java b/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiLogEntity.java new file mode 100644 index 0000000..1fa6add --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiLogEntity.java @@ -0,0 +1,61 @@ +package net.srt.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import net.srt.framework.mybatis.entity.BaseEntity; + +/** + * @ClassName : DataServiceApiLogEntity + * @Description : + * @Author : FJJ + * @Date: 2023-12-25 11:11 + */ +@EqualsAndHashCode(callSuper = false) +@Data +@TableName("data_service_api_log1") +public class DataServiceApiLogEntity extends BaseEntity { + /** + * url + */ + private String url; + + /** + * 响应状态码 + */ + private Integer status; + + /** + * 时长 + */ + private Long duration; + + /** + * IP地址 + */ + private String ip; + + /** + * app的id + */ + private Long appId; + + /** + * api的id + */ + private Long apiId; + + private String appName; + private String apiName; + + /** + * 错误信息 + */ + private String error; + + /** + * 项目id + */ + private Long projectId; + +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/handler/ApiHandler.java b/srt-cloud-data-service/src/main/java/net/srt/handler/ApiHandler.java new file mode 100644 index 0000000..7351ef9 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/handler/ApiHandler.java @@ -0,0 +1,27 @@ +package net.srt.handler; + +// 导入必要的类 + +import net.srt.constants.ApiConstants; +import net.srt.entity.ApiConfigEntity; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.servlet.mvc.method.RequestMappingInfo; + +import java.util.HashMap; +import java.util.Map; + + +// 假设这是你的接口处理类 +public class ApiHandler { + private Map mappings = new HashMap<>(); + + public void registerApi(ApiConfigEntity api) { + RequestMappingInfo mappingInfo = RequestMappingInfo + .paths(ApiConstants.API_PREFIX + api.getPath()) // 使用API_PREFIX常量 + .methods(RequestMethod.valueOf(api.getType())) + .build(); + + mappings.put(mappingInfo, api); + } + +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/handler/ApiRegistration.java b/srt-cloud-data-service/src/main/java/net/srt/handler/ApiRegistration.java new file mode 100644 index 0000000..f74bc8e --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/handler/ApiRegistration.java @@ -0,0 +1,21 @@ +package net.srt.handler; + +import net.srt.constants.ApiConstants; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.method.HandlerMethod; +import org.springframework.web.servlet.mvc.method.RequestMappingInfo; +import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; + +public class ApiRegistration { + private RequestMappingHandlerMapping handlerMapping; // 注入或实例化 RequestMappingHandlerMapping 对象 + + public void registerApi(String path, String method, Object handler, String handlerMethod) throws NoSuchMethodException { + RequestMappingInfo mappingInfo = RequestMappingInfo + .paths(ApiConstants.API_PREFIX + path) + .methods(RequestMethod.valueOf(method)) + .build(); + + HandlerMethod handlerMethodObject = new HandlerMethod(handler, handlerMethod); + handlerMapping.registerMapping(mappingInfo, handlerMethodObject.getBean(), handlerMethodObject.getMethod()); + } +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/handler/MappingRequestHandler.java b/srt-cloud-data-service/src/main/java/net/srt/handler/MappingRequestHandler.java new file mode 100644 index 0000000..3916db8 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/handler/MappingRequestHandler.java @@ -0,0 +1,9 @@ +package net.srt.handler; + +import javax.servlet.http.HttpServletRequest; +import java.util.Map; + +public interface MappingRequestHandler { + Object invoke(HttpServletRequest request, String apiToken, Map pathVariables, + Map requestParams, Map requestBodys); +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/handler/MappingRequestHandlerExample.java b/srt-cloud-data-service/src/main/java/net/srt/handler/MappingRequestHandlerExample.java new file mode 100644 index 0000000..d39bee7 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/handler/MappingRequestHandlerExample.java @@ -0,0 +1,25 @@ +package net.srt.handler; + +import javax.servlet.http.HttpServletRequest; +import java.lang.reflect.Method; +import java.util.Map; + +public class MappingRequestHandlerExample { + private final MappingRequestHandler handler; + private Method method; + + public MappingRequestHandlerExample(MappingRequestHandler handler) { + this.handler = handler; + try { + method = MappingRequestHandler.class.getDeclaredMethod( + "invoke", HttpServletRequest.class, String.class, Map.class, Map.class, Map.class); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + } + } + + public void getHandlerAndMethod() { + System.out.println("Handler: " + handler); + System.out.println("Method: " + method); + } +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/query/ApiConfigQuery.java b/srt-cloud-data-service/src/main/java/net/srt/query/ApiConfigQuery.java new file mode 100644 index 0000000..4cbb148 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/query/ApiConfigQuery.java @@ -0,0 +1,21 @@ +package net.srt.query; + +import lombok.Data; +import net.srt.framework.common.query.Query; + +@Data +public class ApiConfigQuery extends Query { + private Long groupId; + private Long resourceId; + private Long appId; + private String name; + private String path; + private String contentType; + private Integer status; + private Integer sqlDbType; + private Long databaseId; + private Integer privates; + private Integer openTrans; + private Integer queryApply; + private Integer ifMarket; +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/query/DataServiceApiLogQuery.java b/srt-cloud-data-service/src/main/java/net/srt/query/DataServiceApiLogQuery.java new file mode 100644 index 0000000..20aaa03 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/query/DataServiceApiLogQuery.java @@ -0,0 +1,20 @@ +package net.srt.query; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import net.srt.framework.common.query.Query; + +/** + * @ClassName : DataServiceApiLogQuery + * @Description : + * @Author : FJJ + * @Date: 2023-12-25 11:27 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Schema(description = "api日志") +public class DataServiceApiLogQuery extends Query { + private String ip; + private String apiName; +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/service/ApiConfigService.java b/srt-cloud-data-service/src/main/java/net/srt/service/ApiConfigService.java new file mode 100644 index 0000000..3f16a51 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/service/ApiConfigService.java @@ -0,0 +1,40 @@ +package net.srt.service; + +import cn.hutool.http.server.HttpServerResponse; +import net.srt.dto.SqlDto; +import net.srt.entity.ApiConfigEntity; +import net.srt.framework.common.page.PageResult; +import net.srt.framework.mybatis.service.BaseService; +import net.srt.query.ApiConfigQuery; +import net.srt.vo.ApiConfigVo; +import srt.cloud.framework.dbswitch.core.model.JdbcSelectResult; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +public interface ApiConfigService extends BaseService { + String getIpPort(); + + PageResult page(ApiConfigQuery query); + + void save(ApiConfigVo vo); + + void update(ApiConfigVo vo); + + void delete(List idList); + + PageResult pageResource(ApiConfigQuery query); + + List listActiveByGroupId(Long id); + + void online(Long id); + + void offline(Long id); + + String ipPort(); + + JdbcSelectResult sqlExecute(SqlDto dto); + + void exportDocs(List ids, HttpServletResponse response); +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/service/ApiGroupService.java b/srt-cloud-data-service/src/main/java/net/srt/service/ApiGroupService.java new file mode 100644 index 0000000..58c0d64 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/service/ApiGroupService.java @@ -0,0 +1,18 @@ +package net.srt.service; + +import net.srt.entity.ApiGroupEntity; +import net.srt.framework.common.utils.TreeNodeVo; +import net.srt.framework.mybatis.service.BaseService; +import net.srt.vo.ApiGroupVo; + +import java.util.List; + +public interface ApiGroupService extends BaseService { + List listTree(); + + void save(ApiGroupVo vo); + + void update(ApiGroupVo vo); + + void delete(Long id); +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/service/DataServiceApiAuthService.java b/srt-cloud-data-service/src/main/java/net/srt/service/DataServiceApiAuthService.java new file mode 100644 index 0000000..5394c03 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/service/DataServiceApiAuthService.java @@ -0,0 +1,10 @@ +package net.srt.service; + +/** + * @ClassName : DataServiceApiAuthService + * @Description : + * @Author : FJJ + * @Date: 2023-12-26 15:23 + */ +public interface DataServiceApiAuthService { +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/service/DataServiceApiLogService.java b/srt-cloud-data-service/src/main/java/net/srt/service/DataServiceApiLogService.java new file mode 100644 index 0000000..fedf1df --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/service/DataServiceApiLogService.java @@ -0,0 +1,21 @@ +package net.srt.service; + +import net.srt.entity.DataServiceApiLogEntity; +import net.srt.framework.common.page.PageResult; +import net.srt.framework.mybatis.service.BaseService; +import net.srt.query.DataServiceApiLogQuery; +import net.srt.vo.DataServiceApiLogVo; + +import java.util.List; + +/** + * @ClassName : DataServiceApiLogService + * @Description : + * @Author : FJJ + * @Date: 2023-12-25 11:31 + */ +public interface DataServiceApiLogService extends BaseService { + PageResult dataPageList(DataServiceApiLogQuery query); + + void removeId(List idList); +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java b/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java new file mode 100644 index 0000000..fc8145d --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java @@ -0,0 +1,260 @@ +package net.srt.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.AllArgsConstructor; +import net.srt.api.ServerNames; +import net.srt.convert.ApiConfigConvert; +import net.srt.dao.ApiConfigDao; +import net.srt.dao.ApiGroupDao; +import net.srt.dto.SqlDto; +import net.srt.entity.ApiConfigEntity; +import net.srt.entity.ApiGroupEntity; +import net.srt.framework.common.constant.Constant; +import net.srt.framework.common.page.PageResult; +import net.srt.framework.mybatis.service.impl.BaseServiceImpl; +import net.srt.framework.security.user.SecurityUser; +import net.srt.query.ApiConfigQuery; +import net.srt.service.ApiConfigService; +import net.srt.vo.ApiConfigVo; +import org.springframework.cloud.client.ServiceInstance; +import org.springframework.cloud.client.discovery.DiscoveryClient; +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Service; +import org.springframework.web.server.ResponseStatusException; +import srt.cloud.framework.dbswitch.common.util.StringUtil; +import srt.cloud.framework.dbswitch.core.model.JdbcSelectResult; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.OutputStream; +import java.nio.charset.StandardCharsets; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +@Service +@AllArgsConstructor +public class ApiConfigServiceImpl extends BaseServiceImpl implements ApiConfigService { + private final ApiGroupDao apiGroupDao; + private final DiscoveryClient discoveryClient; + private final ApiConfigDao apiConfigDao; + private final Map mappings = new ConcurrentHashMap<>(); + @Override + public String getIpPort() { + List instances = discoveryClient.getInstances(ServerNames.GATEWAY_SERVER_NAME); + return instances.get(0).getHost() + ":" + instances.get(0).getPort()+"/data-service/api/"; + } + + + + + public void online(Long id) { + ApiConfigEntity apiConfigEntity = apiConfigDao.getById(id); + if (apiConfigEntity != null) { + apiConfigEntity.setStatus(1); + apiConfigEntity.setReleaseTime(new Date()); + apiConfigEntity.setReleaseUserId(SecurityUser.getUserId()); + String routeKey = getRouteKeyByRequestTypeAndUrl(apiConfigEntity.getType(), apiConfigEntity.getPath()); + boolean isExists = checkIfExists(routeKey); + + if (isExists) { + ApiConfigEntity configEntity = mappings.get(routeKey); + if (configEntity != null) { // 添加 null 判断 + offline(configEntity.getId()); // 修正方法调用为传入id + // 从 mappings 中移除该 routeKey + mappings.remove(routeKey); + } + } else { + mappings.put(routeKey, apiConfigEntity); + } + apiConfigDao.updateById(apiConfigEntity); + } + } + + private boolean checkIfExists(String routeKey) { + // 这里是全局的 mappings + Map globalMappings = getGlobalMappings(); + + return globalMappings.containsKey(routeKey); + } + + private Map getGlobalMappings() { + return mappings; + } + + private String getRouteKeyByRequestTypeAndUrl(String type, String path) { + return getRouteKey(type, path); + } + + private String getRouteKey(String type, String path) { + return type.toUpperCase() + "_" + path.toLowerCase(); + } + + @Override + public void offline(Long id) { // 修正参数类型为 Long id + ApiConfigEntity apiConfigEntity = apiConfigDao.getById(id); + if (apiConfigEntity != null) { + apiConfigEntity.setStatus(0); + apiConfigEntity.setReleaseTime(null); + apiConfigEntity.setReleaseUserId(null); + apiConfigDao.updateById(apiConfigEntity); + }else{ + throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Resource not found"); + } + } + // @Override +// public void online(Long id) { +// ApiConfigEntity apiConfigEntity = new ApiConfigEntity(); +// apiConfigEntity.setId(id); +// apiConfigEntity.setStatus(1); +// apiConfigEntity.setReleaseTime(new Date()); +// apiConfigEntity.setReleaseUserId(SecurityUser.getUserId()); +// +// apiConfigDao.updateById(apiConfigEntity); +// } + + @Override + public String ipPort() { + List instances = discoveryClient.getInstances(ServerNames.GATEWAY_SERVER_NAME); + return instances.get(0).getHost() + ":" + instances.get(0).getPort(); + } + + @Override + public JdbcSelectResult sqlExecute(SqlDto dto) { + return null; + } + + @Override + public void exportDocs(List ids, HttpServletResponse response) { + List instances = discoveryClient.getInstances(ServerNames.GATEWAY_SERVER_NAME); + ServiceInstance instance = instances.get(0); + StringBuilder docs = new StringBuilder("## 接口文档\n---\n"); + List apiConfigEntities = baseMapper.selectBatchIds(ids); + for (ApiConfigEntity api : apiConfigEntities) { + docs.append("### ").append(api.getName()) + .append("\n- IP地址:").append(instance.getHost()) + .append("\n- 端口:").append(instance.getPort()) + .append("\n- 接口地址:/data-service/api/").append(api.getPath()) + .append("\n- 请求方式:").append(api.getType()) + .append("\n- Content-Type:").append(api.getContentType()) + .append("\n- 是否需要鉴权:").append(api.getPrivates() == 1 ? "是" : "否"); + if (api.getPrivates() == 1) { + docs.append("\n- 获取鉴权token:").append("/data-service/api/token/generate?appKey=您的appKey&appSecret=您的appToken"); + } + docs.append("\n- 接口备注:").append(api.getNote()) + .append("\n- 请求参数示例:").append("\n```json\n").append(StringUtil.isNotBlank(api.getJsonParam()) ? api.getJsonParam() : "{}").append("\n```\n") + .append("\n- 响应结果示例:").append("\n```json\n").append(StringUtil.isNotBlank(api.getResponseResult()) ? api.getResponseResult() : "{\"code\":0,\"msg\":\"success\",\"data\":[]}").append("\n```\n") + .append("\n---\n"); + } + response.setContentType("application/x-msdownload;charset=utf-8"); + response.setHeader("Content-Disposition", "attachment; filename=API DOCS.md"); + OutputStream os = null; + try { + os = response.getOutputStream(); + os.write(docs.toString().getBytes(StandardCharsets.UTF_8)); + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + if (os != null) + os.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + @Override + public PageResult page(ApiConfigQuery query) { + IPage page = baseMapper.selectPage(getPage(query), getWrapper(query)); + + return new PageResult<>(ApiConfigConvert.INSTANCE.convertList(page.getRecords()), page.getTotal()); + } + private LambdaQueryWrapper getWrapper(ApiConfigQuery query) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.like(StringUtil.isNotBlank(query.getName()), ApiConfigEntity::getName, query.getName()); + wrapper.like(StringUtil.isNotBlank(query.getPath()), ApiConfigEntity::getPath, query.getPath()); + wrapper.eq(StringUtil.isNotBlank(query.getContentType()), ApiConfigEntity::getContentType, query.getContentType()); + wrapper.eq(query.getStatus()!= null, ApiConfigEntity::getStatus, query.getStatus()); + wrapper.eq(query.getSqlDbType() != null, ApiConfigEntity::getSqlDbType, query.getSqlDbType()); + wrapper.eq(query.getDatabaseId()!= null, ApiConfigEntity::getDatabaseId, query.getDatabaseId()); + wrapper.eq(query.getPrivates()!= null, ApiConfigEntity::getPrivates, query.getPrivates()); + wrapper.eq(query.getOpenTrans()!= null, ApiConfigEntity::getOpenTrans, query.getOpenTrans()); + dataScopeWithoutOrgId(wrapper); + wrapper.orderByDesc(ApiConfigEntity::getCreateTime); + wrapper.orderByDesc(ApiConfigEntity::getId); + return wrapper; + } + + @Override + public void save(ApiConfigVo vo) { + ApiConfigEntity entity = ApiConfigConvert.INSTANCE.convert(vo); + entity.setProjectId(getProjectId()); + baseMapper.insert(entity); + } + + @Override + public void update(ApiConfigVo vo) { + ApiConfigEntity entity = ApiConfigConvert.INSTANCE.convert(vo); + entity.setProjectId(getProjectId()); + updateById(entity); + } + + @Override + public void delete(List idList) { + removeByIds(idList); + } + + @Override + public PageResult pageResource(ApiConfigQuery query) { + // 查询参数 + Map params = getParams(query); + IPage page = getPage(query); + params.put(Constant.PAGE, page); + // 数据列表 + List list = baseMapper.getResourceList(params); + List apiConfigVos = ApiConfigConvert.INSTANCE.convertList(list); + for (ApiConfigVo apiConfigVo : apiConfigVos) { + ApiGroupEntity groupEntity = apiGroupDao.selectById(apiConfigVo.getGroupId()); + apiConfigVo.setGroup(groupEntity != null ? groupEntity.getPath() : null); + } + return new PageResult<>(apiConfigVos, page.getTotal()); + + } + + @Override + public List listActiveByGroupId(Long id) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ApiConfigEntity::getStatus, 1).eq(ApiConfigEntity::getGroupId, id).orderByDesc(ApiConfigEntity::getId); + dataScopeWithoutOrgId(wrapper); + return baseMapper.selectList(wrapper); + } + + private Map getParams(ApiConfigQuery query) { + Map params = new HashMap<>(); + params.put("ifMarket", query.getIfMarket()); + params.put("queryApply", query.getQueryApply()); + if (query.getQueryApply() != null && query.getQueryApply() == 1) { + params.put("userId", SecurityUser.getUserId()); + } + params.put("resourceId", query.getResourceId()); + params.put("groupId", query.getGroupId()); + params.put("appId", query.getAppId()); + params.put("name", query.getName()); + params.put("path", query.getPath()); + params.put("contentType", query.getContentType()); + params.put("status", query.getStatus()); + params.put("sqlDbType", query.getSqlDbType()); + params.put("databaseId", query.getDatabaseId()); + params.put("privates", query.getPrivates()); + params.put("openTrans", query.getOpenTrans()); + // 数据权限 + params.put(Constant.DATA_SCOPE, getDataScope("dsac", null, null, "project_id", false, true)); + + return params; + } +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java b/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java new file mode 100644 index 0000000..a8e29dc --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java @@ -0,0 +1,95 @@ +package net.srt.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.AllArgsConstructor; +import net.srt.constants.ApiGroupType; +import net.srt.convert.ApiGroupConvert; +import net.srt.dao.ApiGroupDao; +import net.srt.entity.ApiConfigEntity; +import net.srt.entity.ApiGroupEntity; +import net.srt.framework.common.exception.ServerException; +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.service.ApiConfigService; +import net.srt.service.ApiGroupService; +import net.srt.vo.ApiGroupVo; +import org.springframework.stereotype.Service; +import srt.cloud.framework.dbswitch.common.util.StringUtil; + +import java.util.ArrayList; +import java.util.List; + +@Service +@AllArgsConstructor +public class ApiGroupServiceImpl extends BaseServiceImpl implements ApiGroupService{ + private final ApiConfigService apiConfigService; + @Override + public List listTree() { + List treeNodeVos = getTreeNodeVos(); + return BuildTreeUtils.buildTree(treeNodeVos); + } + + private List getTreeNodeVos() { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + dataScopeWithoutOrgId(wrapper); + wrapper.orderByAsc(ApiGroupEntity::getOrderNo); + List apiGroupEntities = baseMapper.selectList(wrapper); + return BeanUtil.copyListProperties(apiGroupEntities, TreeNodeVo::new, (oldItem, newItem) -> { + newItem.setLabel(oldItem.getName()); + newItem.setValue(oldItem.getId()); + newItem.setDisabled(oldItem.getType() == 1); + if (newItem.getPath().contains("/")) { + newItem.setParentPath(newItem.getPath().substring(0, newItem.getPath().lastIndexOf("/"))); + } + }); + } + + @Override + public void save(ApiGroupVo vo) { + ApiGroupEntity entity = ApiGroupConvert.INSTANCE.convert(vo); + entity.setPath(recursionPath(entity, null)); + entity.setProjectId(getProjectId()); + baseMapper.insert(entity); // 使用 insertSelective() 方法进行插入操作 + } + + @Override + public void update(ApiGroupVo vo) { + ApiGroupEntity entity = ApiGroupConvert.INSTANCE.convert(vo); + entity.setPath(recursionPath(entity, null)); + entity.setProjectId(getProjectId()); + updateById(entity); + } + + private String recursionPath(ApiGroupEntity groupEntity, String path) { + if (StringUtil.isBlank(path)) { + path = groupEntity.getName(); + } + if (groupEntity.getParentId() != 0) { + ApiGroupEntity parent = getById(groupEntity.getParentId()); + path = parent.getName() + "/" + path; + return recursionPath(parent, path); + } + return path; + } + + @Override + public void delete(Long id) { + //查询有没有子节点 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ApiGroupEntity::getParentId, id).last(" limit 1"); + ApiGroupEntity one = baseMapper.selectOne(wrapper); + if (one != null) { + throw new ServerException("存在子节点,不允许删除!"); + } + //查询有没有api与之关联 + LambdaQueryWrapper serviceApiConfigWrapper = new LambdaQueryWrapper<>(); + serviceApiConfigWrapper.eq(ApiConfigEntity::getGroupId, id).last(" limit 1"); + ApiConfigEntity apiConfigEntity = apiConfigService.getOne(serviceApiConfigWrapper); + if (apiConfigEntity != null) { + throw new ServerException("节点下有 api 与之关联,不允许删除!"); + } + removeById(id); + } +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/service/impl/DataServiceApiAuthServiceImpl.java b/srt-cloud-data-service/src/main/java/net/srt/service/impl/DataServiceApiAuthServiceImpl.java new file mode 100644 index 0000000..89d511e --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/service/impl/DataServiceApiAuthServiceImpl.java @@ -0,0 +1,10 @@ +package net.srt.service.impl; + +/** + * @ClassName : DataServiceApiAuthServiceImpl + * @Description : + * @Author : FJJ + * @Date: 2023-12-26 15:23 + */ +public class DataServiceApiAuthServiceImpl { +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/service/impl/DataServiceApiLogServiceImpl.java b/srt-cloud-data-service/src/main/java/net/srt/service/impl/DataServiceApiLogServiceImpl.java new file mode 100644 index 0000000..058f65a --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/service/impl/DataServiceApiLogServiceImpl.java @@ -0,0 +1,51 @@ +package net.srt.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.AllArgsConstructor; +import net.srt.convert.DataServiceApiLogConvert; +import net.srt.dao.DataServiceApiLogDao; +import net.srt.entity.DataServiceApiLogEntity; +import net.srt.framework.common.page.PageResult; +import net.srt.framework.mybatis.service.impl.BaseServiceImpl; +import net.srt.query.DataServiceApiLogQuery; +import net.srt.service.DataServiceApiLogService; +import net.srt.vo.DataServiceApiLogVo; +import org.springframework.stereotype.Service; +import srt.cloud.framework.dbswitch.common.util.StringUtil; + +import java.util.List; + +/** + * @ClassName : DataServiceApiLogServiceImpl + * @Description : + * @Author : FJJ + * @Date: 2023-12-25 11:31 + */ +@Service +@AllArgsConstructor +public class DataServiceApiLogServiceImpl extends BaseServiceImpl implements DataServiceApiLogService { + @Override + public PageResult dataPageList(DataServiceApiLogQuery query) { + IPage page = baseMapper.selectPage(getPage(query), getWrapper(query)); + + return new PageResult<>(DataServiceApiLogConvert.INSTANCE.convertList(page.getRecords()), page.getTotal()); + } + + @Override + public void removeId(List idList) { + removeByIds(idList); + } + + private LambdaQueryWrapper getWrapper(DataServiceApiLogQuery query) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.like(StringUtil.isNotBlank(query.getIp()), DataServiceApiLogEntity::getIp, query.getIp()) + .like(StringUtil.isNotBlank(query.getApiName()), DataServiceApiLogEntity::getApiName, query.getApiName()) + .orderByDesc(DataServiceApiLogEntity::getCreateTime).orderByDesc(DataServiceApiLogEntity::getId); + dataScopeWithoutOrgId(wrapper); + return wrapper; + } + + +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/vo/ApiConfigVo.java b/srt-cloud-data-service/src/main/java/net/srt/vo/ApiConfigVo.java new file mode 100644 index 0000000..2d168e2 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/vo/ApiConfigVo.java @@ -0,0 +1,55 @@ +package net.srt.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import net.srt.framework.common.utils.DateUtils; + +import java.io.Serializable; +import java.util.Date; + +/** +* 数据服务-api配置 +* +* @author zrx 985134801@qq.com +* @since 1.0.0 2023-01-28 +*/ +@Data +public class ApiConfigVo implements Serializable { + private static final long serialVersionUID = 1L; + private Long id; + private Long groupId; + private String path; + private String type; + private String name; + private String note; + private String sqlText; + private String sqlSeparator; + private Integer sqlMaxRow; + private String sqlParam; + private String jsonParam; + private String responseResult; + private String contentType; + private Integer status; + private Date releaseTime; + private Long releaseUserId; + private Integer sqlDbType; + private Long databaseId; + private Integer privates; + private Integer openTrans; + private Long projectId; + private Integer version; + private Integer deleted; + private Long creator; + private Date createTime; + private Long updater; + private Date updateTime; + private Integer requestedTimes; + private Integer requestedSuccessTimes; + private Integer requestedFailedTimes; + private Long authId; + private String group; + private String groupPath; + +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/vo/ApiGroupVo.java b/srt-cloud-data-service/src/main/java/net/srt/vo/ApiGroupVo.java new file mode 100644 index 0000000..4193587 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/vo/ApiGroupVo.java @@ -0,0 +1,25 @@ +package net.srt.vo; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class ApiGroupVo implements Serializable { + private static final long serialVersionUID = 1L; + private Long id; + private Long parentId; + private Integer type; + private String name; + private String description; + private Integer orderNo; + private String path; + private Long projectId; + private Integer version; + private Integer deleted; + private Long creator; + private Date createTime; + private Long updater; + private Date updateTime; +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/vo/DataServiceApiLogVo.java b/srt-cloud-data-service/src/main/java/net/srt/vo/DataServiceApiLogVo.java new file mode 100644 index 0000000..0c338e3 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/vo/DataServiceApiLogVo.java @@ -0,0 +1,72 @@ +package net.srt.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import net.srt.framework.common.utils.DateUtils; + +import java.io.Serializable; +import java.util.Date; + +/** + * @ClassName : DataServiceApiLog + * @Description : + * @Author : FJJ + * @Date: 2023-12-25 11:05 + */ +@Data +@Schema(description = "api请求日志") +public class DataServiceApiLogVo implements Serializable { + private static final long serialVersionUID = 1L; + + + @Schema(description = "主键id") + private Long id; + + @Schema(description = "url") + private String url; + + @Schema(description = "响应状态码") + private Integer status; + + @Schema(description = "时长") + private Long duration; + + @Schema(description = "IP地址") + private String ip; + + @Schema(description = "app的id") + private String appId; + + @Schema(description = "api的id") + private String apiId; + + private String appName; + private String apiName; + + @Schema(description = "错误信息") + private String error; + + @Schema(description = "项目id") + private Long projectId; + + @Schema(description = "版本号") + private Integer version; + + @Schema(description = "删除标识 0:正常 1:已删除") + private Integer deleted; + + @Schema(description = "创建者") + private Long creator; + + @Schema(description = "创建时间") + @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN) + private Date createTime; + + @Schema(description = "更新者") + private Long updater; + + @Schema(description = "更新时间") + @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN) + private Date updateTime; +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/vo/ServiceApiLogVo.java b/srt-cloud-data-service/src/main/java/net/srt/vo/ServiceApiLogVo.java new file mode 100644 index 0000000..d79c064 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/vo/ServiceApiLogVo.java @@ -0,0 +1,73 @@ +package net.srt.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import net.srt.framework.common.utils.DateUtils; + +import java.io.Serializable; +import java.util.Date; + +/** + * @BelongsProject: data-center + * @BelongsPackage: net.srt.vo + * @Author: yanqiang + * @CreateTime: 2023-12-24 15:21 + */ + +@Data +@Schema(description = "api日志") +public class ServiceApiLogVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Schema(description = "主键id") + private Long id; + + @Schema(description = "url") + private String url; + + @Schema(description = "响应状态码") + private Integer status; + + @Schema(description = "时长") + private Long duration; + + @Schema(description = "IP地址") + private String ip; + + @Schema(description = "app的id") + private String appId; + + @Schema(description = "api的id") + private String apiId; + + private String appName; + private String apiName; + + @Schema(description = "错误信息") + private String error; + + @Schema(description = "项目id") + private Long projectId; + + @Schema(description = "版本号") + private Integer version; + + @Schema(description = "删除标识 0:正常 1:已删除") + private Integer deleted; + + @Schema(description = "创建者") + private Long creator; + + @Schema(description = "创建时间") + @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN) + private Date createTime; + + @Schema(description = "更新者") + private Long updater; + + @Schema(description = "更新时间") + @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN) + private Date updateTime; + +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/vo/ServiceAppVo.java b/srt-cloud-data-service/src/main/java/net/srt/vo/ServiceAppVo.java new file mode 100644 index 0000000..ce741cd --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/vo/ServiceAppVo.java @@ -0,0 +1,70 @@ +package net.srt.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import net.srt.framework.common.utils.DateUtils; + +import java.io.Serializable; +import java.util.Date; + +/** + * @BelongsProject: data-center + * @BelongsPackage: net.srt.vo + * @Author: yanqiang + * @CreateTime: 2023-12-21 20:50 + */ + +@Data +@Schema(description = "数据app") +public class ServiceAppVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Schema(description = "主键id") + private Long id; + + @Schema(description = "名称") + private String name; + + @Schema(description = "备注") + private String note; + + @Schema(description = "appKey") + private String appKey; + + @Schema(description = "appSecret") + private String appSecret; + + @Schema(description = "过期时间") + private String expireDesc; + /** + * 过期时间 -1永久;0 单次失效;> 0 失效时间 + */ + private Long expireDuration; + private Integer ifMarket; + + @Schema(description = "项目id") + private Long projectId; + + @Schema(description = "版本号") + private Integer version; + + @Schema(description = "0:正常 1:已删除") + private Integer deleted; + + @Schema(description = "创建人") + private Long creator; + + @Schema(description = "创建时间") + @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN) + private Date createTime; + + @Schema(description = "更新人") + private Long updater; + + @Schema(description = "更新时间") + @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN) + private Date updateTime; + + +} diff --git a/srt-cloud-data-service/src/main/resources/mapper/ApiConfigDao.xml b/srt-cloud-data-service/src/main/resources/mapper/ApiConfigDao.xml new file mode 100644 index 0000000..c76f98e --- /dev/null +++ b/srt-cloud-data-service/src/main/resources/mapper/ApiConfigDao.xml @@ -0,0 +1,28 @@ + + + + + + + From 1b2ac94b2d6a1a4ead71cf26d00f237cc8fef1c8 Mon Sep 17 00:00:00 2001 From: liyongbin <2954265606@qq.com> Date: Tue, 26 Dec 2023 21:44:05 +0800 Subject: [PATCH 10/22] =?UTF-8?q?=E6=B5=8B=E8=AF=95API=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/net/srt/ServiceApplication.java | 21 --- .../srt/controller/ApiConfigController.java | 146 ++++++++++++------ .../srt/controller/ApiGroupController.java | 44 ++++-- .../controller/DataServiceAppController.java | 1 + .../main/java/net/srt/dto/ApiConfigDto.java | 127 +++++++++++++++ .../src/main/java/net/srt/dto/AppToken.java | 16 ++ .../src/main/java/net/srt/dto/SqlDto.java | 32 ++++ .../service/impl/ApiConfigServiceImpl.java | 97 +++++++++--- .../srt/service/impl/ApiGroupServiceImpl.java | 53 ++++++- .../src/main/resources/bootstrap.yml | 4 +- 10 files changed, 436 insertions(+), 105 deletions(-) delete mode 100644 srt-cloud-data-service/src/main/java/net/srt/ServiceApplication.java diff --git a/srt-cloud-data-service/src/main/java/net/srt/ServiceApplication.java b/srt-cloud-data-service/src/main/java/net/srt/ServiceApplication.java deleted file mode 100644 index e8876e7..0000000 --- a/srt-cloud-data-service/src/main/java/net/srt/ServiceApplication.java +++ /dev/null @@ -1,21 +0,0 @@ -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 : ${NAME} - * @Description : ${description} - * @Author : FJJ - * @Date: 2023-12-22 20:44 - */ -@EnableFeignClients -@EnableDiscoveryClient -@SpringBootApplication -public class ServiceApplication { - public static void main(String[] args) { - SpringApplication.run(ServiceApplication.class, args); - } -} diff --git a/srt-cloud-data-service/src/main/java/net/srt/controller/ApiConfigController.java b/srt-cloud-data-service/src/main/java/net/srt/controller/ApiConfigController.java index 6d4b01e..a205518 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/controller/ApiConfigController.java +++ b/srt-cloud-data-service/src/main/java/net/srt/controller/ApiConfigController.java @@ -25,95 +25,149 @@ import java.util.List; public class ApiConfigController { private final ApiConfigService apiConfigService; + /** + * 分页查询接口配置列表 + * @param query 查询条件 + * @return 接口配置列表分页结果 + */ @GetMapping("page") - @Operation(summary = "分页") + @Operation(summary = "分页查询接口配置列表") @PreAuthorize("hasAuthority('data-service:api-config:page')") public Result> page(@Valid ApiConfigQuery query) { - PageResult page = apiConfigService.page(query); - - return Result.ok(page); + PageResult page = apiConfigService.page(query); // 调用service层方法获取分页结果 + return Result.ok(page); // 封装返回结果并返回 } + + /** + * 根据resourceId分页获取接口配置列表 + * @param query 查询条件 + * @return 符合条件的接口配置列表的分页结果 + */ @GetMapping("page-resource") - @Operation(summary = "根据resourceId分页获取") + @Operation(summary = "根据resourceId分页获取接口配置列表") public Result> pageResource(@Valid ApiConfigQuery query){ - PageResult page = apiConfigService.pageResource(query); - - return Result.ok(page); + PageResult page = apiConfigService.pageResource(query); // 调用service层方法根据resourceId分页获取接口配置列表 + return Result.ok(page); // 封装返回结果并返回 } -// @GetMapping("{id}") -// @Operation(summary = "信息") -// public ResponseEntity get(@PathVariable("id") Long id) { -// ApiConfigEntity entity = apiConfigService.getById(id); -// if (entity != null && entity.getStatus() == 1) { -// return ResponseEntity.ok(ApiConfigConvert.INSTANCE.convert(entity)); -// } else { -// return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Resource not found"); -// } -// } - + /** + * 根据id获取接口配置信息 + * @param id 接口配置id + * @return 对应id的接口配置信息 + */ @GetMapping("{id}") - @Operation(summary = "信息") + @Operation(summary = "根据id获取接口配置信息") @PreAuthorize("hasAnyAuthority('data-service:api-config:info')") public Result get(@PathVariable("id") Long id){ - ApiConfigEntity entity=apiConfigService.getById(id); - return Result.ok(ApiConfigConvert.INSTANCE.convert(entity)); + ApiConfigEntity entity=apiConfigService.getById(id); // 根据id获取接口配置实体对象 + return Result.ok(ApiConfigConvert.INSTANCE.convert(entity)); // 封装返回结果并返回 } + /** + * 保存接口配置信息 + * @param vo 接口配置信息 + * @return 保存结果 + */ @PostMapping - @Operation(summary = "保存") + @Operation(summary = "保存接口配置信息") @PreAuthorize("hasAnyAuthority('data-service:api-config:save')") public Result save(@RequestBody ApiConfigVo vo) { - apiConfigService.save(vo); - return Result.ok(); + apiConfigService.save(vo); // 调用service层方法保存接口配置信息 + return Result.ok(); // 封装返回结果并返回 } + + /** + * 修改接口配置信息 + * @param vo 接口配置信息 + * @return 修改结果 + */ @PutMapping - @Operation(summary = "修改") + @Operation(summary = "修改接口配置信息") @PreAuthorize("hasAnyAuthority('data-service:api-config:update')") public Result update(@RequestBody ApiConfigVo vo){ - apiConfigService.update(vo); - return Result.ok(); + apiConfigService.update(vo); // 调用service层方法修改接口配置信息 + return Result.ok(); // 封装返回结果并返回 } + + /** + * 删除接口配置信息 + * @param idList 待删除的接口配置id列表 + * @return 删除结果 + */ @DeleteMapping - @Operation(summary = "删除") + @Operation(summary = "删除接口配置信息") @PreAuthorize("hasAnyAuthority('data-service:api-config:delete')") public Result delete(@RequestBody List idList){ - apiConfigService.delete(idList); - return Result.ok(); + apiConfigService.delete(idList); // 调用service层方法删除接口配置信息 + return Result.ok(); // 封装返回结果并返回 } + + /** + * 获取服务的IP和端口号 + * @return IP和端口号 + */ @GetMapping("getIpPort") + @Operation(summary = "获取服务的IP和端口号") public Result getIpPort() { - return Result.ok(apiConfigService.getIpPort()); + return Result.ok(apiConfigService.getIpPort()); // 封装返回结果并返回 } - @Operation(summary = "获取服务的ip和端口号") + + /** + * 获取服务的IP和端口号 + * @return IP和端口号 + */ @GetMapping("/ip-port") + @Operation(summary = "获取服务的IP和端口号") public Result ipPort() { - return Result.ok(apiConfigService.ipPort()); + return Result.ok(apiConfigService.ipPort()); // 封装返回结果并返回 } - @Operation(summary = "上线") - @PreAuthorize("hasAnyAuthority('data-service:api-config:online')") + + /** + * 上线指定id的接口配置 + * @param id 待上线的接口配置id + * @return 上线结果 + */ @PutMapping("/{id}/online") + @Operation(summary = "上线指定id的接口配置") + @PreAuthorize("hasAnyAuthority('data-service:api-config:online')") public Result online(@PathVariable Long id) { - apiConfigService.online(id); - return Result.ok(); + apiConfigService.online(id); // 调用service层方法上线指定id的接口配置 + return Result.ok(); // 封装返回结果并返回 } - @Operation(summary = "下线") - @PreAuthorize("hasAnyAuthority('data-service:api-config:offline')") + + /** + * 下线指定id的接口配置 + * @param id 待下线的接口配置id + * @return 下线结果 + */ @PutMapping("/{id}/offline") + @Operation(summary = "下线指定id的接口配置") + @PreAuthorize("hasAnyAuthority('data-service:api-config:offline')") public Result offline(@PathVariable Long id){ - apiConfigService.offline(id); - return Result.ok(); + apiConfigService.offline(id); // 调用service层方法下线指定id的接口配置 + return Result.ok(); // 封装返回结果并返回 } - @Operation(summary = "执行sql") + /** + * 执行SQL查询 + * @param dto SQL查询参数 + * @return SQL查询结果 + */ @PostMapping("/sql/execute") + @Operation(summary = "执行SQL查询") public Result sqlExecute(@RequestBody SqlDto dto) { - return Result.ok(apiConfigService.sqlExecute(dto)); + return Result.ok(apiConfigService.sqlExecute(dto)); // 封装返回结果并返回 } - @Operation(summary = "导出 api 文档") + /** + * 导出指定id列表对应的API文档 + * @param ids 待导出API文档的id列表 + * @param response HTTP响应对象 + */ @PostMapping(value = "/export-docs") + @Operation(summary = "导出API文档") public void exportDocs(@RequestBody List ids, HttpServletResponse response) { - apiConfigService.exportDocs(ids, response); + apiConfigService.exportDocs(ids, response); // 调用service层方法导出API文档 } + } diff --git a/srt-cloud-data-service/src/main/java/net/srt/controller/ApiGroupController.java b/srt-cloud-data-service/src/main/java/net/srt/controller/ApiGroupController.java index 8a67958..1d4b9ab 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/controller/ApiGroupController.java +++ b/srt-cloud-data-service/src/main/java/net/srt/controller/ApiGroupController.java @@ -28,42 +28,66 @@ import java.util.List; @AllArgsConstructor public class ApiGroupController { private final ApiGroupService apiGroupService; + /** + * 查询文件分组树 + * @return 文件分组树的列表结果 + */ @GetMapping("api-group") @Operation(summary = "查询文件分组树") public Result> listTree() { - return Result.ok(apiGroupService.listTree()); + return Result.ok(apiGroupService.listTree()); // 调用service层方法查询文件分组树并返回结果 } + /** + * 根据id获取文件分组信息 + * @param id 文件分组id + * @return 对应id的文件分组信息 + */ @GetMapping("{id}") @Operation(summary = "信息") @PreAuthorize("hasAuthority('data-service:api-group:info')") public Result get(@PathVariable("id") Long id){ - ApiGroupEntity entity = apiGroupService.getById(id); - - return Result.ok(ApiGroupConvert.INSTANCE.convert(entity)); + ApiGroupEntity entity = apiGroupService.getById(id); // 根据id获取文件分组实体对象 + return Result.ok(ApiGroupConvert.INSTANCE.convert(entity)); // 封装返回结果并返回 } + /** + * 保存文件分组信息 + * @param vo 文件分组信息 + * @return 保存结果 + */ @PostMapping @Operation(summary = "保存") @PreAuthorize("hasAuthority('data-service:api-group:save')") public Result save(@RequestBody ApiGroupVo vo) { - apiGroupService.save(vo); - return Result.ok(); + apiGroupService.save(vo); // 调用service层方法保存文件分组信息 + return Result.ok(); // 封装返回结果并返回 } + /** + * 修改文件分组信息 + * @param vo 文件分组信息 + * @return 修改结果 + */ @PutMapping @Operation(summary = "修改") @PreAuthorize("hasAuthority('data-service:api-group:update')") public Result update(@RequestBody @Valid ApiGroupVo vo) { - apiGroupService.update(vo); - return Result.ok(); + apiGroupService.update(vo); // 调用service层方法修改文件分组信息 + return Result.ok(); // 封装返回结果并返回 } + /** + * 删除文件分组信息 + * @param id 待删除的文件分组id + * @return 删除结果 + */ @DeleteMapping("/{id}") @Operation(summary = "删除") @PreAuthorize("hasAuthority('data-service:api-group:delete')") public Result delete(@PathVariable Long id) { - apiGroupService.delete(id); - return Result.ok(); + apiGroupService.delete(id); // 调用service层方法删除文件分组信息 + return Result.ok(); // 封装返回结果并返回 } + } diff --git a/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceAppController.java b/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceAppController.java index e138804..7dbdce9 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceAppController.java +++ b/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceAppController.java @@ -81,4 +81,5 @@ public class DataServiceAppController { dataServiceAppService.cancelAuth(authId); return Result.ok(); } + } diff --git a/srt-cloud-data-service/src/main/java/net/srt/dto/ApiConfigDto.java b/srt-cloud-data-service/src/main/java/net/srt/dto/ApiConfigDto.java index 638f19d..7807009 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/dto/ApiConfigDto.java +++ b/srt-cloud-data-service/src/main/java/net/srt/dto/ApiConfigDto.java @@ -12,37 +12,164 @@ import java.util.Date; @Data public class ApiConfigDto implements Serializable { private static final long serialVersionUID = 1L; + /** + * 数据库主键id + */ private Long id; + + /** + * 文件分组id + */ private Long groupId; + + /** + * 文件路径 + */ private String path; + + /** + * 文件类型,如:sql、http等 + */ private String type; + + /** + * 文件名称 + */ private String name; + + /** + * 文件备注 + */ private String note; + + /** + * SQL语句内容 + */ private String sqlText; + + /** + * SQL语句分隔符 + */ private String sqlSeparator; + + /** + * SQL最大行数 + */ private Integer sqlMaxRow; + + /** + * SQL语句参数 + */ private String sqlParam; + + /** + * JSON参数 + */ private String jsonParam; + + /** + * HTTP响应结果 + */ private String responseResult; + + /** + * 内容类型 + */ private String contentType; + + /** + * 状态,1启用,0禁用 + */ private Integer status; + + /** + * 发布时间 + */ private Date releaseTime; + + /** + * 发布用户id + */ private Long releaseUserId; + + /** + * 数据库类型 + */ private Integer sqlDbType; + + /** + * 数据库id + */ private Long databaseId; + + /** + * 是否私有文件,1是,0否 + */ private Integer privates; + + /** + * 开启事务,1是,0否 + */ private Integer openTrans; + + /** + * 项目id + */ private Long projectId; + + /** + * 版本号 + */ private Integer version; + + /** + * 是否删除,1是,0否 + */ private Integer deleted; + + /** + * 创建者id + */ private Long creator; + + /** + * 创建时间 + */ private Date createTime; + + /** + * 更新者id + */ private Long updater; + + /** + * 更新时间 + */ private Date updateTime; + + /** + * 请求次数 + */ private Integer requestedTimes; + + /** + * 请求成功次数 + */ private Integer requestedSuccessTimes; + + /** + * 请求失败次数 + */ private Integer requestedFailedTimes; + + /** + * 授权id + */ private Long authId; + + /** + * 分组名 + */ private String group; } diff --git a/srt-cloud-data-service/src/main/java/net/srt/dto/AppToken.java b/srt-cloud-data-service/src/main/java/net/srt/dto/AppToken.java index 335ef90..e3ed399 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/dto/AppToken.java +++ b/srt-cloud-data-service/src/main/java/net/srt/dto/AppToken.java @@ -10,8 +10,24 @@ import java.io.Serializable; @AllArgsConstructor @NoArgsConstructor public class AppToken implements Serializable { + /** + * 应用id + */ private Long appId; + + /** + * 应用密钥 + */ private String appKey; + + /** + * 访问令牌 + */ private String token; + + /** + * 过期时间戳 + */ private Long expireAt; + } diff --git a/srt-cloud-data-service/src/main/java/net/srt/dto/SqlDto.java b/srt-cloud-data-service/src/main/java/net/srt/dto/SqlDto.java index 599ea55..6c7c7e0 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/dto/SqlDto.java +++ b/srt-cloud-data-service/src/main/java/net/srt/dto/SqlDto.java @@ -4,12 +4,44 @@ import lombok.Data; @Data public class SqlDto { + /** + * 数据库类型 + */ private Integer sqlDbType; + + /** + * 项目id + */ private Long projectId; + + /** + * SQL语句 + */ private String statement; + + /** + * SQL语句分隔符 + */ private String sqlSeparator; + + /** + * 数据库id + */ private Long databaseId; + + /** + * 是否开启事务,1是,0否 + */ private Integer openTrans; + + /** + * JSON参数 + */ private String jsonParams; + + /** + * SQL最大行数 + */ private Integer sqlMaxRow; + } diff --git a/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java b/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java index fc8145d..cf710c0 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java +++ b/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java @@ -43,6 +43,10 @@ public class ApiConfigServiceImpl extends BaseServiceImpl mappings = new ConcurrentHashMap<>(); + /** + * 获取服务实例的IP和端口 + * @return IP和端口 + */ @Override public String getIpPort() { List instances = discoveryClient.getInstances(ServerNames.GATEWAY_SERVER_NAME); @@ -51,7 +55,10 @@ public class ApiConfigServiceImpl extends BaseServiceImpl instances = discoveryClient.getInstances(ServerNames.GATEWAY_SERVER_NAME); + // 获取第一个网关服务实例的主机和端口,并返回拼接后的字符串 return instances.get(0).getHost() + ":" + instances.get(0).getPort(); } + @Override public JdbcSelectResult sqlExecute(SqlDto dto) { return null; @@ -168,12 +180,21 @@ public class ApiConfigServiceImpl extends BaseServiceImpl page(ApiConfigQuery query) { + // 执行分页查询,并获取分页对象 IPage page = baseMapper.selectPage(getPage(query), getWrapper(query)); - - return new PageResult<>(ApiConfigConvert.INSTANCE.convertList(page.getRecords()), page.getTotal()); + // 将实体对象列表转换为VO对象列表 + List apiConfigVos = ApiConfigConvert.INSTANCE.convertList(page.getRecords()); + // 返回VO对象列表和总记录数构成的分页结果对象 + return new PageResult<>(apiConfigVos, page.getTotal()); } + private LambdaQueryWrapper getWrapper(ApiConfigQuery query) { LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); wrapper.like(StringUtil.isNotBlank(query.getName()), ApiConfigEntity::getName, query.getName()); @@ -190,17 +211,32 @@ public class ApiConfigServiceImpl extends BaseServiceImpl pageResource(ApiConfigQuery query) { - // 查询参数 + // 获取查询参数 Map params = getParams(query); + // 获取分页对象 IPage page = getPage(query); params.put(Constant.PAGE, page); - // 数据列表 + // 查询数据列表 List list = baseMapper.getResourceList(params); + // 将数据列表转换为VO对象列表 List apiConfigVos = ApiConfigConvert.INSTANCE.convertList(list); + // 遍历VO对象列表,设置所属组信息 for (ApiConfigVo apiConfigVo : apiConfigVos) { ApiGroupEntity groupEntity = apiGroupDao.selectById(apiConfigVo.getGroupId()); apiConfigVo.setGroup(groupEntity != null ? groupEntity.getPath() : null); } + // 返回VO对象列表和总记录数构成的分页结果对象 return new PageResult<>(apiConfigVos, page.getTotal()); - } + + /** + * 根据组ID获取有效的API配置列表 + * @param id 组ID + * @return API配置列表 + */ @Override public List listActiveByGroupId(Long id) { + // 创建LambdaQueryWrapper对象 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(ApiConfigEntity::getStatus, 1).eq(ApiConfigEntity::getGroupId, id).orderByDesc(ApiConfigEntity::getId); + // 设置查询条件:状态为1(有效),组ID为指定ID,并按照ID降序排序 + wrapper.eq(ApiConfigEntity::getStatus, 1) + .eq(ApiConfigEntity::getGroupId, id) + .orderByDesc(ApiConfigEntity::getId); + // 应用数据范围控制(排除组织ID) dataScopeWithoutOrgId(wrapper); + // 执行查询并返回结果列表 return baseMapper.selectList(wrapper); } + private Map getParams(ApiConfigQuery query) { Map params = new HashMap<>(); params.put("ifMarket", query.getIfMarket()); diff --git a/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java b/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java index a8e29dc..0df58ed 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java +++ b/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java @@ -25,43 +25,78 @@ import java.util.List; @AllArgsConstructor public class ApiGroupServiceImpl extends BaseServiceImpl implements ApiGroupService{ private final ApiConfigService apiConfigService; + /** + * 获取API分组树形结构列表 + * @return API分组树形结构列表 + */ @Override public List listTree() { + // 查询所有API分组实体对象,并转换为树节点VO对象列表 List treeNodeVos = getTreeNodeVos(); + // 构建树形结构,并返回根节点列表 return BuildTreeUtils.buildTree(treeNodeVos); } + /** + * 获取API分组树节点VO对象列表 + * @return API分组树节点VO对象列表 + */ private List getTreeNodeVos() { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - dataScopeWithoutOrgId(wrapper); - wrapper.orderByAsc(ApiGroupEntity::getOrderNo); + dataScopeWithoutOrgId(wrapper); // 加入数据权限过滤 + wrapper.orderByAsc(ApiGroupEntity::getOrderNo); // 按orderNo升序排序 List apiGroupEntities = baseMapper.selectList(wrapper); + // 将实体对象列表转换为VO对象列表 return BeanUtil.copyListProperties(apiGroupEntities, TreeNodeVo::new, (oldItem, newItem) -> { + // 设置节点名称 newItem.setLabel(oldItem.getName()); + // 设置节点值 newItem.setValue(oldItem.getId()); - newItem.setDisabled(oldItem.getType() == 1); - if (newItem.getPath().contains("/")) { + newItem.setDisabled(oldItem.getType() == 1); // 如果是虚拟节点,设置禁用状态 + if (newItem.getPath().contains("/")) { // 设置父级节点路径 newItem.setParentPath(newItem.getPath().substring(0, newItem.getPath().lastIndexOf("/"))); } }); } + /** + * 新增API分组 + * @param vo API分组VO对象 + */ @Override public void save(ApiGroupVo vo) { + // 将VO对象转换为实体对象 ApiGroupEntity entity = ApiGroupConvert.INSTANCE.convert(vo); + // 递归生成路径 entity.setPath(recursionPath(entity, null)); + // 设置项目ID entity.setProjectId(getProjectId()); + // 执行插入操作 baseMapper.insert(entity); // 使用 insertSelective() 方法进行插入操作 } + /** + * 更新API分组 + * @param vo API分组VO对象 + */ @Override public void update(ApiGroupVo vo) { + // 将VO对象转换为实体对象 ApiGroupEntity entity = ApiGroupConvert.INSTANCE.convert(vo); + // 递归生成路径 entity.setPath(recursionPath(entity, null)); + // 设置项目ID entity.setProjectId(getProjectId()); + // 执行更新操作 updateById(entity); } + /** + * 递归生成API分组路径 + * @param groupEntity 分组实体对象 + * @param path 父级路径 + * @return 完整路径 + */ private String recursionPath(ApiGroupEntity groupEntity, String path) { if (StringUtil.isBlank(path)) { path = groupEntity.getName(); @@ -74,22 +109,28 @@ public class ApiGroupServiceImpl extends BaseServiceImpl wrapper = new LambdaQueryWrapper<>(); wrapper.eq(ApiGroupEntity::getParentId, id).last(" limit 1"); ApiGroupEntity one = baseMapper.selectOne(wrapper); if (one != null) { throw new ServerException("存在子节点,不允许删除!"); } - //查询有没有api与之关联 + // 查询是否有API配置与之关联 LambdaQueryWrapper serviceApiConfigWrapper = new LambdaQueryWrapper<>(); serviceApiConfigWrapper.eq(ApiConfigEntity::getGroupId, id).last(" limit 1"); ApiConfigEntity apiConfigEntity = apiConfigService.getOne(serviceApiConfigWrapper); if (apiConfigEntity != null) { throw new ServerException("节点下有 api 与之关联,不允许删除!"); } + // 执行删除操作 removeById(id); } + } diff --git a/srt-cloud-data-service/src/main/resources/bootstrap.yml b/srt-cloud-data-service/src/main/resources/bootstrap.yml index 8cb2c5d..dd97e03 100644 --- a/srt-cloud-data-service/src/main/resources/bootstrap.yml +++ b/srt-cloud-data-service/src/main/resources/bootstrap.yml @@ -14,8 +14,8 @@ spring: nacos: discovery: server-addr: 101.34.77.101:8848 - # 命名空间,默认:public - namespace: 09dff3e2-9790-4d4f-beb6-9baeb01ae040 + # 命名空间,默认:public、 + namespace: a60b2ca1-a8c6-47ae-94f1-741105674655 service: ${spring.application.name} group: srt2.0 config: From 160707d125aa4f5bcbc31fd2e6910dd6be206860 Mon Sep 17 00:00:00 2001 From: liyongbin <2954265606@qq,com> Date: Tue, 26 Dec 2023 22:04:38 +0800 Subject: [PATCH 11/22] =?UTF-8?q?=E6=B5=8B=E8=AF=95API=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/net/srt/controller/ApiConfigController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srt-cloud-data-service/src/main/java/net/srt/controller/ApiConfigController.java b/srt-cloud-data-service/src/main/java/net/srt/controller/ApiConfigController.java index a205518..559dc8e 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/controller/ApiConfigController.java +++ b/srt-cloud-data-service/src/main/java/net/srt/controller/ApiConfigController.java @@ -37,7 +37,7 @@ public class ApiConfigController { PageResult page = apiConfigService.page(query); // 调用service层方法获取分页结果 return Result.ok(page); // 封装返回结果并返回 } - +//1 /** * 根据resourceId分页获取接口配置列表 * @param query 查询条件 From ac452af8edbbf5d623a559aa124419b8e39e0db4 Mon Sep 17 00:00:00 2001 From: liyongbin <2954265606@qq,com> Date: Tue, 26 Dec 2023 22:05:48 +0800 Subject: [PATCH 12/22] =?UTF-8?q?=E6=B5=8B=E8=AF=95API=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/net/srt/controller/ApiConfigController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srt-cloud-data-service/src/main/java/net/srt/controller/ApiConfigController.java b/srt-cloud-data-service/src/main/java/net/srt/controller/ApiConfigController.java index 559dc8e..a205518 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/controller/ApiConfigController.java +++ b/srt-cloud-data-service/src/main/java/net/srt/controller/ApiConfigController.java @@ -37,7 +37,7 @@ public class ApiConfigController { PageResult page = apiConfigService.page(query); // 调用service层方法获取分页结果 return Result.ok(page); // 封装返回结果并返回 } -//1 + /** * 根据resourceId分页获取接口配置列表 * @param query 查询条件 From f7fb97d16433bf672598b6f95b09668959ae5c3f Mon Sep 17 00:00:00 2001 From: fjj <–1066869486@qq.com> Date: Tue, 26 Dec 2023 22:12:29 +0800 Subject: [PATCH 13/22] fjj8.0 --- .../java/net/srt/GovernanceApplication.java | 1 + .../srt/controller/MetadataController.java | 182 +++---- .../srt/controller/StandardController.java | 12 +- .../main/java/net/srt/dao/StandardDao.java | 1 - .../java/net/srt/service/MetadataService.java | 64 +-- .../srt/service/impl/MetadataServiceImpl.java | 466 +++++++++--------- .../srt/service/impl/StandardServiceImpl.java | 4 +- .../java/net/srt/constants/ApiConstants.java | 8 + .../java/net/srt/constants/ApiController.java | 53 ++ .../java/net/srt/constants/ApiGroupType.java | 19 + .../srt/controller/ApiConfigController.java | 119 +++++ .../srt/controller/ApiGroupController.java | 69 +++ .../controller/DataServiceApiController.java | 29 ++ .../DataServiceApiLogController.java | 43 ++ .../controller/DataServiceAppController.java | 8 +- .../net/srt/convert/ApiConfigConvert.java | 30 ++ .../java/net/srt/convert/ApiGroupConvert.java | 26 + .../convert/DataServiceApiAuthConvert.java | 26 + .../srt/convert/DataServiceApiLogConvert.java | 24 + .../srt/convert/DataServiceAppConvert.java | 1 + .../main/java/net/srt/dao/ApiConfigDao.java | 20 + .../main/java/net/srt/dao/ApiGroupDao.java | 9 + .../net/srt/dao/DataServiceApiAuthDao.java | 15 + .../net/srt/dao/DataServiceApiLogDao.java | 15 + .../java/net/srt/dao/DataServiceAppDao.java | 2 +- .../main/java/net/srt/dto/ApiConfigDto.java | 48 ++ .../src/main/java/net/srt/dto/AppToken.java | 17 + .../src/main/java/net/srt/dto/SqlDto.java | 15 + .../java/net/srt/entity/ApiConfigEntity.java | 38 ++ .../java/net/srt/entity/ApiGroupEntity.java | 17 + .../srt/entity/DataServiceApiAuthEnitiy.java | 70 --- .../srt/entity/DataServiceApiAuthEntity.java | 69 +++ .../srt/entity/DataServiceApiLogEntity.java | 61 +++ .../main/java/net/srt/handler/ApiHandler.java | 27 + .../java/net/srt/handler/ApiRegistration.java | 21 + .../srt/handler/MappingRequestHandler.java | 9 + .../handler/MappingRequestHandlerExample.java | 25 + .../java/net/srt/query/ApiConfigQuery.java | 21 + .../net/srt/query/DataServiceApiLogQuery.java | 20 + .../net/srt/service/ApiConfigService.java | 40 ++ .../java/net/srt/service/ApiGroupService.java | 18 + .../srt/service/DataServiceApiLogService.java | 21 + .../srt/service/DataServiceAppService.java | 7 +- .../service/impl/ApiConfigServiceImpl.java | 266 ++++++++++ .../srt/service/impl/ApiGroupServiceImpl.java | 95 ++++ .../impl/DataServiceApiLogServiceImpl.java | 51 ++ .../impl/DataServiceAppServiceImpl.java | 67 ++- .../main/java/net/srt/utils/EncrypDES.java | 145 ++++++ .../src/main/java/net/srt/vo/ApiConfigVo.java | 55 +++ .../src/main/java/net/srt/vo/ApiGroupVo.java | 25 + .../java/net/srt/vo/DataServiceApiAuthVo.java | 2 + .../java/net/srt/vo/DataServiceApiLogVo.java | 72 +++ .../main/java/net/srt/vo/ServiceApiLogVo.java | 73 +++ .../main/java/net/srt/vo/ServiceAppVo.java | 70 +++ .../main/resources/mapper/ApiConfigDao.xml | 87 ++++ .../resources/mapper/DataServiceAppMapper.xml | 6 +- 56 files changed, 2354 insertions(+), 450 deletions(-) create mode 100644 srt-cloud-data-service/src/main/java/net/srt/constants/ApiConstants.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/constants/ApiController.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/constants/ApiGroupType.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/controller/ApiConfigController.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/controller/ApiGroupController.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceApiController.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceApiLogController.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/convert/ApiConfigConvert.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/convert/ApiGroupConvert.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/convert/DataServiceApiAuthConvert.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/convert/DataServiceApiLogConvert.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/dao/ApiConfigDao.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/dao/ApiGroupDao.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceApiAuthDao.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceApiLogDao.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/dto/ApiConfigDto.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/dto/AppToken.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/dto/SqlDto.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/entity/ApiConfigEntity.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/entity/ApiGroupEntity.java delete mode 100644 srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiAuthEnitiy.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiAuthEntity.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiLogEntity.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/handler/ApiHandler.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/handler/ApiRegistration.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/handler/MappingRequestHandler.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/handler/MappingRequestHandlerExample.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/query/ApiConfigQuery.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/query/DataServiceApiLogQuery.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/service/ApiConfigService.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/service/ApiGroupService.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/service/DataServiceApiLogService.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/service/impl/DataServiceApiLogServiceImpl.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/utils/EncrypDES.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/vo/ApiConfigVo.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/vo/ApiGroupVo.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/vo/DataServiceApiLogVo.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/vo/ServiceApiLogVo.java create mode 100644 srt-cloud-data-service/src/main/java/net/srt/vo/ServiceAppVo.java create mode 100644 srt-cloud-data-service/src/main/resources/mapper/ApiConfigDao.xml diff --git a/srt-cloud-data-governance/src/main/java/net/srt/GovernanceApplication.java b/srt-cloud-data-governance/src/main/java/net/srt/GovernanceApplication.java index 65f1dee..4284f79 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/GovernanceApplication.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/GovernanceApplication.java @@ -18,6 +18,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients; public class GovernanceApplication { public static void main(String[] args) { SpringApplication.run(GovernanceApplication.class, args); + System.out.println("原神启动!!!!!!!!!!!!!"); } } diff --git a/srt-cloud-data-governance/src/main/java/net/srt/controller/MetadataController.java b/srt-cloud-data-governance/src/main/java/net/srt/controller/MetadataController.java index 4d51a62..b1888a8 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/controller/MetadataController.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/controller/MetadataController.java @@ -1,90 +1,92 @@ -package net.srt.controller; - -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.AllArgsConstructor; -import net.srt.framework.common.cache.bean.Neo4jInfo; -import net.srt.framework.common.utils.Result; -import net.srt.framework.common.utils.TreeNodeVo; -import net.srt.service.MetadataService; -import net.srt.vo.MetadataVO; -import org.springframework.web.bind.annotation.*; - -import javax.validation.Valid; -import java.util.List; - -@RestController -@RequestMapping("metadata") -@Tag(name = "数据治理-元数据") -@AllArgsConstructor -public class MetadataController { - private final MetadataService metadataService; - - @GetMapping("/list-child") - @Operation(summary = "根据父级id获取信息") - public Result> listByParentId(@RequestParam Long parentId){ - List treeNodeVos = metadataService.listByParentId(parentId); - return Result.ok(treeNodeVos); - } - - @GetMapping("/list-floder") - @Operation(summary = "获取目录树") - public Result> listFloder(){ - List treeNodeVos = metadataService.listFloder(); - return Result.ok(treeNodeVos); - } - - @GetMapping("/list-db") - @Operation(summary = "获取库表目录树") - public Result> listDb(){ - List treeNodeVos = metadataService.listDb(); - return Result.ok(treeNodeVos); - } - - @GetMapping("/list-keyword") - @Operation(summary = "模糊查询") - public Result> listByKeyword(String keyword){ - List treeNodeVos = metadataService.listByKeyword(keyword); - return Result.ok(treeNodeVos); - } - - @GetMapping("{id}") - @Operation(summary = "信息") - public Result get(@PathVariable("id") Long id){ - return Result.ok(metadataService.get(id)); - } - - @PostMapping - @Operation(summary = "保存") - public Result save(@RequestBody MetadataVO vo){ - metadataService.save(vo); - return Result.ok(); - } - - @PutMapping - @Operation(summary = "修改") - public Result update(@RequestBody @Valid MetadataVO vo) { - metadataService.update(vo); - return Result.ok(); - } - - @DeleteMapping("{id}") - @Operation(summary = "删除") - public Result delete(@PathVariable Long id) { - metadataService.delete(id); - return Result.ok(); - } - - @PostMapping("/neo4j") - @Operation(summary = "更新neo4j的url") - public Result upNeo4jInfo(@RequestBody Neo4jInfo neo4jInfo){ - metadataService.upNeo4jInfo(neo4jInfo); - return Result.ok(); - } - - @GetMapping("/neo4j") - @Operation(summary = "获取neo4j的url") - public Result getNeo4jInfo(){ - return Result.ok(metadataService.getNeo4jInfo()); - } -} +//package net.srt.controller; +// +//import io.swagger.v3.oas.annotations.Operation; +//import io.swagger.v3.oas.annotations.tags.Tag; +//import lombok.AllArgsConstructor; +//import net.srt.framework.common.cache.bean.Neo4jInfo; +//import net.srt.framework.common.utils.Result; +//import net.srt.framework.common.utils.TreeNodeVo; +//import net.srt.service.MetadataService; +// +//import net.srt.vo.MetadataVO; +//import org.springframework.web.bind.annotation.*; +// +//import javax.validation.Valid; +//import java.util.List; +// +//@RestController +//@RequestMapping("metadata") +//@Tag(name = "数据治理-元数据") +//@AllArgsConstructor +//public class MetadataController { +// +// private final MetadataService metadataService; +// +// @GetMapping("/list-child") +// @Operation(summary = "根据父级id获取信息") +// public Result> listByParentId(@RequestParam Long parentId){ +// List treeNodeVos = metadataService.listByParentId(parentId); +// return Result.ok(treeNodeVos); +// } +// +// @GetMapping("/list-floder") +// @Operation(summary = "获取目录树") +// public Result> listFloder(){ +// List treeNodeVos = metadataService.listFloder(); +// return Result.ok(treeNodeVos); +// } +// +// @GetMapping("/list-db") +// @Operation(summary = "获取库表目录树") +// public Result> listDb(){ +// List treeNodeVos = metadataService.listDb(); +// return Result.ok(treeNodeVos); +// } +// +// @GetMapping("/list-keyword") +// @Operation(summary = "模糊查询") +// public Result> listByKeyword(String keyword){ +// List treeNodeVos = metadataService.listByKeyword(keyword); +// return Result.ok(treeNodeVos); +// } +// +// @GetMapping("{id}") +// @Operation(summary = "信息") +// public Result get(@PathVariable("id") Long id){ +// return Result.ok(metadataService.get(id)); +// } +// +// @PostMapping +// @Operation(summary = "保存") +// public Result save(@RequestBody MetadataVO vo){ +// metadataService.save(vo); +// return Result.ok(); +// } +// +// @PutMapping +// @Operation(summary = "修改") +// public Result update(@RequestBody @Valid MetadataVO vo) { +// metadataService.update(vo); +// return Result.ok(); +// } +// +// @DeleteMapping("{id}") +// @Operation(summary = "删除") +// public Result delete(@PathVariable Long id) { +// metadataService.delete(id); +// return Result.ok(); +// } +// +// @PostMapping("/neo4j") +// @Operation(summary = "更新neo4j的url") +// public Result upNeo4jInfo(@RequestBody Neo4jInfo neo4jInfo){ +// metadataService.upNeo4jInfo(neo4jInfo); +// return Result.ok(); +// } +// +// @GetMapping("/neo4j") +// @Operation(summary = "获取neo4j的url") +// public Result getNeo4jInfo(){ +// return Result.ok(metadataService.getNeo4jInfo()); +// } +//} diff --git a/srt-cloud-data-governance/src/main/java/net/srt/controller/StandardController.java b/srt-cloud-data-governance/src/main/java/net/srt/controller/StandardController.java index b18e791..2c9b45d 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/controller/StandardController.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/controller/StandardController.java @@ -2,6 +2,7 @@ package net.srt.controller; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; +import net.srt.convert.StandardConvert; import net.srt.entity.DatastandardEntity; import net.srt.entity.StandardEntity; import net.srt.framework.common.utils.BeanUtil; @@ -35,6 +36,13 @@ public class StandardController { return Result.ok(standardService.listTree()); } + @GetMapping("{id}") + @Operation(summary = "信息") + public Result get(@PathVariable("id") Long id){ + StandardEntity entity = standardService.getById(id); + + return Result.ok(StandardConvert.INSTANCE.convert(entity)); + } @PostMapping @Operation(summary = "保存") @@ -50,9 +58,9 @@ public class StandardController { return Result.ok(); } - @DeleteMapping + @DeleteMapping("/{id}") @Operation(summary = "删除") - public Result delete(Long id) { + public Result delete(@PathVariable Long id) { standardService.delete(id); return Result.ok(); } diff --git a/srt-cloud-data-governance/src/main/java/net/srt/dao/StandardDao.java b/srt-cloud-data-governance/src/main/java/net/srt/dao/StandardDao.java index adc6acc..b2dcb0f 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/dao/StandardDao.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/dao/StandardDao.java @@ -12,5 +12,4 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface StandardDao extends BaseMapper { - } diff --git a/srt-cloud-data-governance/src/main/java/net/srt/service/MetadataService.java b/srt-cloud-data-governance/src/main/java/net/srt/service/MetadataService.java index a171909..24a1604 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/service/MetadataService.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/service/MetadataService.java @@ -1,32 +1,32 @@ -package net.srt.service; - -import net.srt.entity.MetadataEntity; -import net.srt.framework.common.cache.bean.Neo4jInfo; -import net.srt.framework.common.utils.TreeNodeVo; -import net.srt.framework.mybatis.service.BaseService; -import net.srt.vo.MetadataVO; - -import java.util.List; - -public interface MetadataService extends BaseService { - List listByParentId(Long parentId); - - List listFloder(); - - List listDb(); - - List listByKeyword(String keyword); - - MetadataVO get(Long id); - - void save(MetadataVO vo); - - - void update(MetadataVO vo); - - void delete(Long id); - - void upNeo4jInfo(Neo4jInfo neo4jInfo); - - Neo4jInfo getNeo4jInfo(); -} +//package net.srt.service; +// +//import net.srt.entity.MetadataEntity; +//import net.srt.framework.common.cache.bean.Neo4jInfo; +//import net.srt.framework.common.utils.TreeNodeVo; +//import net.srt.framework.mybatis.service.BaseService; +//import net.srt.vo.MetadataVO; +// +//import java.util.List; +// +//public interface MetadataService extends BaseService { +// List listByParentId(Long parentId); +// +// List listFloder(); +// +// List listDb(); +// +// List listByKeyword(String keyword); +// +// MetadataVO get(Long id); +// +// void save(MetadataVO vo); +// +// +// void update(MetadataVO vo); +// +// void delete(Long id); +// +// void upNeo4jInfo(Neo4jInfo neo4jInfo); +// +// Neo4jInfo getNeo4jInfo(); +//} diff --git a/srt-cloud-data-governance/src/main/java/net/srt/service/impl/MetadataServiceImpl.java b/srt-cloud-data-governance/src/main/java/net/srt/service/impl/MetadataServiceImpl.java index 3f6ec4a..f0ae32c 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/service/impl/MetadataServiceImpl.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/service/impl/MetadataServiceImpl.java @@ -1,233 +1,233 @@ -package net.srt.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import io.swagger.v3.oas.annotations.servers.Server; -import lombok.AllArgsConstructor; -import net.srt.api.module.data.governance.constant.BuiltInMetamodel; -import net.srt.convert.MetadataConvert; -import net.srt.dao.MetadataDao; -import net.srt.dao.MetadataPropertyDao; -import net.srt.entity.MetadataEntity; -import net.srt.entity.MetadataPropertyEntity; -import net.srt.framework.common.cache.bean.Neo4jInfo; -import net.srt.framework.common.exception.ServerException; -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.framework.security.cache.TokenStoreCache; -import net.srt.service.MetadataService; -import net.srt.vo.MetadataVO; -import net.srt.vo.MetamodelPropertyVO; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; -import srt.cloud.framework.dbswitch.common.util.StringUtil; - -import java.util.ArrayList; -import java.util.Comparator; -import java.util.List; -import java.util.stream.Collectors; - -@Server -@AllArgsConstructor -public class MetadataServiceImpl extends BaseServiceImpl implements MetadataService { - - private final MetadataDao metadataDao; - private final MetadataPropertyDao metadataPropertyDao; - private final TokenStoreCache tokenStoreCache; - - @Override - public List listByParentId(Long parentId) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(MetadataEntity::getParentId,parentId) - .orderByAsc(MetadataEntity::getOrderNo); - dataScopeWithOrgId(wrapper); - List metadataEntities = baseMapper.selectList(wrapper); - return BeanUtil.copyListProperties(metadataEntities,TreeNodeVo::new, (oldItem, newItem) ->{ - newItem.setLabel(oldItem.getName()); - newItem.setValue(oldItem.getId()); - newItem.setLeaf(BuiltInMetamodel.COLUMN.getId().equals(oldItem.getMetamodelId())); - if(newItem.getPath().contains("/")){ - newItem.setParentPath(newItem.getPath().substring(0,newItem.getPath().lastIndexOf("/"))); - } - }); - } - - @Override - public List listFloder() { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(MetadataEntity::getIfLeaf,1) - .orderByAsc(MetadataEntity::getOrderNo) - .orderByAsc(MetadataEntity::getId); - dataScopeWithOrgId(wrapper); - List metadatas = baseMapper.selectList(wrapper); - List treeNodeVos = BeanUtil.copyListProperties(metadatas, TreeNodeVo::new, (oldItem, newItem) -> { - newItem.setLabel(oldItem.getName()); - newItem.setValue(oldItem.getId()); - if (newItem.getPath().contains("/")) { - newItem.setParentPath(newItem.getPath().substring(0, newItem.getPath().lastIndexOf("/"))); - } - }); - return BuildTreeUtils.buildTree(treeNodeVos); - } - - @Override - public List listDb() { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.in(MetadataEntity::getMetamodelId,BuiltInMetamodel.SCHEMA.getId(),BuiltInMetamodel.TABLE.getId()) - .or() - .isNull(MetadataEntity::getMetamodelId) - .orderByAsc(MetadataEntity::getOrderNo); - dataScopeWithOrgId(wrapper); - List metadatas = baseMapper.selectList(wrapper); - List treeNodeVos = BeanUtil.copyListProperties(metadatas,TreeNodeVo::new, (oldItem, newItem) -> { - newItem.setLabel(oldItem.getName()); - newItem.setValue(oldItem.getId()); - newItem.setDisabled(!BuiltInMetamodel.TABLE.getId().equals(oldItem.getMetamodelId())); - if(newItem.getPath().contains("/")) { - newItem.setParentPath(newItem.getPath().substring(0,newItem.getPath().lastIndexOf("/"))); - } - }); - return BuildTreeUtils.buildTree(treeNodeVos); - } - - @Override - public List listByKeyword(String keyword) { - if(StringUtil.isBlank(keyword)){ - return listByParentId(0L); - } - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.like(MetadataEntity::getName,keyword) - .or() - .like(MetadataEntity::getCode,keyword) - .orderByAsc(MetadataEntity::getOrderNo) - .orderByAsc(MetadataEntity::getId); - dataScopeWithOrgId(wrapper); - List metadatas = baseMapper.selectList(wrapper); - List resultList = new ArrayList<>(); - //递归获取父级 - for (MetadataEntity metadata : metadatas) { - recursionAddParent(metadata,resultList); - } - List result = resultList.stream().sorted(Comparator.comparing(MetadataEntity::getOrderNo)).collect(Collectors.toList()); - List treeNodeVos = BeanUtil.copyListProperties(result ,TreeNodeVo::new, (oldItem, newItem) -> { - newItem.setLabel(oldItem.getName()); - newItem.setValue(oldItem.getId()); - newItem.setLeaf(BuiltInMetamodel.COLUMN.getId().equals(oldItem.getMetamodelId())); - if(newItem.getPath().contains("/")) { - newItem.setParentPath(newItem.getPath().substring(0,newItem.getPath().lastIndexOf("/"))); - } - }); - return BuildTreeUtils.buildTree(treeNodeVos); - } - - @Override - public MetadataVO get(Long id) { - MetadataEntity metadataEntity = getById(id); - MetadataVO metadataVO = MetadataConvert.INSTANCE.convert(metadataEntity); - metadataVO.setProperties(metadataPropertyDao.listPropertyById(id,metadataEntity.getMetamodelId())); - return metadataVO; - } - - @Override - public void save(MetadataVO vo) { - MetadataEntity entity = MetadataConvert.INSTANCE.convert(vo); - entity.setProjectId(getProjectId()); - entity.setPath(recursionPath(entity,null)); - buildField(entity); - MetadataEntity parentMetadata = baseMapper.selectById(vo.getParentId()); - if(parentMetadata != null) { - entity.setDbType(parentMetadata.getDbType()); - entity.setDatasourceId(parentMetadata.getDatasourceId()); - entity.setCollectTaskId(parentMetadata.getCollectTaskId()); - } - baseMapper.insert(entity); - buildProperties(entity,vo.getProperties()); - } - - @Override - public void update(MetadataVO vo) { - MetadataEntity entity = MetadataConvert.INSTANCE.convert(vo); - entity.setProjectId(getProjectId()); - entity.setPath(recursionPath(entity,null)); - buildField(entity); - updateById(entity); - buildProperties(entity,vo.getProperties()); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(Long id) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(MetadataEntity::getParentId,id).last("limit 1"); - if(baseMapper.selectOne(wrapper)!=null){ - throw new ServerException("存在子节点,不可删除!"); - } - removeById(id); - LambdaQueryWrapper propertyWrapper = new LambdaQueryWrapper<>(); - propertyWrapper.eq(MetadataPropertyEntity::getMetadataId,id); - metadataPropertyDao.delete(propertyWrapper); - } - - @Override - public void upNeo4jInfo(Neo4jInfo neo4jInfo) { - tokenStoreCache.saveNeo4jInfo(getProjectId(),neo4jInfo); - } - - @Override - public Neo4jInfo getNeo4jInfo() { - return tokenStoreCache.getNeo4jInfo(getProjectId()); - } - - private void recursionAddParent(MetadataEntity metadataEntity, List resultList){ - if(resultList.stream().noneMatch(item -> metadataEntity.getId().equals(item.getId()))) { - resultList.add(metadataEntity); - } - - if(metadataEntity.getParentId()!=0){ - MetadataEntity parent = getById(metadataEntity.getParentId()); - recursionAddParent(parent,resultList); - } - } - - private void buildField(MetadataEntity entity){ - if(entity.getMetamodelId()!=null){ - entity.setIcon(metadataDao.selectById(entity.getMetamodelId()).getIcon()); - } - if(entity.getIfLeaf() == 1 && entity.getMetamodelId() == null) { - entity.setIcon("/src/assets/folder.png"); - } - } - - private String recursionPath(MetadataEntity metadataEntity, String path) { - if(StringUtil.isBlank(path)){ - path = metadataEntity.getName(); - } - if(metadataEntity.getParentId()!=0){ - MetadataEntity parent = getById(metadataEntity.getParentId()); - path = parent.getName() + "/" +path; - return recursionPath(parent,path); - } - return path; - } - - private void buildProperties(MetadataEntity entity, List properties){ - if(!CollectionUtils.isEmpty(properties)){ - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(MetadataPropertyEntity::getMetadataId,entity.getId()); - for (MetamodelPropertyVO property : properties) { - MetadataPropertyEntity metadataPropertyEntity = new MetadataPropertyEntity(); - metadataPropertyEntity.setMetamodelPropertyId(property.getId()); - metadataPropertyEntity.setMetadataId(entity.getId()); - metadataPropertyEntity.setProperty(property.getValue()); - metadataPropertyEntity.setProjectId(entity.getProjectId()); - if(property.getMetadataPropertyId()!=null){ - metadataPropertyEntity.setId(property.getMetadataPropertyId()); - metadataPropertyDao.updateById(metadataPropertyEntity); - }else { - metadataPropertyDao.insert(metadataPropertyEntity); - } - } - } - } -} +//package net.srt.service.impl; +// +//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +//import io.swagger.v3.oas.annotations.servers.Server; +//import lombok.AllArgsConstructor; +//import net.srt.api.module.data.governance.constant.BuiltInMetamodel; +//import net.srt.convert.MetadataConvert; +//import net.srt.dao.MetadataDao; +//import net.srt.dao.MetadataPropertyDao; +//import net.srt.entity.MetadataEntity; +//import net.srt.entity.MetadataPropertyEntity; +//import net.srt.framework.common.cache.bean.Neo4jInfo; +//import net.srt.framework.common.exception.ServerException; +//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.framework.security.cache.TokenStoreCache; +//import net.srt.service.MetadataService; +//import net.srt.vo.MetadataVO; +//import net.srt.vo.MetamodelPropertyVO; +//import org.springframework.transaction.annotation.Transactional; +//import org.springframework.util.CollectionUtils; +//import srt.cloud.framework.dbswitch.common.util.StringUtil; +// +//import java.util.ArrayList; +//import java.util.Comparator; +//import java.util.List; +//import java.util.stream.Collectors; +// +//@Server +//@AllArgsConstructor +//public class MetadataServiceImpl extends BaseServiceImpl implements MetadataService { +// +// private final MetadataDao metadataDao; +// private final MetadataPropertyDao metadataPropertyDao; +// private final TokenStoreCache tokenStoreCache; +// +// @Override +// public List listByParentId(Long parentId) { +// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); +// wrapper.eq(MetadataEntity::getParentId,parentId) +// .orderByAsc(MetadataEntity::getOrderNo); +// dataScopeWithOrgId(wrapper); +// List metadataEntities = baseMapper.selectList(wrapper); +// return BeanUtil.copyListProperties(metadataEntities,TreeNodeVo::new, (oldItem, newItem) ->{ +// newItem.setLabel(oldItem.getName()); +// newItem.setValue(oldItem.getId()); +// newItem.setLeaf(BuiltInMetamodel.COLUMN.getId().equals(oldItem.getMetamodelId())); +// if(newItem.getPath().contains("/")){ +// newItem.setParentPath(newItem.getPath().substring(0,newItem.getPath().lastIndexOf("/"))); +// } +// }); +// } +// +// @Override +// public List listFloder() { +// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); +// wrapper.eq(MetadataEntity::getIfLeaf,1) +// .orderByAsc(MetadataEntity::getOrderNo) +// .orderByAsc(MetadataEntity::getId); +// dataScopeWithOrgId(wrapper); +// List metadatas = baseMapper.selectList(wrapper); +// List treeNodeVos = BeanUtil.copyListProperties(metadatas, TreeNodeVo::new, (oldItem, newItem) -> { +// newItem.setLabel(oldItem.getName()); +// newItem.setValue(oldItem.getId()); +// if (newItem.getPath().contains("/")) { +// newItem.setParentPath(newItem.getPath().substring(0, newItem.getPath().lastIndexOf("/"))); +// } +// }); +// return BuildTreeUtils.buildTree(treeNodeVos); +// } +// +// @Override +// public List listDb() { +// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); +// wrapper.in(MetadataEntity::getMetamodelId,BuiltInMetamodel.SCHEMA.getId(),BuiltInMetamodel.TABLE.getId()) +// .or() +// .isNull(MetadataEntity::getMetamodelId) +// .orderByAsc(MetadataEntity::getOrderNo); +// dataScopeWithOrgId(wrapper); +// List metadatas = baseMapper.selectList(wrapper); +// List treeNodeVos = BeanUtil.copyListProperties(metadatas,TreeNodeVo::new, (oldItem, newItem) -> { +// newItem.setLabel(oldItem.getName()); +// newItem.setValue(oldItem.getId()); +// newItem.setDisabled(!BuiltInMetamodel.TABLE.getId().equals(oldItem.getMetamodelId())); +// if(newItem.getPath().contains("/")) { +// newItem.setParentPath(newItem.getPath().substring(0,newItem.getPath().lastIndexOf("/"))); +// } +// }); +// return BuildTreeUtils.buildTree(treeNodeVos); +// } +// +// @Override +// public List listByKeyword(String keyword) { +// if(StringUtil.isBlank(keyword)){ +// return listByParentId(0L); +// } +// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); +// wrapper.like(MetadataEntity::getName,keyword) +// .or() +// .like(MetadataEntity::getCode,keyword) +// .orderByAsc(MetadataEntity::getOrderNo) +// .orderByAsc(MetadataEntity::getId); +// dataScopeWithOrgId(wrapper); +// List metadatas = baseMapper.selectList(wrapper); +// List resultList = new ArrayList<>(); +// //递归获取父级 +// for (MetadataEntity metadata : metadatas) { +// recursionAddParent(metadata,resultList); +// } +// List result = resultList.stream().sorted(Comparator.comparing(MetadataEntity::getOrderNo)).collect(Collectors.toList()); +// List treeNodeVos = BeanUtil.copyListProperties(result ,TreeNodeVo::new, (oldItem, newItem) -> { +// newItem.setLabel(oldItem.getName()); +// newItem.setValue(oldItem.getId()); +// newItem.setLeaf(BuiltInMetamodel.COLUMN.getId().equals(oldItem.getMetamodelId())); +// if(newItem.getPath().contains("/")) { +// newItem.setParentPath(newItem.getPath().substring(0,newItem.getPath().lastIndexOf("/"))); +// } +// }); +// return BuildTreeUtils.buildTree(treeNodeVos); +// } +// +// @Override +// public MetadataVO get(Long id) { +// MetadataEntity metadataEntity = getById(id); +// MetadataVO metadataVO = MetadataConvert.INSTANCE.convert(metadataEntity); +// metadataVO.setProperties(metadataPropertyDao.listPropertyById(id,metadataEntity.getMetamodelId())); +// return metadataVO; +// } +// +// @Override +// public void save(MetadataVO vo) { +// MetadataEntity entity = MetadataConvert.INSTANCE.convert(vo); +// entity.setProjectId(getProjectId()); +// entity.setPath(recursionPath(entity,null)); +// buildField(entity); +// MetadataEntity parentMetadata = baseMapper.selectById(vo.getParentId()); +// if(parentMetadata != null) { +// entity.setDbType(parentMetadata.getDbType()); +// entity.setDatasourceId(parentMetadata.getDatasourceId()); +// entity.setCollectTaskId(parentMetadata.getCollectTaskId()); +// } +// baseMapper.insert(entity); +// buildProperties(entity,vo.getProperties()); +// } +// +// @Override +// public void update(MetadataVO vo) { +// MetadataEntity entity = MetadataConvert.INSTANCE.convert(vo); +// entity.setProjectId(getProjectId()); +// entity.setPath(recursionPath(entity,null)); +// buildField(entity); +// updateById(entity); +// buildProperties(entity,vo.getProperties()); +// } +// +// @Override +// @Transactional(rollbackFor = Exception.class) +// public void delete(Long id) { +// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); +// wrapper.eq(MetadataEntity::getParentId,id).last("limit 1"); +// if(baseMapper.selectOne(wrapper)!=null){ +// throw new ServerException("存在子节点,不可删除!"); +// } +// removeById(id); +// LambdaQueryWrapper propertyWrapper = new LambdaQueryWrapper<>(); +// propertyWrapper.eq(MetadataPropertyEntity::getMetadataId,id); +// metadataPropertyDao.delete(propertyWrapper); +// } +// +// @Override +// public void upNeo4jInfo(Neo4jInfo neo4jInfo) { +// tokenStoreCache.saveNeo4jInfo(getProjectId(),neo4jInfo); +// } +// +// @Override +// public Neo4jInfo getNeo4jInfo() { +// return tokenStoreCache.getNeo4jInfo(getProjectId()); +// } +// +// private void recursionAddParent(MetadataEntity metadataEntity, List resultList){ +// if(resultList.stream().noneMatch(item -> metadataEntity.getId().equals(item.getId()))) { +// resultList.add(metadataEntity); +// } +// +// if(metadataEntity.getParentId()!=0){ +// MetadataEntity parent = getById(metadataEntity.getParentId()); +// recursionAddParent(parent,resultList); +// } +// } +// +// private void buildField(MetadataEntity entity){ +// if(entity.getMetamodelId()!=null){ +// entity.setIcon(metadataDao.selectById(entity.getMetamodelId()).getIcon()); +// } +// if(entity.getIfLeaf() == 1 && entity.getMetamodelId() == null) { +// entity.setIcon("/src/assets/folder.png"); +// } +// } +// +// private String recursionPath(MetadataEntity metadataEntity, String path) { +// if(StringUtil.isBlank(path)){ +// path = metadataEntity.getName(); +// } +// if(metadataEntity.getParentId()!=0){ +// MetadataEntity parent = getById(metadataEntity.getParentId()); +// path = parent.getName() + "/" +path; +// return recursionPath(parent,path); +// } +// return path; +// } +// +// private void buildProperties(MetadataEntity entity, List properties){ +// if(!CollectionUtils.isEmpty(properties)){ +// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); +// wrapper.eq(MetadataPropertyEntity::getMetadataId,entity.getId()); +// for (MetamodelPropertyVO property : properties) { +// MetadataPropertyEntity metadataPropertyEntity = new MetadataPropertyEntity(); +// metadataPropertyEntity.setMetamodelPropertyId(property.getId()); +// metadataPropertyEntity.setMetadataId(entity.getId()); +// metadataPropertyEntity.setProperty(property.getValue()); +// metadataPropertyEntity.setProjectId(entity.getProjectId()); +// if(property.getMetadataPropertyId()!=null){ +// metadataPropertyEntity.setId(property.getMetadataPropertyId()); +// metadataPropertyDao.updateById(metadataPropertyEntity); +// }else { +// metadataPropertyDao.insert(metadataPropertyEntity); +// } +// } +// } +// } +//} diff --git a/srt-cloud-data-governance/src/main/java/net/srt/service/impl/StandardServiceImpl.java b/srt-cloud-data-governance/src/main/java/net/srt/service/impl/StandardServiceImpl.java index 9a60e6a..abb24e4 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/service/impl/StandardServiceImpl.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/service/impl/StandardServiceImpl.java @@ -5,6 +5,7 @@ import lombok.AllArgsConstructor; import net.srt.controller.StandardController; import net.srt.convert.StandardConvert; import net.srt.dao.StandardDao; +import net.srt.entity.MetamodelEntity; import net.srt.entity.StandardEntity; import net.srt.framework.common.exception.ServerException; import net.srt.framework.common.utils.BeanUtil; @@ -66,7 +67,7 @@ public class StandardServiceImpl extends BaseServiceImpl getStatus() { + String status = isOnline ? "online" : "offline"; + return ResponseEntity.ok("API status: " + status); + } + + @GetMapping("/resource/{id}") + public ResponseEntity getResource(@PathVariable Long id) { + if (!isOnline) { + throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Resource not found"); + } + + // 处理获取资源的逻辑... + + String resource = ""; // 假设这里是获取资源的代码 + + if (resource != null) { + return ResponseEntity.ok("Resource: " + resource); + } else { + throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Resource not found"); + } + } + + @GetMapping("/offline") + public ResponseEntity offline() { + isOnline = false; + return ResponseEntity.ok("API is now offline"); + } + + @GetMapping("/online") + public ResponseEntity online() { + isOnline = true; + return ResponseEntity.ok("API is now online"); + } +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/constants/ApiGroupType.java b/srt-cloud-data-service/src/main/java/net/srt/constants/ApiGroupType.java new file mode 100644 index 0000000..7ab6c34 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/constants/ApiGroupType.java @@ -0,0 +1,19 @@ +package net.srt.constants; + +public enum ApiGroupType { + FOLDER(1,"数据库"), + API(2,"数据库"); + private final Integer value; + private final String longValue; + + ApiGroupType(Integer value, String longValue) { + this.value = value; + this.longValue = longValue; + } + public Integer getValue() { + return value; + } + public String getLongValue() { + return longValue; + } +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/controller/ApiConfigController.java b/srt-cloud-data-service/src/main/java/net/srt/controller/ApiConfigController.java new file mode 100644 index 0000000..bbe14b5 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/controller/ApiConfigController.java @@ -0,0 +1,119 @@ +package net.srt.controller; +import io.swagger.v3.oas.annotations.Operation; +import lombok.AllArgsConstructor; +import net.srt.convert.ApiConfigConvert; +import net.srt.dto.SqlDto; +import net.srt.entity.ApiConfigEntity; +import net.srt.framework.common.page.PageResult; +import net.srt.framework.common.utils.Result; +import net.srt.query.ApiConfigQuery; +import net.srt.service.ApiConfigService; +import net.srt.vo.ApiConfigVo; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; +import srt.cloud.framework.dbswitch.core.model.JdbcSelectResult; + +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.List; + +@RestController +@RequestMapping("/api-config") +@AllArgsConstructor +public class ApiConfigController { + private final ApiConfigService apiConfigService; + + @GetMapping("page") + @Operation(summary = "分页") + @PreAuthorize("hasAuthority('data-service:api-config:page')") + public Result> page(@Valid ApiConfigQuery query) { + PageResult page = apiConfigService.page(query); + + return Result.ok(page); + } + @GetMapping("page-resource") + @Operation(summary = "根据resourceId分页获取") + public Result> pageResource(@Valid ApiConfigQuery query){ + PageResult page = apiConfigService.pageResource(query); + + return Result.ok(page); + } + + @GetMapping("page-auth") + @Operation(summary = "根据resourceId分页获取") + public Result> pageAuth(@Valid ApiConfigQuery query) { + PageResult page = apiConfigService.page(query); + + return Result.ok(page); + } + + + @GetMapping("{id}") + @Operation(summary = "信息") + @PreAuthorize("hasAnyAuthority('data-service:api-config:info')") + public Result get(@PathVariable("id") Long id){ + ApiConfigEntity entity=apiConfigService.getById(id); + return Result.ok(ApiConfigConvert.INSTANCE.convert(entity)); + } + + @PostMapping + @Operation(summary = "保存") + @PreAuthorize("hasAnyAuthority('data-service:api-config:save')") + public Result save(@RequestBody ApiConfigVo vo) { + apiConfigService.save(vo); + return Result.ok(); + } + @PutMapping + @Operation(summary = "修改") + @PreAuthorize("hasAnyAuthority('data-service:api-config:update')") + public Result update(@RequestBody ApiConfigVo vo){ + apiConfigService.update(vo); + return Result.ok(); + } + @DeleteMapping + @Operation(summary = "删除") + @PreAuthorize("hasAnyAuthority('data-service:api-config:delete')") + public Result delete(@RequestBody List idList){ + apiConfigService.delete(idList); + return Result.ok(); + } + @GetMapping("getIpPort") + public Result getIpPort() { + return Result.ok(apiConfigService.getIpPort()); + } + @Operation(summary = "获取服务的ip和端口号") + @GetMapping("/ip-port") + public Result ipPort() { + return Result.ok(apiConfigService.ipPort()); + } + @Operation(summary = "上线") + @PreAuthorize("hasAnyAuthority('data-service:api-config:online')") + @PutMapping("/{id}/online") + public Result online(@PathVariable Long id) { + apiConfigService.online(id); + return Result.ok(); + } + @Operation(summary = "下线") + @PreAuthorize("hasAnyAuthority('data-service:api-config:offline')") + @PutMapping("/{id}/offline") + public Result offline(@PathVariable Long id){ + apiConfigService.offline(id); + return Result.ok(); + } + + @Operation(summary = "执行sql") + @PostMapping("/sql/execute") + public Result sqlExecute(@RequestBody SqlDto dto) { + return Result.ok(apiConfigService.sqlExecute(dto)); + } + + @Operation(summary = "导出 api 文档") + @PostMapping(value = "/export-docs") + public void exportDocs(@RequestBody List ids, HttpServletResponse response) { + apiConfigService.exportDocs(ids, response); + } + + +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/controller/ApiGroupController.java b/srt-cloud-data-service/src/main/java/net/srt/controller/ApiGroupController.java new file mode 100644 index 0000000..28675b8 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/controller/ApiGroupController.java @@ -0,0 +1,69 @@ +package net.srt.controller; + +import io.swagger.v3.oas.annotations.Operation; +import lombok.AllArgsConstructor; +import net.srt.convert.ApiGroupConvert; +import net.srt.entity.ApiGroupEntity; +import net.srt.framework.common.page.PageResult; +import net.srt.framework.common.utils.Result; +import net.srt.framework.common.utils.TreeNodeVo; +import net.srt.query.ApiConfigQuery; +import net.srt.service.ApiGroupService; +import net.srt.vo.ApiConfigVo; +import net.srt.vo.ApiGroupVo; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** +* 数据服务-api分组 +* +* @author zrx 985134801@qq.com +* @since 1.0.0 2023-01-28 +*/ +@RestController +@RequestMapping("/api-group") +@AllArgsConstructor +public class ApiGroupController { + private final ApiGroupService apiGroupService; + @GetMapping + @Operation(summary = "查询文件分组树") + public Result> listTree() { + return Result.ok(apiGroupService.listTree()); + } + + @GetMapping("{id}") + @Operation(summary = "信息") + @PreAuthorize("hasAuthority('data-service:api-group:info')") + public Result get(@PathVariable("id") Long id){ + ApiGroupEntity entity = apiGroupService.getById(id); + + return Result.ok(ApiGroupConvert.INSTANCE.convert(entity)); + } + + @PostMapping + @Operation(summary = "保存") + @PreAuthorize("hasAuthority('data-service:api-group:save')") + public Result save(@RequestBody ApiGroupVo vo) { + apiGroupService.save(vo); + return Result.ok(); + } + + @PutMapping + @Operation(summary = "修改") + @PreAuthorize("hasAuthority('data-service:api-group:update')") + public Result update(@RequestBody @Valid ApiGroupVo vo) { + apiGroupService.update(vo); + return Result.ok(); + } + + @DeleteMapping("/{id}") + @Operation(summary = "删除") + @PreAuthorize("hasAuthority('data-service:api-group:delete')") + public Result delete(@PathVariable Long id) { + apiGroupService.delete(id); + return Result.ok(); + } +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceApiController.java b/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceApiController.java new file mode 100644 index 0000000..75da63c --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceApiController.java @@ -0,0 +1,29 @@ +package net.srt.controller; + +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import net.srt.dao.DataServiceAppDao; +import net.srt.framework.common.utils.Result; +import net.srt.service.DataServiceAppService; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName : DataServiceApiController + * @Description : + * @Author : FJJ + * @Date: 2023-12-26 20:38 + */ +@RestController +@RequestMapping("api") +@Tag(name = "api") +@AllArgsConstructor +public class DataServiceApiController { + private final DataServiceAppService dataServiceAppService; + @GetMapping("/token/generate") + public Result tokenGenerate(@RequestParam String appKey, @RequestParam String appSecret) { + return Result.ok(dataServiceAppService.tokenGenerate(appKey, appSecret)); + } +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceApiLogController.java b/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceApiLogController.java new file mode 100644 index 0000000..a9ffb07 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceApiLogController.java @@ -0,0 +1,43 @@ +package net.srt.controller; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import net.srt.framework.common.page.PageResult; +import net.srt.framework.common.utils.Result; +import net.srt.query.DataServiceApiLogQuery; +import net.srt.query.DataServiceAppQuery; +import net.srt.service.DataServiceApiLogService; +import net.srt.vo.DataServiceApiLogVo; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** + * @ClassName : DataServiceApiLogController + * @Description : + * @Author : FJJ + * @Date: 2023-12-25 11:29 + */ +@RestController +@RequestMapping("log") +@Tag(name = "api请求日志") +@AllArgsConstructor +public class DataServiceApiLogController { + private final DataServiceApiLogService dataServiceApiLogService; + + @GetMapping("page") + @Operation(summary = "分页") + public Result> page(@Valid DataServiceApiLogQuery query){ + //查询数据 + PageResult page=dataServiceApiLogService.dataPageList(query); + return Result.ok(page); + } + @DeleteMapping + @Operation(summary ="删除") + public Result delete(@RequestBody List idList){ + dataServiceApiLogService.removeId(idList); + return Result.ok(); + } +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceAppController.java b/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceAppController.java index e138804..c685c94 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceAppController.java +++ b/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceAppController.java @@ -8,7 +8,9 @@ import net.srt.framework.common.page.PageResult; import net.srt.framework.common.utils.Result; import net.srt.query.DataServiceAppQuery; import net.srt.service.DataServiceAppService; +import net.srt.vo.DataServiceApiAuthVo; import net.srt.vo.DataServiceAppVo; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; @@ -61,16 +63,18 @@ public class DataServiceAppController { return Result.ok(); } + + @PostMapping("/auth") @Operation(summary = "添加授权") - public Result addAuth(@RequestBody DataServiceAppVo authVO){ + public Result addAuth(@RequestBody DataServiceApiAuthVo authVO){ dataServiceAppService.addAuth(authVO); return Result.ok(); } @PutMapping("/auth") @Operation(summary = "修改授权") - public Result upAuth(@RequestBody DataServiceAppVo authVO){ + public Result upAuth(@RequestBody DataServiceApiAuthVo authVO){ dataServiceAppService.upAuth(authVO); return Result.ok(); } diff --git a/srt-cloud-data-service/src/main/java/net/srt/convert/ApiConfigConvert.java b/srt-cloud-data-service/src/main/java/net/srt/convert/ApiConfigConvert.java new file mode 100644 index 0000000..9706f7e --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/convert/ApiConfigConvert.java @@ -0,0 +1,30 @@ +package net.srt.convert; + +import net.srt.dto.ApiConfigDto; +import net.srt.entity.ApiConfigEntity; +import net.srt.vo.ApiConfigVo; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** +* 数据服务-api配置 +* +* @author zrx 985134801@qq.com +* @since 1.0.0 2023-01-28 +*/ +@Mapper +public interface ApiConfigConvert { + ApiConfigConvert INSTANCE = Mappers.getMapper(ApiConfigConvert.class); + + ApiConfigEntity convert(ApiConfigVo vo); + + ApiConfigVo convert(ApiConfigEntity entity); + + ApiConfigDto convertDto(ApiConfigEntity entity); + + List convertList(List list); + + +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/convert/ApiGroupConvert.java b/srt-cloud-data-service/src/main/java/net/srt/convert/ApiGroupConvert.java new file mode 100644 index 0000000..c0e45ce --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/convert/ApiGroupConvert.java @@ -0,0 +1,26 @@ +package net.srt.convert; + +import net.srt.entity.ApiGroupEntity; +import net.srt.vo.ApiGroupVo; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** +* 数据服务-api分组 +* +* @author zrx 985134801@qq.com +* @since 1.0.0 2023-01-28 +*/ +@Mapper +public interface ApiGroupConvert { + ApiGroupConvert INSTANCE = Mappers.getMapper(ApiGroupConvert.class); + + ApiGroupEntity convert(ApiGroupVo vo); + + ApiGroupVo convert(ApiGroupEntity entity); + + List convertList(List list); + +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/convert/DataServiceApiAuthConvert.java b/srt-cloud-data-service/src/main/java/net/srt/convert/DataServiceApiAuthConvert.java new file mode 100644 index 0000000..8e88916 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/convert/DataServiceApiAuthConvert.java @@ -0,0 +1,26 @@ +package net.srt.convert; + +import net.srt.entity.DataServiceApiAuthEntity; +import net.srt.vo.DataServiceApiAuthVo; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * @ClassName : DataServiceApiAuthConvert + * @Description : + * @Author : FJJ + * @Date: 2023-12-26 19:45 + */ +@Mapper +public interface DataServiceApiAuthConvert { + DataServiceApiAuthConvert INSTANCE = Mappers.getMapper(DataServiceApiAuthConvert.class); + + + DataServiceApiAuthEntity convert(DataServiceApiAuthVo vo); + + DataServiceApiAuthVo convert(DataServiceApiAuthEntity entity); + + List convertList(List list); +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/convert/DataServiceApiLogConvert.java b/srt-cloud-data-service/src/main/java/net/srt/convert/DataServiceApiLogConvert.java new file mode 100644 index 0000000..0921ae7 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/convert/DataServiceApiLogConvert.java @@ -0,0 +1,24 @@ +package net.srt.convert; + +import net.srt.entity.DataServiceApiLogEntity; +import net.srt.vo.DataServiceApiLogVo; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * @ClassName : DataServiceApiLogConvert + * @Description : + * @Author : FJJ + * @Date: 2023-12-25 11:30 + */ +@Mapper +public interface DataServiceApiLogConvert { + DataServiceApiLogConvert INSTANCE = Mappers.getMapper(DataServiceApiLogConvert.class); + DataServiceApiLogEntity convert(DataServiceApiLogVo vo); + + DataServiceApiLogVo convert(DataServiceApiLogEntity entity); + + List convertList(List list); +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/convert/DataServiceAppConvert.java b/srt-cloud-data-service/src/main/java/net/srt/convert/DataServiceAppConvert.java index 3abbab9..2c975e2 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/convert/DataServiceAppConvert.java +++ b/srt-cloud-data-service/src/main/java/net/srt/convert/DataServiceAppConvert.java @@ -19,6 +19,7 @@ public interface DataServiceAppConvert { DataServiceAppEntity convert(DataServiceAppVo vo); + DataServiceAppVo convert(DataServiceAppEntity entity); List convertList(List list); diff --git a/srt-cloud-data-service/src/main/java/net/srt/dao/ApiConfigDao.java b/srt-cloud-data-service/src/main/java/net/srt/dao/ApiConfigDao.java new file mode 100644 index 0000000..970b446 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/dao/ApiConfigDao.java @@ -0,0 +1,20 @@ +package net.srt.dao; + +import net.srt.entity.ApiConfigEntity; +import net.srt.framework.mybatis.dao.BaseDao; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +@Mapper +public interface ApiConfigDao extends BaseDao { + List getResourceList(Map params); + + ApiConfigEntity getById(Long id); + + void updateById(@Param("apiId") Long apiId, @Param("id") Long id); + + List getAuthList(Map params); +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/dao/ApiGroupDao.java b/srt-cloud-data-service/src/main/java/net/srt/dao/ApiGroupDao.java new file mode 100644 index 0000000..66b1af5 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/dao/ApiGroupDao.java @@ -0,0 +1,9 @@ +package net.srt.dao; + +import net.srt.entity.ApiGroupEntity; +import net.srt.framework.mybatis.dao.BaseDao; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface ApiGroupDao extends BaseDao { +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceApiAuthDao.java b/srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceApiAuthDao.java new file mode 100644 index 0000000..a8d5b16 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceApiAuthDao.java @@ -0,0 +1,15 @@ +package net.srt.dao; + +import net.srt.entity.DataServiceApiAuthEntity; +import net.srt.framework.mybatis.dao.BaseDao; +import org.apache.ibatis.annotations.Mapper; + +/** + * @ClassName : DataServiceApiAuthDao + * @Description : + * @Author : FJJ + * @Date: 2023-12-26 15:23 + */ +@Mapper +public interface DataServiceApiAuthDao extends BaseDao { +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceApiLogDao.java b/srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceApiLogDao.java new file mode 100644 index 0000000..a2cb64e --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceApiLogDao.java @@ -0,0 +1,15 @@ +package net.srt.dao; + +import net.srt.entity.DataServiceApiLogEntity; +import net.srt.framework.mybatis.dao.BaseDao; +import org.apache.ibatis.annotations.Mapper; + +/** + * @ClassName : DataServiceApiLogDao + * @Description : + * @Author : FJJ + * @Date: 2023-12-25 11:30 + */ +@Mapper +public interface DataServiceApiLogDao extends BaseDao { +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceAppDao.java b/srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceAppDao.java index f93a261..1ef713e 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceAppDao.java +++ b/srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceAppDao.java @@ -13,5 +13,5 @@ import org.apache.ibatis.annotations.Param; */ @Mapper public interface DataServiceAppDao extends BaseDao { - DataServiceAppEntity selectByApplyId(@Param("applyId") Long applyId); +// DataServiceAppEntity selectByApplyId(@Param("applyId") Long applyId); } diff --git a/srt-cloud-data-service/src/main/java/net/srt/dto/ApiConfigDto.java b/srt-cloud-data-service/src/main/java/net/srt/dto/ApiConfigDto.java new file mode 100644 index 0000000..638f19d --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/dto/ApiConfigDto.java @@ -0,0 +1,48 @@ +package net.srt.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import net.srt.framework.common.utils.DateUtils; + +import java.io.Serializable; +import java.util.Date; + + +@Data +public class ApiConfigDto implements Serializable { + private static final long serialVersionUID = 1L; + private Long id; + private Long groupId; + private String path; + private String type; + private String name; + private String note; + private String sqlText; + private String sqlSeparator; + private Integer sqlMaxRow; + private String sqlParam; + private String jsonParam; + private String responseResult; + private String contentType; + private Integer status; + private Date releaseTime; + private Long releaseUserId; + private Integer sqlDbType; + private Long databaseId; + private Integer privates; + private Integer openTrans; + private Long projectId; + private Integer version; + private Integer deleted; + private Long creator; + private Date createTime; + private Long updater; + private Date updateTime; + private Integer requestedTimes; + private Integer requestedSuccessTimes; + private Integer requestedFailedTimes; + private Long authId; + private String group; + +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/dto/AppToken.java b/srt-cloud-data-service/src/main/java/net/srt/dto/AppToken.java new file mode 100644 index 0000000..335ef90 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/dto/AppToken.java @@ -0,0 +1,17 @@ +package net.srt.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class AppToken implements Serializable { + private Long appId; + private String appKey; + private String token; + private Long expireAt; +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/dto/SqlDto.java b/srt-cloud-data-service/src/main/java/net/srt/dto/SqlDto.java new file mode 100644 index 0000000..599ea55 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/dto/SqlDto.java @@ -0,0 +1,15 @@ +package net.srt.dto; + +import lombok.Data; + +@Data +public class SqlDto { + private Integer sqlDbType; + private Long projectId; + private String statement; + private String sqlSeparator; + private Long databaseId; + private Integer openTrans; + private String jsonParams; + private Integer sqlMaxRow; +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/entity/ApiConfigEntity.java b/srt-cloud-data-service/src/main/java/net/srt/entity/ApiConfigEntity.java new file mode 100644 index 0000000..4e9eb1d --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/entity/ApiConfigEntity.java @@ -0,0 +1,38 @@ +package net.srt.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import net.srt.framework.mybatis.entity.BaseEntity; + +import java.util.ArrayList; +import java.util.Date; + +@Data +@TableName("data_service_api_config") +public class ApiConfigEntity extends BaseEntity { + private Long groupId; + private String path; + private String type; + private String name; + private String note; + private String sqlText; + private String sqlSeparator; + private Integer sqlMaxRow; + private String sqlParam; + private String jsonParam; + private String responseResult; + private String contentType; + private Integer status; + private Date releaseTime; + private Long releaseUserId; + private Integer sqlDbType; + private Long databaseId; + private Integer privates; + private Integer openTrans; + private Long projectId; + private Integer requestedTimes; + private Integer requestedSuccessTimes; + private Integer requestedFailedTimes; + private Long authId; + private String groupPath; +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/entity/ApiGroupEntity.java b/srt-cloud-data-service/src/main/java/net/srt/entity/ApiGroupEntity.java new file mode 100644 index 0000000..a3afe4c --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/entity/ApiGroupEntity.java @@ -0,0 +1,17 @@ +package net.srt.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import net.srt.framework.mybatis.entity.BaseEntity; + +@Data +@TableName("data_service_api_group") +public class ApiGroupEntity extends BaseEntity { + private Long parentId; + private Integer type; + private String name; + private String description; + private Integer orderNo; + private String path; + private Long projectId; +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiAuthEnitiy.java b/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiAuthEnitiy.java deleted file mode 100644 index 852114f..0000000 --- a/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiAuthEnitiy.java +++ /dev/null @@ -1,70 +0,0 @@ -//package net.srt.entity; -// -//import com.baomidou.mybatisplus.annotation.FieldFill; -//import com.baomidou.mybatisplus.annotation.FieldStrategy; -//import com.baomidou.mybatisplus.annotation.TableField; -//import com.baomidou.mybatisplus.annotation.TableName; -//import lombok.Data; -//import lombok.EqualsAndHashCode; -//import net.srt.framework.mybatis.entity.BaseEntity; -// -//import java.util.Date; -// -///** -// * @ClassName : DataServiceApiAuthEnitiy -// * @Description : -// * @Author : FJJ -// * @Date: 2023-12-24 11:30 -// */ -//@EqualsAndHashCode(callSuper=false) -//@Data -//@TableName("data_service_api_auth1") -//public class DataServiceApiAuthEnitiy extends BaseEntity { -// -// /** -// * app的id -// */ -// private Long appId; -// -// /** -// * 分组id -// */ -// private Long groupId; -// -// /** -// * api的id -// */ -// private Long apiId; -// -// /** -// * 调用次数 不限次数为-1 -// */ -// private Integer requestTimes; -// -// @TableField(updateStrategy = FieldStrategy.IGNORED) -// private Date startTime; -// @TableField(updateStrategy = FieldStrategy.IGNORED) -// private Date endTime; -// -// /** -// * 已调用次数 -// */ -// @TableField(updateStrategy = FieldStrategy.NEVER) -// private Integer requestedTimes; -// @TableField(updateStrategy = FieldStrategy.NEVER) -// private Integer requestedSuccessTimes; -// @TableField(updateStrategy = FieldStrategy.NEVER) -// private Integer requestedFailedTimes; -// -// /** -// * 所属项目id -// */ -// private Long projectId; -// -// /** -// * 真删 -// */ -// @TableField(fill = FieldFill.INSERT) -// private Integer deleted; -// -//} diff --git a/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiAuthEntity.java b/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiAuthEntity.java new file mode 100644 index 0000000..e17b9df --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiAuthEntity.java @@ -0,0 +1,69 @@ +package net.srt.entity; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import net.srt.framework.mybatis.entity.BaseEntity; + +import java.util.Date; + +/** + * @ClassName : DataServiceApiAuthEntity + * @Description : + * @Author : FJJ + * @Date: 2023-12-26 15:20 + */ +@EqualsAndHashCode(callSuper = false) +@Data +@TableName("data_service_api_auth1") +public class DataServiceApiAuthEntity extends BaseEntity { + /** + * app的id + */ + private Long appId; + + /** + * 分组id + */ + private Long groupId; + + /** + * api的id + */ + private Long apiId; + + /** + * 调用次数 不限次数为-1 + */ + private Integer requestTimes; + + @TableField(updateStrategy = FieldStrategy.IGNORED) + private Date startTime; + @TableField(updateStrategy = FieldStrategy.IGNORED) + private Date endTime; + + /** + * 已调用次数 + */ + @TableField(updateStrategy = FieldStrategy.NEVER) + private Integer requestedTimes; + @TableField(updateStrategy = FieldStrategy.NEVER) + private Integer requestedSuccessTimes; + @TableField(updateStrategy = FieldStrategy.NEVER) + private Integer requestedFailedTimes; + + /** + * 所属项目id + */ + private Long projectId; + + /** + * 真删 + */ + @TableField(fill = FieldFill.INSERT) + private Integer deleted; + +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiLogEntity.java b/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiLogEntity.java new file mode 100644 index 0000000..1fa6add --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiLogEntity.java @@ -0,0 +1,61 @@ +package net.srt.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import net.srt.framework.mybatis.entity.BaseEntity; + +/** + * @ClassName : DataServiceApiLogEntity + * @Description : + * @Author : FJJ + * @Date: 2023-12-25 11:11 + */ +@EqualsAndHashCode(callSuper = false) +@Data +@TableName("data_service_api_log1") +public class DataServiceApiLogEntity extends BaseEntity { + /** + * url + */ + private String url; + + /** + * 响应状态码 + */ + private Integer status; + + /** + * 时长 + */ + private Long duration; + + /** + * IP地址 + */ + private String ip; + + /** + * app的id + */ + private Long appId; + + /** + * api的id + */ + private Long apiId; + + private String appName; + private String apiName; + + /** + * 错误信息 + */ + private String error; + + /** + * 项目id + */ + private Long projectId; + +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/handler/ApiHandler.java b/srt-cloud-data-service/src/main/java/net/srt/handler/ApiHandler.java new file mode 100644 index 0000000..7351ef9 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/handler/ApiHandler.java @@ -0,0 +1,27 @@ +package net.srt.handler; + +// 导入必要的类 + +import net.srt.constants.ApiConstants; +import net.srt.entity.ApiConfigEntity; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.servlet.mvc.method.RequestMappingInfo; + +import java.util.HashMap; +import java.util.Map; + + +// 假设这是你的接口处理类 +public class ApiHandler { + private Map mappings = new HashMap<>(); + + public void registerApi(ApiConfigEntity api) { + RequestMappingInfo mappingInfo = RequestMappingInfo + .paths(ApiConstants.API_PREFIX + api.getPath()) // 使用API_PREFIX常量 + .methods(RequestMethod.valueOf(api.getType())) + .build(); + + mappings.put(mappingInfo, api); + } + +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/handler/ApiRegistration.java b/srt-cloud-data-service/src/main/java/net/srt/handler/ApiRegistration.java new file mode 100644 index 0000000..f74bc8e --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/handler/ApiRegistration.java @@ -0,0 +1,21 @@ +package net.srt.handler; + +import net.srt.constants.ApiConstants; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.method.HandlerMethod; +import org.springframework.web.servlet.mvc.method.RequestMappingInfo; +import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; + +public class ApiRegistration { + private RequestMappingHandlerMapping handlerMapping; // 注入或实例化 RequestMappingHandlerMapping 对象 + + public void registerApi(String path, String method, Object handler, String handlerMethod) throws NoSuchMethodException { + RequestMappingInfo mappingInfo = RequestMappingInfo + .paths(ApiConstants.API_PREFIX + path) + .methods(RequestMethod.valueOf(method)) + .build(); + + HandlerMethod handlerMethodObject = new HandlerMethod(handler, handlerMethod); + handlerMapping.registerMapping(mappingInfo, handlerMethodObject.getBean(), handlerMethodObject.getMethod()); + } +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/handler/MappingRequestHandler.java b/srt-cloud-data-service/src/main/java/net/srt/handler/MappingRequestHandler.java new file mode 100644 index 0000000..3916db8 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/handler/MappingRequestHandler.java @@ -0,0 +1,9 @@ +package net.srt.handler; + +import javax.servlet.http.HttpServletRequest; +import java.util.Map; + +public interface MappingRequestHandler { + Object invoke(HttpServletRequest request, String apiToken, Map pathVariables, + Map requestParams, Map requestBodys); +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/handler/MappingRequestHandlerExample.java b/srt-cloud-data-service/src/main/java/net/srt/handler/MappingRequestHandlerExample.java new file mode 100644 index 0000000..d39bee7 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/handler/MappingRequestHandlerExample.java @@ -0,0 +1,25 @@ +package net.srt.handler; + +import javax.servlet.http.HttpServletRequest; +import java.lang.reflect.Method; +import java.util.Map; + +public class MappingRequestHandlerExample { + private final MappingRequestHandler handler; + private Method method; + + public MappingRequestHandlerExample(MappingRequestHandler handler) { + this.handler = handler; + try { + method = MappingRequestHandler.class.getDeclaredMethod( + "invoke", HttpServletRequest.class, String.class, Map.class, Map.class, Map.class); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + } + } + + public void getHandlerAndMethod() { + System.out.println("Handler: " + handler); + System.out.println("Method: " + method); + } +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/query/ApiConfigQuery.java b/srt-cloud-data-service/src/main/java/net/srt/query/ApiConfigQuery.java new file mode 100644 index 0000000..4cbb148 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/query/ApiConfigQuery.java @@ -0,0 +1,21 @@ +package net.srt.query; + +import lombok.Data; +import net.srt.framework.common.query.Query; + +@Data +public class ApiConfigQuery extends Query { + private Long groupId; + private Long resourceId; + private Long appId; + private String name; + private String path; + private String contentType; + private Integer status; + private Integer sqlDbType; + private Long databaseId; + private Integer privates; + private Integer openTrans; + private Integer queryApply; + private Integer ifMarket; +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/query/DataServiceApiLogQuery.java b/srt-cloud-data-service/src/main/java/net/srt/query/DataServiceApiLogQuery.java new file mode 100644 index 0000000..20aaa03 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/query/DataServiceApiLogQuery.java @@ -0,0 +1,20 @@ +package net.srt.query; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import net.srt.framework.common.query.Query; + +/** + * @ClassName : DataServiceApiLogQuery + * @Description : + * @Author : FJJ + * @Date: 2023-12-25 11:27 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Schema(description = "api日志") +public class DataServiceApiLogQuery extends Query { + private String ip; + private String apiName; +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/service/ApiConfigService.java b/srt-cloud-data-service/src/main/java/net/srt/service/ApiConfigService.java new file mode 100644 index 0000000..3f16a51 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/service/ApiConfigService.java @@ -0,0 +1,40 @@ +package net.srt.service; + +import cn.hutool.http.server.HttpServerResponse; +import net.srt.dto.SqlDto; +import net.srt.entity.ApiConfigEntity; +import net.srt.framework.common.page.PageResult; +import net.srt.framework.mybatis.service.BaseService; +import net.srt.query.ApiConfigQuery; +import net.srt.vo.ApiConfigVo; +import srt.cloud.framework.dbswitch.core.model.JdbcSelectResult; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +public interface ApiConfigService extends BaseService { + String getIpPort(); + + PageResult page(ApiConfigQuery query); + + void save(ApiConfigVo vo); + + void update(ApiConfigVo vo); + + void delete(List idList); + + PageResult pageResource(ApiConfigQuery query); + + List listActiveByGroupId(Long id); + + void online(Long id); + + void offline(Long id); + + String ipPort(); + + JdbcSelectResult sqlExecute(SqlDto dto); + + void exportDocs(List ids, HttpServletResponse response); +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/service/ApiGroupService.java b/srt-cloud-data-service/src/main/java/net/srt/service/ApiGroupService.java new file mode 100644 index 0000000..58c0d64 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/service/ApiGroupService.java @@ -0,0 +1,18 @@ +package net.srt.service; + +import net.srt.entity.ApiGroupEntity; +import net.srt.framework.common.utils.TreeNodeVo; +import net.srt.framework.mybatis.service.BaseService; +import net.srt.vo.ApiGroupVo; + +import java.util.List; + +public interface ApiGroupService extends BaseService { + List listTree(); + + void save(ApiGroupVo vo); + + void update(ApiGroupVo vo); + + void delete(Long id); +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/service/DataServiceApiLogService.java b/srt-cloud-data-service/src/main/java/net/srt/service/DataServiceApiLogService.java new file mode 100644 index 0000000..fedf1df --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/service/DataServiceApiLogService.java @@ -0,0 +1,21 @@ +package net.srt.service; + +import net.srt.entity.DataServiceApiLogEntity; +import net.srt.framework.common.page.PageResult; +import net.srt.framework.mybatis.service.BaseService; +import net.srt.query.DataServiceApiLogQuery; +import net.srt.vo.DataServiceApiLogVo; + +import java.util.List; + +/** + * @ClassName : DataServiceApiLogService + * @Description : + * @Author : FJJ + * @Date: 2023-12-25 11:31 + */ +public interface DataServiceApiLogService extends BaseService { + PageResult dataPageList(DataServiceApiLogQuery query); + + void removeId(List idList); +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/service/DataServiceAppService.java b/srt-cloud-data-service/src/main/java/net/srt/service/DataServiceAppService.java index d0c4606..96b0bdc 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/service/DataServiceAppService.java +++ b/srt-cloud-data-service/src/main/java/net/srt/service/DataServiceAppService.java @@ -4,6 +4,7 @@ import net.srt.entity.DataServiceAppEntity; import net.srt.framework.common.page.PageResult; import net.srt.framework.mybatis.service.BaseService; import net.srt.query.DataServiceAppQuery; +import net.srt.vo.DataServiceApiAuthVo; import net.srt.vo.DataServiceAppVo; import java.util.List; @@ -23,9 +24,11 @@ public interface DataServiceAppService extends BaseService void delete(List idList); - void addAuth(DataServiceAppVo authVO); + void addAuth(DataServiceApiAuthVo authVO); - void upAuth(DataServiceAppVo authVO); + void upAuth(DataServiceApiAuthVo authVO); void cancelAuth(Long authId); + + String tokenGenerate(String appKey, String appSecret); } diff --git a/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java b/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java new file mode 100644 index 0000000..65d63b0 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java @@ -0,0 +1,266 @@ +package net.srt.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.AllArgsConstructor; +import net.srt.api.ServerNames; +import net.srt.convert.ApiConfigConvert; +import net.srt.dao.ApiConfigDao; +import net.srt.dao.ApiGroupDao; +import net.srt.dto.SqlDto; +import net.srt.entity.ApiConfigEntity; +import net.srt.entity.ApiGroupEntity; +import net.srt.framework.common.constant.Constant; +import net.srt.framework.common.page.PageResult; +import net.srt.framework.mybatis.service.impl.BaseServiceImpl; +import net.srt.framework.security.user.SecurityUser; +import net.srt.query.ApiConfigQuery; +import net.srt.service.ApiConfigService; +import net.srt.vo.ApiConfigVo; +import org.springframework.cloud.client.ServiceInstance; +import org.springframework.cloud.client.discovery.DiscoveryClient; +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Service; +import org.springframework.web.server.ResponseStatusException; +import srt.cloud.framework.dbswitch.common.util.StringUtil; +import srt.cloud.framework.dbswitch.core.model.JdbcSelectResult; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.OutputStream; +import java.nio.charset.StandardCharsets; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +@Service +@AllArgsConstructor +public class ApiConfigServiceImpl extends BaseServiceImpl implements ApiConfigService { + private final ApiGroupDao apiGroupDao; + private final DiscoveryClient discoveryClient; + private final ApiConfigDao apiConfigDao; + private final Map mappings = new ConcurrentHashMap<>(); + @Override + public String getIpPort() { + List instances = discoveryClient.getInstances(ServerNames.GATEWAY_SERVER_NAME); + return instances.get(0).getHost() + ":" + instances.get(0).getPort()+"/data-service/api/"; + } + + + + + public void online(Long id) { + ApiConfigEntity apiConfigEntity = apiConfigDao.getById(id); + if (apiConfigEntity != null) { + apiConfigEntity.setStatus(1); + apiConfigEntity.setReleaseTime(new Date()); + apiConfigEntity.setReleaseUserId(SecurityUser.getUserId()); + String routeKey = getRouteKeyByRequestTypeAndUrl(apiConfigEntity.getType(), apiConfigEntity.getPath()); + boolean isExists = checkIfExists(routeKey); + + if (isExists) { + ApiConfigEntity configEntity = mappings.get(routeKey); + if (configEntity != null) { // 添加 null 判断 + offline(configEntity.getId()); // 修正方法调用为传入id + // 从 mappings 中移除该 routeKey + mappings.remove(routeKey); + } + } else { + mappings.put(routeKey, apiConfigEntity); + } + apiConfigDao.updateById(apiConfigEntity); + } + } + + private boolean checkIfExists(String routeKey) { + // 这里是全局的 mappings + Map globalMappings = getGlobalMappings(); + + return globalMappings.containsKey(routeKey); + } + + private Map getGlobalMappings() { + return mappings; + } + + private String getRouteKeyByRequestTypeAndUrl(String type, String path) { + return getRouteKey(type, path); + } + + private String getRouteKey(String type, String path) { + return type.toUpperCase() + "_" + path.toLowerCase(); + } + + @Override + public void offline(Long id) { // 修正参数类型为 Long id + ApiConfigEntity apiConfigEntity = apiConfigDao.getById(id); + if (apiConfigEntity != null) { + apiConfigEntity.setStatus(0); + apiConfigEntity.setReleaseTime(null); + apiConfigEntity.setReleaseUserId(null); + apiConfigDao.updateById(apiConfigEntity); + }else{ + throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Resource not found"); + } + } + // @Override +// public void online(Long id) { +// ApiConfigEntity apiConfigEntity = new ApiConfigEntity(); +// apiConfigEntity.setId(id); +// apiConfigEntity.setStatus(1); +// apiConfigEntity.setReleaseTime(new Date()); +// apiConfigEntity.setReleaseUserId(SecurityUser.getUserId()); +// +// apiConfigDao.updateById(apiConfigEntity); +// } + + @Override + public String ipPort() { + List instances = discoveryClient.getInstances(ServerNames.GATEWAY_SERVER_NAME); + return instances.get(0).getHost() + ":" + instances.get(0).getPort(); + } + + @Override + public JdbcSelectResult sqlExecute(SqlDto dto) { + return null; + } + + @Override + public void exportDocs(List ids, HttpServletResponse response) { + List instances = discoveryClient.getInstances(ServerNames.GATEWAY_SERVER_NAME); + ServiceInstance instance = instances.get(0); + StringBuilder docs = new StringBuilder("## 接口文档\n---\n"); + List apiConfigEntities = baseMapper.selectBatchIds(ids); + for (ApiConfigEntity api : apiConfigEntities) { + docs.append("### ").append(api.getName()) + .append("\n- IP地址:").append(instance.getHost()) + .append("\n- 端口:").append(instance.getPort()) + .append("\n- 接口地址:/data-service/api/").append(api.getPath()) + .append("\n- 请求方式:").append(api.getType()) + .append("\n- Content-Type:").append(api.getContentType()) + .append("\n- 是否需要鉴权:").append(api.getPrivates() == 1 ? "是" : "否"); + if (api.getPrivates() == 1) { + docs.append("\n- 获取鉴权token:").append("/data-service/api/token/generate?appKey=您的appKey&appSecret=您的appToken"); + } + docs.append("\n- 接口备注:").append(api.getNote()) + .append("\n- 请求参数示例:").append("\n```json\n").append(StringUtil.isNotBlank(api.getJsonParam()) ? api.getJsonParam() : "{}").append("\n```\n") + .append("\n- 响应结果示例:").append("\n```json\n").append(StringUtil.isNotBlank(api.getResponseResult()) ? api.getResponseResult() : "{\"code\":0,\"msg\":\"success\",\"data\":[]}").append("\n```\n") + .append("\n---\n"); + } + response.setContentType("application/x-msdownload;charset=utf-8"); + response.setHeader("Content-Disposition", "attachment; filename=API DOCS.md"); + OutputStream os = null; + try { + os = response.getOutputStream(); + os.write(docs.toString().getBytes(StandardCharsets.UTF_8)); + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + if (os != null) + os.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + @Override + public PageResult page(ApiConfigQuery query) { + // 查询参数 + Map params = getParams(query); + // 分页查询 + query.setOrder("dsac.id"); + IPage page = getPage(query); + params.put(Constant.PAGE, page); + // 数据列表 + List list = baseMapper.getAuthList(params); + return new PageResult<>(ApiConfigConvert.INSTANCE.convertList(list), page.getTotal()); + } + private LambdaQueryWrapper getWrapper(ApiConfigQuery query) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.like(StringUtil.isNotBlank(query.getName()), ApiConfigEntity::getName, query.getName()); + wrapper.like(StringUtil.isNotBlank(query.getPath()), ApiConfigEntity::getPath, query.getPath()); + wrapper.eq(StringUtil.isNotBlank(query.getContentType()), ApiConfigEntity::getContentType, query.getContentType()); + wrapper.eq(query.getStatus()!= null, ApiConfigEntity::getStatus, query.getStatus()); + wrapper.eq(query.getSqlDbType() != null, ApiConfigEntity::getSqlDbType, query.getSqlDbType()); + wrapper.eq(query.getDatabaseId()!= null, ApiConfigEntity::getDatabaseId, query.getDatabaseId()); + wrapper.eq(query.getPrivates()!= null, ApiConfigEntity::getPrivates, query.getPrivates()); + wrapper.eq(query.getOpenTrans()!= null, ApiConfigEntity::getOpenTrans, query.getOpenTrans()); + dataScopeWithoutOrgId(wrapper); + wrapper.orderByDesc(ApiConfigEntity::getCreateTime); + wrapper.orderByDesc(ApiConfigEntity::getId); + return wrapper; + } + + @Override + public void save(ApiConfigVo vo) { + ApiConfigEntity entity = ApiConfigConvert.INSTANCE.convert(vo); + entity.setProjectId(getProjectId()); + baseMapper.insert(entity); + } + + @Override + public void update(ApiConfigVo vo) { + ApiConfigEntity entity = ApiConfigConvert.INSTANCE.convert(vo); + entity.setProjectId(getProjectId()); + updateById(entity); + } + + @Override + public void delete(List idList) { + removeByIds(idList); + } + + @Override + public PageResult pageResource(ApiConfigQuery query) { + // 查询参数 + Map params = getParams(query); + IPage page = getPage(query); + params.put(Constant.PAGE, page); + // 数据列表 + List list = baseMapper.getResourceList(params); + List apiConfigVos = ApiConfigConvert.INSTANCE.convertList(list); + for (ApiConfigVo apiConfigVo : apiConfigVos) { + ApiGroupEntity groupEntity = apiGroupDao.selectById(apiConfigVo.getGroupId()); + apiConfigVo.setGroup(groupEntity != null ? groupEntity.getPath() : null); + } + return new PageResult<>(apiConfigVos, page.getTotal()); + + } + + @Override + public List listActiveByGroupId(Long id) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ApiConfigEntity::getStatus, 1).eq(ApiConfigEntity::getGroupId, id).orderByDesc(ApiConfigEntity::getId); + dataScopeWithoutOrgId(wrapper); + return baseMapper.selectList(wrapper); + } + + private Map getParams(ApiConfigQuery query) { + Map params = new HashMap<>(); + params.put("ifMarket", query.getIfMarket()); + params.put("queryApply", query.getQueryApply()); + if (query.getQueryApply() != null && query.getQueryApply() == 1) { + params.put("userId", SecurityUser.getUserId()); + } + params.put("resourceId", query.getResourceId()); + params.put("groupId", query.getGroupId()); + params.put("appId", query.getAppId()); + params.put("name", query.getName()); + params.put("path", query.getPath()); + params.put("contentType", query.getContentType()); + params.put("status", query.getStatus()); + params.put("sqlDbType", query.getSqlDbType()); + params.put("databaseId", query.getDatabaseId()); + params.put("privates", query.getPrivates()); + params.put("openTrans", query.getOpenTrans()); + // 数据权限 + params.put(Constant.DATA_SCOPE, getDataScope("dsac", null, null, "project_id", false, true)); + + return params; + } +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java b/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java new file mode 100644 index 0000000..a8e29dc --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java @@ -0,0 +1,95 @@ +package net.srt.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.AllArgsConstructor; +import net.srt.constants.ApiGroupType; +import net.srt.convert.ApiGroupConvert; +import net.srt.dao.ApiGroupDao; +import net.srt.entity.ApiConfigEntity; +import net.srt.entity.ApiGroupEntity; +import net.srt.framework.common.exception.ServerException; +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.service.ApiConfigService; +import net.srt.service.ApiGroupService; +import net.srt.vo.ApiGroupVo; +import org.springframework.stereotype.Service; +import srt.cloud.framework.dbswitch.common.util.StringUtil; + +import java.util.ArrayList; +import java.util.List; + +@Service +@AllArgsConstructor +public class ApiGroupServiceImpl extends BaseServiceImpl implements ApiGroupService{ + private final ApiConfigService apiConfigService; + @Override + public List listTree() { + List treeNodeVos = getTreeNodeVos(); + return BuildTreeUtils.buildTree(treeNodeVos); + } + + private List getTreeNodeVos() { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + dataScopeWithoutOrgId(wrapper); + wrapper.orderByAsc(ApiGroupEntity::getOrderNo); + List apiGroupEntities = baseMapper.selectList(wrapper); + return BeanUtil.copyListProperties(apiGroupEntities, TreeNodeVo::new, (oldItem, newItem) -> { + newItem.setLabel(oldItem.getName()); + newItem.setValue(oldItem.getId()); + newItem.setDisabled(oldItem.getType() == 1); + if (newItem.getPath().contains("/")) { + newItem.setParentPath(newItem.getPath().substring(0, newItem.getPath().lastIndexOf("/"))); + } + }); + } + + @Override + public void save(ApiGroupVo vo) { + ApiGroupEntity entity = ApiGroupConvert.INSTANCE.convert(vo); + entity.setPath(recursionPath(entity, null)); + entity.setProjectId(getProjectId()); + baseMapper.insert(entity); // 使用 insertSelective() 方法进行插入操作 + } + + @Override + public void update(ApiGroupVo vo) { + ApiGroupEntity entity = ApiGroupConvert.INSTANCE.convert(vo); + entity.setPath(recursionPath(entity, null)); + entity.setProjectId(getProjectId()); + updateById(entity); + } + + private String recursionPath(ApiGroupEntity groupEntity, String path) { + if (StringUtil.isBlank(path)) { + path = groupEntity.getName(); + } + if (groupEntity.getParentId() != 0) { + ApiGroupEntity parent = getById(groupEntity.getParentId()); + path = parent.getName() + "/" + path; + return recursionPath(parent, path); + } + return path; + } + + @Override + public void delete(Long id) { + //查询有没有子节点 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ApiGroupEntity::getParentId, id).last(" limit 1"); + ApiGroupEntity one = baseMapper.selectOne(wrapper); + if (one != null) { + throw new ServerException("存在子节点,不允许删除!"); + } + //查询有没有api与之关联 + LambdaQueryWrapper serviceApiConfigWrapper = new LambdaQueryWrapper<>(); + serviceApiConfigWrapper.eq(ApiConfigEntity::getGroupId, id).last(" limit 1"); + ApiConfigEntity apiConfigEntity = apiConfigService.getOne(serviceApiConfigWrapper); + if (apiConfigEntity != null) { + throw new ServerException("节点下有 api 与之关联,不允许删除!"); + } + removeById(id); + } +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/service/impl/DataServiceApiLogServiceImpl.java b/srt-cloud-data-service/src/main/java/net/srt/service/impl/DataServiceApiLogServiceImpl.java new file mode 100644 index 0000000..058f65a --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/service/impl/DataServiceApiLogServiceImpl.java @@ -0,0 +1,51 @@ +package net.srt.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.AllArgsConstructor; +import net.srt.convert.DataServiceApiLogConvert; +import net.srt.dao.DataServiceApiLogDao; +import net.srt.entity.DataServiceApiLogEntity; +import net.srt.framework.common.page.PageResult; +import net.srt.framework.mybatis.service.impl.BaseServiceImpl; +import net.srt.query.DataServiceApiLogQuery; +import net.srt.service.DataServiceApiLogService; +import net.srt.vo.DataServiceApiLogVo; +import org.springframework.stereotype.Service; +import srt.cloud.framework.dbswitch.common.util.StringUtil; + +import java.util.List; + +/** + * @ClassName : DataServiceApiLogServiceImpl + * @Description : + * @Author : FJJ + * @Date: 2023-12-25 11:31 + */ +@Service +@AllArgsConstructor +public class DataServiceApiLogServiceImpl extends BaseServiceImpl implements DataServiceApiLogService { + @Override + public PageResult dataPageList(DataServiceApiLogQuery query) { + IPage page = baseMapper.selectPage(getPage(query), getWrapper(query)); + + return new PageResult<>(DataServiceApiLogConvert.INSTANCE.convertList(page.getRecords()), page.getTotal()); + } + + @Override + public void removeId(List idList) { + removeByIds(idList); + } + + private LambdaQueryWrapper getWrapper(DataServiceApiLogQuery query) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.like(StringUtil.isNotBlank(query.getIp()), DataServiceApiLogEntity::getIp, query.getIp()) + .like(StringUtil.isNotBlank(query.getApiName()), DataServiceApiLogEntity::getApiName, query.getApiName()) + .orderByDesc(DataServiceApiLogEntity::getCreateTime).orderByDesc(DataServiceApiLogEntity::getId); + dataScopeWithoutOrgId(wrapper); + return wrapper; + } + + +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/service/impl/DataServiceAppServiceImpl.java b/srt-cloud-data-service/src/main/java/net/srt/service/impl/DataServiceAppServiceImpl.java index a4e251c..7f8fab4 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/service/impl/DataServiceAppServiceImpl.java +++ b/srt-cloud-data-service/src/main/java/net/srt/service/impl/DataServiceAppServiceImpl.java @@ -4,8 +4,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.AllArgsConstructor; +import net.srt.convert.DataServiceApiAuthConvert; import net.srt.convert.DataServiceAppConvert; +import net.srt.dao.ApiConfigDao; +import net.srt.dao.DataServiceApiAuthDao; import net.srt.dao.DataServiceAppDao; +import net.srt.dto.AppToken; +import net.srt.entity.DataServiceApiAuthEntity; import net.srt.entity.DataServiceAppEntity; import net.srt.framework.common.exception.ServerException; import net.srt.framework.common.page.PageResult; @@ -13,7 +18,9 @@ import net.srt.framework.mybatis.service.impl.BaseServiceImpl; import net.srt.framework.security.user.SecurityUser; import net.srt.query.DataServiceAppQuery; import net.srt.service.DataServiceAppService; +import net.srt.vo.DataServiceApiAuthVo; import net.srt.vo.DataServiceAppVo; +import org.apache.commons.lang.RandomStringUtils; import org.springframework.stereotype.Service; import srt.cloud.framework.dbswitch.common.util.StringUtil; @@ -30,6 +37,8 @@ import java.util.List; @AllArgsConstructor public class DataServiceAppServiceImpl extends BaseServiceImpl implements DataServiceAppService { private final DataServiceAppDao dataServiceAppDao; + private final ApiConfigDao apiConfigDao; + private final DataServiceApiAuthDao dataServiceApiAuthDao; @Override public PageResult page(DataServiceAppQuery query) { IPage page=baseMapper.selectPage(getPage(query),null); @@ -56,14 +65,18 @@ public class DataServiceAppServiceImpl extends BaseServiceImpl wrapper = Wrappers.lambdaQuery(); + wrapper.eq(DataServiceAppEntity::getAppKey,appKey).last("limit 1"); + DataServiceAppEntity dataServiceAppEntity = baseMapper.selectOne(wrapper); + if (dataServiceAppEntity==null){ + throw new RuntimeException("appKey不存在"); + } + if (!appSecret.equals(dataServiceAppEntity.getAppSecret())){ + throw new ServerException("appSecret错误"); + } + //生成token + String token = RandomStringUtils.random(32, true, true); + AppToken appToken = new AppToken(); + appToken.setToken(token); + appToken.setAppKey(appKey); + appToken.setAppId(dataServiceAppEntity.getId()); + if (dataServiceAppEntity.getExpireDuration()==0){ + appToken.setExpireAt(0L); + } else if (dataServiceAppEntity.getExpireDuration()== -1) { + appToken.setExpireAt(-1L); + }else if (dataServiceAppEntity.getExpireDuration()>0){ + long l = System.currentTimeMillis() + dataServiceAppEntity.getExpireDuration() * 1000; + appToken.setExpireAt(l); + } + return appToken.getToken(); + } -// private LambdaQueryWrapper getWrapper(DataServiceAppQuery query) { -// LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); -// wrapper.like(StringUtil.isNotBlank(query.getName()), DataServiceAppEntity::getName, query.getName()) -// .eq(DataServiceAppEntity::getIfMarket, query.getIfMarket() != null ? query.getIfMarket() : 0) -// .eq(query.getIfMarket() != null, DataServiceAppEntity::getCreator, SecurityUser.getUserId()) -// .eq(StringUtil.isNotBlank(query.getAppKey()), DataServiceAppEntity::getAppKey, query.getAppKey()) -// .orderByDesc(DataServiceAppEntity::getCreateTime).orderByDesc(DataServiceAppEntity::getId); -// return wrapper; -// } + + private LambdaQueryWrapper getWrapper(DataServiceAppQuery query) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.like(StringUtil.isNotBlank(query.getName()), DataServiceAppEntity::getName, query.getName()) + .eq(DataServiceAppEntity::getIfMarket, query.getIfMarket() != null ? query.getIfMarket() : 0) + .eq(query.getIfMarket() != null, DataServiceAppEntity::getCreator, SecurityUser.getUserId()) + .eq(StringUtil.isNotBlank(query.getAppKey()), DataServiceAppEntity::getAppKey, query.getAppKey()) + .orderByDesc(DataServiceAppEntity::getCreateTime).orderByDesc(DataServiceAppEntity::getId); + return wrapper; + } } diff --git a/srt-cloud-data-service/src/main/java/net/srt/utils/EncrypDES.java b/srt-cloud-data-service/src/main/java/net/srt/utils/EncrypDES.java new file mode 100644 index 0000000..939f75c --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/utils/EncrypDES.java @@ -0,0 +1,145 @@ +package net.srt.utils; + +import javax.crypto.Cipher; +import java.security.Key; + +/** + * @ClassName : EncrypDES + * @Description : + * @Author : FJJ + * @Date: 2023-12-25 09:31 + */ +public class EncrypDES { + + // 字符串默认键值 + private static String strDefaultKey = "inventec2020@#$%^&"; + + //加密工具 + private Cipher encryptCipher = null; + + // 解密工具 + private Cipher decryptCipher = null; + + /** + * 默认构造方法,使用默认密钥 + */ + public EncrypDES() throws Exception { + this(strDefaultKey); + } + + /** + * 指定密钥构造方法 + * @param strKey 指定的密钥 + * @throws Exception + */ + + public EncrypDES(String strKey) throws Exception { + + // Security.addProvider(new com.sun.crypto.provider.SunJCE()); + Key key = getKey(strKey.getBytes()); + encryptCipher = Cipher.getInstance("DES"); + encryptCipher.init(Cipher.ENCRYPT_MODE, key); + decryptCipher = Cipher.getInstance("DES"); + decryptCipher.init(Cipher.DECRYPT_MODE, key); + } + + /** + * 将byte数组转换为表示16进制值的字符串, 如:byte[]{8,18}转换为:0813,和public static byte[] + * + * hexStr2ByteArr(String strIn) 互为可逆的转换过程 + * + * @param arrB 需要转换的byte数组 + * @return 转换后的字符串 + * @throws Exception 本方法不处理任何异常,所有异常全部抛出 + */ + public static String byteArr2HexStr(byte[] arrB) throws Exception { + int iLen = arrB.length; + // 每个byte用2个字符才能表示,所以字符串的长度是数组长度的2倍 + StringBuffer sb = new StringBuffer(iLen * 2); + for (int i = 0; i < iLen; i++) { + int intTmp = arrB[i]; + // 把负数转换为正数 + while (intTmp < 0) { + intTmp = intTmp + 256; + } + // 小于0F的数需要在前面补0 + if (intTmp < 16) { + sb.append("0"); + } + sb.append(Integer.toString(intTmp, 16)); + } + return sb.toString(); + } + + /** + * 将表示16进制值的字符串转换为byte数组,和public static String byteArr2HexStr(byte[] arrB) + * 互为可逆的转换过程 + * @param strIn 需要转换的字符串 + * @return 转换后的byte数组 + */ + public static byte[] hexStr2ByteArr(String strIn) throws Exception { + byte[] arrB = strIn.getBytes(); + int iLen = arrB.length; + // 两个字符表示一个字节,所以字节数组长度是字符串长度除以2 + byte[] arrOut = new byte[iLen / 2]; + for (int i = 0; i < iLen; i = i + 2) { + String strTmp = new String(arrB, i, 2); + arrOut[i / 2] = (byte) Integer.parseInt(strTmp, 16); + } + return arrOut; + } + + /** + * + * 加密字节数组 + * @param arrB 需加密的字节数组 + * @return 加密后的字节数组 + */ + public byte[] encrypt(byte[] arrB) throws Exception { + return encryptCipher.doFinal(arrB); + } + + /** + * 加密字符串 + * @param strIn 需加密的字符串 + * @return 加密后的字符串 + */ + public String encrypt(String strIn) throws Exception { + return byteArr2HexStr(encrypt(strIn.getBytes())); + } + + /** + * 解密字节数组 + * @param arrB 需解密的字节数组 + * @return 解密后的字节数组 + */ + public byte[] decrypt(byte[] arrB) throws Exception { + return decryptCipher.doFinal(arrB); + } + + /** + * 解密字符串 + * @param strIn 需解密的字符串 + * @return 解密后的字符串 + */ + public String decrypt(String strIn) throws Exception { + return new String(decrypt(hexStr2ByteArr(strIn))); + } + + /** + * 从指定字符串生成密钥,密钥所需的字节数组长度为8位 不足8位时后面补0,超出8位只取前8位 + * @param arrBTmp 构成该字符串的字节数组 + * @return 生成的密钥 + */ + private Key getKey(byte[] arrBTmp) throws Exception { + // 创建一个空的8位字节数组(默认值为0) + byte[] arrB = new byte[8]; + // 将原始字节数组转换为8位 + for (int i = 0; i < arrBTmp.length && i < arrB.length; i++) { + arrB[i] = arrBTmp[i]; + } + // 生成密钥 + Key key = new javax.crypto.spec.SecretKeySpec(arrB, "DES"); + return key; + } +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/vo/ApiConfigVo.java b/srt-cloud-data-service/src/main/java/net/srt/vo/ApiConfigVo.java new file mode 100644 index 0000000..2d168e2 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/vo/ApiConfigVo.java @@ -0,0 +1,55 @@ +package net.srt.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import net.srt.framework.common.utils.DateUtils; + +import java.io.Serializable; +import java.util.Date; + +/** +* 数据服务-api配置 +* +* @author zrx 985134801@qq.com +* @since 1.0.0 2023-01-28 +*/ +@Data +public class ApiConfigVo implements Serializable { + private static final long serialVersionUID = 1L; + private Long id; + private Long groupId; + private String path; + private String type; + private String name; + private String note; + private String sqlText; + private String sqlSeparator; + private Integer sqlMaxRow; + private String sqlParam; + private String jsonParam; + private String responseResult; + private String contentType; + private Integer status; + private Date releaseTime; + private Long releaseUserId; + private Integer sqlDbType; + private Long databaseId; + private Integer privates; + private Integer openTrans; + private Long projectId; + private Integer version; + private Integer deleted; + private Long creator; + private Date createTime; + private Long updater; + private Date updateTime; + private Integer requestedTimes; + private Integer requestedSuccessTimes; + private Integer requestedFailedTimes; + private Long authId; + private String group; + private String groupPath; + +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/vo/ApiGroupVo.java b/srt-cloud-data-service/src/main/java/net/srt/vo/ApiGroupVo.java new file mode 100644 index 0000000..4193587 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/vo/ApiGroupVo.java @@ -0,0 +1,25 @@ +package net.srt.vo; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class ApiGroupVo implements Serializable { + private static final long serialVersionUID = 1L; + private Long id; + private Long parentId; + private Integer type; + private String name; + private String description; + private Integer orderNo; + private String path; + private Long projectId; + private Integer version; + private Integer deleted; + private Long creator; + private Date createTime; + private Long updater; + private Date updateTime; +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/vo/DataServiceApiAuthVo.java b/srt-cloud-data-service/src/main/java/net/srt/vo/DataServiceApiAuthVo.java index bd53d79..fbd3372 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/vo/DataServiceApiAuthVo.java +++ b/srt-cloud-data-service/src/main/java/net/srt/vo/DataServiceApiAuthVo.java @@ -42,6 +42,8 @@ public class DataServiceApiAuthVo implements Serializable { @Schema(description = "所属项目id") private Long projectId; + private Long authId; + @Schema(description = "版本号") private Integer version; diff --git a/srt-cloud-data-service/src/main/java/net/srt/vo/DataServiceApiLogVo.java b/srt-cloud-data-service/src/main/java/net/srt/vo/DataServiceApiLogVo.java new file mode 100644 index 0000000..0c338e3 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/vo/DataServiceApiLogVo.java @@ -0,0 +1,72 @@ +package net.srt.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import net.srt.framework.common.utils.DateUtils; + +import java.io.Serializable; +import java.util.Date; + +/** + * @ClassName : DataServiceApiLog + * @Description : + * @Author : FJJ + * @Date: 2023-12-25 11:05 + */ +@Data +@Schema(description = "api请求日志") +public class DataServiceApiLogVo implements Serializable { + private static final long serialVersionUID = 1L; + + + @Schema(description = "主键id") + private Long id; + + @Schema(description = "url") + private String url; + + @Schema(description = "响应状态码") + private Integer status; + + @Schema(description = "时长") + private Long duration; + + @Schema(description = "IP地址") + private String ip; + + @Schema(description = "app的id") + private String appId; + + @Schema(description = "api的id") + private String apiId; + + private String appName; + private String apiName; + + @Schema(description = "错误信息") + private String error; + + @Schema(description = "项目id") + private Long projectId; + + @Schema(description = "版本号") + private Integer version; + + @Schema(description = "删除标识 0:正常 1:已删除") + private Integer deleted; + + @Schema(description = "创建者") + private Long creator; + + @Schema(description = "创建时间") + @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN) + private Date createTime; + + @Schema(description = "更新者") + private Long updater; + + @Schema(description = "更新时间") + @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN) + private Date updateTime; +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/vo/ServiceApiLogVo.java b/srt-cloud-data-service/src/main/java/net/srt/vo/ServiceApiLogVo.java new file mode 100644 index 0000000..d79c064 --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/vo/ServiceApiLogVo.java @@ -0,0 +1,73 @@ +package net.srt.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import net.srt.framework.common.utils.DateUtils; + +import java.io.Serializable; +import java.util.Date; + +/** + * @BelongsProject: data-center + * @BelongsPackage: net.srt.vo + * @Author: yanqiang + * @CreateTime: 2023-12-24 15:21 + */ + +@Data +@Schema(description = "api日志") +public class ServiceApiLogVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Schema(description = "主键id") + private Long id; + + @Schema(description = "url") + private String url; + + @Schema(description = "响应状态码") + private Integer status; + + @Schema(description = "时长") + private Long duration; + + @Schema(description = "IP地址") + private String ip; + + @Schema(description = "app的id") + private String appId; + + @Schema(description = "api的id") + private String apiId; + + private String appName; + private String apiName; + + @Schema(description = "错误信息") + private String error; + + @Schema(description = "项目id") + private Long projectId; + + @Schema(description = "版本号") + private Integer version; + + @Schema(description = "删除标识 0:正常 1:已删除") + private Integer deleted; + + @Schema(description = "创建者") + private Long creator; + + @Schema(description = "创建时间") + @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN) + private Date createTime; + + @Schema(description = "更新者") + private Long updater; + + @Schema(description = "更新时间") + @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN) + private Date updateTime; + +} diff --git a/srt-cloud-data-service/src/main/java/net/srt/vo/ServiceAppVo.java b/srt-cloud-data-service/src/main/java/net/srt/vo/ServiceAppVo.java new file mode 100644 index 0000000..ce741cd --- /dev/null +++ b/srt-cloud-data-service/src/main/java/net/srt/vo/ServiceAppVo.java @@ -0,0 +1,70 @@ +package net.srt.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import net.srt.framework.common.utils.DateUtils; + +import java.io.Serializable; +import java.util.Date; + +/** + * @BelongsProject: data-center + * @BelongsPackage: net.srt.vo + * @Author: yanqiang + * @CreateTime: 2023-12-21 20:50 + */ + +@Data +@Schema(description = "数据app") +public class ServiceAppVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Schema(description = "主键id") + private Long id; + + @Schema(description = "名称") + private String name; + + @Schema(description = "备注") + private String note; + + @Schema(description = "appKey") + private String appKey; + + @Schema(description = "appSecret") + private String appSecret; + + @Schema(description = "过期时间") + private String expireDesc; + /** + * 过期时间 -1永久;0 单次失效;> 0 失效时间 + */ + private Long expireDuration; + private Integer ifMarket; + + @Schema(description = "项目id") + private Long projectId; + + @Schema(description = "版本号") + private Integer version; + + @Schema(description = "0:正常 1:已删除") + private Integer deleted; + + @Schema(description = "创建人") + private Long creator; + + @Schema(description = "创建时间") + @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN) + private Date createTime; + + @Schema(description = "更新人") + private Long updater; + + @Schema(description = "更新时间") + @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN) + private Date updateTime; + + +} diff --git a/srt-cloud-data-service/src/main/resources/mapper/ApiConfigDao.xml b/srt-cloud-data-service/src/main/resources/mapper/ApiConfigDao.xml new file mode 100644 index 0000000..5b1c065 --- /dev/null +++ b/srt-cloud-data-service/src/main/resources/mapper/ApiConfigDao.xml @@ -0,0 +1,87 @@ + + + + + + update data_service_api_config set auth_id=#{apiId} where id=#{id} + + + + + diff --git a/srt-cloud-data-service/src/main/resources/mapper/DataServiceAppMapper.xml b/srt-cloud-data-service/src/main/resources/mapper/DataServiceAppMapper.xml index 6271392..9a6fdde 100644 --- a/srt-cloud-data-service/src/main/resources/mapper/DataServiceAppMapper.xml +++ b/srt-cloud-data-service/src/main/resources/mapper/DataServiceAppMapper.xml @@ -5,7 +5,7 @@ - + + + From c896e8cff53ff2b02e207a22655f113b000c54df Mon Sep 17 00:00:00 2001 From: chenbingxuan <3581044601@qq.com> Date: Tue, 26 Dec 2023 22:22:29 +0800 Subject: [PATCH 14/22] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 1 + .../srt/controller/MetadataController.java | 208 +++++++++--------- .../controller/QualityConfigController.java | 12 +- .../net/srt/convert/QualityConfigConvert.java | 8 +- .../net/srt/init/BusinessInitializer.java | 8 +- .../java/net/srt/service/MetadataService.java | 76 +++---- .../net/srt/service/QualityConfigService.java | 10 +- .../srt/service/impl/MetadataServiceImpl.java | 10 +- .../srt/service/impl/MetadataServiceimpl.java | 12 - .../impl/QualityConfigServiceimpl.java | 30 ++- ...k-app-1.14-2.0.0-jar-with-dependencies.jar | Bin 19336872 -> 19336858 bytes .../flink-catalog-mysql-1.14-2.0.0.jar | Bin 21538 -> 21538 bytes .../build/extends/flink-client-1.14-2.0.0.jar | Bin 146952 -> 146952 bytes .../src/main/resources/bootstrap.yml | 8 +- .../src/main/java/net/srt/DevelopmentApp.java | 3 + .../DataProductionTreeController.java | 4 +- .../mapper/DataProductionMapper.java | 2 + .../disposition/mapper/DispositionMapper.java | 2 + .../src/main/resources/auth.yml | 6 +- 19 files changed, 192 insertions(+), 208 deletions(-) delete mode 100644 srt-cloud-data-governance/src/main/java/net/srt/service/impl/MetadataServiceimpl.java diff --git a/pom.xml b/pom.xml index 9003ee4..48cbdf3 100644 --- a/pom.xml +++ b/pom.xml @@ -24,6 +24,7 @@ srt-cloud-gateway srt-data-development srt-cloud-data-governance + srt-cloud-data-service srt-cloud-data-server diff --git a/srt-cloud-data-governance/src/main/java/net/srt/controller/MetadataController.java b/srt-cloud-data-governance/src/main/java/net/srt/controller/MetadataController.java index bd2506e..a9568ce 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/controller/MetadataController.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/controller/MetadataController.java @@ -1,104 +1,104 @@ -//package net.srt.controller; -// -// -//import io.swagger.v3.oas.annotations.Operation; -//import io.swagger.v3.oas.annotations.tags.Tag; -//import lombok.AllArgsConstructor; -//import net.srt.framework.common.cache.bean.Neo4jInfo; -//import net.srt.framework.common.utils.Result; -//import net.srt.framework.common.utils.TreeNodeVo; -//import net.srt.service.MetadataService; -//import net.srt.vo.MetadataVo; -//import org.springframework.web.bind.annotation.*; -// -//import javax.validation.Valid; -//import java.util.List; -// -///** -// * @BelongsProject: srt_cloud -// * @BelongsPackage: net.srt.controller -// * @Author: jpz -// * @CreateTime: 2023/12/24 14:24 -// */ -//import io.swagger.v3.oas.annotations.tags.Tag; -//import lombok.AllArgsConstructor; -//import net.srt.service.MetadataService; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.RestController; -// -//@RestController -//@RequestMapping("metadata") -//@Tag(name = "数据治理-元数据") -//@AllArgsConstructor -//public class MetadataController { -// private final MetadataService metadataService; -// @GetMapping("/list-chlid") -// @Operation(summary = "根据父类id获取信息") -// public Result> listByPatenId(@RequestParam Long parentId){ -// List list=metadataService.listByPatenId(parentId); -// return Result.ok(list); -// } -// @GetMapping("/list-floder") -// @Operation(summary = "获取目录树") -// public Result> listFloder(){ -// List list=metadataService.listFloder(); -// return Result.ok(list); -// } -// @GetMapping("/list-db") -// @Operation(summary = "获取库表目录树") -// public Result> listDb() { -// List list=metadataService.listDb(); -// return Result.ok(list); -// } -// -// @GetMapping("/list-keyword") -// @Operation(summary = "模糊查询") -// public Result> listKeyword( String keyword) { -// List list=metadataService.listKeyword(keyword); -// return Result.ok(list); -// } -// -// @GetMapping("{id}") -// @Operation(summary = "信息") -// public Result get(@PathVariable("id") Long id){ -// return Result.ok(metadataService.get(id)); -// } -// -// @PostMapping -// @Operation(summary = "保存") -// public Result save(@RequestBody MetadataVo vo){ -// metadataService.save(vo); -// return Result.ok(); -// } -// -// @PutMapping -// @Operation(summary = "修改") -// public Result update(@RequestBody @Valid MetadataVo vo){ -// metadataService.update(vo); -// return Result.ok(); -// } -// -// @DeleteMapping("{id}") -// @Operation(summary = "删除") -// public Result delete(@PathVariable Long id){ -// metadataService.delete(id); -// return Result.ok(); -// } -// -// @PostMapping("{neo4j}") -// @Operation(summary = "更新neo4路径") -// public Result updateNeo4j(@PathVariable Neo4jInfo neo4jInfo){ -// metadataService.updateNeo4j(neo4jInfo); -// return Result.ok(); -// } -// -// @GetMapping("/neo4j") -// @Operation(summary = "获取neo4的路径") -// public Result getNeo4j(){ -// return Result.ok(metadataService.getNeo4j()); -// } -// -// -// -// -//} +package net.srt.controller; + + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import net.srt.framework.common.cache.bean.Neo4jInfo; +import net.srt.framework.common.utils.Result; +import net.srt.framework.common.utils.TreeNodeVo; +import net.srt.service.MetadataService; +import net.srt.vo.MetadataVO; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** + * @BelongsProject: srt_cloud + * @BelongsPackage: net.srt.controller + * @Author: jpz + * @CreateTime: 2023/12/24 14:24 + */ +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import net.srt.service.MetadataService; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("metadata") +@Tag(name = "数据治理-元数据") +@AllArgsConstructor +public class MetadataController { + private final MetadataService metadataService; + @GetMapping("/list-chlid") + @Operation(summary = "根据父类id获取信息") + public Result> listByPatenId(@RequestParam Long parentId){ + List list=metadataService.listByPatenId(parentId); + return Result.ok(list); + } + @GetMapping("/list-floder") + @Operation(summary = "获取目录树") + public Result> listFloder(){ + List list=metadataService.listFloder(); + return Result.ok(list); + } + @GetMapping("/list-db") + @Operation(summary = "获取库表目录树") + public Result> listDb() { + List list=metadataService.listDb(); + return Result.ok(list); + } + + @GetMapping("/list-keyword") + @Operation(summary = "模糊查询") + public Result> listKeyword( String keyword) { + List list=metadataService.listKeyword(keyword); + return Result.ok(list); + } + + @GetMapping("{id}") + @Operation(summary = "信息") + public Result get(@PathVariable("id") Long id){ + return Result.ok(metadataService.get(id)); + } + + @PostMapping + @Operation(summary = "保存") + public Result save(@RequestBody MetadataVO vo){ + metadataService.save(vo); + return Result.ok(); + } + + @PutMapping + @Operation(summary = "修改") + public Result update(@RequestBody @Valid MetadataVO vo){ + metadataService.update(vo); + return Result.ok(); + } + + @DeleteMapping("{id}") + @Operation(summary = "删除") + public Result delete(@PathVariable Long id){ + metadataService.delete(id); + return Result.ok(); + } + + @PostMapping("{neo4j}") + @Operation(summary = "更新neo4路径") + public Result updateNeo4j(@PathVariable Neo4jInfo neo4jInfo){ + metadataService.updateNeo4j(neo4jInfo); + return Result.ok(); + } + + @GetMapping("/neo4j") + @Operation(summary = "获取neo4的路径") + public Result getNeo4j(){ + return Result.ok(metadataService.getNeo4j()); + } + + + + +} diff --git a/srt-cloud-data-governance/src/main/java/net/srt/controller/QualityConfigController.java b/srt-cloud-data-governance/src/main/java/net/srt/controller/QualityConfigController.java index 1bc216a..ffc1fdb 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/controller/QualityConfigController.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/controller/QualityConfigController.java @@ -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> page(@Valid QualityConfigQuery query){ - PageResult page= qualityConfigService.page(query); + public Result> page(@Valid QualityConfigQuery query){ + PageResult page= qualityConfigService.page(query); return Result.ok(page); } @GetMapping("{id}") @Operation(summary = "信息") - public Result get(@PathVariable("id") Long id){ + public Result get(@PathVariable("id") Long id){ return Result.ok(qualityConfigService.get(id)); } @PostMapping @Operation(summary = "保存") - public Result save(@RequestBody QualityConfigVo vo){ + public Result save(@RequestBody QualityConfigVO vo){ qualityConfigService.save(vo); return Result.ok(); } @PutMapping @Operation(summary = "修改") - public Result update(@RequestBody @Valid QualityConfigVo vo){ + public Result update(@RequestBody @Valid QualityConfigVO vo){ qualityConfigService.update(vo); return Result.ok(); } diff --git a/srt-cloud-data-governance/src/main/java/net/srt/convert/QualityConfigConvert.java b/srt-cloud-data-governance/src/main/java/net/srt/convert/QualityConfigConvert.java index 9e07e73..6e4456d 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/convert/QualityConfigConvert.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/convert/QualityConfigConvert.java @@ -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 convertList(List list); + List convertList(List list); } diff --git a/srt-cloud-data-governance/src/main/java/net/srt/init/BusinessInitializer.java b/srt-cloud-data-governance/src/main/java/net/srt/init/BusinessInitializer.java index 947e95a..cf0c336 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/init/BusinessInitializer.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/init/BusinessInitializer.java @@ -25,10 +25,10 @@ public class BusinessInitializer implements ApplicationRunner { * init task monitor */ private void initScheduleMonitor() { - //处理没执行完的采集任务 - metadataCollectRecordService.dealNotFinished(); - //处理没执行完的质量检测任务 - qualityTaskService.dealNotFinished(); +// //处理没执行完的采集任务 +// metadataCollectRecordService.dealNotFinished(); +// //处理没执行完的质量检测任务 +// qualityTaskService.dealNotFinished(); } } diff --git a/srt-cloud-data-governance/src/main/java/net/srt/service/MetadataService.java b/srt-cloud-data-governance/src/main/java/net/srt/service/MetadataService.java index 13dce44..b414aa5 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/service/MetadataService.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/service/MetadataService.java @@ -1,38 +1,38 @@ -//package net.srt.service; -// -//import net.srt.entity.MetadataEntity; -//import net.srt.framework.common.cache.bean.Neo4jInfo; -//import net.srt.framework.common.utils.TreeNodeVo; -//import net.srt.framework.mybatis.service.BaseService; -//import net.srt.vo.MetadataVo; -// -//import java.util.List; -// -///** -// * @BelongsProject: srt_cloud -// * @BelongsPackage: net.srt.service -// * @Author: jpz -// * @CreateTime: 2023/12/24 14:35 -// */ -// -//public interface MetadataService extends BaseService { -// List listByPatenId(Long parentId); -// -// List listFloder(); -// -// List listDb(); -// -// List listKeyword(String keyword); -// -// MetadataVo get(Long id); -// -// void save(MetadataVo vo); -// -// void update(MetadataVo vo); -// -// void delete(Long id); -// -// void updateNeo4j(Neo4jInfo neo4jInfo); -// -// Neo4jInfo getNeo4j(); -//} +package net.srt.service; + +import net.srt.entity.MetadataEntity; +import net.srt.framework.common.cache.bean.Neo4jInfo; +import net.srt.framework.common.utils.TreeNodeVo; +import net.srt.framework.mybatis.service.BaseService; +import net.srt.vo.MetadataVO; + +import java.util.List; + +/** + * @BelongsProject: srt_cloud + * @BelongsPackage: net.srt.service + * @Author: jpz + * @CreateTime: 2023/12/24 14:35 + */ + +public interface MetadataService extends BaseService { + List listByPatenId(Long parentId); + + List listFloder(); + + List listDb(); + + List listKeyword(String keyword); + + MetadataVO get(Long id); + + void save(MetadataVO vo); + + void update(MetadataVO vo); + + void delete(Long id); + + void updateNeo4j(Neo4jInfo neo4jInfo); + + Neo4jInfo getNeo4j(); +} diff --git a/srt-cloud-data-governance/src/main/java/net/srt/service/QualityConfigService.java b/srt-cloud-data-governance/src/main/java/net/srt/service/QualityConfigService.java index 553e11e..3d89e28 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/service/QualityConfigService.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/service/QualityConfigService.java @@ -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 { - PageResult page(QualityConfigQuery query); + PageResult 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); diff --git a/srt-cloud-data-governance/src/main/java/net/srt/service/impl/MetadataServiceImpl.java b/srt-cloud-data-governance/src/main/java/net/srt/service/impl/MetadataServiceImpl.java index 9dd5d33..e07adbb 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/service/impl/MetadataServiceImpl.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/service/impl/MetadataServiceImpl.java @@ -38,7 +38,7 @@ public class MetadataServiceImpl extends BaseServiceImpl listByParentId(Long parentId) { + public List listByPatenId(Long parentId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(MetadataEntity::getParentId,parentId) .orderByAsc(MetadataEntity::getOrderNo); @@ -93,9 +93,9 @@ public class MetadataServiceImpl extends BaseServiceImpl listByKeyword(String keyword) { + public List listKeyword(String keyword) { if(StringUtil.isBlank(keyword)){ - return listByParentId(0L); + return listByPatenId(0L); } LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.like(MetadataEntity::getName,keyword) @@ -171,12 +171,12 @@ public class MetadataServiceImpl extends BaseServiceImpl implements MetadataService { -//} diff --git a/srt-cloud-data-governance/src/main/java/net/srt/service/impl/QualityConfigServiceimpl.java b/srt-cloud-data-governance/src/main/java/net/srt/service/impl/QualityConfigServiceimpl.java index 785a0c7..c18f816 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/service/impl/QualityConfigServiceimpl.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/service/impl/QualityConfigServiceimpl.java @@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.sun.org.apache.bcel.internal.generic.LADD; import lombok.AllArgsConstructor; import net.srt.api.module.data.governance.constant.BuiltInQualityRule; import net.srt.api.module.data.governance.dto.quality.QualityConfigParam; @@ -19,8 +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 org.springframework.security.core.parameters.P; +import net.srt.vo.QualityConfigVO; import org.springframework.stereotype.Service; import srt.cloud.framework.dbswitch.common.util.StringUtil; @@ -39,39 +37,39 @@ public class QualityConfigServiceimpl extends BaseServiceImpl page(QualityConfigQuery query) { + public PageResult page(QualityConfigQuery query) { IPage 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 metadataIds=qualityConfigvo.getMetadataIds(); + public QualityConfigVO get(Long id) { + QualityConfigVO QualityConfigVO= QualityConfigConvert.INSTANCE.convert(baseMapper.selectById(id)); + List metadataIds=QualityConfigVO.getMetadataIds(); LambdaQueryWrapper metadataWrapper= Wrappers.lambdaQuery(); metadataWrapper.in(MetadataEntity::getId,metadataIds); List 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())){ @@ -81,7 +79,7 @@ public class QualityConfigServiceimpl extends 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⋘Sos@HQp>;r1-%QM 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©*F6ON^ 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𝔡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 k?`y=eAQuJ97`TuwVelwAGBoh)&T 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%0D$)J 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ɀw(cr1%&lOHR9LkFDunt`vIyX=b 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

Ah6Vv=58~C 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%0A1-iyzyaI4yZ`qy?heey%B3)$3GRM$h^E#FFtkd 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

cSZW}hsl!J07)}1(N-GcJWUR>iv&u;d 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 b~^~4)U*D>CIUtTL+M6) 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 I)T;G=0H`gpZvX%Q diff --git a/srt-cloud-framework/srt-cloud-flink/build/extends/flink-catalog-mysql-1.14-2.0.0.jar b/srt-cloud-framework/srt-cloud-flink/build/extends/flink-catalog-mysql-1.14-2.0.0.jar index bc7b2a024bb977fac44d690c4f10917a56a0dd98..95131868960510408dbc5b97a8c4158a6a686189 100644 GIT binary patch delta 371 zcmZ3qf^pFbM&1B#W)?061`Y;>>eaI*@~SX{D3i_1RY2;ME{Hc-icua++b}AF=_E!? zFx|&!C}pArxaHt$eCDwwYomKm$4k`gTaI#l$5}3a}xEKIK CZjLJe delta 371 zcmZ3qf^pFbM&1B#W)?061`Y;>ciGb?@~SX{D3i@#>Xj~tnk>aA52kGxmBDlpqb8W{ zV>A>5%7-%`0h!5$?DCV}Gjf4d{9&{Q({@Z+U^<)02uv?v@&?hH-!Zu`ff=T(uNiqk zW*NP^kQm0uz~D03p4D`75_J1k+6Zj$qo&-yI_F?+>OQ`GakoEFa(m u=BETigXu#7sbE?wFcVBqgVIbvabSLOP%fCh98>~w;AF4hBrtz{a4`Vg9h5Tw diff --git a/srt-cloud-framework/srt-cloud-flink/build/extends/flink-client-1.14-2.0.0.jar b/srt-cloud-framework/srt-cloud-flink/build/extends/flink-client-1.14-2.0.0.jar index 724cdbd401ff487f552ab5f759d9e063bac13c32..843a7dfcd331068bb4b3524fd9c006f1cdadf438 100644 GIT binary patch delta 1915 zcmYk6drTZv6vpSC*#`uU5d88U+j43U(sbXx=qK(1FopWbm|2n_>-E+@( z&Yef^N_g)|cyw(wuZ!TgaE|ME=j8F|6kZ8=qkJ0;KZ;5ShLL29ZsOqE>AHbrV;mrP zN_-KVQmqRNca%car)~y2=M2Gp5P@g9VI9VEP=fI`6k_b+U6Pmxk&#+AicuF|iklOB z5ymCH0HaeUV%)4t!}x?Q3uC3;Dv47hDmblUZr|&e+ZuhQnvjDrpl7b<^ySLD!GH8l zj4neC#@&Vu%EY0!41T?GAapa*!6R6OIR-aln!}BBYg@=;4Lr+p+^iv3J12&EEW<3p zAuh&Yk$dtd0Aa>!}Mjp?x3P}wftq!hVwdAa{6eFmS#a9l}njwDIh4iKdF3=l%K z<%7&A@Mm310!^5A1%+`@x%0^2v8ITSeRF;cmTPE=W8V9ln*i(9g$sATqUX3qf#dvI zUA^?011yr;31K0}o;TQp(|b$fu!!(fs|lg|g;~7CP|d3qfQoc_fh7mtJhB=U-MF7Q z*2ur}cpZPVK7Qjf1IKwxv`L@zm7AIjUYIptI~B8|T?0mryXfS&qTtpG1);MapEBZ| zY@G8m+hbSy4OrXyQ)MJV%Pqp7{okL7qR86`IfK6PijJ(uyOhgTk-x)mx6DNR*s$Dt z7YQ+~)It_5ijkb@CFi3s?|L~ofmZV2Dq<5*8)_gO_;Sg@K_W0WdpC(UyKm59(%buN~Uxs+SRs$OXio1 zQ5;tx(yOBn$}HU&AqHvn7%|Gfgh&GGIQk>#X}|{S6@O{Q1{)CGOQ0v#CV=PvRnHx(DwK^$G|4Oi{#B%E z5o%DLSL8_%+_<_X!WIN?q6)o z$7+PeBq&C}{mCSCpITR<>`I0@yo0Bc!G}N-??d2I;6WUJM+!7z^7$0lgQUL0 z4NVAdXRFt;YOSiYX)vWhW)96!-mLx{Xu(sg@3a(1ptJ0`-3MUOI*HPIh?JDW<)!50%nF+Oy*Ra-rJBav|)%tp|$eV^U6i wP^1nR?^EF!A3TCv*L~22P`?fW2;XQ>Ukry(xmZl6px>8NTB1JOQzg*xAF@fl2LJ#7 delta 1915 zcmY+EeN0tl9LLY|JNI6YmwSbz5V&04;oi#y&r=DWZ&N;=J7uS0i=n_k-!!6er(6o>xLg3cB>RvI&5yN&s<=Z)ov`^)Hnb(%6^ zcbhf{zxPd(+X%QBXqN#|mRSvMhBo_~dCWF%dQ|t*vLwxzJhihnZ%^c~7GSq6h9Tvy zoN*FWz0-M7GT`UJF#}+zY?mCuUE8i+Sspmb@8IK5Nh}Hq~darpVz+Ubt7`8_LhbLEKjtCVD7HxW^iZTnpY|aigJ2hTSxaBM^+=)aL%oD ztWkfJG30NpkKXviBuVKZe8@uO3m0#4{NjuW<5bLyb`F{)>5@Z|3Orjc=6cV5c*=}Q z8)w~G+hbP;Oxmh{s0@UwX$CTB*HN%xZx))WF*Da;cU>%%XLR?P5VDv*)!~OEiR~^g=<>!AlnjxjK@#2V%)x}zQ!!rr~26l3&+ycg;6$Xz-A6Dg+Ff& zlB5b7Umd@waOK7bGbyXbm|6YF%c6r&E%*cWEZ!XT<&W4ot?t%O*_hTLr2@d9mDVG5+DaP$??m&Ab$j^jb$Ho{*; zskTuKfIWLBTn6EE}HUYkjAvaunKCRKcv6QRD#1eiX%KP!W*g`BN zL*^Z;k4G-H(_Z3DgLBV z`{1$+Aub)dd@%2#J&37F(~t9Z8XZKP#B^$gt3REO zDmJ#1PW4bWWl$5~tqgrFtJZNv#O(9Iqz_Uvd5joiAd^}Uvz$pifP-25>>}$*7VSk$ zO}0MaL^icUNz9>Mz;KR!_J~~SgmNNR-;Xg*KSg^UKZWQul}Gzgxinv&`Ne#FjOBdV zftdRW^hWiow@Rbkhi|H_wOU3*Y{QFW$OZ3Y> listResult(){ + public Result> listResult(@RequestParam String t){ List dispositionVos=dataProductionService.dataTreeList(); return Result.ok(dispositionVos); } @PostMapping - public Result add(@RequestBody DataProductionTreeDto dataProductionTreeDto){ + public Result add(@RequestBody DataProductionTreeDto dataProductionTreeDto){ dataProductionService.add(dataProductionTreeDto); return Result.ok(); } diff --git a/srt-data-development/src/main/java/net/srt/disposition/mapper/DataProductionMapper.java b/srt-data-development/src/main/java/net/srt/disposition/mapper/DataProductionMapper.java index 15c512c..0b1c1b8 100644 --- a/srt-data-development/src/main/java/net/srt/disposition/mapper/DataProductionMapper.java +++ b/srt-data-development/src/main/java/net/srt/disposition/mapper/DataProductionMapper.java @@ -2,6 +2,8 @@ package net.srt.disposition.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import net.srt.disposition.entity.DataProductionTreeEntity; +import org.apache.ibatis.annotations.Mapper; +@Mapper public interface DataProductionMapper extends BaseMapper { } diff --git a/srt-data-development/src/main/java/net/srt/disposition/mapper/DispositionMapper.java b/srt-data-development/src/main/java/net/srt/disposition/mapper/DispositionMapper.java index cc3cb28..d7cf138 100644 --- a/srt-data-development/src/main/java/net/srt/disposition/mapper/DispositionMapper.java +++ b/srt-data-development/src/main/java/net/srt/disposition/mapper/DispositionMapper.java @@ -2,6 +2,8 @@ package net.srt.disposition.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import net.srt.disposition.entity.DispositionEntity; +import org.apache.ibatis.annotations.Mapper; +@Mapper public interface DispositionMapper extends BaseMapper { } diff --git a/srt-data-development/src/main/resources/auth.yml b/srt-data-development/src/main/resources/auth.yml index 0e6a006..2d05014 100644 --- a/srt-data-development/src/main/resources/auth.yml +++ b/srt-data-development/src/main/resources/auth.yml @@ -1,7 +1,3 @@ auth: ignore_urls: - - /auth/captcha - - /auth/login - - /auth/send/code - - /auth/mobile - - /upload/** \ No newline at end of file + - /data-development/** From 78153f8c6990f886addbbc8a4119b589fea62d07 Mon Sep 17 00:00:00 2001 From: chenbingxuan <3581044601@qq.com> Date: Tue, 26 Dec 2023 22:24:28 +0800 Subject: [PATCH 15/22] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DataCheckSqlController.java | 24 ++++++++ .../controller/DataSaveController.java | 22 +++++++ .../convert/DataSqlSaveConvert.java | 14 +++++ .../srt/disposition/dto/DataCheckSqlDto.java | 56 +++++++++++++++++ .../srt/disposition/dto/DataSqlSaveDto.java | 23 +++++++ .../entity/DataCheckSqlEntity.java | 26 ++++++++ .../entity/DataDatabaseDevEntity.java | 40 ++++++++++++ .../disposition/entity/DataSqlSaveEntity.java | 61 +++++++++++++++++++ .../mapper/DataCheckSqlMapper.java | 9 +++ .../mapper/DataSaveServiceMapper.java | 9 +++ .../service/DataCheckSqlService.java | 10 +++ .../disposition/service/DataSaveService.java | 10 +++ .../service/impl/DataCheckSqlServiceImpl.java | 48 +++++++++++++++ .../service/impl/DataSaveServiceImpl.java | 24 ++++++++ .../srt/disposition/vo/DataCheckSqlVo.java | 23 +++++++ .../src/main/resources/bootstrap.yml | 34 +++++------ .../src/test/java/com/text/dome/a.java | 32 ++++++++++ 17 files changed, 446 insertions(+), 19 deletions(-) create mode 100644 srt-data-development/src/main/java/net/srt/disposition/controller/DataCheckSqlController.java create mode 100644 srt-data-development/src/main/java/net/srt/disposition/controller/DataSaveController.java create mode 100644 srt-data-development/src/main/java/net/srt/disposition/convert/DataSqlSaveConvert.java create mode 100644 srt-data-development/src/main/java/net/srt/disposition/dto/DataCheckSqlDto.java create mode 100644 srt-data-development/src/main/java/net/srt/disposition/dto/DataSqlSaveDto.java create mode 100644 srt-data-development/src/main/java/net/srt/disposition/entity/DataCheckSqlEntity.java create mode 100644 srt-data-development/src/main/java/net/srt/disposition/entity/DataDatabaseDevEntity.java create mode 100644 srt-data-development/src/main/java/net/srt/disposition/entity/DataSqlSaveEntity.java create mode 100644 srt-data-development/src/main/java/net/srt/disposition/mapper/DataCheckSqlMapper.java create mode 100644 srt-data-development/src/main/java/net/srt/disposition/mapper/DataSaveServiceMapper.java create mode 100644 srt-data-development/src/main/java/net/srt/disposition/service/DataCheckSqlService.java create mode 100644 srt-data-development/src/main/java/net/srt/disposition/service/DataSaveService.java create mode 100644 srt-data-development/src/main/java/net/srt/disposition/service/impl/DataCheckSqlServiceImpl.java create mode 100644 srt-data-development/src/main/java/net/srt/disposition/service/impl/DataSaveServiceImpl.java create mode 100644 srt-data-development/src/main/java/net/srt/disposition/vo/DataCheckSqlVo.java create mode 100644 srt-data-development/src/test/java/com/text/dome/a.java diff --git a/srt-data-development/src/main/java/net/srt/disposition/controller/DataCheckSqlController.java b/srt-data-development/src/main/java/net/srt/disposition/controller/DataCheckSqlController.java new file mode 100644 index 0000000..d3c33ea --- /dev/null +++ b/srt-data-development/src/main/java/net/srt/disposition/controller/DataCheckSqlController.java @@ -0,0 +1,24 @@ +package net.srt.disposition.controller; + +import lombok.AllArgsConstructor; +import net.srt.disposition.dto.DataCheckSqlDto; +import net.srt.disposition.entity.DataCheckSqlEntity; +import net.srt.disposition.service.DataCheckSqlService; +import net.srt.disposition.vo.DataCheckSqlVo; +import net.srt.framework.common.utils.Result; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@AllArgsConstructor +@RequestMapping("/task") +public class DataCheckSqlController { + + private DataCheckSqlService dataCheckSqlService; + + @PostMapping("/explain-sql") + public Result explainSql(DataCheckSqlDto dataCheckSqlDto) { + return Result.ok(dataCheckSqlService.explainSql(dataCheckSqlDto)); + } +} diff --git a/srt-data-development/src/main/java/net/srt/disposition/controller/DataSaveController.java b/srt-data-development/src/main/java/net/srt/disposition/controller/DataSaveController.java new file mode 100644 index 0000000..8934867 --- /dev/null +++ b/srt-data-development/src/main/java/net/srt/disposition/controller/DataSaveController.java @@ -0,0 +1,22 @@ +package net.srt.disposition.controller; + +import lombok.AllArgsConstructor; +import net.srt.disposition.dto.DataSqlSaveDto; +import net.srt.disposition.service.DataSaveService; +import net.srt.framework.common.utils.Result; +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; + +@RestController +@AllArgsConstructor +@RequestMapping("/task") +public class DataSaveController { + private DataSaveService dataSaveService; + @PostMapping + public Result addSave(@RequestBody DataSqlSaveDto dataSqlSaveDto){ + dataSaveService.dataSaver(dataSqlSaveDto); + return Result.ok(); + } +} diff --git a/srt-data-development/src/main/java/net/srt/disposition/convert/DataSqlSaveConvert.java b/srt-data-development/src/main/java/net/srt/disposition/convert/DataSqlSaveConvert.java new file mode 100644 index 0000000..74481d1 --- /dev/null +++ b/srt-data-development/src/main/java/net/srt/disposition/convert/DataSqlSaveConvert.java @@ -0,0 +1,14 @@ +package net.srt.disposition.convert; + +import net.srt.disposition.dto.DataSqlSaveDto; +import net.srt.disposition.dto.DispositionDto; +import net.srt.disposition.entity.DataSqlSaveEntity; +import net.srt.disposition.entity.DispositionEntity; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +@Mapper +public interface DataSqlSaveConvert { + DataSqlSaveConvert INSTANCE = Mappers.getMapper(DataSqlSaveConvert.class); + DataSqlSaveEntity convert(DataSqlSaveDto vo); +} diff --git a/srt-data-development/src/main/java/net/srt/disposition/dto/DataCheckSqlDto.java b/srt-data-development/src/main/java/net/srt/disposition/dto/DataCheckSqlDto.java new file mode 100644 index 0000000..0de6ddc --- /dev/null +++ b/srt-data-development/src/main/java/net/srt/disposition/dto/DataCheckSqlDto.java @@ -0,0 +1,56 @@ +package net.srt.disposition.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; +import java.util.List; + +@Data +public class DataCheckSqlDto { + private Long alertGroupId; + private String alias; + private boolean batchModel; + private Long catalogueId; + private Integer checkPoint; + private String clusterConfigurationId; + private Long clusterId; + private String configJson; + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private Integer databaseId; + private Integer deleted; + private Integer dialect; + private boolean enabled; + private Integer envId; + private boolean fragment; + private Integer id; + private Integer jarId; + private String jobName; + private Integer maxRowNum; + private String name; + private String note; + private Integer openTrans; + private Integer parallelism; + private boolean processEnd; + private Integer projectId; + private Integer pvdataNum; + private String savePointPath; + private String savePointStrategy; + private Integer sqlDbType; + private String statement; + private boolean statementSet; + private Integer step; + private String type; + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date updateTime; + private Integer updater; + private boolean useAutoCancel; + private boolean useChangeLog; + private boolean usrResult; + private Integer version; + private Integer versionId; +} diff --git a/srt-data-development/src/main/java/net/srt/disposition/dto/DataSqlSaveDto.java b/srt-data-development/src/main/java/net/srt/disposition/dto/DataSqlSaveDto.java new file mode 100644 index 0000000..5eb25f4 --- /dev/null +++ b/srt-data-development/src/main/java/net/srt/disposition/dto/DataSqlSaveDto.java @@ -0,0 +1,23 @@ +package net.srt.disposition.dto; + +import lombok.Data; +import net.srt.disposition.entity.DataDatabaseDevEntity; + +import java.util.List; + +@Data +public class DataSqlSaveDto { + private String alias; + private Integer catalogueId; + private Integer databaseId; + private List databaseList; + private Integer dialect; + private Integer id; + private String name; + private Integer openTrans; + private boolean processEnd; + private Integer pvdataNum; + private Integer sqlDbType; + private String statement; + +} diff --git a/srt-data-development/src/main/java/net/srt/disposition/entity/DataCheckSqlEntity.java b/srt-data-development/src/main/java/net/srt/disposition/entity/DataCheckSqlEntity.java new file mode 100644 index 0000000..c049b8d --- /dev/null +++ b/srt-data-development/src/main/java/net/srt/disposition/entity/DataCheckSqlEntity.java @@ -0,0 +1,26 @@ +package net.srt.disposition.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +@TableName("data_check_sql") +public class DataCheckSqlEntity { + @TableId("id") + private Integer id; + private String type; + private String sql; + private String parse; + private String explain; + private String error; + private String parseTrue; + private String explainTrue; + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date explainTime; +} diff --git a/srt-data-development/src/main/java/net/srt/disposition/entity/DataDatabaseDevEntity.java b/srt-data-development/src/main/java/net/srt/disposition/entity/DataDatabaseDevEntity.java new file mode 100644 index 0000000..7596cbf --- /dev/null +++ b/srt-data-development/src/main/java/net/srt/disposition/entity/DataDatabaseDevEntity.java @@ -0,0 +1,40 @@ +package net.srt.disposition.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import net.srt.framework.mybatis.entity.BaseEntity; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +public class DataDatabaseDevEntity { + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + private String creator; + private String databaseDocument; + private String databaseIndex; + private String databaseIp; + private String databaseKafka; + private String databaseName; + private String databasePort; + private Integer databaseType; + private Integer deleted; + private Integer id; + private String isJdbc; + private String name; + private String noReReason; + private String password; + private Integer projectId; + private Integer status; + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private Date updateTime; + private String updater; + private String userName; + private Integer version; + +} diff --git a/srt-data-development/src/main/java/net/srt/disposition/entity/DataSqlSaveEntity.java b/srt-data-development/src/main/java/net/srt/disposition/entity/DataSqlSaveEntity.java new file mode 100644 index 0000000..097666f --- /dev/null +++ b/srt-data-development/src/main/java/net/srt/disposition/entity/DataSqlSaveEntity.java @@ -0,0 +1,61 @@ +package net.srt.disposition.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import net.srt.framework.mybatis.entity.BaseEntity; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; +import java.util.List; + +@Data +@TableName("data_sql_save") +public class DataSqlSaveEntity { + @TableId("id") + private Long id; + private Long catalogueId; + private String name; + private Long projectId; + private String alias; + private Integer dialect; + private Integer type; + private Integer checkPoint; + private Integer savePointStrategy; + private String savePointPath; + private Integer parallelism; + private boolean fragment; + private boolean statementSet; + private boolean batchModel; + private Long clusterId; + private Long clusterConfigurationId; + private Integer sqlDbType; + private Long databaseId; + private Integer openTrans; + private Long jarId; + private Long envId; + private Long alertGroupId; + private String configJson; + private String note; + private Integer step; + private Long jobInstanceId; + private boolean useAutoCancel; + private boolean useChangeLog; + private boolean useResult; + private Integer pvdataNum; + private boolean enabled; + private Long versionId; + private Integer version; + private Integer deleted; + private Long creator; + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private Long updater; + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date updateTime; + private String statement; + +} diff --git a/srt-data-development/src/main/java/net/srt/disposition/mapper/DataCheckSqlMapper.java b/srt-data-development/src/main/java/net/srt/disposition/mapper/DataCheckSqlMapper.java new file mode 100644 index 0000000..d7b04e1 --- /dev/null +++ b/srt-data-development/src/main/java/net/srt/disposition/mapper/DataCheckSqlMapper.java @@ -0,0 +1,9 @@ +package net.srt.disposition.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.srt.disposition.entity.DataCheckSqlEntity; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface DataCheckSqlMapper extends BaseMapper { +} diff --git a/srt-data-development/src/main/java/net/srt/disposition/mapper/DataSaveServiceMapper.java b/srt-data-development/src/main/java/net/srt/disposition/mapper/DataSaveServiceMapper.java new file mode 100644 index 0000000..e201ad0 --- /dev/null +++ b/srt-data-development/src/main/java/net/srt/disposition/mapper/DataSaveServiceMapper.java @@ -0,0 +1,9 @@ +package net.srt.disposition.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.srt.disposition.entity.DataSqlSaveEntity; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface DataSaveServiceMapper extends BaseMapper { +} diff --git a/srt-data-development/src/main/java/net/srt/disposition/service/DataCheckSqlService.java b/srt-data-development/src/main/java/net/srt/disposition/service/DataCheckSqlService.java new file mode 100644 index 0000000..fb08166 --- /dev/null +++ b/srt-data-development/src/main/java/net/srt/disposition/service/DataCheckSqlService.java @@ -0,0 +1,10 @@ +package net.srt.disposition.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import net.srt.disposition.dto.DataCheckSqlDto; +import net.srt.disposition.entity.DataCheckSqlEntity; +import net.srt.disposition.vo.DataCheckSqlVo; + +public interface DataCheckSqlService extends IService { + DataCheckSqlVo explainSql(DataCheckSqlDto dataCheckSqlDto); +} diff --git a/srt-data-development/src/main/java/net/srt/disposition/service/DataSaveService.java b/srt-data-development/src/main/java/net/srt/disposition/service/DataSaveService.java new file mode 100644 index 0000000..e58c953 --- /dev/null +++ b/srt-data-development/src/main/java/net/srt/disposition/service/DataSaveService.java @@ -0,0 +1,10 @@ +package net.srt.disposition.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import net.srt.disposition.dto.DataSqlSaveDto; +import net.srt.disposition.entity.DataSqlSaveEntity; + +public interface DataSaveService extends IService { + void dataSaver(DataSqlSaveDto dataSqlSaveDto); + +} diff --git a/srt-data-development/src/main/java/net/srt/disposition/service/impl/DataCheckSqlServiceImpl.java b/srt-data-development/src/main/java/net/srt/disposition/service/impl/DataCheckSqlServiceImpl.java new file mode 100644 index 0000000..7e7a5c1 --- /dev/null +++ b/srt-data-development/src/main/java/net/srt/disposition/service/impl/DataCheckSqlServiceImpl.java @@ -0,0 +1,48 @@ +package net.srt.disposition.service.impl; + +import com.alibaba.druid.sql.ast.SQLStatement; +import com.alibaba.druid.sql.parser.SQLParserUtils; +import com.alibaba.druid.sql.parser.SQLStatementParser; +import jdk.nashorn.internal.runtime.ParserException; +import lombok.AllArgsConstructor; +import net.srt.disposition.dto.DataCheckSqlDto; +import net.srt.disposition.entity.DataCheckSqlEntity; +import net.srt.disposition.mapper.DataCheckSqlMapper; +import net.srt.disposition.service.DataCheckSqlService; +import net.srt.disposition.vo.DataCheckSqlVo; +import net.srt.framework.mybatis.service.impl.BaseServiceImpl; +import org.apache.ibatis.annotations.Select; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +import static com.alibaba.druid.sql.SQLUtils.toSQLString; + +@Service +@AllArgsConstructor +public class DataCheckSqlServiceImpl extends BaseServiceImpl implements DataCheckSqlService { + @Override + public DataCheckSqlVo explainSql(DataCheckSqlDto dataCheckSqlDto) { + DataCheckSqlVo dataCheckSqlVo = new DataCheckSqlVo(); + try { + SQLStatementParser mysql = SQLParserUtils.createSQLStatementParser(dataCheckSqlDto.getStatement(), "mysql"); + SQLStatement sqlStatement = mysql.parseStatement(); + if (sqlStatement instanceof Select) { + dataCheckSqlVo.setType("SQLSelectStatement"); + } + dataCheckSqlVo.setSql(dataCheckSqlDto.getStatement()); + dataCheckSqlVo.setParseTrue(true); + dataCheckSqlVo.setExplainTrue(true); + dataCheckSqlVo.setExplainTime(new Date()); + } catch (ParserException e) { + System.out.println("SQL转换中发生了错误:"+e.getMessage()); + dataCheckSqlVo.setSql(dataCheckSqlDto.getStatement()); + dataCheckSqlVo.setError(e.getMessage()); + dataCheckSqlVo.setParseTrue(false); + dataCheckSqlVo.setExplainTrue(false); + dataCheckSqlVo.setExplainTime(new Date()); + } + return dataCheckSqlVo; + } +} diff --git a/srt-data-development/src/main/java/net/srt/disposition/service/impl/DataSaveServiceImpl.java b/srt-data-development/src/main/java/net/srt/disposition/service/impl/DataSaveServiceImpl.java new file mode 100644 index 0000000..e0afb74 --- /dev/null +++ b/srt-data-development/src/main/java/net/srt/disposition/service/impl/DataSaveServiceImpl.java @@ -0,0 +1,24 @@ +package net.srt.disposition.service.impl; + +import lombok.AllArgsConstructor; +import net.srt.disposition.convert.DataSqlSaveConvert; +import net.srt.disposition.dto.DataSqlSaveDto; +import net.srt.disposition.entity.DataSqlSaveEntity; +import net.srt.disposition.mapper.DataSaveServiceMapper; +import net.srt.disposition.service.DataSaveService; +import net.srt.framework.mybatis.service.impl.BaseServiceImpl; +import org.springframework.stereotype.Service; + +import java.util.Date; + +@Service +@AllArgsConstructor +public class DataSaveServiceImpl extends BaseServiceImpl implements DataSaveService { + + @Override + public void dataSaver(DataSqlSaveDto dataSqlSaveDto) { + DataSqlSaveEntity convert = DataSqlSaveConvert.INSTANCE.convert(dataSqlSaveDto); + convert.setCreateTime(new Date()); + baseMapper.insert(convert); + } +} diff --git a/srt-data-development/src/main/java/net/srt/disposition/vo/DataCheckSqlVo.java b/srt-data-development/src/main/java/net/srt/disposition/vo/DataCheckSqlVo.java new file mode 100644 index 0000000..e55ca87 --- /dev/null +++ b/srt-data-development/src/main/java/net/srt/disposition/vo/DataCheckSqlVo.java @@ -0,0 +1,23 @@ +package net.srt.disposition.vo; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +public class DataCheckSqlVo { + private Integer index; + private String type; + private String sql; + private String parse; + private String explain; + private String error; + private boolean parseTrue; + private boolean explainTrue; + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date explainTime; +} diff --git a/srt-data-development/src/main/resources/bootstrap.yml b/srt-data-development/src/main/resources/bootstrap.yml index d03d7f4..65f34da 100644 --- a/srt-data-development/src/main/resources/bootstrap.yml +++ b/srt-data-development/src/main/resources/bootstrap.yml @@ -2,11 +2,22 @@ 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-data-development + name: srt-cloud-data-development profiles: active: dev cloud: @@ -14,9 +25,9 @@ spring: discovery: server-addr: 101.34.77.101:8848 # 命名空间,默认:public - namespace: c5d32e76-b83c-4254-8176-1c6a2cee8e3b + namespace: 9de208a6-cb30-41ae-a880-78196c99c050 service: ${spring.application.name} - group: srt2.1 + group: srt2.0 config: server-addr: ${spring.cloud.nacos.discovery.server-addr} namespace: ${spring.cloud.nacos.discovery.namespace} @@ -25,19 +36,4 @@ spring: extension-configs: - data-id: datasource.yaml refresh: true - servlet: - multipart: - max-request-size: 100MB - max-file-size: 1024MB -storage: - enabled: true - config: - # 存储类型:local、aliyun - type: local - # 访问域名 - domain: http://localhost:8082/sys - # 配置访问前缀 - prefix: - local: - # 本地上传路径 - path: D://upload + diff --git a/srt-data-development/src/test/java/com/text/dome/a.java b/srt-data-development/src/test/java/com/text/dome/a.java new file mode 100644 index 0000000..96e796c --- /dev/null +++ b/srt-data-development/src/test/java/com/text/dome/a.java @@ -0,0 +1,32 @@ +package com.text.dome; + + +import com.alibaba.druid.sql.ast.SQLObject; +import com.alibaba.druid.sql.ast.SQLStatement; +import com.alibaba.druid.sql.parser.SQLParserUtils; +import com.alibaba.druid.sql.parser.SQLStatementParser; +import jdk.nashorn.internal.runtime.ParserException; + +import java.util.List; + +import static com.alibaba.druid.sql.SQLUtils.toSQLString; + +public class a { + public static void main(String[] args) { + String str = "create table `tb_user` (\n" + + " `id` varchar(22) not null COMMENT '主键id',\n" + + " `usercode` varchar(11) DEFAULT null COMMENT '手机号',\n" + + " `name` varchar(10) DEFAULT nu"; + System.out.println("格式化之前:"); + System.out.println(str); + System.out.println("格式化之后:"); + try { + SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(str, "mysql"); + List statementList = parser.parseStatementList(); + str = toSQLString((SQLObject) statementList, "mysql"); + System.out.println(str); + } catch (ParserException e) { + System.out.println("SQL转换中发生了错误:"+e.getMessage()); + } + } +} From 366402eb136e1874e05db473ffc61bf504f4d0ea Mon Sep 17 00:00:00 2001 From: liyongbin <2954265606@qq,com> Date: Tue, 26 Dec 2023 22:30:47 +0800 Subject: [PATCH 16/22] my --- .../java/net/srt/service/impl/ApiGroupServiceImpl.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java b/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java index 0df58ed..778f75d 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java +++ b/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java @@ -97,14 +97,18 @@ public class ApiGroupServiceImpl extends BaseServiceImpl Date: Wed, 27 Dec 2023 22:04:27 +0800 Subject: [PATCH 17/22] fjj9.0 --- pom.xml | 3 +- .../.gitignore | 0 .../pom.xml | 46 +++-- .../main/java/net/srt/AssetsApplication.java | 11 +- .../src/main/resources/auth.yml | 0 .../src/main/resources/bootstrap.yml | 46 +++++ .../src/main/resources/log4j2.xml | 0 .../net/srt/init/BusinessInitializer.java | 8 +- .../main/java/net/srt/vo/DatastandardVO.java | 49 ----- ...lityConfigVO.java => QualityConfigVo.java} | 2 +- .../srt/controller/ApiConfigController.java | 119 ------------ .../srt/controller/ApiGroupController.java | 70 ------- .../main/java/net/srt/controller/ApiTest.java | 43 ----- .../net/srt/convert/ApiConfigConvert.java | 29 --- .../java/net/srt/convert/ApiGroupConvert.java | 26 --- .../java/net/srt/convert/ApiLogConvert.java | 26 --- .../main/java/net/srt/dto/ApiConfigDto.java | 49 ----- .../java/net/srt/entity/ApiConfigEntity.java | 61 ------- .../java/net/srt/entity/ApiGroupEntity.java | 41 ----- .../java/net/srt/entity/ApiLogEntity.java | 31 ---- .../java/net/srt/mapper/ApiConfigDao.java | 14 -- .../main/java/net/srt/mapper/ApiGroupDao.java | 9 - .../main/java/net/srt/mapper/ApiLogDao.java | 15 -- .../java/net/srt/query/ApiConfigQuery.java | 22 --- .../main/java/net/srt/query/ApiLogQuery.java | 16 -- .../net/srt/service/ApiConfigService.java | 38 ---- .../java/net/srt/service/ApiGroupService.java | 18 -- .../java/net/srt/service/ApiLogService.java | 18 -- .../service/impl/ApiConfigServiceImpl.java | 171 ------------------ .../srt/service/impl/ApiGroupServiceImpl.java | 93 ---------- .../srt/service/impl/ApiLogServiceImpl.java | 55 ------ .../src/main/java/net/srt/vo/ApiConfig.java | 101 ----------- .../src/main/java/net/srt/vo/ApiGroup.java | 25 --- .../src/main/java/net/srt/vo/ApiLog.java | 32 ---- .../main/resources/mapper/ApiConfigMapper.xml | 14 -- .../java/net/srt/DataServiceApplication.java | 25 --- .../srt/controller/ApiConfigController.java | 23 ++- .../DataServiceApiAuthController.java | 10 - .../controller/DataServiceAppController.java | 13 +- .../main/java/net/srt/dao/ApiConfigDao.java | 2 + .../net/srt/dao/DataServiceApiAuthDao.java | 3 + .../srt/entity/DataServiceApiAuthEntity.java | 9 +- .../srt/entity/DataServiceApiLogEntity.java | 2 +- .../net/srt/service/ApiConfigService.java | 7 + .../service/impl/ApiConfigServiceImpl.java | 21 +++ .../impl/DataServiceAppServiceImpl.java | 11 +- .../src/main/java/net/srt/vo/ApiConfigVo.java | 1 + .../java/net/srt/vo/DataServiceApiAuthVo.java | 16 +- .../main/resources/mapper/ApiConfigDao.xml | 15 +- .../mapper/DataServiceApiAuthMapper.xml | 11 ++ 50 files changed, 196 insertions(+), 1274 deletions(-) rename {srt-cloud-data-server => srt-cloud-data-assets}/.gitignore (100%) rename {srt-cloud-data-server => srt-cloud-data-assets}/pom.xml (89%) rename srt-cloud-data-server/src/main/java/net/srt/DataServiceApplication.java => srt-cloud-data-assets/src/main/java/net/srt/AssetsApplication.java (65%) rename {srt-cloud-data-server => srt-cloud-data-assets}/src/main/resources/auth.yml (100%) create mode 100644 srt-cloud-data-assets/src/main/resources/bootstrap.yml rename {srt-cloud-data-server => srt-cloud-data-assets}/src/main/resources/log4j2.xml (100%) delete mode 100644 srt-cloud-data-governance/src/main/java/net/srt/vo/DatastandardVO.java rename srt-cloud-data-governance/src/main/java/net/srt/vo/{QualityConfigVO.java => QualityConfigVo.java} (97%) delete mode 100644 srt-cloud-data-server/src/main/java/net/srt/controller/ApiConfigController.java delete mode 100644 srt-cloud-data-server/src/main/java/net/srt/controller/ApiGroupController.java delete mode 100644 srt-cloud-data-server/src/main/java/net/srt/controller/ApiTest.java delete mode 100644 srt-cloud-data-server/src/main/java/net/srt/convert/ApiConfigConvert.java delete mode 100644 srt-cloud-data-server/src/main/java/net/srt/convert/ApiGroupConvert.java delete mode 100644 srt-cloud-data-server/src/main/java/net/srt/convert/ApiLogConvert.java delete mode 100644 srt-cloud-data-server/src/main/java/net/srt/dto/ApiConfigDto.java delete mode 100644 srt-cloud-data-server/src/main/java/net/srt/entity/ApiConfigEntity.java delete mode 100644 srt-cloud-data-server/src/main/java/net/srt/entity/ApiGroupEntity.java delete mode 100644 srt-cloud-data-server/src/main/java/net/srt/entity/ApiLogEntity.java delete mode 100644 srt-cloud-data-server/src/main/java/net/srt/mapper/ApiConfigDao.java delete mode 100644 srt-cloud-data-server/src/main/java/net/srt/mapper/ApiGroupDao.java delete mode 100644 srt-cloud-data-server/src/main/java/net/srt/mapper/ApiLogDao.java delete mode 100644 srt-cloud-data-server/src/main/java/net/srt/query/ApiConfigQuery.java delete mode 100644 srt-cloud-data-server/src/main/java/net/srt/query/ApiLogQuery.java delete mode 100644 srt-cloud-data-server/src/main/java/net/srt/service/ApiConfigService.java delete mode 100644 srt-cloud-data-server/src/main/java/net/srt/service/ApiGroupService.java delete mode 100644 srt-cloud-data-server/src/main/java/net/srt/service/ApiLogService.java delete mode 100644 srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java delete mode 100644 srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java delete mode 100644 srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiLogServiceImpl.java delete mode 100644 srt-cloud-data-server/src/main/java/net/srt/vo/ApiConfig.java delete mode 100644 srt-cloud-data-server/src/main/java/net/srt/vo/ApiGroup.java delete mode 100644 srt-cloud-data-server/src/main/java/net/srt/vo/ApiLog.java delete mode 100644 srt-cloud-data-server/src/main/resources/mapper/ApiConfigMapper.xml delete mode 100644 srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceApiAuthController.java create mode 100644 srt-cloud-data-service/src/main/resources/mapper/DataServiceApiAuthMapper.xml diff --git a/pom.xml b/pom.xml index 9003ee4..04fe2db 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,8 @@ srt-cloud-gateway srt-data-development srt-cloud-data-governance - srt-cloud-data-server + srt-cloud-data-service + srt-cloud-data-assets diff --git a/srt-cloud-data-server/.gitignore b/srt-cloud-data-assets/.gitignore similarity index 100% rename from srt-cloud-data-server/.gitignore rename to srt-cloud-data-assets/.gitignore diff --git a/srt-cloud-data-server/pom.xml b/srt-cloud-data-assets/pom.xml similarity index 89% rename from srt-cloud-data-server/pom.xml rename to srt-cloud-data-assets/pom.xml index 9d2401b..dd97b8d 100644 --- a/srt-cloud-data-server/pom.xml +++ b/srt-cloud-data-assets/pom.xml @@ -9,7 +9,7 @@ 2.0.0 - srt-cloud-data-server + srt-cloud-data-assets 8 @@ -34,24 +34,15 @@ 2.0.0 - net.srt - srt-cloud-dbswitch - 2.0.0 + org.springframework.cloud + spring-cloud-starter-bootstrap - - jsqlparser - com.github.jsqlparser - spring-boot-starter-logging org.springframework.boot - - org.springframework.cloud - spring-cloud-starter-bootstrap - com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery @@ -60,14 +51,38 @@ com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config + + com.github.whvcse + easy-captcha + com.github.xiaoymin knife4j-springdoc-ui + + com.aliyun.oss + aliyun-sdk-oss + + + com.qcloud + cos_api + + + com.qiniu + qiniu-java-sdk + + + com.huaweicloud + esdk-obs-java-bundle + + + io.minio + minio + - + org.codehaus.mojo @@ -105,7 +120,7 @@ ${project.artifactId} - net.srt.DataServiceApplication + net.srt.SystemApplication jsw @@ -160,7 +175,7 @@ - net.srt.DataServiceApplication + net.srt.SystemApplication ${project.artifactId} @@ -202,3 +217,4 @@ + diff --git a/srt-cloud-data-server/src/main/java/net/srt/DataServiceApplication.java b/srt-cloud-data-assets/src/main/java/net/srt/AssetsApplication.java similarity index 65% rename from srt-cloud-data-server/src/main/java/net/srt/DataServiceApplication.java rename to srt-cloud-data-assets/src/main/java/net/srt/AssetsApplication.java index 08dc8b9..2ba74cb 100644 --- a/srt-cloud-data-server/src/main/java/net/srt/DataServiceApplication.java +++ b/srt-cloud-data-assets/src/main/java/net/srt/AssetsApplication.java @@ -5,12 +5,17 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.openfeign.EnableFeignClients; +/** + * @ClassName : ${NAME} + * @Description : ${description} + * @Author : FJJ + * @Date: 2023-12-27 21:47 + */ @EnableFeignClients @EnableDiscoveryClient @SpringBootApplication -public class DataServiceApplication { +public class AssetsApplication { public static void main(String[] args) { - SpringApplication.run(DataServiceApplication.class, args); - System.out.println("==============启动成功==================="); + SpringApplication.run(AssetsApplication.class, args); } } diff --git a/srt-cloud-data-server/src/main/resources/auth.yml b/srt-cloud-data-assets/src/main/resources/auth.yml similarity index 100% rename from srt-cloud-data-server/src/main/resources/auth.yml rename to srt-cloud-data-assets/src/main/resources/auth.yml diff --git a/srt-cloud-data-assets/src/main/resources/bootstrap.yml b/srt-cloud-data-assets/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..a2348b6 --- /dev/null +++ b/srt-cloud-data-assets/src/main/resources/bootstrap.yml @@ -0,0 +1,46 @@ +server: + port: 8098 + +spring: + mvc: + servlet: + load-on-startup: 1 + application: + name: srt-cloud-data-assets + profiles: + active: dev + cloud: + nacos: + discovery: + server-addr: 101.34.77.101:8848 + # 命名空间,默认:public + namespace: 09dff3e2-9790-4d4f-beb6-9baeb01ae040 + service: ${spring.application.name} + group: srt2.0 + config: + server-addr: ${spring.cloud.nacos.discovery.server-addr} + namespace: ${spring.cloud.nacos.discovery.namespace} + file-extension: yaml + # 指定配置 + extension-configs: + - data-id: datasource.yaml + refresh: true + servlet: + multipart: + max-request-size: 100MB + max-file-size: 1024MB +storage: + enabled: true + config: + # 存储类型:local、aliyun + type: local + # 访问域名 + domain: http://localhost:8082/sys + # 配置访问前缀 + prefix: + local: + # 本地上传路径 + path: D://upload + +cbx: + isCaptcha: false diff --git a/srt-cloud-data-server/src/main/resources/log4j2.xml b/srt-cloud-data-assets/src/main/resources/log4j2.xml similarity index 100% rename from srt-cloud-data-server/src/main/resources/log4j2.xml rename to srt-cloud-data-assets/src/main/resources/log4j2.xml diff --git a/srt-cloud-data-governance/src/main/java/net/srt/init/BusinessInitializer.java b/srt-cloud-data-governance/src/main/java/net/srt/init/BusinessInitializer.java index 947e95a..cf0c336 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/init/BusinessInitializer.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/init/BusinessInitializer.java @@ -25,10 +25,10 @@ public class BusinessInitializer implements ApplicationRunner { * init task monitor */ private void initScheduleMonitor() { - //处理没执行完的采集任务 - metadataCollectRecordService.dealNotFinished(); - //处理没执行完的质量检测任务 - qualityTaskService.dealNotFinished(); +// //处理没执行完的采集任务 +// metadataCollectRecordService.dealNotFinished(); +// //处理没执行完的质量检测任务 +// qualityTaskService.dealNotFinished(); } } diff --git a/srt-cloud-data-governance/src/main/java/net/srt/vo/DatastandardVO.java b/srt-cloud-data-governance/src/main/java/net/srt/vo/DatastandardVO.java deleted file mode 100644 index bc4a826..0000000 --- a/srt-cloud-data-governance/src/main/java/net/srt/vo/DatastandardVO.java +++ /dev/null @@ -1,49 +0,0 @@ -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; -} diff --git a/srt-cloud-data-governance/src/main/java/net/srt/vo/QualityConfigVO.java b/srt-cloud-data-governance/src/main/java/net/srt/vo/QualityConfigVo.java similarity index 97% rename from srt-cloud-data-governance/src/main/java/net/srt/vo/QualityConfigVO.java rename to srt-cloud-data-governance/src/main/java/net/srt/vo/QualityConfigVo.java index 5ec83a9..1c10b51 100644 --- a/srt-cloud-data-governance/src/main/java/net/srt/vo/QualityConfigVO.java +++ b/srt-cloud-data-governance/src/main/java/net/srt/vo/QualityConfigVo.java @@ -18,7 +18,7 @@ import java.util.List; */ @Data @Schema(description = "数据治理-质量规则配置") -public class QualityConfigVO implements Serializable { +public class QualityConfigVo implements Serializable { private static final long serialVersionUID = 1L; @Schema(description = "自增id") diff --git a/srt-cloud-data-server/src/main/java/net/srt/controller/ApiConfigController.java b/srt-cloud-data-server/src/main/java/net/srt/controller/ApiConfigController.java deleted file mode 100644 index 3cad1b4..0000000 --- a/srt-cloud-data-server/src/main/java/net/srt/controller/ApiConfigController.java +++ /dev/null @@ -1,119 +0,0 @@ -package net.srt.controller; - -import io.swagger.v3.oas.annotations.Operation; -import lombok.AllArgsConstructor; -import net.srt.dto.ApiConfigDto; -import net.srt.entity.ApiConfigEntity; -import net.srt.framework.common.page.PageResult; -import net.srt.framework.common.utils.Result; -import net.srt.framework.common.utils.TreeNodeVo; -import net.srt.query.ApiConfigQuery; -import net.srt.service.ApiConfigService; -import net.srt.vo.ApiConfig; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.*; - -import javax.validation.Valid; -import java.util.List; - -@RestController -@RequestMapping("/api-config") -@AllArgsConstructor -public class ApiConfigController { - - private final ApiConfigService apiConfigService; - - - - /** - * 查询文件分组树 - * - * @return 结果列表 - */ - @GetMapping("/api-group") - @Operation(summary = "查询文件分组树") - public Result> listTree() { - return Result.ok(apiConfigService.listTree()); - } - - /** - * 分页查询API配置 - * @param query API配置查询对象 - * @return 分页结果 - */ - @GetMapping("/page") - @Operation(summary = "分页") - @PreAuthorize("hasAuthority('data-service:api-config:page')") - public Result> page(@Valid ApiConfigQuery query) { - PageResult page = apiConfigService.page(query); - - return Result.ok(page); - } - - /** - * 获取IP和端口信息 - * - * @return 返回IP和端口信息 - */ - @GetMapping("/getIpPort") - public Result getIpPort() { - return Result.ok(apiConfigService.getIpPort()); - } - - /** - * 根据ID获取API配置信息 - * - * @param id API配置ID - * @return API配置实体对象 - */ - @GetMapping("/{id}") - @Operation(summary = "查看") - @PreAuthorize("hasAuthority('data-service:api-config:info')") - public Result get(@PathVariable("id") Long id) { - ApiConfigEntity apiConfig = apiConfigService.getByI(id); - - return Result.ok(apiConfig); - } - - @PutMapping("/{id}") - @Operation(summary = "修改") - @PreAuthorize("hasAuthority('data-service:api-config:update')") - public Result update(@PathVariable Long id, @RequestBody @Valid ApiConfigEntity vo) { - apiConfigService.update(id,vo); - return Result.ok(); - } - @PutMapping("/{id}/offline") - @Operation(summary = "下线") - @PreAuthorize("hasAuthority('data-service:api-config:update')") - public Result xia(@PathVariable Long id) { - apiConfigService.xia(id); - return Result.ok(); - } - - @PutMapping("/{id}/online") - @Operation(summary = "上线") - @PreAuthorize("hasAuthority('data-service:api-config:update')") - public Result shang(@PathVariable Long id) { - apiConfigService.shang(id); - return Result.ok(); - } - - - @PostMapping - @Operation(summary = "新增") - @PreAuthorize("hasAuthority('data-service:api-config:save')") - public Result insert(@RequestBody ApiConfig vo) { - apiConfigService.sav(vo); - return Result.ok(); - } - - @DeleteMapping - @Operation(summary = "删除") - @PreAuthorize("hasAuthority('data-service:api-config:delete')") - public Result delete(@RequestBody List idList) { - apiConfigService.removeByI(idList); - return Result.ok(); - } - - -} diff --git a/srt-cloud-data-server/src/main/java/net/srt/controller/ApiGroupController.java b/srt-cloud-data-server/src/main/java/net/srt/controller/ApiGroupController.java deleted file mode 100644 index d63facc..0000000 --- a/srt-cloud-data-server/src/main/java/net/srt/controller/ApiGroupController.java +++ /dev/null @@ -1,70 +0,0 @@ -package net.srt.controller; - -import io.swagger.v3.oas.annotations.Operation; -import lombok.AllArgsConstructor; -import net.srt.convert.ApiGroupConvert; -import net.srt.entity.ApiGroupEntity; -import net.srt.framework.common.utils.Result; -import net.srt.framework.common.utils.TreeNodeVo; -import net.srt.service.ApiGroupService; -import net.srt.vo.ApiGroup; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.*; - -import javax.validation.Valid; -import java.util.List; - -/** -* 数据服务-api分组 -* -* @author zrx 985134801@qq.com -* @since 1.0.0 2023-01-28 -*/ -@RestController -@RequestMapping("/api-group") -@AllArgsConstructor -public class ApiGroupController { - private final ApiGroupService apiGroupService; - - @GetMapping - @Operation(summary = "查询文件分组树") - public Result> listTree() { - return Result.ok(apiGroupService.listTree()); - } - - @GetMapping("{id}") - @Operation(summary = "信息") - @PreAuthorize("hasAuthority('data-service:api-group:info')") - public Result get(@PathVariable("id") Long id){ - ApiGroupEntity entity = apiGroupService.getById(id); - return Result.ok(ApiGroupConvert.INSTANCE.convert(entity)); - } - - - @PostMapping - @Operation(summary = "保存") - @PreAuthorize("hasAuthority('data-service:api-group:save')") - public Result save(@RequestBody ApiGroup vo) { - apiGroupService.save(vo); - return Result.ok(); - } - - - @PutMapping - @Operation(summary = "修改") - @PreAuthorize("hasAuthority('data-service:api-group:update')") - public Result update(@RequestBody @Valid ApiGroup vo) { - apiGroupService.update(vo); - return Result.ok(); - } - - - @DeleteMapping("/{id}") - @Operation(summary = "删除") - @PreAuthorize("hasAuthority('data-service:api-group:delete')") - public Result delete(@PathVariable Long id) { - apiGroupService.delete(id); - return Result.ok(); - } - -} diff --git a/srt-cloud-data-server/src/main/java/net/srt/controller/ApiTest.java b/srt-cloud-data-server/src/main/java/net/srt/controller/ApiTest.java deleted file mode 100644 index 2568106..0000000 --- a/srt-cloud-data-server/src/main/java/net/srt/controller/ApiTest.java +++ /dev/null @@ -1,43 +0,0 @@ -package net.srt.controller; - -import io.swagger.v3.oas.annotations.Operation; -import lombok.AllArgsConstructor; -import net.srt.framework.common.page.PageResult; -import net.srt.framework.common.utils.Result; -import net.srt.query.ApiConfigQuery; -import net.srt.query.ApiLogQuery; -import net.srt.service.ApiLogService; -import net.srt.vo.ApiConfig; -import net.srt.vo.ApiLog; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.validation.Valid; - -/** - * @ClassName ApiTest - * @Description 描述 - * @Author 栗永斌 - */ -@RestController -@RequestMapping("/log") -@AllArgsConstructor -public class ApiTest { - - @Autowired - ApiLogService apiLogService; - - @GetMapping("/page") - @Operation(summary = "日志列表") - @PreAuthorize("hasAuthority('data-service:api-config:page')") - public Result> page(@Valid ApiLogQuery query) { - PageResult page = apiLogService.pag(query); - - return Result.ok(page); - } - -} diff --git a/srt-cloud-data-server/src/main/java/net/srt/convert/ApiConfigConvert.java b/srt-cloud-data-server/src/main/java/net/srt/convert/ApiConfigConvert.java deleted file mode 100644 index d411d67..0000000 --- a/srt-cloud-data-server/src/main/java/net/srt/convert/ApiConfigConvert.java +++ /dev/null @@ -1,29 +0,0 @@ -package net.srt.convert; - -import net.srt.dto.ApiConfigDto; -import net.srt.entity.ApiConfigEntity; -import net.srt.vo.ApiConfig; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -import java.util.List; - -/** -* 数据服务-api配置 -* -* @author zrx 985134801@qq.com -* @since 1.0.0 2023-01-28 -*/ -@Mapper -public interface ApiConfigConvert { - ApiConfigConvert INSTANCE = Mappers.getMapper(ApiConfigConvert.class); - - ApiConfigEntity convert(ApiConfig vo); - - ApiConfig convert(ApiConfigEntity entity); - - ApiConfigDto convertDto(ApiConfigEntity entity); - - List convertList(List list); - -} diff --git a/srt-cloud-data-server/src/main/java/net/srt/convert/ApiGroupConvert.java b/srt-cloud-data-server/src/main/java/net/srt/convert/ApiGroupConvert.java deleted file mode 100644 index 1c4f4bb..0000000 --- a/srt-cloud-data-server/src/main/java/net/srt/convert/ApiGroupConvert.java +++ /dev/null @@ -1,26 +0,0 @@ -package net.srt.convert; - -import net.srt.entity.ApiGroupEntity; -import net.srt.vo.ApiGroup; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -import java.util.List; - -/** -* 数据服务-api分组 -* -* @author zrx 985134801@qq.com -* @since 1.0.0 2023-01-28 -*/ -@Mapper -public interface ApiGroupConvert { - ApiGroupConvert INSTANCE = Mappers.getMapper(ApiGroupConvert.class); - - ApiGroupEntity convert(ApiGroup vo); - - ApiGroup convert(ApiGroupEntity entity); - - List convertList(List list); - -} diff --git a/srt-cloud-data-server/src/main/java/net/srt/convert/ApiLogConvert.java b/srt-cloud-data-server/src/main/java/net/srt/convert/ApiLogConvert.java deleted file mode 100644 index 6399679..0000000 --- a/srt-cloud-data-server/src/main/java/net/srt/convert/ApiLogConvert.java +++ /dev/null @@ -1,26 +0,0 @@ -package net.srt.convert; - -import net.srt.entity.ApiLogEntity; -import net.srt.vo.ApiLog; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -import java.util.List; - -/** - * @ClassName ApiLogConvert - * @Description 描述 - * @Author 栗永斌 - */ -@Mapper -public interface ApiLogConvert { - - ApiLogConvert INSTANCE = Mappers.getMapper(ApiLogConvert.class); - - ApiLogEntity convert(ApiLog vo); - - ApiLog convert(ApiLogEntity entity); - - List convertList(List list); -} diff --git a/srt-cloud-data-server/src/main/java/net/srt/dto/ApiConfigDto.java b/srt-cloud-data-server/src/main/java/net/srt/dto/ApiConfigDto.java deleted file mode 100644 index ce03da4..0000000 --- a/srt-cloud-data-server/src/main/java/net/srt/dto/ApiConfigDto.java +++ /dev/null @@ -1,49 +0,0 @@ -package net.srt.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import net.srt.framework.common.utils.DateUtils; - -import java.io.Serializable; -import java.util.Date; - - -@Data -public class ApiConfigDto implements Serializable { - private static final long serialVersionUID = 1L; - private Long id; - private Long groupId; - private String path; - private String type; - private String name; - private String note; - private String sqlText; - private String sqlSeparator; - private Integer sqlMaxRow; - private String sqlParam; - private String jsonParam; - private String responseResult; - private String contentType; - private Integer status; - private Date releaseTime; - private Long releaseUserId; - private Integer sqlDbType; - private Long databaseId; - private Integer previlege; - private Integer openTrans; - private Long projectId; - private Integer version; - private Integer deleted; - private Long creator; - private Date createTime; - private Long updater; - private Date updateTime; - private Integer requestedTimes; - private Integer requestedSuccessTimes; - private Integer requestedFailedTimes; - private Long authId; - private String group; - - -} diff --git a/srt-cloud-data-server/src/main/java/net/srt/entity/ApiConfigEntity.java b/srt-cloud-data-server/src/main/java/net/srt/entity/ApiConfigEntity.java deleted file mode 100644 index 7b9dec0..0000000 --- a/srt-cloud-data-server/src/main/java/net/srt/entity/ApiConfigEntity.java +++ /dev/null @@ -1,61 +0,0 @@ -package net.srt.entity; - -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import lombok.Data; -import net.srt.framework.mybatis.entity.BaseEntity; -import org.springframework.data.annotation.CreatedDate; -import org.springframework.format.annotation.DateTimeFormat; - -import java.util.Date; - -@Data -@TableName("data_dispatch_catalogue") -public class ApiConfigEntity extends BaseEntity { - /** - * 父级id(顶级为0) - */ - private Long parentId; - - /** - * 分组名称 - */ - private String name; - - /** - * 分组序号 - */ - private Integer orderNo; - - /** - * 描述 - */ - private String description; - - /** - * 分组路径 - */ - private String path; - - private Integer type; - - /** - * 项目id - */ - private Long projectId; - private Long id; - - // 私有属性,状态 - private Integer status; - // 私有属性,发布用户ID - private Long releaseUserId; - // 自定义注解,日期格式化,格式为"yyyy-MM-dd HH:mm:ss" - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date releaseTime; - // 私有属性,内容类型 - private String contentType; - private Integer previlege; - private Integer openTrans; - -} diff --git a/srt-cloud-data-server/src/main/java/net/srt/entity/ApiGroupEntity.java b/srt-cloud-data-server/src/main/java/net/srt/entity/ApiGroupEntity.java deleted file mode 100644 index aabf06c..0000000 --- a/srt-cloud-data-server/src/main/java/net/srt/entity/ApiGroupEntity.java +++ /dev/null @@ -1,41 +0,0 @@ -package net.srt.entity; - -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import net.srt.framework.mybatis.entity.BaseEntity; - -@Data -@TableName(value = "data_dispatch_catalogue",autoResultMap = true) -public class ApiGroupEntity extends BaseEntity { - /** - * 父级id(顶级为0) - */ - private Long parentId; - - /** - * 分组名称 - */ - private String name; - - /** - * 分组序号 - */ - private Integer orderNo; - - /** - * 描述 - */ - private String description; - - /** - * 分组路径 - */ - private String path; - - private Integer type; - - /** - * 项目id - */ - private Long projectId; -} diff --git a/srt-cloud-data-server/src/main/java/net/srt/entity/ApiLogEntity.java b/srt-cloud-data-server/src/main/java/net/srt/entity/ApiLogEntity.java deleted file mode 100644 index f819add..0000000 --- a/srt-cloud-data-server/src/main/java/net/srt/entity/ApiLogEntity.java +++ /dev/null @@ -1,31 +0,0 @@ -package net.srt.entity; - -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import net.srt.framework.mybatis.entity.BaseEntity; - -import java.util.Date; - -/** - * @ClassName ApiLogEntity - * @Description 描述 - * @Author 栗永斌 - */ -@Data -@TableName(value = "data_service_api_log",autoResultMap = true) -public class ApiLogEntity extends BaseEntity { -// private Integer id; - private String url; - private Integer duration; - private String ip; - private Integer apiId; - private String error; - private Integer projectId; -// private String deleted; -// private Integer creator; -// private String createTime; -// private Integer updater; - private Date updateTime; - private String apiName; - -} diff --git a/srt-cloud-data-server/src/main/java/net/srt/mapper/ApiConfigDao.java b/srt-cloud-data-server/src/main/java/net/srt/mapper/ApiConfigDao.java deleted file mode 100644 index 6ddc07f..0000000 --- a/srt-cloud-data-server/src/main/java/net/srt/mapper/ApiConfigDao.java +++ /dev/null @@ -1,14 +0,0 @@ -package net.srt.mapper; - -import net.srt.entity.ApiConfigEntity; -import net.srt.framework.mybatis.dao.BaseDao; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -@Mapper -public interface ApiConfigDao extends BaseDao { - void xia(@Param("id") Long id); - - void shang(@Param("id") Long id); - -} diff --git a/srt-cloud-data-server/src/main/java/net/srt/mapper/ApiGroupDao.java b/srt-cloud-data-server/src/main/java/net/srt/mapper/ApiGroupDao.java deleted file mode 100644 index a8bd1f0..0000000 --- a/srt-cloud-data-server/src/main/java/net/srt/mapper/ApiGroupDao.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.srt.mapper; - -import net.srt.entity.ApiGroupEntity; -import net.srt.framework.mybatis.dao.BaseDao; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface ApiGroupDao extends BaseDao { -} diff --git a/srt-cloud-data-server/src/main/java/net/srt/mapper/ApiLogDao.java b/srt-cloud-data-server/src/main/java/net/srt/mapper/ApiLogDao.java deleted file mode 100644 index 6e45e61..0000000 --- a/srt-cloud-data-server/src/main/java/net/srt/mapper/ApiLogDao.java +++ /dev/null @@ -1,15 +0,0 @@ -package net.srt.mapper; - -import net.srt.entity.ApiGroupEntity; -import net.srt.entity.ApiLogEntity; -import net.srt.framework.mybatis.dao.BaseDao; -import org.apache.ibatis.annotations.Mapper; - -/** - * @ClassName ApiLogDao - * @Description 描述 - * @Author 栗永斌 - */ -@Mapper -public interface ApiLogDao extends BaseDao { -} diff --git a/srt-cloud-data-server/src/main/java/net/srt/query/ApiConfigQuery.java b/srt-cloud-data-server/src/main/java/net/srt/query/ApiConfigQuery.java deleted file mode 100644 index a9631c1..0000000 --- a/srt-cloud-data-server/src/main/java/net/srt/query/ApiConfigQuery.java +++ /dev/null @@ -1,22 +0,0 @@ -package net.srt.query; - -import lombok.Data; -import net.srt.framework.common.query.Query; - -@Data -public class ApiConfigQuery extends Query { - - private Long groupId; - private Long resourceId; - private Long appId; - private String name; - private String path; - private String contentType; - private Integer status; - private Integer sqlDbType; - private Long databaseId; - private Integer privates; - private Integer openTrans; - private Integer queryApply; - private Integer ifMarket; -} diff --git a/srt-cloud-data-server/src/main/java/net/srt/query/ApiLogQuery.java b/srt-cloud-data-server/src/main/java/net/srt/query/ApiLogQuery.java deleted file mode 100644 index 09aded7..0000000 --- a/srt-cloud-data-server/src/main/java/net/srt/query/ApiLogQuery.java +++ /dev/null @@ -1,16 +0,0 @@ -package net.srt.query; - -import lombok.Data; -import net.srt.framework.common.query.Query; - -/** - * @ClassName ApiLogQuery - * @Description 描述 - * @Author 栗永斌 - */ -@Data -public class ApiLogQuery extends Query { - - private String ip; - private String apiName; -} diff --git a/srt-cloud-data-server/src/main/java/net/srt/service/ApiConfigService.java b/srt-cloud-data-server/src/main/java/net/srt/service/ApiConfigService.java deleted file mode 100644 index 83335ce..0000000 --- a/srt-cloud-data-server/src/main/java/net/srt/service/ApiConfigService.java +++ /dev/null @@ -1,38 +0,0 @@ -package net.srt.service; - -import net.srt.dto.ApiConfigDto; -import net.srt.entity.ApiConfigEntity; -import net.srt.framework.common.page.PageResult; -import net.srt.framework.common.utils.Result; -import net.srt.framework.common.utils.TreeNodeVo; -import net.srt.framework.mybatis.service.BaseService; -import net.srt.query.ApiConfigQuery; -import net.srt.vo.ApiConfig; - -import java.util.List; - -public interface ApiConfigService extends BaseService { - String getIpPort(); - - List listTree(); - - - PageResult page(ApiConfigQuery query); - - ApiConfigEntity getByI(Long id); - - - void update(Long id, ApiConfigEntity vo); - - void xia(Long id); - - - void shang(Long id); - - - - void sav(ApiConfig vo); - - void removeByI(List idList); - -} diff --git a/srt-cloud-data-server/src/main/java/net/srt/service/ApiGroupService.java b/srt-cloud-data-server/src/main/java/net/srt/service/ApiGroupService.java deleted file mode 100644 index df523d0..0000000 --- a/srt-cloud-data-server/src/main/java/net/srt/service/ApiGroupService.java +++ /dev/null @@ -1,18 +0,0 @@ -package net.srt.service; - -import net.srt.entity.ApiGroupEntity; -import net.srt.framework.common.utils.TreeNodeVo; -import net.srt.framework.mybatis.service.BaseService; -import net.srt.vo.ApiGroup; - -import java.util.List; - -public interface ApiGroupService extends BaseService { - List listTree(); - - void save(ApiGroup vo); - - void update(ApiGroup vo); - - void delete(Long id); -} diff --git a/srt-cloud-data-server/src/main/java/net/srt/service/ApiLogService.java b/srt-cloud-data-server/src/main/java/net/srt/service/ApiLogService.java deleted file mode 100644 index 3404363..0000000 --- a/srt-cloud-data-server/src/main/java/net/srt/service/ApiLogService.java +++ /dev/null @@ -1,18 +0,0 @@ -package net.srt.service; - -import net.srt.entity.ApiLogEntity; -import net.srt.framework.common.page.PageResult; -import net.srt.framework.mybatis.service.BaseService; -import net.srt.query.ApiLogQuery; -import net.srt.vo.ApiLog; - -/** - * @ClassName ApiLogService - * @Description 描述 - * @Author 栗永斌 - */ -public interface ApiLogService extends BaseService { - - PageResult pag(ApiLogQuery query); - -} diff --git a/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java b/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java deleted file mode 100644 index e17bf7c..0000000 --- a/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java +++ /dev/null @@ -1,171 +0,0 @@ -package net.srt.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import lombok.AllArgsConstructor; -import net.srt.convert.ApiConfigConvert; -import net.srt.convert.ApiGroupConvert; -import net.srt.dto.ApiConfigDto; -import net.srt.entity.ApiConfigEntity; -import net.srt.entity.ApiGroupEntity; -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.Result; -import net.srt.framework.common.utils.TreeNodeVo; -import net.srt.framework.mybatis.service.impl.BaseServiceImpl; -import net.srt.mapper.ApiConfigDao; -import net.srt.query.ApiConfigQuery; -import net.srt.service.ApiConfigService; -import net.srt.vo.ApiConfig; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import srt.cloud.framework.dbswitch.common.util.StringUtil; - -import javax.annotation.Resource; -import java.util.List; - -@Service -@AllArgsConstructor -public class ApiConfigServiceImpl extends BaseServiceImpl implements ApiConfigService { - @Override - public String getIpPort() { - return null; - } - - - /** - * 从数据库中查询并返回树结构的节点列表 - * @return List 树节点列表 - */ - @Override - public List listTree() { - // 创建查询条件 - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - // 设置查询条件,排除组织id - dataScopeWithoutOrgId(wrapper); - // 按照排序字段升序排序 - wrapper.orderByAsc(ApiConfigEntity::getOrderNo); - // 从数据库中查询列表数据 - List dataFileCategoryEntities = baseMapper.selectList(wrapper); - // 将数据转换为树节点vo列表 - List treeNodeVos = BeanUtil.copyListProperties(dataFileCategoryEntities, TreeNodeVo::new, (oldItem, newItem) -> { - // 设置树节点的标签为名称 - newItem.setLabel(oldItem.getName()); - // 设置树节点的值为id - newItem.setValue(oldItem.getId()); - // 设置树节点是否不可用,类型为0表示不可用 - newItem.setDisabled(oldItem.getType() == 0); - // 如果树节点路径包含斜杠,则设置父路径为路径截取到倒数第一个斜杠的位置 - if (newItem.getPath().contains("/")) { - newItem.setParentPath(newItem.getPath().substring(0, newItem.getPath().lastIndexOf("/"))); - } - }); - // 调用工具类构建树结构 - return BuildTreeUtils.buildTree(treeNodeVos); - } - - - - - /** - * 分页查询API配置信息 - * - * @param query 查询条件 - * @return 分页结果 - */ - @Override - public PageResult page(ApiConfigQuery query) { - // 调用Mapper层方法,查询分页数据 - IPage page = baseMapper.selectPage(getPage(query), getWrapper(query)); - - // 将查询结果转换为ApiConfig对象列表 - // 返回分页结果 - return new PageResult<>(ApiConfigConvert.INSTANCE.convertList(page.getRecords()), page.getTotal()); - } - - - /** - * 根据ID获取ApiConfigEntity对象 - * - * @param id ID值 - * @return ApiConfigEntity对象 - */ - @Override - public ApiConfigEntity getByI(Long id) { - return id != null ? baseMapper.selectById(id) : null; - } - - @Override - public void update(Long id,ApiConfigEntity vo) { - baseMapper.deleteById(id); - baseMapper.insert(vo); -// if (vo.getType() == 0) { -// ApiGroupEntity apiGroupEntity = new ApiGroupEntity(); -// apiGroupEntity.setId(vo.getId()); -// apiGroupEntity.setVersion(vo.getVersion()); -// apiGroupEntity.setDeleted(vo.getDeleted()); -// apiGroupEntity.setUpdateTime(vo.getUpdateTime()); -// apiGroupEntity.setCreateTime(vo.getCreateTime()); -// apiGroupEntity.setUpdater(vo.getUpdater()); -// } - } - - @Resource - ApiConfigDao apiConfigDto; - - @Override - public void xia(Long id) { - apiConfigDto.xia(id); - } - - - - @Override - public void shang(Long id) { - apiConfigDto.shang(id); - } - - - - @Override - public void sav(ApiConfig vo) { - - - ApiConfigEntity entity = ApiConfigConvert.INSTANCE.convert(vo); - entity.setPath(recursionPath(entity, null)); - entity.setProjectId(getProjectId()); - baseMapper.insert(entity); // 使用 insertSelective() 方法进行插入操作 - } - - - @Override - public void removeByI(List idList) { - baseMapper.deleteBatchIds(idList); - } - - private String recursionPath(ApiConfigEntity groupEntity, String path) { - if (StringUtil.isBlank(path)) { - path = groupEntity.getName(); - } - if (groupEntity.getParentId() != 0) { - ApiConfigEntity parent = getById(groupEntity.getParentId()); - path = parent.getName() + "/" + path; - return recursionPath(parent, path); - } - return path; - } - - private LambdaQueryWrapper getWrapper(ApiConfigQuery query) { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.like(StringUtil.isNotBlank(query.getName()), ApiConfigEntity::getName, query.getName()); - wrapper.like(StringUtil.isNotBlank(query.getPath()), ApiConfigEntity::getPath, query.getPath()); -// wrapper.eq(StringUtil.isNotBlank(query.getContentType()), ApiConfigEntity::getContentType, query.getContentType()); -// wrapper.eq(query.getStatus()!= null, ApiConfigEntity::getStatus, query.getStatus()); -// wrapper.eq(query.getSqlDbType() != null, ApiConfigEntity::getSqlDbType, query.getSqlDbType()); -// - return wrapper; - } - -} diff --git a/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java b/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java deleted file mode 100644 index bce878f..0000000 --- a/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiGroupServiceImpl.java +++ /dev/null @@ -1,93 +0,0 @@ -package net.srt.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import lombok.AllArgsConstructor; -import net.srt.convert.ApiGroupConvert; -import net.srt.entity.ApiConfigEntity; -import net.srt.entity.ApiGroupEntity; -import net.srt.framework.common.exception.ServerException; -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.mapper.ApiGroupDao; -import net.srt.service.ApiConfigService; -import net.srt.service.ApiGroupService; -import net.srt.vo.ApiGroup; -import org.springframework.stereotype.Service; -import srt.cloud.framework.dbswitch.common.util.StringUtil; - -import java.util.List; - -@Service -@AllArgsConstructor -public class ApiGroupServiceImpl extends BaseServiceImpl implements ApiGroupService{ -// private final ApiConfigService apiConfigService; - @Override - public List listTree() { - List treeNodeVos = getTreeNodeVos(); - return BuildTreeUtils.buildTree(treeNodeVos); - } - - private List getTreeNodeVos() { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - dataScopeWithoutOrgId(wrapper); - wrapper.orderByAsc(ApiGroupEntity::getOrderNo); - List apiGroupEntities = baseMapper.selectList(wrapper); - return BeanUtil.copyListProperties(apiGroupEntities, TreeNodeVo::new, (oldItem, newItem) -> { - newItem.setLabel(oldItem.getName()); - newItem.setValue(oldItem.getId()); - newItem.setDisabled(oldItem.getType() == 1); - if (newItem.getPath().contains("/")) { - newItem.setParentPath(newItem.getPath().substring(0, newItem.getPath().lastIndexOf("/"))); - } - }); - } - - @Override - public void save(ApiGroup vo) { - ApiGroupEntity entity = ApiGroupConvert.INSTANCE.convert(vo); - entity.setPath(recursionPath(entity, null)); - entity.setProjectId(getProjectId()); - baseMapper.insert(entity); // 使用 insertSelective() 方法进行插入操作 - } - - @Override - public void update(ApiGroup vo) { - ApiGroupEntity entity = ApiGroupConvert.INSTANCE.convert(vo); - entity.setPath(recursionPath(entity, null)); - entity.setProjectId(getProjectId()); - updateById(entity); - } - - private String recursionPath(ApiGroupEntity groupEntity, String path) { - if (StringUtil.isBlank(path)) { - path = groupEntity.getName(); - } - if (groupEntity.getParentId() != 0) { - ApiGroupEntity parent = getById(groupEntity.getParentId()); - path = parent.getName() + "/" + path; - return recursionPath(parent, path); - } - return path; - } - - @Override - public void delete(Long id) { - //查询有没有子节点 - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(ApiGroupEntity::getParentId, id).last(" limit 1"); - ApiGroupEntity one = baseMapper.selectOne(wrapper); - if (one != null) { - throw new ServerException("存在子节点,不允许删除!"); - } -// //查询有没有api与之关联 -// LambdaQueryWrapper serviceApiConfigWrapper = new LambdaQueryWrapper<>(); -// serviceApiConfigWrapper.eq(ApiConfigEntity::getParentId, id).last(" limit 1"); -// ApiConfigEntity apiConfigEntity = apiConfigService.getOne(serviceApiConfigWrapper); -// if (apiConfigEntity != null) { -// throw new ServerException("节点下有 api 与之关联,不允许删除!"); -// } -// removeById(id); - } -} diff --git a/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiLogServiceImpl.java b/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiLogServiceImpl.java deleted file mode 100644 index 18e2019..0000000 --- a/srt-cloud-data-server/src/main/java/net/srt/service/impl/ApiLogServiceImpl.java +++ /dev/null @@ -1,55 +0,0 @@ -package net.srt.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import lombok.AllArgsConstructor; - -import net.srt.convert.ApiLogConvert; - - -import net.srt.entity.ApiLogEntity; -import net.srt.framework.common.page.PageResult; -import net.srt.framework.mybatis.service.impl.BaseServiceImpl; -import net.srt.mapper.ApiLogDao; - -import net.srt.query.ApiLogQuery; - -import net.srt.service.ApiLogService; -import net.srt.vo.ApiLog; -import org.springframework.stereotype.Service; -import srt.cloud.framework.dbswitch.common.util.StringUtil; - -/** - * @ClassName ApiLogServiceImpl - * @Description 描述 - * @Author 栗永斌 - */ -@Service -@AllArgsConstructor -public class ApiLogServiceImpl extends BaseServiceImpl implements ApiLogService { - - - @Override - public PageResult pag(ApiLogQuery query) { - // 调用Mapper层方法,查询分页数据 - IPage page = baseMapper.selectPage(getPage(query), getWrapper(query)); - - - // 将查询结果转换为ApiConfig对象列表 - // 返回分页结果 - return new PageResult<>(ApiLogConvert.INSTANCE.convertList(page.getRecords()), page.getTotal()); - } - - private LambdaQueryWrapper getWrapper(ApiLogQuery query) { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.like(StringUtil.isNotBlank(query.getApiName()), ApiLogEntity::getApiName, query.getApiName()); - wrapper.like(StringUtil.isNotBlank(query.getIp()), ApiLogEntity::getIp, query.getIp()); -// wrapper.eq(StringUtil.isNotBlank(query.getContentType()), ApiConfigEntity::getContentType, query.getContentType()); -// wrapper.eq(query.getStatus()!= null, ApiConfigEntity::getStatus, query.getStatus()); -// wrapper.eq(query.getSqlDbType() != null, ApiConfigEntity::getSqlDbType, query.getSqlDbType()); - - return wrapper; - } - -} diff --git a/srt-cloud-data-server/src/main/java/net/srt/vo/ApiConfig.java b/srt-cloud-data-server/src/main/java/net/srt/vo/ApiConfig.java deleted file mode 100644 index 73251a0..0000000 --- a/srt-cloud-data-server/src/main/java/net/srt/vo/ApiConfig.java +++ /dev/null @@ -1,101 +0,0 @@ -package net.srt.vo; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.fasterxml.jackson.annotation.JsonFormat; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.util.Date; - -/** -* 数据服务-api配置 -* -* @author zrx 985134801@qq.com -* @since 1.0.0 2023-01-28 -*/ -@Data -public class ApiConfig implements Serializable { - private static final long serialVersionUID = 1L; - - @TableId(value = "id", type = IdType.AUTO) - private Long id; - private Integer parentId; - private Integer type; - private String name; - private Integer orderNo; - private String description; - private String path; - private Integer projectId; - private Integer version; - private Integer deleted; - private Integer creator; - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTime; - private Integer 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 status; - private String contentType; - private Integer releaseUserId; - private Date releaseTime; - private Integer previlege; - private Integer openTrans; - - - - - - - - - - - - - - - -// @TableId(value = "id", type = IdType.AUTO) -// private Long id; -// private Long groupId; -// private String path; -// private String type; -// private String name; -//// private String note; -// private String sqlText; -// private String sqlSeparator; -// private Integer sqlMaxRow; -// private String sqlParam; -// private String jsonParam; -// private String responseResult; -// private Integer contentType; -// private Integer status -// private Date releaseTime; -// private Long releaseUserId; -// private Integer sqlDbType; -// private Long databaseId; -// private Integer previlege; -// private Integer openTrans; -// private Long projectId; -// private Integer version; -// private Integer deleted; -// private Long creator; -// @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") -// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") -// private Date createTime; -// private Long 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 requestedTimes; -// private Integer requestedSuccessTimes; -// private Integer requestedFailedTimes; -// private Long authId; -// private String group; -// private String groupPath; - -} diff --git a/srt-cloud-data-server/src/main/java/net/srt/vo/ApiGroup.java b/srt-cloud-data-server/src/main/java/net/srt/vo/ApiGroup.java deleted file mode 100644 index dcaa232..0000000 --- a/srt-cloud-data-server/src/main/java/net/srt/vo/ApiGroup.java +++ /dev/null @@ -1,25 +0,0 @@ -package net.srt.vo; - -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -@Data -public class ApiGroup implements Serializable { - private static final long serialVersionUID = 1L; - private Long id; - private Long parentId; - private Integer type; - private String name; - private String description; - private Integer orderNo; - private String path; - private Long projectId; - private Integer version; - private Integer deleted; - private Long creator; - private Date createTime; - private Long updater; - private Date updateTime; -} diff --git a/srt-cloud-data-server/src/main/java/net/srt/vo/ApiLog.java b/srt-cloud-data-server/src/main/java/net/srt/vo/ApiLog.java deleted file mode 100644 index e45af60..0000000 --- a/srt-cloud-data-server/src/main/java/net/srt/vo/ApiLog.java +++ /dev/null @@ -1,32 +0,0 @@ -package net.srt.vo; - -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** - * @ClassName ApiLog - * @Description 描述 - * @Author 栗永斌 - */ -@Data -public class ApiLog implements Serializable { - private static final long serialVersionUID = 1L; - - - private Integer id; - private String url; - private Integer duration; - private String ip; - private Integer apiId; - private String error; - private Integer projectId; - private String deleted; - private Integer creator; - private String createTime; - private Integer updater; - private Date updateTime; - - -} diff --git a/srt-cloud-data-server/src/main/resources/mapper/ApiConfigMapper.xml b/srt-cloud-data-server/src/main/resources/mapper/ApiConfigMapper.xml deleted file mode 100644 index a15f3e3..0000000 --- a/srt-cloud-data-server/src/main/resources/mapper/ApiConfigMapper.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - update data_dispatch_catalogue set status = 0 where id = #{id} - - - update data_dispatch_catalogue set status = 1 where id = #{id} - - diff --git a/srt-cloud-data-service/src/main/java/net/srt/DataServiceApplication.java b/srt-cloud-data-service/src/main/java/net/srt/DataServiceApplication.java index f8b6551..c593712 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/DataServiceApplication.java +++ b/srt-cloud-data-service/src/main/java/net/srt/DataServiceApplication.java @@ -11,30 +11,5 @@ import org.springframework.cloud.openfeign.EnableFeignClients; public class DataServiceApplication { public static void main(String[] args) { SpringApplication.run(DataServiceApplication.class, args); - System.out.println("\n" + - "/**\n" + - " * _ooOoo_\n" + - " * o8888888o\n" + - " * 88\" . \"88\n" + - " * (| -_- |)\n" + - " * O\\ = /O\n" + - " * ____/`---'\\____\n" + - " * . ' \\\\| |// `.\n" + - " * / \\\\||| : |||// \\\n" + - " * / _||||| -:- |||||- \\\n" + - " * | | \\\\\\ - /// | |\n" + - " * | \\_| ''\\---/'' | |\n" + - " * \\ .-\\__ `-` ___/-. /\n" + - " * ___`. .' /--.--\\ `. . __\n" + - " * .\"\" '< `.___\\_<|>_/___.' >'\"\".\n" + - " * | | : `- \\`.;`\\ _ /`;.`/ - ` : | |\n" + - " * \\ \\ `-. \\_ __\\ /__ _/ .-` / /\n" + - " * ======`-.____`-.___\\_____/___.-`____.-'======\n" + - " * `=---='\n" + - " *\n" + - " * .............................................\n" + - " * 佛祖保佑 代码 启动 永无BUG\n" + - " */\n" + - "————————代码——启动————————"); } } diff --git a/srt-cloud-data-service/src/main/java/net/srt/controller/ApiConfigController.java b/srt-cloud-data-service/src/main/java/net/srt/controller/ApiConfigController.java index bbe14b5..ee9046a 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/controller/ApiConfigController.java +++ b/srt-cloud-data-service/src/main/java/net/srt/controller/ApiConfigController.java @@ -9,6 +9,7 @@ import net.srt.framework.common.utils.Result; import net.srt.query.ApiConfigQuery; import net.srt.service.ApiConfigService; import net.srt.vo.ApiConfigVo; +import net.srt.vo.DataServiceApiAuthVo; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; @@ -42,13 +43,33 @@ public class ApiConfigController { } @GetMapping("page-auth") - @Operation(summary = "根据resourceId分页获取") public Result> pageAuth(@Valid ApiConfigQuery query) { PageResult page = apiConfigService.page(query); return Result.ok(page); } + //取消授权 +// @PutMapping("/auth-info") +// @Operation(summary = "修改授权") +// public Result upAuth(@RequestBody DataServiceApiAuthVo authVO){ +// apiConfigService.upAuth(authVO); +// return Result.ok(); +// } + @Operation(summary = "回显") + @GetMapping(value = "/auth-info/{authId}") + public Result getAuthId(@PathVariable Long authId){ + return Result.ok(apiConfigService.getAuthInfo(authId)); + } + + //重置调用次数 + @Operation(summary = "重置调用次数") + @PutMapping("/reset-requested/{authId}") + public Result resetRequested(@PathVariable Long authId){ + apiConfigService.resetRequested(authId); + return Result.ok(); + } + @GetMapping("{id}") @Operation(summary = "信息") diff --git a/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceApiAuthController.java b/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceApiAuthController.java deleted file mode 100644 index 0feaeae..0000000 --- a/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceApiAuthController.java +++ /dev/null @@ -1,10 +0,0 @@ -package net.srt.controller; - -/** - * @ClassName : DataServiceApiAuthController - * @Description : - * @Author : FJJ - * @Date: 2023-12-26 15:22 - */ -public class DataServiceApiAuthController { -} diff --git a/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceAppController.java b/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceAppController.java index f77f39d..f50d62d 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceAppController.java +++ b/srt-cloud-data-service/src/main/java/net/srt/controller/DataServiceAppController.java @@ -34,12 +34,12 @@ public class DataServiceAppController { PageResult pageResult = dataServiceAppService.page(query); return Result.ok(pageResult); } - @GetMapping("{id}") - @Operation(summary = "信息") - public Result get(@PathVariable("id") Long id){ - DataServiceAppEntity dataServiceAppEntity = dataServiceAppService.getById(id); - return Result.ok(DataServiceAppConvert.INSTANCE.convert(dataServiceAppEntity)); - } +// @GetMapping("{id}") +// @Operation(summary = "信息") +// public Result get(@PathVariable("id") Long id){ +// DataServiceAppEntity dataServiceAppEntity = dataServiceAppService.getById(id); +// return Result.ok(DataServiceAppConvert.INSTANCE.convert(dataServiceAppEntity)); +// } @PostMapping @Operation(summary = "保存") @@ -72,6 +72,7 @@ public class DataServiceAppController { return Result.ok(); } + @PutMapping("/auth") @Operation(summary = "修改授权") public Result upAuth(@RequestBody DataServiceApiAuthVo authVO){ diff --git a/srt-cloud-data-service/src/main/java/net/srt/dao/ApiConfigDao.java b/srt-cloud-data-service/src/main/java/net/srt/dao/ApiConfigDao.java index 970b446..088d674 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/dao/ApiConfigDao.java +++ b/srt-cloud-data-service/src/main/java/net/srt/dao/ApiConfigDao.java @@ -17,4 +17,6 @@ public interface ApiConfigDao extends BaseDao { void updateById(@Param("apiId") Long apiId, @Param("id") Long id); List getAuthList(Map params); + + void updateAuthId(@Param("authId") Long authId); } diff --git a/srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceApiAuthDao.java b/srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceApiAuthDao.java index a8d5b16..d9c84a6 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceApiAuthDao.java +++ b/srt-cloud-data-service/src/main/java/net/srt/dao/DataServiceApiAuthDao.java @@ -3,6 +3,7 @@ package net.srt.dao; import net.srt.entity.DataServiceApiAuthEntity; import net.srt.framework.mybatis.dao.BaseDao; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * @ClassName : DataServiceApiAuthDao @@ -12,4 +13,6 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface DataServiceApiAuthDao extends BaseDao { + void resetRequested(Long authId); + } diff --git a/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiAuthEntity.java b/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiAuthEntity.java index e17b9df..94b00bb 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiAuthEntity.java +++ b/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiAuthEntity.java @@ -1,9 +1,6 @@ package net.srt.entity; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.FieldStrategy; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import lombok.EqualsAndHashCode; import net.srt.framework.mybatis.entity.BaseEntity; @@ -18,8 +15,10 @@ import java.util.Date; */ @EqualsAndHashCode(callSuper = false) @Data -@TableName("data_service_api_auth1") +@TableName("data_service_api_auth") public class DataServiceApiAuthEntity extends BaseEntity { + + /** * app的id */ diff --git a/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiLogEntity.java b/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiLogEntity.java index 1fa6add..2edd578 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiLogEntity.java +++ b/srt-cloud-data-service/src/main/java/net/srt/entity/DataServiceApiLogEntity.java @@ -13,7 +13,7 @@ import net.srt.framework.mybatis.entity.BaseEntity; */ @EqualsAndHashCode(callSuper = false) @Data -@TableName("data_service_api_log1") +@TableName("data_service_api_log") public class DataServiceApiLogEntity extends BaseEntity { /** * url diff --git a/srt-cloud-data-service/src/main/java/net/srt/service/ApiConfigService.java b/srt-cloud-data-service/src/main/java/net/srt/service/ApiConfigService.java index 3f16a51..991679c 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/service/ApiConfigService.java +++ b/srt-cloud-data-service/src/main/java/net/srt/service/ApiConfigService.java @@ -7,6 +7,7 @@ import net.srt.framework.common.page.PageResult; import net.srt.framework.mybatis.service.BaseService; import net.srt.query.ApiConfigQuery; import net.srt.vo.ApiConfigVo; +import net.srt.vo.DataServiceApiAuthVo; import srt.cloud.framework.dbswitch.core.model.JdbcSelectResult; import javax.servlet.http.HttpServletRequest; @@ -37,4 +38,10 @@ public interface ApiConfigService extends BaseService { JdbcSelectResult sqlExecute(SqlDto dto); void exportDocs(List ids, HttpServletResponse response); + + void upAuth(DataServiceApiAuthVo authVO); + + DataServiceApiAuthVo getAuthInfo(Long authId); + + void resetRequested(Long authId); } diff --git a/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java b/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java index 65d63b0..67474b2 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java +++ b/srt-cloud-data-service/src/main/java/net/srt/service/impl/ApiConfigServiceImpl.java @@ -6,11 +6,14 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.AllArgsConstructor; import net.srt.api.ServerNames; import net.srt.convert.ApiConfigConvert; +import net.srt.convert.DataServiceApiAuthConvert; import net.srt.dao.ApiConfigDao; import net.srt.dao.ApiGroupDao; +import net.srt.dao.DataServiceApiAuthDao; import net.srt.dto.SqlDto; import net.srt.entity.ApiConfigEntity; import net.srt.entity.ApiGroupEntity; +import net.srt.entity.DataServiceApiAuthEntity; import net.srt.framework.common.constant.Constant; import net.srt.framework.common.page.PageResult; import net.srt.framework.mybatis.service.impl.BaseServiceImpl; @@ -18,6 +21,7 @@ import net.srt.framework.security.user.SecurityUser; import net.srt.query.ApiConfigQuery; import net.srt.service.ApiConfigService; import net.srt.vo.ApiConfigVo; +import net.srt.vo.DataServiceApiAuthVo; import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.http.HttpStatus; @@ -42,6 +46,7 @@ public class ApiConfigServiceImpl extends BaseServiceImpl mappings = new ConcurrentHashMap<>(); @Override public String getIpPort() { @@ -168,6 +173,22 @@ public class ApiConfigServiceImpl extends BaseServiceImpl page(ApiConfigQuery query) { // 查询参数 diff --git a/srt-cloud-data-service/src/main/java/net/srt/service/impl/DataServiceAppServiceImpl.java b/srt-cloud-data-service/src/main/java/net/srt/service/impl/DataServiceAppServiceImpl.java index 7f8fab4..3a268b6 100644 --- a/srt-cloud-data-service/src/main/java/net/srt/service/impl/DataServiceAppServiceImpl.java +++ b/srt-cloud-data-service/src/main/java/net/srt/service/impl/DataServiceAppServiceImpl.java @@ -53,6 +53,7 @@ public class DataServiceAppServiceImpl extends BaseServiceImpl update data_service_api_config set auth_id=#{apiId} where id=#{id} + + update data_service_api_config set auth_id=null where auth_id=#{authId} +