From 7f8fd6d174a76a8e9f2205979d1413593d57534b Mon Sep 17 00:00:00 2001
From: liyongde <1419499670@qq.com>
Date: Tue, 30 Sep 2025 14:05:28 +0800
Subject: [PATCH] =?UTF-8?q?init:=20cdk=E5=88=9D=E6=AD=A5+=E8=AF=AD?=
=?UTF-8?q?=E8=A8=80=E7=AE=A1=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 23 +++
.../vip/storm/common/pojo/CommonSelect.java | 14 ++
.../common/util/CommonCollectionUtil.java | 22 +++
storm-plugin-api/pom.xml | 2 +
storm-plugin-api/storm-plugin-cdk-api/pom.xml | 24 +++
.../src/main/java/vip/storm/Main.java | 11 ++
.../storm-plugin-inter-api/pom.xml | 24 +++
.../storm/inter/api/InterProjectLangApi.java | 15 ++
.../vip/storm/inter/core/ProjectLangDto.java | 34 ++++
.../java/vip/storm/inter/package-info.java | 6 +
storm-plugin/pom.xml | 2 +
storm-plugin/storm-plugin-cdk/pom.xml | 46 +++++
.../storm/cdk/core/KeyGeneratedManager.java | 36 ++++
.../controller/CdkCodeInfoController.java | 123 ++++++++++++++
.../cdkcodeinfo/entity/CdkCodeInfo.java | 79 +++++++++
.../cdkcodeinfo/enums/CdkCodeInfoEnum.java | 34 ++++
.../cdkcodeinfo/mapper/CdkCodeInfoMapper.java | 25 +++
.../mapper/mapping/CdkCodeInfoMapper.xml | 5 +
.../param/CdkCodeInfoAddParam.java | 46 +++++
.../param/CdkCodeInfoEditParam.java | 51 ++++++
.../cdkcodeinfo/param/CdkCodeInfoIdParam.java | 35 ++++
.../param/CdkCodeInfoPageParam.java | 51 ++++++
.../service/CdkCodeInfoService.java | 80 +++++++++
.../service/impl/CdkCodeInfoServiceImpl.java | 94 +++++++++++
.../controller/CdkEncryInfoController.java | 129 ++++++++++++++
.../cdkencryinfo/entity/CdkEncryInfo.java | 79 +++++++++
.../cdkencryinfo/enums/CdkEncryInfoEnum.java | 34 ++++
.../mapper/CdkEncryInfoMapper.java | 25 +++
.../mapper/mapping/CdkEncryInfoMapper.xml | 5 +
.../param/CdkEncryGeneratedParam.java | 14 ++
.../param/CdkEncryInfoAddParam.java | 50 ++++++
.../param/CdkEncryInfoEditParam.java | 55 ++++++
.../param/CdkEncryInfoIdParam.java | 35 ++++
.../param/CdkEncryInfoPageParam.java | 55 ++++++
.../service/CdkEncryInfoService.java | 79 +++++++++
.../service/impl/CdkEncryInfoServiceImpl.java | 116 +++++++++++++
.../controller/CdkProjectController.java | 133 +++++++++++++++
.../modular/cdkproject/entity/CdkProject.java | 71 ++++++++
.../cdkproject/enums/CdkProjectEnum.java | 34 ++++
.../cdkproject/mapper/CdkProjectMapper.java | 25 +++
.../mapper/mapping/CdkProjectMapper.xml | 5 +
.../cdkproject/param/CdkProjectAddParam.java | 37 +++++
.../cdkproject/param/CdkProjectEditParam.java | 44 +++++
.../cdkproject/param/CdkProjectIdParam.java | 35 ++++
.../cdkproject/param/CdkProjectPageParam.java | 57 +++++++
.../cdkproject/service/CdkProjectService.java | 83 +++++++++
.../service/impl/CdkProjectServiceImpl.java | 116 +++++++++++++
.../main/java/vip/storm/cdk/package-info.java | 6 +
storm-plugin/storm-plugin-inter/pom.xml | 40 +++++
.../inter/core/EnhancedJsonFlattener.java | 46 +++++
.../vip/storm/inter/core/LangConverter.java | 36 ++++
.../InterProjectLangController.java | 126 ++++++++++++++
.../projectlang/entity/InterProjectLang.java | 75 +++++++++
.../projectlang/entity/LangEditVo.java | 27 +++
.../enums/InterProjectLangEnum.java | 34 ++++
.../mapper/InterProjectLangMapper.java | 25 +++
.../mapper/mapping/InterProjectLangMapper.xml | 5 +
.../param/InterProjectLangAddParam.java | 48 ++++++
.../param/InterProjectLangEditParam.java | 51 ++++++
.../param/InterProjectLangIdParam.java | 35 ++++
.../param/InterProjectLangPageParam.java | 51 ++++++
.../projectlang/param/InterProjectParam.java | 12 ++
.../provider/ProjectLangProvider.java | 35 ++++
.../service/InterProjectLangService.java | 80 +++++++++
.../impl/InterProjectLangServiceImpl.java | 120 +++++++++++++
.../java/vip/storm/inter/package-info.java | 6 +
storm-vue/src/api/cdk/cdkCodeInfoApi.js | 28 ++++
storm-vue/src/api/cdk/cdkEncryInfoApi.js | 32 ++++
storm-vue/src/api/cdk/cdkProjectApi.js | 31 ++++
.../src/api/inter/interProjectLangApi.js | 28 ++++
storm-vue/src/utils/tool.js | 9 +
storm-vue/src/views/cdk/code/form.vue | 87 ++++++++++
storm-vue/src/views/cdk/code/index.vue | 117 +++++++++++++
storm-vue/src/views/cdk/encryption/form.vue | 95 +++++++++++
storm-vue/src/views/cdk/encryption/index.vue | 145 ++++++++++++++++
storm-vue/src/views/cdk/project/form.vue | 82 +++++++++
storm-vue/src/views/cdk/project/index.vue | 157 ++++++++++++++++++
storm-vue/src/views/inter/editLang/index.vue | 45 +++++
.../src/views/inter/projectlang/form.vue | 99 +++++++++++
.../src/views/inter/projectlang/index.vue | 134 +++++++++++++++
storm-web-app/pom.xml | 9 +
.../src/main/resources/application.properties | 2 +-
.../src/test/java/vip/storm/MainTest.java | 10 +-
83 files changed, 4164 insertions(+), 2 deletions(-)
create mode 100644 storm-common/src/main/java/vip/storm/common/pojo/CommonSelect.java
create mode 100644 storm-common/src/main/java/vip/storm/common/util/CommonCollectionUtil.java
create mode 100644 storm-plugin-api/storm-plugin-cdk-api/pom.xml
create mode 100644 storm-plugin-api/storm-plugin-cdk-api/src/main/java/vip/storm/Main.java
create mode 100644 storm-plugin-api/storm-plugin-inter-api/pom.xml
create mode 100644 storm-plugin-api/storm-plugin-inter-api/src/main/java/vip/storm/inter/api/InterProjectLangApi.java
create mode 100644 storm-plugin-api/storm-plugin-inter-api/src/main/java/vip/storm/inter/core/ProjectLangDto.java
create mode 100644 storm-plugin-api/storm-plugin-inter-api/src/main/java/vip/storm/inter/package-info.java
create mode 100644 storm-plugin/storm-plugin-cdk/pom.xml
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/core/KeyGeneratedManager.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/controller/CdkCodeInfoController.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/entity/CdkCodeInfo.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/enums/CdkCodeInfoEnum.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/mapper/CdkCodeInfoMapper.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/mapper/mapping/CdkCodeInfoMapper.xml
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/param/CdkCodeInfoAddParam.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/param/CdkCodeInfoEditParam.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/param/CdkCodeInfoIdParam.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/param/CdkCodeInfoPageParam.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/service/CdkCodeInfoService.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/service/impl/CdkCodeInfoServiceImpl.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/controller/CdkEncryInfoController.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/entity/CdkEncryInfo.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/enums/CdkEncryInfoEnum.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/mapper/CdkEncryInfoMapper.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/mapper/mapping/CdkEncryInfoMapper.xml
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/param/CdkEncryGeneratedParam.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/param/CdkEncryInfoAddParam.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/param/CdkEncryInfoEditParam.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/param/CdkEncryInfoIdParam.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/param/CdkEncryInfoPageParam.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/service/CdkEncryInfoService.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/service/impl/CdkEncryInfoServiceImpl.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/controller/CdkProjectController.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/entity/CdkProject.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/enums/CdkProjectEnum.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/mapper/CdkProjectMapper.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/mapper/mapping/CdkProjectMapper.xml
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/param/CdkProjectAddParam.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/param/CdkProjectEditParam.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/param/CdkProjectIdParam.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/param/CdkProjectPageParam.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/service/CdkProjectService.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/service/impl/CdkProjectServiceImpl.java
create mode 100644 storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/package-info.java
create mode 100644 storm-plugin/storm-plugin-inter/pom.xml
create mode 100644 storm-plugin/storm-plugin-inter/src/main/java/vip/storm/inter/core/EnhancedJsonFlattener.java
create mode 100644 storm-plugin/storm-plugin-inter/src/main/java/vip/storm/inter/core/LangConverter.java
create mode 100644 storm-plugin/storm-plugin-inter/src/main/java/vip/storm/inter/modular/projectlang/controller/InterProjectLangController.java
create mode 100644 storm-plugin/storm-plugin-inter/src/main/java/vip/storm/inter/modular/projectlang/entity/InterProjectLang.java
create mode 100644 storm-plugin/storm-plugin-inter/src/main/java/vip/storm/inter/modular/projectlang/entity/LangEditVo.java
create mode 100644 storm-plugin/storm-plugin-inter/src/main/java/vip/storm/inter/modular/projectlang/enums/InterProjectLangEnum.java
create mode 100644 storm-plugin/storm-plugin-inter/src/main/java/vip/storm/inter/modular/projectlang/mapper/InterProjectLangMapper.java
create mode 100644 storm-plugin/storm-plugin-inter/src/main/java/vip/storm/inter/modular/projectlang/mapper/mapping/InterProjectLangMapper.xml
create mode 100644 storm-plugin/storm-plugin-inter/src/main/java/vip/storm/inter/modular/projectlang/param/InterProjectLangAddParam.java
create mode 100644 storm-plugin/storm-plugin-inter/src/main/java/vip/storm/inter/modular/projectlang/param/InterProjectLangEditParam.java
create mode 100644 storm-plugin/storm-plugin-inter/src/main/java/vip/storm/inter/modular/projectlang/param/InterProjectLangIdParam.java
create mode 100644 storm-plugin/storm-plugin-inter/src/main/java/vip/storm/inter/modular/projectlang/param/InterProjectLangPageParam.java
create mode 100644 storm-plugin/storm-plugin-inter/src/main/java/vip/storm/inter/modular/projectlang/param/InterProjectParam.java
create mode 100644 storm-plugin/storm-plugin-inter/src/main/java/vip/storm/inter/modular/projectlang/provider/ProjectLangProvider.java
create mode 100644 storm-plugin/storm-plugin-inter/src/main/java/vip/storm/inter/modular/projectlang/service/InterProjectLangService.java
create mode 100644 storm-plugin/storm-plugin-inter/src/main/java/vip/storm/inter/modular/projectlang/service/impl/InterProjectLangServiceImpl.java
create mode 100644 storm-plugin/storm-plugin-inter/src/main/java/vip/storm/inter/package-info.java
create mode 100644 storm-vue/src/api/cdk/cdkCodeInfoApi.js
create mode 100644 storm-vue/src/api/cdk/cdkEncryInfoApi.js
create mode 100644 storm-vue/src/api/cdk/cdkProjectApi.js
create mode 100644 storm-vue/src/api/inter/interProjectLangApi.js
create mode 100644 storm-vue/src/views/cdk/code/form.vue
create mode 100644 storm-vue/src/views/cdk/code/index.vue
create mode 100644 storm-vue/src/views/cdk/encryption/form.vue
create mode 100644 storm-vue/src/views/cdk/encryption/index.vue
create mode 100644 storm-vue/src/views/cdk/project/form.vue
create mode 100644 storm-vue/src/views/cdk/project/index.vue
create mode 100644 storm-vue/src/views/inter/editLang/index.vue
create mode 100644 storm-vue/src/views/inter/projectlang/form.vue
create mode 100644 storm-vue/src/views/inter/projectlang/index.vue
diff --git a/pom.xml b/pom.xml
index ef1508f..da0a3e1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -49,6 +49,29 @@
${snowy.version}
+
+ vip.storm
+ storm-plugin-cdk
+ ${snowy.version}
+
+
+
+ vip.storm
+ storm-plugin-cdk-api
+ ${snowy.version}
+
+
+
+ vip.storm
+ storm-plugin-inter
+ ${snowy.version}
+
+
+ vip.storm
+ storm-plugin-inter-api
+ ${snowy.version}
+
+
vip.storm
diff --git a/storm-common/src/main/java/vip/storm/common/pojo/CommonSelect.java b/storm-common/src/main/java/vip/storm/common/pojo/CommonSelect.java
new file mode 100644
index 0000000..1f056d1
--- /dev/null
+++ b/storm-common/src/main/java/vip/storm/common/pojo/CommonSelect.java
@@ -0,0 +1,14 @@
+package vip.storm.common.pojo;
+
+import lombok.Data;
+
+/**
+ * 通用下拉框对象
+ * @Author: lyd
+ * @Date: 2025/9/29
+ */
+@Data
+public class CommonSelect {
+ private String value;
+ private String label;
+}
diff --git a/storm-common/src/main/java/vip/storm/common/util/CommonCollectionUtil.java b/storm-common/src/main/java/vip/storm/common/util/CommonCollectionUtil.java
new file mode 100644
index 0000000..aea6490
--- /dev/null
+++ b/storm-common/src/main/java/vip/storm/common/util/CommonCollectionUtil.java
@@ -0,0 +1,22 @@
+package vip.storm.common.util;
+
+import cn.hutool.core.collection.CollUtil;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+/**
+ * @Author: lyd
+ * @Date: 2025/9/29
+ */
+public class CommonCollectionUtil {
+ public static List mapList(Collection from, Function func) {
+ if (CollUtil.isEmpty(from)) {
+ return new ArrayList<>();
+ }
+ return from.stream().map(func).collect(Collectors.toList());
+ }
+}
diff --git a/storm-plugin-api/pom.xml b/storm-plugin-api/pom.xml
index c32bc22..c2b0134 100644
--- a/storm-plugin-api/pom.xml
+++ b/storm-plugin-api/pom.xml
@@ -35,5 +35,7 @@
storm-plugin-sys-api
+ storm-plugin-cdk-api
+ storm-plugin-inter-api
diff --git a/storm-plugin-api/storm-plugin-cdk-api/pom.xml b/storm-plugin-api/storm-plugin-cdk-api/pom.xml
new file mode 100644
index 0000000..cd40b27
--- /dev/null
+++ b/storm-plugin-api/storm-plugin-cdk-api/pom.xml
@@ -0,0 +1,24 @@
+
+
+ 4.0.0
+
+ vip.storm
+ storm-plugin-api
+ 3.0.0
+
+
+ storm-plugin-cdk-api
+ jar
+ cdk功能插件api接口
+
+
+
+
+ vip.storm
+ storm-common
+
+
+
+
diff --git a/storm-plugin-api/storm-plugin-cdk-api/src/main/java/vip/storm/Main.java b/storm-plugin-api/storm-plugin-cdk-api/src/main/java/vip/storm/Main.java
new file mode 100644
index 0000000..54d9aa5
--- /dev/null
+++ b/storm-plugin-api/storm-plugin-cdk-api/src/main/java/vip/storm/Main.java
@@ -0,0 +1,11 @@
+package vip.storm;
+
+/**
+ * @Author: lyd
+ * @Date: ${DATE}
+ */
+public class Main {
+ public static void main(String[] args) {
+ System.out.println("Hello world!");
+ }
+}
diff --git a/storm-plugin-api/storm-plugin-inter-api/pom.xml b/storm-plugin-api/storm-plugin-inter-api/pom.xml
new file mode 100644
index 0000000..da1e2e2
--- /dev/null
+++ b/storm-plugin-api/storm-plugin-inter-api/pom.xml
@@ -0,0 +1,24 @@
+
+
+ 4.0.0
+
+ vip.storm
+ storm-plugin-api
+ 3.0.0
+
+
+ storm-plugin-inter-api
+ jar
+ 语言包api接口
+
+
+
+
+ vip.storm
+ storm-common
+
+
+
+
diff --git a/storm-plugin-api/storm-plugin-inter-api/src/main/java/vip/storm/inter/api/InterProjectLangApi.java b/storm-plugin-api/storm-plugin-inter-api/src/main/java/vip/storm/inter/api/InterProjectLangApi.java
new file mode 100644
index 0000000..d9a1339
--- /dev/null
+++ b/storm-plugin-api/storm-plugin-inter-api/src/main/java/vip/storm/inter/api/InterProjectLangApi.java
@@ -0,0 +1,15 @@
+package vip.storm.inter.api;
+
+import com.alibaba.fastjson.JSONObject;
+import vip.storm.inter.core.ProjectLangDto;
+
+import java.util.List;
+
+/**
+ * 项目接口
+ * @Author: lyd
+ * @Date: 2025/9/29
+ */
+public interface InterProjectLangApi {
+ List getProjectLangDatas(String projectId);
+}
diff --git a/storm-plugin-api/storm-plugin-inter-api/src/main/java/vip/storm/inter/core/ProjectLangDto.java b/storm-plugin-api/storm-plugin-inter-api/src/main/java/vip/storm/inter/core/ProjectLangDto.java
new file mode 100644
index 0000000..08450cd
--- /dev/null
+++ b/storm-plugin-api/storm-plugin-inter-api/src/main/java/vip/storm/inter/core/ProjectLangDto.java
@@ -0,0 +1,34 @@
+package vip.storm.inter.core;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 项目-语言实体
+ * @Author: lyd
+ * @Date: 2025/9/29
+ */
+@Data
+public class ProjectLangDto implements Serializable {
+ /** 项目-语言id */
+ @Schema(description = "项目-语言id")
+ private String plId;
+
+ /** 项目id */
+ @Schema(description = "项目id")
+ private String projectId;
+
+ /** 语言 */
+ @Schema(description = "语言")
+ private String langId;
+
+ /** 语言json */
+ @Schema(description = "语言json")
+ private String langData;
+
+ /** 删除标志 */
+ @Schema(description = "删除标志")
+ private String deleteFlag;
+}
diff --git a/storm-plugin-api/storm-plugin-inter-api/src/main/java/vip/storm/inter/package-info.java b/storm-plugin-api/storm-plugin-inter-api/src/main/java/vip/storm/inter/package-info.java
new file mode 100644
index 0000000..ae37670
--- /dev/null
+++ b/storm-plugin-api/storm-plugin-inter-api/src/main/java/vip/storm/inter/package-info.java
@@ -0,0 +1,6 @@
+/**
+ * 对外暴露的API
+ * @Author: lyd
+ * @Date: 2025/9/29
+ */
+package vip.storm.inter;
diff --git a/storm-plugin/pom.xml b/storm-plugin/pom.xml
index c89e4d4..009ae4d 100644
--- a/storm-plugin/pom.xml
+++ b/storm-plugin/pom.xml
@@ -35,5 +35,7 @@
storm-plugin-sys
+ storm-plugin-cdk
+ storm-plugin-inter
diff --git a/storm-plugin/storm-plugin-cdk/pom.xml b/storm-plugin/storm-plugin-cdk/pom.xml
new file mode 100644
index 0000000..bd4c2a5
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/pom.xml
@@ -0,0 +1,46 @@
+
+
+ 4.0.0
+
+ vip.storm
+ storm-plugin
+ 3.0.0
+
+
+ storm-plugin-cdk
+ jar
+ cdk模块
+
+
+
+ vip.storm
+ storm-plugin-cdk-api
+
+
+
+ vip.storm
+ storm-plugin-inter-api
+
+
+
+
+ vip.storm
+ storm-plugin-auth-api
+
+
+
+
+ vip.storm
+ storm-plugin-sys-api
+
+
+
+
+ vip.storm
+ storm-plugin-dev-api
+
+
+
+
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/core/KeyGeneratedManager.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/core/KeyGeneratedManager.java
new file mode 100644
index 0000000..235d7e0
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/core/KeyGeneratedManager.java
@@ -0,0 +1,36 @@
+package vip.storm.cdk.core;
+
+import lombok.SneakyThrows;
+
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.PrivateKey;
+import java.security.PublicKey;
+import java.util.Base64;
+
+/**
+ * 密钥生成
+ * @Author: lyd
+ * @Date: 2025/9/26
+ */
+public class KeyGeneratedManager {
+ KeyPairGenerator keyGen;
+ KeyPair pair;
+
+ @SneakyThrows
+ public KeyGeneratedManager(String algorithm) {
+ this.keyGen = KeyPairGenerator.getInstance(algorithm);
+ this.keyGen.initialize(2048);
+ this.pair = keyGen.generateKeyPair();
+ }
+
+ public String getPublicKey() {
+ PublicKey publicKey = pair.getPublic();
+ return Base64.getEncoder().encodeToString(publicKey.getEncoded());
+ }
+
+ public String getPrivateKey() {
+ PrivateKey privateKey = pair.getPrivate();
+ return Base64.getEncoder().encodeToString(privateKey.getEncoded());
+ }
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/controller/CdkCodeInfoController.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/controller/CdkCodeInfoController.java
new file mode 100644
index 0000000..01c25a9
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/controller/CdkCodeInfoController.java
@@ -0,0 +1,123 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkcodeinfo.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+import vip.storm.common.annotation.CommonLog;
+import vip.storm.common.pojo.CommonResult;
+import vip.storm.cdk.modular.cdkcodeinfo.entity.CdkCodeInfo;
+import vip.storm.cdk.modular.cdkcodeinfo.param.CdkCodeInfoAddParam;
+import vip.storm.cdk.modular.cdkcodeinfo.param.CdkCodeInfoEditParam;
+import vip.storm.cdk.modular.cdkcodeinfo.param.CdkCodeInfoIdParam;
+import vip.storm.cdk.modular.cdkcodeinfo.param.CdkCodeInfoPageParam;
+import vip.storm.cdk.modular.cdkcodeinfo.service.CdkCodeInfoService;
+
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotEmpty;
+import java.util.List;
+
+/**
+ * 授权码控制器
+ *
+ * @author lyd
+ * @date 2025/09/26 17:28
+ */
+@Tag(name = "授权码控制器")
+@RestController
+@Validated
+public class CdkCodeInfoController {
+
+ @Resource
+ private CdkCodeInfoService cdkCodeInfoService;
+
+ /**
+ * 获取授权码分页
+ *
+ * @author lyd
+ * @date 2025/09/26 17:28
+ */
+ @Operation(summary = "获取授权码分页")
+ @SaCheckPermission("/cdk/cdkcodeinfo/page")
+ @GetMapping("/cdk/cdkcodeinfo/page")
+ public CommonResult> page(CdkCodeInfoPageParam cdkCodeInfoPageParam) {
+ return CommonResult.data(cdkCodeInfoService.page(cdkCodeInfoPageParam));
+ }
+
+ /**
+ * 添加授权码
+ *
+ * @author lyd
+ * @date 2025/09/26 17:28
+ */
+ @Operation(summary = "添加授权码")
+ @CommonLog("添加授权码")
+ @SaCheckPermission("/cdk/cdkcodeinfo/add")
+ @PostMapping("/cdk/cdkcodeinfo/add")
+ public CommonResult add(@RequestBody @Valid CdkCodeInfoAddParam cdkCodeInfoAddParam) {
+ cdkCodeInfoService.add(cdkCodeInfoAddParam);
+ return CommonResult.ok();
+ }
+
+ /**
+ * 编辑授权码
+ *
+ * @author lyd
+ * @date 2025/09/26 17:28
+ */
+ @Operation(summary = "编辑授权码")
+ @CommonLog("编辑授权码")
+ @SaCheckPermission("/cdk/cdkcodeinfo/edit")
+ @PostMapping("/cdk/cdkcodeinfo/edit")
+ public CommonResult edit(@RequestBody @Valid CdkCodeInfoEditParam cdkCodeInfoEditParam) {
+ cdkCodeInfoService.edit(cdkCodeInfoEditParam);
+ return CommonResult.ok();
+ }
+
+ /**
+ * 删除授权码
+ *
+ * @author lyd
+ * @date 2025/09/26 17:28
+ */
+ @Operation(summary = "删除授权码")
+ @CommonLog("删除授权码")
+ @SaCheckPermission("/cdk/cdkcodeinfo/delete")
+ @PostMapping("/cdk/cdkcodeinfo/delete")
+ public CommonResult delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
+ List cdkCodeInfoIdParamList) {
+ cdkCodeInfoService.delete(cdkCodeInfoIdParamList);
+ return CommonResult.ok();
+ }
+
+ /**
+ * 获取授权码详情
+ *
+ * @author lyd
+ * @date 2025/09/26 17:28
+ */
+ @Operation(summary = "获取授权码详情")
+ @SaCheckPermission("/cdk/cdkcodeinfo/detail")
+ @GetMapping("/cdk/cdkcodeinfo/detail")
+ public CommonResult detail(@Valid CdkCodeInfoIdParam cdkCodeInfoIdParam) {
+ return CommonResult.data(cdkCodeInfoService.detail(cdkCodeInfoIdParam));
+ }
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/entity/CdkCodeInfo.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/entity/CdkCodeInfo.java
new file mode 100644
index 0000000..5f154e5
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/entity/CdkCodeInfo.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkcodeinfo.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 授权码实体
+ *
+ * @author lyd
+ * @date 2025/09/26 17:28
+ **/
+@Getter
+@Setter
+@TableName("cdk_code_info")
+public class CdkCodeInfo {
+
+ /** 授权码id */
+ @TableId
+ @Schema(description = "授权码id")
+ private String cdkId;
+
+ /** 授权码 */
+ @Schema(description = "授权码")
+ private String cdkCode;
+
+ /** 公钥 */
+ @Schema(description = "公钥")
+ private String publicKey;
+
+ /** 到期时间 */
+ @Schema(description = "到期时间")
+ private String expirationTime;
+
+ /** 项目id */
+ @Schema(description = "项目id")
+ private String projectId;
+
+ /** 创建时间 */
+ @Schema(description = "创建时间")
+ @TableField(fill = FieldFill.INSERT)
+ private Date createTime;
+
+ /** 创建用户 */
+ @Schema(description = "创建用户")
+ @TableField(fill = FieldFill.INSERT)
+ private String createUser;
+
+ /** 修改时间 */
+ @Schema(description = "修改时间")
+ @TableField(fill = FieldFill.UPDATE)
+ private Date updateTime;
+
+ /** 修改用户 */
+ @Schema(description = "修改用户")
+ @TableField(fill = FieldFill.UPDATE)
+ private String updateUser;
+
+ /** 删除标志 */
+ @Schema(description = "删除标志")
+ @TableLogic
+ @TableField(fill = FieldFill.INSERT)
+ private String deleteFlag;
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/enums/CdkCodeInfoEnum.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/enums/CdkCodeInfoEnum.java
new file mode 100644
index 0000000..3fe384a
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/enums/CdkCodeInfoEnum.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkcodeinfo.enums;
+
+import lombok.Getter;
+
+/**
+ * 授权码枚举
+ *
+ * @author lyd
+ * @date 2025/09/26 17:28
+ **/
+@Getter
+public enum CdkCodeInfoEnum {
+
+ /** 测试 */
+ TEST("TEST");
+
+ private final String value;
+
+ CdkCodeInfoEnum(String value) {
+ this.value = value;
+ }
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/mapper/CdkCodeInfoMapper.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/mapper/CdkCodeInfoMapper.java
new file mode 100644
index 0000000..fe4dd0f
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/mapper/CdkCodeInfoMapper.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkcodeinfo.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import vip.storm.cdk.modular.cdkcodeinfo.entity.CdkCodeInfo;
+
+/**
+ * 授权码Mapper接口
+ *
+ * @author lyd
+ * @date 2025/09/26 17:28
+ **/
+public interface CdkCodeInfoMapper extends BaseMapper {
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/mapper/mapping/CdkCodeInfoMapper.xml b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/mapper/mapping/CdkCodeInfoMapper.xml
new file mode 100644
index 0000000..1a45c48
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/mapper/mapping/CdkCodeInfoMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/param/CdkCodeInfoAddParam.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/param/CdkCodeInfoAddParam.java
new file mode 100644
index 0000000..bf8cba5
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/param/CdkCodeInfoAddParam.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkcodeinfo.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 授权码添加参数
+ *
+ * @author lyd
+ * @date 2025/09/26 17:28
+ **/
+@Getter
+@Setter
+public class CdkCodeInfoAddParam {
+
+ /** 授权码 */
+ @Schema(description = "授权码")
+ private String cdkCode;
+
+ /** 公钥 */
+ @Schema(description = "公钥")
+ private String publicKey;
+
+ /** 到期时间 */
+ @Schema(description = "到期时间")
+ private String expirationTime;
+
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/param/CdkCodeInfoEditParam.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/param/CdkCodeInfoEditParam.java
new file mode 100644
index 0000000..182fb1f
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/param/CdkCodeInfoEditParam.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkcodeinfo.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 授权码编辑参数
+ *
+ * @author lyd
+ * @date 2025/09/26 17:28
+ **/
+@Getter
+@Setter
+public class CdkCodeInfoEditParam {
+
+ /** 授权码id */
+ @Schema(description = "授权码id", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotBlank(message = "cdkId不能为空")
+ private String cdkId;
+
+ /** 授权码 */
+ @Schema(description = "授权码")
+ private String cdkCode;
+
+ /** 公钥 */
+ @Schema(description = "公钥")
+ private String publicKey;
+
+ /** 到期时间 */
+ @Schema(description = "到期时间")
+ private String expirationTime;
+
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/param/CdkCodeInfoIdParam.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/param/CdkCodeInfoIdParam.java
new file mode 100644
index 0000000..6d0eba6
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/param/CdkCodeInfoIdParam.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkcodeinfo.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+
+/**
+ * 授权码Id参数
+ *
+ * @author lyd
+ * @date 2025/09/26 17:28
+ **/
+@Getter
+@Setter
+public class CdkCodeInfoIdParam {
+
+ /** 授权码id */
+ @Schema(description = "授权码id", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotBlank(message = "cdkId不能为空")
+ private String cdkId;
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/param/CdkCodeInfoPageParam.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/param/CdkCodeInfoPageParam.java
new file mode 100644
index 0000000..8c7012d
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/param/CdkCodeInfoPageParam.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkcodeinfo.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 授权码查询参数
+ *
+ * @author lyd
+ * @date 2025/09/26 17:28
+ **/
+@Getter
+@Setter
+public class CdkCodeInfoPageParam {
+
+ /** 当前页 */
+ @Schema(description = "当前页码")
+ private Integer current;
+
+ /** 每页条数 */
+ @Schema(description = "每页条数")
+ private Integer size;
+
+ /** 排序字段 */
+ @Schema(description = "排序字段,字段驼峰名称,如:userName")
+ private String sortField;
+
+ /** 排序方式 */
+ @Schema(description = "排序方式,升序:ASCEND;降序:DESCEND")
+ private String sortOrder;
+
+ /** 关键词 */
+ @Schema(description = "关键词")
+ private String searchKey;
+
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/service/CdkCodeInfoService.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/service/CdkCodeInfoService.java
new file mode 100644
index 0000000..b9339ad
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/service/CdkCodeInfoService.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkcodeinfo.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import vip.storm.cdk.modular.cdkcodeinfo.entity.CdkCodeInfo;
+import vip.storm.cdk.modular.cdkcodeinfo.param.CdkCodeInfoAddParam;
+import vip.storm.cdk.modular.cdkcodeinfo.param.CdkCodeInfoEditParam;
+import vip.storm.cdk.modular.cdkcodeinfo.param.CdkCodeInfoIdParam;
+import vip.storm.cdk.modular.cdkcodeinfo.param.CdkCodeInfoPageParam;
+
+import java.util.List;
+
+/**
+ * 授权码Service接口
+ *
+ * @author lyd
+ * @date 2025/09/26 17:28
+ **/
+public interface CdkCodeInfoService extends IService {
+
+ /**
+ * 获取授权码分页
+ *
+ * @author lyd
+ * @date 2025/09/26 17:28
+ */
+ Page page(CdkCodeInfoPageParam cdkCodeInfoPageParam);
+
+ /**
+ * 添加授权码
+ *
+ * @author lyd
+ * @date 2025/09/26 17:28
+ */
+ void add(CdkCodeInfoAddParam cdkCodeInfoAddParam);
+
+ /**
+ * 编辑授权码
+ *
+ * @author lyd
+ * @date 2025/09/26 17:28
+ */
+ void edit(CdkCodeInfoEditParam cdkCodeInfoEditParam);
+
+ /**
+ * 删除授权码
+ *
+ * @author lyd
+ * @date 2025/09/26 17:28
+ */
+ void delete(List cdkCodeInfoIdParamList);
+
+ /**
+ * 获取授权码详情
+ *
+ * @author lyd
+ * @date 2025/09/26 17:28
+ */
+ CdkCodeInfo detail(CdkCodeInfoIdParam cdkCodeInfoIdParam);
+
+ /**
+ * 获取授权码详情
+ *
+ * @author lyd
+ * @date 2025/09/26 17:28
+ **/
+ CdkCodeInfo queryEntity(String id);
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/service/impl/CdkCodeInfoServiceImpl.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/service/impl/CdkCodeInfoServiceImpl.java
new file mode 100644
index 0000000..3249e35
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkcodeinfo/service/impl/CdkCodeInfoServiceImpl.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkcodeinfo.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollStreamUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import vip.storm.common.enums.CommonSortOrderEnum;
+import vip.storm.common.exception.CommonException;
+import vip.storm.common.page.CommonPageRequest;
+import vip.storm.cdk.modular.cdkcodeinfo.entity.CdkCodeInfo;
+import vip.storm.cdk.modular.cdkcodeinfo.mapper.CdkCodeInfoMapper;
+import vip.storm.cdk.modular.cdkcodeinfo.param.CdkCodeInfoAddParam;
+import vip.storm.cdk.modular.cdkcodeinfo.param.CdkCodeInfoEditParam;
+import vip.storm.cdk.modular.cdkcodeinfo.param.CdkCodeInfoIdParam;
+import vip.storm.cdk.modular.cdkcodeinfo.param.CdkCodeInfoPageParam;
+import vip.storm.cdk.modular.cdkcodeinfo.service.CdkCodeInfoService;
+
+import java.util.List;
+
+/**
+ * 授权码Service接口实现类
+ *
+ * @author lyd
+ * @date 2025/09/26 17:28
+ **/
+@Service
+public class CdkCodeInfoServiceImpl extends ServiceImpl implements CdkCodeInfoService {
+
+ @Override
+ public Page page(CdkCodeInfoPageParam cdkCodeInfoPageParam) {
+ QueryWrapper queryWrapper = new QueryWrapper().checkSqlInjection();
+ if(ObjectUtil.isAllNotEmpty(cdkCodeInfoPageParam.getSortField(), cdkCodeInfoPageParam.getSortOrder())) {
+ CommonSortOrderEnum.validate(cdkCodeInfoPageParam.getSortOrder());
+ queryWrapper.orderBy(true, cdkCodeInfoPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
+ StrUtil.toUnderlineCase(cdkCodeInfoPageParam.getSortField()));
+ } else {
+ queryWrapper.lambda().orderByAsc(CdkCodeInfo::getCdkId);
+ }
+ return this.page(CommonPageRequest.defaultPage(), queryWrapper);
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ @Override
+ public void add(CdkCodeInfoAddParam cdkCodeInfoAddParam) {
+ CdkCodeInfo cdkCodeInfo = BeanUtil.toBean(cdkCodeInfoAddParam, CdkCodeInfo.class);
+ this.save(cdkCodeInfo);
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ @Override
+ public void edit(CdkCodeInfoEditParam cdkCodeInfoEditParam) {
+ CdkCodeInfo cdkCodeInfo = this.queryEntity(cdkCodeInfoEditParam.getCdkId());
+ BeanUtil.copyProperties(cdkCodeInfoEditParam, cdkCodeInfo);
+ this.updateById(cdkCodeInfo);
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ @Override
+ public void delete(List cdkCodeInfoIdParamList) {
+ // 执行删除
+ this.removeByIds(CollStreamUtil.toList(cdkCodeInfoIdParamList, CdkCodeInfoIdParam::getCdkId));
+ }
+
+ @Override
+ public CdkCodeInfo detail(CdkCodeInfoIdParam cdkCodeInfoIdParam) {
+ return this.queryEntity(cdkCodeInfoIdParam.getCdkId());
+ }
+
+ @Override
+ public CdkCodeInfo queryEntity(String id) {
+ CdkCodeInfo cdkCodeInfo = this.getById(id);
+ if(ObjectUtil.isEmpty(cdkCodeInfo)) {
+ throw new CommonException("授权码不存在,id值为:{}", id);
+ }
+ return cdkCodeInfo;
+ }
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/controller/CdkEncryInfoController.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/controller/CdkEncryInfoController.java
new file mode 100644
index 0000000..5a75efe
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/controller/CdkEncryInfoController.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkencryinfo.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+import vip.storm.cdk.modular.cdkencryinfo.param.*;
+import vip.storm.common.annotation.CommonLog;
+import vip.storm.common.pojo.CommonResult;
+import vip.storm.cdk.modular.cdkencryinfo.entity.CdkEncryInfo;
+import vip.storm.cdk.modular.cdkencryinfo.service.CdkEncryInfoService;
+
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotEmpty;
+import java.util.List;
+
+/**
+ * 密钥信息控制器
+ *
+ * @author lyd
+ * @date 2025/09/26 17:06
+ */
+@Tag(name = "密钥信息控制器")
+@RestController
+@Validated
+public class CdkEncryInfoController {
+
+ @Resource
+ private CdkEncryInfoService cdkEncryInfoService;
+
+ /**
+ * 获取密钥信息分页
+ *
+ * @author lyd
+ * @date 2025/09/26 17:06
+ */
+ @Operation(summary = "获取密钥信息分页")
+ @SaCheckPermission("/cdk/cdkencryinfo/page")
+ @GetMapping("/cdk/cdkencryinfo/page")
+ public CommonResult> page(CdkEncryInfoPageParam cdkEncryInfoPageParam) {
+ return CommonResult.data(cdkEncryInfoService.page(cdkEncryInfoPageParam));
+ }
+
+ /**
+ * 添加密钥信息
+ *
+ * @author lyd
+ * @date 2025/09/26 17:06
+ */
+ @Operation(summary = "添加密钥信息")
+ @CommonLog("添加密钥信息")
+ @SaCheckPermission("/cdk/cdkencryinfo/add")
+ @PostMapping("/cdk/cdkencryinfo/add")
+ public CommonResult add(@RequestBody @Valid CdkEncryInfoAddParam cdkEncryInfoAddParam) {
+ cdkEncryInfoService.add(cdkEncryInfoAddParam);
+ return CommonResult.ok();
+ }
+
+ /**
+ * 编辑密钥信息
+ *
+ * @author lyd
+ * @date 2025/09/26 17:06
+ */
+ @Operation(summary = "编辑密钥信息")
+ @CommonLog("编辑密钥信息")
+ @SaCheckPermission("/cdk/cdkencryinfo/edit")
+ @PostMapping("/cdk/cdkencryinfo/edit")
+ public CommonResult edit(@RequestBody @Valid CdkEncryInfoEditParam cdkEncryInfoEditParam) {
+ cdkEncryInfoService.edit(cdkEncryInfoEditParam);
+ return CommonResult.ok();
+ }
+
+ /**
+ * 删除密钥信息
+ *
+ * @author lyd
+ * @date 2025/09/26 17:06
+ */
+ @Operation(summary = "删除密钥信息")
+ @CommonLog("删除密钥信息")
+ @SaCheckPermission("/cdk/cdkencryinfo/delete")
+ @PostMapping("/cdk/cdkencryinfo/delete")
+ public CommonResult delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
+ List cdkEncryInfoIdParamList) {
+ cdkEncryInfoService.delete(cdkEncryInfoIdParamList);
+ return CommonResult.ok();
+ }
+
+ /**
+ * 获取密钥信息详情
+ *
+ * @author lyd
+ * @date 2025/09/26 17:06
+ */
+ @Operation(summary = "获取密钥信息详情")
+ @SaCheckPermission("/cdk/cdkencryinfo/detail")
+ @GetMapping("/cdk/cdkencryinfo/detail")
+ public CommonResult detail(@Valid CdkEncryInfoIdParam cdkEncryInfoIdParam) {
+ return CommonResult.data(cdkEncryInfoService.detail(cdkEncryInfoIdParam));
+ }
+
+ @Operation(summary = "生成密钥信息")
+ @CommonLog("生成密钥信息")
+ @SaCheckPermission("/cdk/cdkencryinfo/generated")
+ @PostMapping("/cdk/cdkencryinfo/generated")
+ public CommonResult generated(@RequestBody CdkEncryGeneratedParam param) {
+ cdkEncryInfoService.generated(param);
+ return CommonResult.ok();
+ }
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/entity/CdkEncryInfo.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/entity/CdkEncryInfo.java
new file mode 100644
index 0000000..ebe50c6
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/entity/CdkEncryInfo.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkencryinfo.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 密钥信息实体
+ *
+ * @author lyd
+ * @date 2025/09/26 17:06
+ **/
+@Getter
+@Setter
+@TableName("cdk_encry_info")
+public class CdkEncryInfo {
+
+ /** ENCRY_ID */
+ @TableId
+ @Schema(description = "ENCRY_ID")
+ private String encryId;
+
+ /** 私钥 */
+ @Schema(description = "私钥")
+ private String privateKey;
+
+ /** 公钥 */
+ @Schema(description = "公钥")
+ private String publicKey;
+
+ /** 项目 */
+ @Schema(description = "项目")
+ private String projectId;
+
+ /** 加密算法名 */
+ @Schema(description = "加密算法名")
+ private String encryName;
+
+ /** 创建时间 */
+ @Schema(description = "创建时间")
+ @TableField(fill = FieldFill.INSERT)
+ private Date createTime;
+
+ /** 创建用户 */
+ @Schema(description = "创建用户")
+ @TableField(fill = FieldFill.INSERT)
+ private String createUser;
+
+ /** 修改时间 */
+ @Schema(description = "修改时间")
+ @TableField(fill = FieldFill.UPDATE)
+ private Date updateTime;
+
+ /** 修改用户 */
+ @Schema(description = "修改用户")
+ @TableField(fill = FieldFill.UPDATE)
+ private String updateUser;
+
+ /** 删除标志 */
+ @Schema(description = "删除标志")
+ @TableLogic
+ @TableField(fill = FieldFill.INSERT)
+ private String deleteFlag;
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/enums/CdkEncryInfoEnum.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/enums/CdkEncryInfoEnum.java
new file mode 100644
index 0000000..ea2c426
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/enums/CdkEncryInfoEnum.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkencryinfo.enums;
+
+import lombok.Getter;
+
+/**
+ * 密钥信息枚举
+ *
+ * @author lyd
+ * @date 2025/09/26 17:06
+ **/
+@Getter
+public enum CdkEncryInfoEnum {
+
+ /** 测试 */
+ TEST("TEST");
+
+ private final String value;
+
+ CdkEncryInfoEnum(String value) {
+ this.value = value;
+ }
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/mapper/CdkEncryInfoMapper.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/mapper/CdkEncryInfoMapper.java
new file mode 100644
index 0000000..6797a51
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/mapper/CdkEncryInfoMapper.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkencryinfo.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import vip.storm.cdk.modular.cdkencryinfo.entity.CdkEncryInfo;
+
+/**
+ * 密钥信息Mapper接口
+ *
+ * @author lyd
+ * @date 2025/09/26 17:06
+ **/
+public interface CdkEncryInfoMapper extends BaseMapper {
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/mapper/mapping/CdkEncryInfoMapper.xml b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/mapper/mapping/CdkEncryInfoMapper.xml
new file mode 100644
index 0000000..4bcf5af
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/mapper/mapping/CdkEncryInfoMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/param/CdkEncryGeneratedParam.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/param/CdkEncryGeneratedParam.java
new file mode 100644
index 0000000..0f30377
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/param/CdkEncryGeneratedParam.java
@@ -0,0 +1,14 @@
+package vip.storm.cdk.modular.cdkencryinfo.param;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Author: lyd
+ * @Date: 2025/9/26
+ */
+@Data
+public class CdkEncryGeneratedParam implements Serializable {
+ private String projectId;
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/param/CdkEncryInfoAddParam.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/param/CdkEncryInfoAddParam.java
new file mode 100644
index 0000000..93d2dea
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/param/CdkEncryInfoAddParam.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkencryinfo.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 密钥信息添加参数
+ *
+ * @author lyd
+ * @date 2025/09/26 17:06
+ **/
+@Getter
+@Setter
+public class CdkEncryInfoAddParam {
+
+ /** 私钥 */
+ @Schema(description = "私钥")
+ private String privateKey;
+
+ /** 公钥 */
+ @Schema(description = "公钥")
+ private String publicKey;
+
+ /** 项目 */
+ @Schema(description = "项目")
+ private String projectId;
+
+ /** 加密算法名 */
+ @Schema(description = "加密算法名")
+ private String encryName;
+
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/param/CdkEncryInfoEditParam.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/param/CdkEncryInfoEditParam.java
new file mode 100644
index 0000000..b632632
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/param/CdkEncryInfoEditParam.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkencryinfo.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 密钥信息编辑参数
+ *
+ * @author lyd
+ * @date 2025/09/26 17:06
+ **/
+@Getter
+@Setter
+public class CdkEncryInfoEditParam {
+
+ /** ENCRY_ID */
+ @Schema(description = "ENCRY_ID", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotBlank(message = "encryId不能为空")
+ private String encryId;
+
+ /** 私钥 */
+ @Schema(description = "私钥")
+ private String privateKey;
+
+ /** 公钥 */
+ @Schema(description = "公钥")
+ private String publicKey;
+
+ /** 项目 */
+ @Schema(description = "项目")
+ private String projectId;
+
+ /** 加密算法名 */
+ @Schema(description = "加密算法名")
+ private String encryName;
+
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/param/CdkEncryInfoIdParam.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/param/CdkEncryInfoIdParam.java
new file mode 100644
index 0000000..65a2910
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/param/CdkEncryInfoIdParam.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkencryinfo.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+
+/**
+ * 密钥信息Id参数
+ *
+ * @author lyd
+ * @date 2025/09/26 17:06
+ **/
+@Getter
+@Setter
+public class CdkEncryInfoIdParam {
+
+ /** ENCRY_ID */
+ @Schema(description = "ENCRY_ID", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotBlank(message = "encryId不能为空")
+ private String encryId;
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/param/CdkEncryInfoPageParam.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/param/CdkEncryInfoPageParam.java
new file mode 100644
index 0000000..c1048fe
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/param/CdkEncryInfoPageParam.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkencryinfo.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 密钥信息查询参数
+ *
+ * @author lyd
+ * @date 2025/09/26 17:06
+ **/
+@Getter
+@Setter
+public class CdkEncryInfoPageParam {
+
+ /** 当前页 */
+ @Schema(description = "当前页码")
+ private Integer current;
+
+ /** 每页条数 */
+ @Schema(description = "每页条数")
+ private Integer size;
+
+ /** 排序字段 */
+ @Schema(description = "排序字段,字段驼峰名称,如:userName")
+ private String sortField;
+
+ /** 排序方式 */
+ @Schema(description = "排序方式,升序:ASCEND;降序:DESCEND")
+ private String sortOrder;
+
+ /** 关键词 */
+ @Schema(description = "关键词")
+ private String searchKey;
+
+ /** 项目 */
+ @Schema(description = "项目")
+ private String projectId;
+
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/service/CdkEncryInfoService.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/service/CdkEncryInfoService.java
new file mode 100644
index 0000000..7130aed
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/service/CdkEncryInfoService.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkencryinfo.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import vip.storm.cdk.modular.cdkencryinfo.entity.CdkEncryInfo;
+import vip.storm.cdk.modular.cdkencryinfo.param.*;
+
+import java.util.List;
+
+/**
+ * 密钥信息Service接口
+ *
+ * @author lyd
+ * @date 2025/09/26 17:06
+ **/
+public interface CdkEncryInfoService extends IService {
+
+ /**
+ * 获取密钥信息分页
+ *
+ * @author lyd
+ * @date 2025/09/26 17:06
+ */
+ Page page(CdkEncryInfoPageParam cdkEncryInfoPageParam);
+
+ /**
+ * 添加密钥信息
+ *
+ * @author lyd
+ * @date 2025/09/26 17:06
+ */
+ void add(CdkEncryInfoAddParam cdkEncryInfoAddParam);
+
+ /**
+ * 编辑密钥信息
+ *
+ * @author lyd
+ * @date 2025/09/26 17:06
+ */
+ void edit(CdkEncryInfoEditParam cdkEncryInfoEditParam);
+
+ /**
+ * 删除密钥信息
+ *
+ * @author lyd
+ * @date 2025/09/26 17:06
+ */
+ void delete(List cdkEncryInfoIdParamList);
+
+ /**
+ * 获取密钥信息详情
+ *
+ * @author lyd
+ * @date 2025/09/26 17:06
+ */
+ CdkEncryInfo detail(CdkEncryInfoIdParam cdkEncryInfoIdParam);
+
+ /**
+ * 获取密钥信息详情
+ *
+ * @author lyd
+ * @date 2025/09/26 17:06
+ **/
+ CdkEncryInfo queryEntity(String id);
+
+ void generated(CdkEncryGeneratedParam param);
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/service/impl/CdkEncryInfoServiceImpl.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/service/impl/CdkEncryInfoServiceImpl.java
new file mode 100644
index 0000000..9d12c0a
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkencryinfo/service/impl/CdkEncryInfoServiceImpl.java
@@ -0,0 +1,116 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkencryinfo.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollStreamUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import vip.storm.cdk.core.KeyGeneratedManager;
+import vip.storm.cdk.modular.cdkencryinfo.param.*;
+import vip.storm.common.enums.CommonSortOrderEnum;
+import vip.storm.common.exception.CommonException;
+import vip.storm.common.page.CommonPageRequest;
+import vip.storm.cdk.modular.cdkencryinfo.entity.CdkEncryInfo;
+import vip.storm.cdk.modular.cdkencryinfo.mapper.CdkEncryInfoMapper;
+import vip.storm.cdk.modular.cdkencryinfo.service.CdkEncryInfoService;
+
+import java.util.List;
+
+/**
+ * 密钥信息Service接口实现类
+ *
+ * @author lyd
+ * @date 2025/09/26 17:06
+ **/
+@Service
+public class CdkEncryInfoServiceImpl extends ServiceImpl implements CdkEncryInfoService {
+
+ @Override
+ public Page page(CdkEncryInfoPageParam cdkEncryInfoPageParam) {
+ QueryWrapper queryWrapper = new QueryWrapper().checkSqlInjection();
+ if(ObjectUtil.isNotEmpty(cdkEncryInfoPageParam.getProjectId())) {
+ queryWrapper.lambda().like(CdkEncryInfo::getProjectId, cdkEncryInfoPageParam.getProjectId());
+ }
+ if(ObjectUtil.isAllNotEmpty(cdkEncryInfoPageParam.getSortField(), cdkEncryInfoPageParam.getSortOrder())) {
+ CommonSortOrderEnum.validate(cdkEncryInfoPageParam.getSortOrder());
+ queryWrapper.orderBy(true, cdkEncryInfoPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
+ StrUtil.toUnderlineCase(cdkEncryInfoPageParam.getSortField()));
+ } else {
+ queryWrapper.lambda().orderByAsc(CdkEncryInfo::getEncryId);
+ }
+ return this.page(CommonPageRequest.defaultPage(), queryWrapper);
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ @Override
+ public void add(CdkEncryInfoAddParam cdkEncryInfoAddParam) {
+ CdkEncryInfo cdkEncryInfo = BeanUtil.toBean(cdkEncryInfoAddParam, CdkEncryInfo.class);
+ this.save(cdkEncryInfo);
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ @Override
+ public void edit(CdkEncryInfoEditParam cdkEncryInfoEditParam) {
+ CdkEncryInfo cdkEncryInfo = this.queryEntity(cdkEncryInfoEditParam.getEncryId());
+ BeanUtil.copyProperties(cdkEncryInfoEditParam, cdkEncryInfo);
+ this.updateById(cdkEncryInfo);
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ @Override
+ public void delete(List cdkEncryInfoIdParamList) {
+ // 执行删除
+ this.removeByIds(CollStreamUtil.toList(cdkEncryInfoIdParamList, CdkEncryInfoIdParam::getEncryId));
+ }
+
+ @Override
+ public CdkEncryInfo detail(CdkEncryInfoIdParam cdkEncryInfoIdParam) {
+ return this.queryEntity(cdkEncryInfoIdParam.getEncryId());
+ }
+
+ @Override
+ public CdkEncryInfo queryEntity(String id) {
+ CdkEncryInfo cdkEncryInfo = this.getById(id);
+ if(ObjectUtil.isEmpty(cdkEncryInfo)) {
+ throw new CommonException("密钥信息不存在,id值为:{}", id);
+ }
+ return cdkEncryInfo;
+ }
+
+ @Override
+ public void generated(CdkEncryGeneratedParam param) {
+ // 生成密钥
+ // 判断是否有存在的密钥信息
+ LambdaQueryWrapper lam = new QueryWrapper().lambda();
+ lam.eq(CdkEncryInfo::getProjectId, param.getProjectId());
+ List encryInfos = this.list(lam);
+ if (encryInfos.size() > 0) {
+ throw new CommonException("密钥已存在,请先删除后在创建!");
+ }
+ // 生成密钥
+ KeyGeneratedManager keyGeneratedManager = new KeyGeneratedManager("RSA");
+ CdkEncryInfoAddParam encryParam = new CdkEncryInfoAddParam();
+ encryParam.setProjectId(param.getProjectId());
+ encryParam.setEncryName("RSA");
+ encryParam.setPublicKey(keyGeneratedManager.getPublicKey());
+ encryParam.setPrivateKey(keyGeneratedManager.getPrivateKey());
+ this.add(encryParam);
+ }
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/controller/CdkProjectController.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/controller/CdkProjectController.java
new file mode 100644
index 0000000..c146cb9
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/controller/CdkProjectController.java
@@ -0,0 +1,133 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkproject.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+import vip.storm.common.annotation.CommonLog;
+import vip.storm.common.pojo.CommonResult;
+import vip.storm.cdk.modular.cdkproject.entity.CdkProject;
+import vip.storm.cdk.modular.cdkproject.param.CdkProjectAddParam;
+import vip.storm.cdk.modular.cdkproject.param.CdkProjectEditParam;
+import vip.storm.cdk.modular.cdkproject.param.CdkProjectIdParam;
+import vip.storm.cdk.modular.cdkproject.param.CdkProjectPageParam;
+import vip.storm.cdk.modular.cdkproject.service.CdkProjectService;
+
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotEmpty;
+import vip.storm.common.pojo.CommonSelect;
+
+import java.util.List;
+
+/**
+ * 项目表控制器
+ *
+ * @author lyd
+ * @date 2025/09/26 15:38
+ */
+@Tag(name = "项目表控制器")
+@RestController
+@Validated
+public class CdkProjectController {
+
+ @Resource
+ private CdkProjectService cdkProjectService;
+
+ /**
+ * 获取项目表分页
+ *
+ * @author lyd
+ * @date 2025/09/26 15:38
+ */
+ @Operation(summary = "获取项目表分页")
+ @SaCheckPermission("/cdk/CdkProject/page")
+ @GetMapping("/cdk/CdkProject/page")
+ public CommonResult> page(CdkProjectPageParam cdkProjectPageParam) {
+ return CommonResult.data(cdkProjectService.page(cdkProjectPageParam));
+ }
+
+ /**
+ * 添加项目表
+ *
+ * @author lyd
+ * @date 2025/09/26 15:38
+ */
+ @Operation(summary = "添加项目表")
+ @CommonLog("添加项目表")
+ @SaCheckPermission("/cdk/CdkProject/add")
+ @PostMapping("/cdk/CdkProject/add")
+ public CommonResult add(@RequestBody @Valid CdkProjectAddParam cdkProjectAddParam) {
+ cdkProjectService.add(cdkProjectAddParam);
+ return CommonResult.ok();
+ }
+
+ /**
+ * 编辑项目表
+ *
+ * @author lyd
+ * @date 2025/09/26 15:38
+ */
+ @Operation(summary = "编辑项目表")
+ @CommonLog("编辑项目表")
+ @SaCheckPermission("/cdk/CdkProject/edit")
+ @PostMapping("/cdk/CdkProject/edit")
+ public CommonResult edit(@RequestBody @Valid CdkProjectEditParam cdkProjectEditParam) {
+ cdkProjectService.edit(cdkProjectEditParam);
+ return CommonResult.ok();
+ }
+
+ /**
+ * 删除项目表
+ *
+ * @author lyd
+ * @date 2025/09/26 15:38
+ */
+ @Operation(summary = "删除项目表")
+ @CommonLog("删除项目表")
+ @SaCheckPermission("/cdk/CdkProject/delete")
+ @PostMapping("/cdk/CdkProject/delete")
+ public CommonResult delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
+ List cdkProjectIdParamList) {
+ cdkProjectService.delete(cdkProjectIdParamList);
+ return CommonResult.ok();
+ }
+
+ /**
+ * 获取项目表详情
+ *
+ * @author lyd
+ * @date 2025/09/26 15:38
+ */
+ @Operation(summary = "获取项目表详情")
+ @SaCheckPermission("/cdk/CdkProject/detail")
+ @GetMapping("/cdk/CdkProject/detail")
+ public CommonResult detail(@Valid CdkProjectIdParam cdkProjectIdParam) {
+ return CommonResult.data(cdkProjectService.detail(cdkProjectIdParam));
+ }
+
+
+ @Operation(summary = "获取项目表分页")
+// @SaCheckPermission("/cdk/CdkProject/project-list")
+ @GetMapping("/cdk/CdkProject/project-list")
+ public CommonResult> projectList() {
+ return CommonResult.data(cdkProjectService.projectList());
+ }
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/entity/CdkProject.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/entity/CdkProject.java
new file mode 100644
index 0000000..1025d41
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/entity/CdkProject.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkproject.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * 项目表实体
+ *
+ * @author lyd
+ * @date 2025/09/26 15:38
+ **/
+@Getter
+@Setter
+@TableName("cdk_project")
+public class CdkProject {
+
+ /** 项目id */
+ @TableId
+ @Schema(description = "项目id")
+ private String projectId;
+
+ /** 项目编码 */
+ @Schema(description = "项目编码")
+ private String projectCode;
+
+ /** 项目名称 */
+ @Schema(description = "项目名称")
+ private String projectName;
+
+ /** 创建时间 */
+ @Schema(description = "创建时间")
+ @TableField(fill = FieldFill.INSERT)
+ private Date createTime;
+
+ /** 创建用户 */
+ @Schema(description = "创建用户")
+ @TableField(fill = FieldFill.INSERT)
+ private String createUser;
+
+ /** 修改时间 */
+ @Schema(description = "修改时间")
+ @TableField(fill = FieldFill.UPDATE)
+ private Date updateTime;
+
+ /** 修改用户 */
+ @Schema(description = "修改用户")
+ @TableField(fill = FieldFill.UPDATE)
+ private String updateUser;
+
+ /** 删除标志 */
+ @Schema(description = "删除标志")
+ @TableLogic
+ @TableField(fill = FieldFill.INSERT)
+ private String deleteFlag;
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/enums/CdkProjectEnum.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/enums/CdkProjectEnum.java
new file mode 100644
index 0000000..623a974
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/enums/CdkProjectEnum.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkproject.enums;
+
+import lombok.Getter;
+
+/**
+ * 项目表枚举
+ *
+ * @author lyd
+ * @date 2025/09/26 15:38
+ **/
+@Getter
+public enum CdkProjectEnum {
+
+ /** 测试 */
+ TEST("TEST");
+
+ private final String value;
+
+ CdkProjectEnum(String value) {
+ this.value = value;
+ }
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/mapper/CdkProjectMapper.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/mapper/CdkProjectMapper.java
new file mode 100644
index 0000000..f7c81d6
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/mapper/CdkProjectMapper.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkproject.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import vip.storm.cdk.modular.cdkproject.entity.CdkProject;
+
+/**
+ * 项目表Mapper接口
+ *
+ * @author lyd
+ * @date 2025/09/26 15:38
+ **/
+public interface CdkProjectMapper extends BaseMapper {
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/mapper/mapping/CdkProjectMapper.xml b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/mapper/mapping/CdkProjectMapper.xml
new file mode 100644
index 0000000..fa8726c
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/mapper/mapping/CdkProjectMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/param/CdkProjectAddParam.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/param/CdkProjectAddParam.java
new file mode 100644
index 0000000..4ccdb7d
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/param/CdkProjectAddParam.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkproject.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 项目表添加参数
+ *
+ * @author lyd
+ * @date 2025/09/26 15:38
+ **/
+@Getter
+@Setter
+public class CdkProjectAddParam {
+
+ /** 项目编码 */
+ @Schema(description = "项目编码")
+ private String projectCode;
+
+ /** 项目名称 */
+ @Schema(description = "项目名称")
+ private String projectName;
+
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/param/CdkProjectEditParam.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/param/CdkProjectEditParam.java
new file mode 100644
index 0000000..1e8c910
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/param/CdkProjectEditParam.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkproject.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+
+/**
+ * 项目表编辑参数
+ *
+ * @author lyd
+ * @date 2025/09/26 15:38
+ **/
+@Getter
+@Setter
+public class CdkProjectEditParam {
+
+ /** 项目id */
+ @Schema(description = "项目id", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotBlank(message = "projectId不能为空")
+ private String projectId;
+
+ /** 项目编码 */
+ @Schema(description = "项目编码")
+ private String projectCode;
+
+ /** 项目名称 */
+ @Schema(description = "项目名称")
+ private String projectName;
+
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/param/CdkProjectIdParam.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/param/CdkProjectIdParam.java
new file mode 100644
index 0000000..dba8445
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/param/CdkProjectIdParam.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkproject.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+
+/**
+ * 项目表Id参数
+ *
+ * @author lyd
+ * @date 2025/09/26 15:38
+ **/
+@Getter
+@Setter
+public class CdkProjectIdParam {
+
+ /** 项目id */
+ @Schema(description = "项目id", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotBlank(message = "projectId不能为空")
+ private String projectId;
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/param/CdkProjectPageParam.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/param/CdkProjectPageParam.java
new file mode 100644
index 0000000..42137f6
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/param/CdkProjectPageParam.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkproject.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 项目表查询参数
+ *
+ * @author lyd
+ * @date 2025/09/26 15:38
+ **/
+@Getter
+@Setter
+public class CdkProjectPageParam {
+
+ /** 当前页 */
+ @Schema(description = "当前页码")
+ private Integer current;
+
+ /** 每页条数 */
+ @Schema(description = "每页条数")
+ private Integer size;
+
+ /** 排序字段 */
+ @Schema(description = "排序字段,字段驼峰名称,如:userName")
+ private String sortField;
+
+ /** 排序方式 */
+ @Schema(description = "排序方式,升序:ASCEND;降序:DESCEND")
+ private String sortOrder;
+
+ /** 关键词 */
+ @Schema(description = "关键词")
+ private String searchKey;
+
+ /** 项目编码 */
+ @Schema(description = "项目编码")
+ private String projectCode;
+
+ /** 项目名称 */
+ @Schema(description = "项目名称")
+ private String projectName;
+
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/service/CdkProjectService.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/service/CdkProjectService.java
new file mode 100644
index 0000000..a756b70
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/service/CdkProjectService.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkproject.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import vip.storm.cdk.modular.cdkproject.entity.CdkProject;
+import vip.storm.cdk.modular.cdkproject.param.CdkProjectAddParam;
+import vip.storm.cdk.modular.cdkproject.param.CdkProjectEditParam;
+import vip.storm.cdk.modular.cdkproject.param.CdkProjectIdParam;
+import vip.storm.cdk.modular.cdkproject.param.CdkProjectPageParam;
+import vip.storm.common.pojo.CommonSelect;
+
+import java.util.List;
+
+/**
+ * 项目表Service接口
+ *
+ * @author lyd
+ * @date 2025/09/26 15:38
+ **/
+public interface CdkProjectService extends IService {
+
+ /**
+ * 获取项目表分页
+ *
+ * @author lyd
+ * @date 2025/09/26 15:38
+ */
+ Page page(CdkProjectPageParam cdkProjectPageParam);
+
+ /**
+ * 添加项目表
+ *
+ * @author lyd
+ * @date 2025/09/26 15:38
+ */
+ void add(CdkProjectAddParam cdkProjectAddParam);
+
+ /**
+ * 编辑项目表
+ *
+ * @author lyd
+ * @date 2025/09/26 15:38
+ */
+ void edit(CdkProjectEditParam cdkProjectEditParam);
+
+ /**
+ * 删除项目表
+ *
+ * @author lyd
+ * @date 2025/09/26 15:38
+ */
+ void delete(List cdkProjectIdParamList);
+
+ /**
+ * 获取项目表详情
+ *
+ * @author lyd
+ * @date 2025/09/26 15:38
+ */
+ CdkProject detail(CdkProjectIdParam cdkProjectIdParam);
+
+ /**
+ * 获取项目表详情
+ *
+ * @author lyd
+ * @date 2025/09/26 15:38
+ **/
+ CdkProject queryEntity(String id);
+
+ List projectList();
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/service/impl/CdkProjectServiceImpl.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/service/impl/CdkProjectServiceImpl.java
new file mode 100644
index 0000000..48170b8
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/modular/cdkproject/service/impl/CdkProjectServiceImpl.java
@@ -0,0 +1,116 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.storm.cdk.modular.cdkproject.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollStreamUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import vip.storm.common.enums.CommonSortOrderEnum;
+import vip.storm.common.exception.CommonException;
+import vip.storm.common.page.CommonPageRequest;
+import vip.storm.cdk.modular.cdkproject.entity.CdkProject;
+import vip.storm.cdk.modular.cdkproject.mapper.CdkProjectMapper;
+import vip.storm.cdk.modular.cdkproject.param.CdkProjectAddParam;
+import vip.storm.cdk.modular.cdkproject.param.CdkProjectEditParam;
+import vip.storm.cdk.modular.cdkproject.param.CdkProjectIdParam;
+import vip.storm.cdk.modular.cdkproject.param.CdkProjectPageParam;
+import vip.storm.cdk.modular.cdkproject.service.CdkProjectService;
+import vip.storm.common.pojo.CommonSelect;
+import vip.storm.common.util.CommonCollectionUtil;
+
+import java.util.List;
+
+/**
+ * 项目表Service接口实现类
+ *
+ * @author lyd
+ * @date 2025/09/26 15:38
+ **/
+@Service
+public class CdkProjectServiceImpl extends ServiceImpl implements CdkProjectService {
+
+ @Override
+ public Page page(CdkProjectPageParam cdkProjectPageParam) {
+ QueryWrapper queryWrapper = new QueryWrapper().checkSqlInjection();
+ if(ObjectUtil.isNotEmpty(cdkProjectPageParam.getProjectCode())) {
+ queryWrapper.lambda().like(CdkProject::getProjectCode, cdkProjectPageParam.getProjectCode());
+ }
+ if(ObjectUtil.isNotEmpty(cdkProjectPageParam.getProjectName())) {
+ queryWrapper.lambda().like(CdkProject::getProjectName, cdkProjectPageParam.getProjectName());
+ }
+ if(ObjectUtil.isAllNotEmpty(cdkProjectPageParam.getSortField(), cdkProjectPageParam.getSortOrder())) {
+ CommonSortOrderEnum.validate(cdkProjectPageParam.getSortOrder());
+ queryWrapper.orderBy(true, cdkProjectPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
+ StrUtil.toUnderlineCase(cdkProjectPageParam.getSortField()));
+ } else {
+ queryWrapper.lambda().orderByAsc(CdkProject::getProjectId);
+ }
+ return this.page(CommonPageRequest.defaultPage(), queryWrapper);
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ @Override
+ public void add(CdkProjectAddParam cdkProjectAddParam) {
+ // 判断未删除的语言包是否存在
+
+ CdkProject cdkProject = BeanUtil.toBean(cdkProjectAddParam, CdkProject.class);
+ this.save(cdkProject);
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ @Override
+ public void edit(CdkProjectEditParam cdkProjectEditParam) {
+ CdkProject cdkProject = this.queryEntity(cdkProjectEditParam.getProjectId());
+ BeanUtil.copyProperties(cdkProjectEditParam, cdkProject);
+ this.updateById(cdkProject);
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ @Override
+ public void delete(List cdkProjectIdParamList) {
+ // 执行删除
+ this.removeByIds(CollStreamUtil.toList(cdkProjectIdParamList, CdkProjectIdParam::getProjectId));
+ }
+
+ @Override
+ public CdkProject detail(CdkProjectIdParam cdkProjectIdParam) {
+ return this.queryEntity(cdkProjectIdParam.getProjectId());
+ }
+
+ @Override
+ public CdkProject queryEntity(String id) {
+ CdkProject cdkProject = this.getById(id);
+ if(ObjectUtil.isEmpty(cdkProject)) {
+ throw new CommonException("项目表不存在,id值为:{}", id);
+ }
+ return cdkProject;
+ }
+
+ @Override
+ public List projectList() {
+ List list = this.list();
+ return CommonCollectionUtil.mapList(list, p -> {
+ CommonSelect commonSelect = new CommonSelect();
+ commonSelect.setLabel(p.getProjectName());
+ commonSelect.setValue(p.getProjectId());
+ return commonSelect;
+ });
+ }
+}
diff --git a/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/package-info.java b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/package-info.java
new file mode 100644
index 0000000..756ebf8
--- /dev/null
+++ b/storm-plugin/storm-plugin-cdk/src/main/java/vip/storm/cdk/package-info.java
@@ -0,0 +1,6 @@
+/**
+ * cdk模块代码
+ * @Author: lyd
+ * @Date: 2025/9/26
+ */
+package vip.storm.cdk;
diff --git a/storm-plugin/storm-plugin-inter/pom.xml b/storm-plugin/storm-plugin-inter/pom.xml
new file mode 100644
index 0000000..cd657a9
--- /dev/null
+++ b/storm-plugin/storm-plugin-inter/pom.xml
@@ -0,0 +1,40 @@
+
+
+ 4.0.0
+
+ vip.storm
+ storm-plugin
+ 3.0.0
+
+
+ storm-plugin-inter
+ jar
+ 语言包模块
+
+
+
+ vip.storm
+ storm-plugin-inter-api
+
+
+
+ vip.storm
+ storm-plugin-auth-api
+
+
+
+
+ vip.storm
+ storm-plugin-sys-api
+
+
+
+
+ vip.storm
+ storm-plugin-dev-api
+
+
+
+
diff --git a/storm-plugin/storm-plugin-inter/src/main/java/vip/storm/inter/core/EnhancedJsonFlattener.java b/storm-plugin/storm-plugin-inter/src/main/java/vip/storm/inter/core/EnhancedJsonFlattener.java
new file mode 100644
index 0000000..7ca013b
--- /dev/null
+++ b/storm-plugin/storm-plugin-inter/src/main/java/vip/storm/inter/core/EnhancedJsonFlattener.java
@@ -0,0 +1,46 @@
+package vip.storm.inter.core;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author: lyd
+ * @Date: 2025/9/30
+ */
+public class EnhancedJsonFlattener {
+
+ public static List
+
+
+ vip.storm
+ storm-plugin-cdk
+
+
+ vip.storm
+ storm-plugin-inter
+
diff --git a/storm-web-app/src/main/resources/application.properties b/storm-web-app/src/main/resources/application.properties
index 1238898..1994625 100644
--- a/storm-web-app/src/main/resources/application.properties
+++ b/storm-web-app/src/main/resources/application.properties
@@ -27,7 +27,7 @@ spring.servlet.multipart.max-file-size=100MB
# mysql
spring.datasource.dynamic.datasource.master.driver-class-name=com.mysql.cj.jdbc.Driver
-spring.datasource.dynamic.datasource.master.url=jdbc:mysql://localhost:3306/snowys?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&useInformationSchema=true&rewriteBatchedStatements=true
+spring.datasource.dynamic.datasource.master.url=jdbc:mysql://localhost:3306/authcode?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&useInformationSchema=true&rewriteBatchedStatements=true
spring.datasource.dynamic.datasource.master.username=root
spring.datasource.dynamic.datasource.master.password=12356
spring.datasource.dynamic.strict=true
diff --git a/storm-web-app/src/test/java/vip/storm/MainTest.java b/storm-web-app/src/test/java/vip/storm/MainTest.java
index b9bdb22..d62d329 100644
--- a/storm-web-app/src/test/java/vip/storm/MainTest.java
+++ b/storm-web-app/src/test/java/vip/storm/MainTest.java
@@ -12,10 +12,13 @@
*/
package vip.storm;
+import jakarta.annotation.Resource;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
+import vip.storm.inter.modular.projectlang.param.InterProjectParam;
+import vip.storm.inter.modular.projectlang.service.InterProjectLangService;
/**
* 主测试类
@@ -27,8 +30,13 @@ import org.springframework.test.context.junit4.SpringRunner;
@SpringBootTest(classes = Application.class)
public class MainTest {
+ @Resource
+ private InterProjectLangService interProjectLangService;
+
@Test
public void test() {
-
+ InterProjectParam interProjectParam = new InterProjectParam();
+ interProjectParam.setProjectId("1971495116232785921");
+ interProjectLangService.editData(interProjectParam);
}
}