diff --git a/deployment.yaml b/deployment.yaml index b6f14499..f2e31e3e 100644 --- a/deployment.yaml +++ b/deployment.yaml @@ -1,35 +1,57 @@ -# zt-gateway -apiVersion: apps/v1 -kind: Deployment -metadata: - namespace: ns-f16a3067ca7b434aad127d15eac82503 - name: zt-gateway - labels: - app: zt-gateway -spec: - replicas: 1 - selector: - matchLabels: - app: zt-gateway - template: - metadata: - labels: - app: zt-gateway - spec: - containers: - - name: zt-gateway - image: 172.16.46.66:10043/zt/zt-gateway:VERSION_PLACEHOLDER - imagePullPolicy: Always - env: - - name: TZ - value: Asia/Shanghai - ports: - - containerPort: 48080 ---- +## zt-gateway +#apiVersion: apps/v1 +#kind: Deployment +#metadata: +# namespace: ns-d6a0e78ebd674c279614498e4c57b133 +# name: zt-gateway +# labels: +# app: zt-gateway +#spec: +# replicas: 1 +# selector: +# matchLabels: +# app: zt-gateway +# template: +# metadata: +# labels: +# app: zt-gateway +# spec: +# containers: +# - name: zt-gateway +# image: 172.16.46.66:10043/zt/zt-gateway:VERSION_PLACEHOLDER +# imagePullPolicy: Always +# env: +# - name: TZ +# value: Asia/Shanghai +# ports: +# - containerPort: 48080 +# readinessProbe: +# httpGet: +# path: /actuator/health +# port: 48080 +# initialDelaySeconds: 50 +# periodSeconds: 5 +# failureThreshold: 3 +# livenessProbe: +# httpGet: +# path: /actuator/health +# port: 48080 +# initialDelaySeconds: 50 +# periodSeconds: 10 +# failureThreshold: 5 +# resources: +# requests: +# cpu: "500m" +# memory: "1024Mi" +# limits: +# cpu: "1024m" +# memory: "2048Mi" +# terminationGracePeriodSeconds: 30 +#--- apiVersion: v1 kind: Service metadata: - namespace: ns-f16a3067ca7b434aad127d15eac82503 + namespace: ns-d6a0e78ebd674c279614498e4c57b133 name: zt-gateway spec: type: NodePort @@ -45,7 +67,7 @@ spec: apiVersion: apps/v1 kind: Deployment metadata: - namespace: ns-f16a3067ca7b434aad127d15eac82503 + namespace: ns-d6a0e78ebd674c279614498e4c57b133 name: zt-module-infra labels: app: zt-module-infra @@ -54,7 +76,7 @@ metadata: description: DESC_PLACEHOLDER rollout.kubernetes.io/change-cause: "DESC_PLACEHOLDER:VERSION_PLACEHOLDER" spec: - replicas: 1 + replicas: 2 selector: matchLabels: app: zt-module-infra @@ -63,6 +85,11 @@ spec: labels: app: zt-module-infra spec: + dnsPolicy: None + dnsConfig: + nameservers: + - "172.16.36.16" + - "172.16.36.220" containers: - name: zt-module-infra image: 172.16.46.66:10043/zt/zt-module-infra:VERSION_PLACEHOLDER @@ -74,16 +101,23 @@ spec: httpGet: path: /actuator/health port: 48082 - initialDelaySeconds: 10 + initialDelaySeconds: 50 periodSeconds: 5 failureThreshold: 3 livenessProbe: httpGet: path: /actuator/health port: 48082 - initialDelaySeconds: 30 + initialDelaySeconds: 50 periodSeconds: 10 failureThreshold: 5 + resources: + requests: + cpu: "500m" + memory: "1024Mi" + limits: + cpu: "1024m" + memory: "2048Mi" terminationGracePeriodSeconds: 30 strategy: type: RollingUpdate @@ -94,22 +128,23 @@ spec: apiVersion: v1 kind: Service metadata: - namespace: ns-f16a3067ca7b434aad127d15eac82503 + namespace: ns-d6a0e78ebd674c279614498e4c57b133 name: zt-module-infra spec: - type: ClusterIP + type: NodePort selector: app: zt-module-infra ports: - protocol: TCP port: 48082 targetPort: 48082 + nodePort: 30092 --- # zt-module-system apiVersion: apps/v1 kind: Deployment metadata: - namespace: ns-f16a3067ca7b434aad127d15eac82503 + namespace: ns-d6a0e78ebd674c279614498e4c57b133 name: zt-module-system labels: app: zt-module-system @@ -127,6 +162,20 @@ spec: labels: app: zt-module-system spec: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/hostname + operator: In + values: + - node-3 + dnsPolicy: None + dnsConfig: + nameservers: + - "172.16.36.16" + - "172.16.36.220" containers: - name: zt-module-system image: 172.16.46.66:10043/zt/zt-module-system:VERSION_PLACEHOLDER @@ -138,16 +187,23 @@ spec: httpGet: path: /actuator/health port: 48081 - initialDelaySeconds: 10 + initialDelaySeconds: 50 periodSeconds: 5 failureThreshold: 3 livenessProbe: httpGet: path: /actuator/health port: 48081 - initialDelaySeconds: 30 + initialDelaySeconds: 50 periodSeconds: 10 failureThreshold: 5 + resources: + requests: + cpu: "500m" + memory: "1024Mi" + limits: + cpu: "1024m" + memory: "2048Mi" terminationGracePeriodSeconds: 30 strategy: type: RollingUpdate @@ -158,150 +214,167 @@ spec: apiVersion: v1 kind: Service metadata: - namespace: ns-f16a3067ca7b434aad127d15eac82503 + namespace: ns-d6a0e78ebd674c279614498e4c57b133 name: zt-module-system spec: - type: ClusterIP + type: NodePort selector: app: zt-module-system ports: - protocol: TCP port: 48081 targetPort: 48081 + nodePort: 30091 --- # zt-module-bpm -apiVersion: apps/v1 -kind: Deployment -metadata: - namespace: ns-f16a3067ca7b434aad127d15eac82503 - name: zt-module-bpm - labels: - app: zt-module-bpm - annotations: - version: "VERSION_PLACEHOLDER" - description: DESC_PLACEHOLDER - rollout.kubernetes.io/change-cause: "DESC_PLACEHOLDER:VERSION_PLACEHOLDER" -spec: - replicas: 1 - selector: - matchLabels: - app: zt-module-bpm - template: - metadata: - labels: - app: zt-module-bpm - spec: - containers: - - name: zt-module-bpm - image: 172.16.46.66:10043/zt/zt-module-bpm:VERSION_PLACEHOLDER - imagePullPolicy: Always - env: - - name: TZ - value: Asia/Shanghai - readinessProbe: - httpGet: - path: /actuator/health - port: 48083 - initialDelaySeconds: 10 - periodSeconds: 5 - failureThreshold: 3 - livenessProbe: - httpGet: - path: /actuator/health - port: 48083 - initialDelaySeconds: 30 - periodSeconds: 10 - failureThreshold: 5 - terminationGracePeriodSeconds: 30 - strategy: - type: RollingUpdate - rollingUpdate: - maxSurge: 1 - maxUnavailable: 0 ---- -apiVersion: v1 -kind: Service -metadata: - namespace: ns-f16a3067ca7b434aad127d15eac82503 - name: zt-module-bpm -spec: - type: ClusterIP - selector: - app: zt-module-bpm - ports: - - protocol: TCP - port: 48083 - targetPort: 48083 +#apiVersion: apps/v1 +#kind: Deployment +#metadata: +# namespace: ns-d6a0e78ebd674c279614498e4c57b133 +# name: zt-module-bpm +# labels: +# app: zt-module-bpm +# annotations: +# version: "VERSION_PLACEHOLDER" +# description: DESC_PLACEHOLDER +# rollout.kubernetes.io/change-cause: "DESC_PLACEHOLDER:VERSION_PLACEHOLDER" +#spec: +# replicas: 1 +# selector: +# matchLabels: +# app: zt-module-bpm +# template: +# metadata: +# labels: +# app: zt-module-bpm +# spec: +# containers: +# - name: zt-module-bpm +# image: 172.16.46.66:10043/zt/zt-module-bpm:VERSION_PLACEHOLDER +# imagePullPolicy: Always +# env: +# - name: TZ +# value: Asia/Shanghai +# readinessProbe: +# httpGet: +# path: /actuator/health +# port: 48083 +# initialDelaySeconds: 50 +# periodSeconds: 5 +# failureThreshold: 3 +# livenessProbe: +# httpGet: +# path: /actuator/health +# port: 48083 +# initialDelaySeconds: 50 +# periodSeconds: 10 +# failureThreshold: 5 +# resources: +# requests: +# cpu: "500m" +# memory: "1024Mi" +# limits: +# cpu: "2048m" +# memory: "2048Mi" +# terminationGracePeriodSeconds: 30 +# strategy: +# type: RollingUpdate +# rollingUpdate: +# maxSurge: 1 +# maxUnavailable: 0 +#--- +#apiVersion: v1 +#kind: Service +#metadata: +# namespace: ns-d6a0e78ebd674c279614498e4c57b133 +# name: zt-module-bpm +#spec: +# type: NodePort +# selector: +# app: zt-module-bpm +# ports: +# - protocol: TCP +# port: 48083 +# targetPort: 48083 +# nodePort: 30093 --- # zt-module-report -apiVersion: apps/v1 -kind: Deployment -metadata: - namespace: ns-f16a3067ca7b434aad127d15eac82503 - name: zt-module-report - labels: - app: zt-module-report - annotations: - version: "VERSION_PLACEHOLDER" - description: DESC_PLACEHOLDER - rollout.kubernetes.io/change-cause: "DESC_PLACEHOLDER:VERSION_PLACEHOLDER" -spec: - replicas: 1 - selector: - matchLabels: - app: zt-module-report - template: - metadata: - labels: - app: zt-module-report - spec: - containers: - - name: zt-module-report - image: 172.16.46.66:10043/zt/zt-module-report:VERSION_PLACEHOLDER - imagePullPolicy: Always - env: - - name: TZ - value: Asia/Shanghai - readinessProbe: - httpGet: - path: /actuator/health - port: 48084 - initialDelaySeconds: 10 - periodSeconds: 5 - failureThreshold: 3 - livenessProbe: - httpGet: - path: /actuator/health - port: 48084 - initialDelaySeconds: 30 - periodSeconds: 10 - failureThreshold: 5 - terminationGracePeriodSeconds: 30 - strategy: - type: RollingUpdate - rollingUpdate: - maxSurge: 1 - maxUnavailable: 0 ---- -apiVersion: v1 -kind: Service -metadata: - namespace: ns-f16a3067ca7b434aad127d15eac82503 - name: zt-module-report -spec: - type: ClusterIP - selector: - app: zt-module-report - ports: - - protocol: TCP - port: 48084 - targetPort: 48084 +#apiVersion: apps/v1 +#kind: Deployment +#metadata: +# namespace: ns-d6a0e78ebd674c279614498e4c57b133 +# name: zt-module-report +# labels: +# app: zt-module-report +# annotations: +# version: "VERSION_PLACEHOLDER" +# description: DESC_PLACEHOLDER +# rollout.kubernetes.io/change-cause: "DESC_PLACEHOLDER:VERSION_PLACEHOLDER" +#spec: +# replicas: 1 +# selector: +# matchLabels: +# app: zt-module-report +# template: +# metadata: +# labels: +# app: zt-module-report +# spec: +# containers: +# - name: zt-module-report +# image: 172.16.46.66:10043/zt/zt-module-report:VERSION_PLACEHOLDER +# imagePullPolicy: Always +# env: +# - name: TZ +# value: Asia/Shanghai +# readinessProbe: +# httpGet: +# path: /actuator/health +# port: 48084 +# initialDelaySeconds: 50 +# periodSeconds: 5 +# failureThreshold: 3 +# livenessProbe: +# httpGet: +# path: /actuator/health +# port: 48084 +# initialDelaySeconds: 50 +# periodSeconds: 10 +# failureThreshold: 5 +# resources: +# requests: +# cpu: "500m" +# memory: "1024Mi" +# limits: +# cpu: "2048m" +# memory: "2048Mi" +# terminationGracePeriodSeconds: 30 +# strategy: +# type: RollingUpdate +# rollingUpdate: +# maxSurge: 1 +# maxUnavailable: 0 +#--- +#apiVersion: v1 +#kind: Service +#metadata: +# namespace: ns-d6a0e78ebd674c279614498e4c57b133 +# name: zt-module-report +#spec: +# type: NodePort +# selector: +# app: zt-module-report +# ports: +# - protocol: TCP +# port: 48084 +# targetPort: 48084 +# nodePort: 30094 --- # zt-module-databus apiVersion: apps/v1 kind: Deployment metadata: - namespace: ns-f16a3067ca7b434aad127d15eac82503 + namespace: ns-d6a0e78ebd674c279614498e4c57b133 name: zt-module-databus labels: app: zt-module-databus @@ -319,6 +392,20 @@ spec: labels: app: zt-module-databus spec: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/hostname + operator: In + values: + - node-3 + dnsPolicy: None + dnsConfig: + nameservers: + - "172.16.36.16" + - "172.16.36.220" containers: - name: zt-module-databus image: 172.16.46.66:10043/zt/zt-module-databus:VERSION_PLACEHOLDER @@ -330,16 +417,23 @@ spec: httpGet: path: /actuator/health port: 48100 - initialDelaySeconds: 10 + initialDelaySeconds: 50 periodSeconds: 5 failureThreshold: 3 livenessProbe: httpGet: path: /actuator/health port: 48100 - initialDelaySeconds: 30 + initialDelaySeconds: 50 periodSeconds: 10 failureThreshold: 5 + resources: + requests: + cpu: "500m" + memory: "1024Mi" + limits: + cpu: "700m" + memory: "2048Mi" terminationGracePeriodSeconds: 30 strategy: type: RollingUpdate @@ -350,13 +444,93 @@ spec: apiVersion: v1 kind: Service metadata: - namespace: ns-f16a3067ca7b434aad127d15eac82503 + namespace: ns-d6a0e78ebd674c279614498e4c57b133 name: zt-module-databus spec: - type: ClusterIP + type: NodePort selector: app: zt-module-databus ports: - protocol: TCP port: 48100 targetPort: 48100 + nodePort: 30090 + + +--- +# zt-module-template +apiVersion: apps/v1 +kind: Deployment +metadata: + namespace: ns-d6a0e78ebd674c279614498e4c57b133 + name: zt-module-template + labels: + app: zt-module-template + annotations: + version: "VERSION_PLACEHOLDER" + description: DESC_PLACEHOLDER + rollout.kubernetes.io/change-cause: "DESC_PLACEHOLDER:VERSION_PLACEHOLDER" +spec: + replicas: 1 + selector: + matchLabels: + app: zt-module-template + template: + metadata: + labels: + app: zt-module-template + spec: + dnsPolicy: None + dnsConfig: + nameservers: + - "172.16.36.16" + - "172.16.36.220" + containers: + - name: zt-module-template + image: 172.16.46.66:10043/zt/zt-module-template:VERSION_PLACEHOLDER + imagePullPolicy: Always + env: + - name: TZ + value: Asia/Shanghai + readinessProbe: + httpGet: + path: /actuator/health + port: 49100 + initialDelaySeconds: 50 + periodSeconds: 5 + failureThreshold: 3 + livenessProbe: + httpGet: + path: /actuator/health + port: 49100 + initialDelaySeconds: 50 + periodSeconds: 10 + failureThreshold: 5 + resources: + requests: + cpu: "500m" + memory: "1024Mi" + limits: + cpu: "700m" + memory: "1024Mi" + terminationGracePeriodSeconds: 30 + strategy: + type: RollingUpdate + rollingUpdate: + maxSurge: 1 + maxUnavailable: 0 +--- +apiVersion: v1 +kind: Service +metadata: + namespace: ns-d6a0e78ebd674c279614498e4c57b133 + name: zt-module-template +spec: + type: NodePort + selector: + app: zt-module-template + ports: + - protocol: TCP + port: 49100 + targetPort: 49100 + nodePort: 30889 diff --git a/pom.xml b/pom.xml index 16bfa99f..e4f07311 100644 --- a/pom.xml +++ b/pom.xml @@ -16,9 +16,9 @@ zt-module-system zt-module-infra - zt-module-bpm + zt-module-report - + zt-module-template @@ -295,6 +295,19 @@ 1.0.0 + + qsj + + dev + + 172.16.46.63:30848 + qsj + DEFAULT_GROUP + nacos + P@ssword25 + 1.0.0 + + diff --git a/sql/dm/doc_management.sql b/sql/dm/doc_management.sql new file mode 100644 index 00000000..3d76be13 --- /dev/null +++ b/sql/dm/doc_management.sql @@ -0,0 +1,144 @@ +/* + Zt Database Transfer Tool + + Source Server Type : MySQL + + Target Server Type : DM8 + + Date: 2025-08-29 10:32:27 +*/ + + +-- ---------------------------- +-- Table structure for infra_doc_file +-- ---------------------------- +CREATE TABLE infra_doc_file ( + id bigint NOT NULL PRIMARY KEY, + title varchar(255) NOT NULL, + file_id bigint DEFAULT NULL NULL, + file_type varchar(10) NOT NULL, + space_type smallint DEFAULT '1' NOT NULL, + description varchar(500) DEFAULT NULL NULL, + latest_version_id bigint DEFAULT NULL NULL, + owner_user_id bigint NOT NULL, + status smallint DEFAULT '1' NOT NULL, + creator varchar(64) DEFAULT '' NULL, + create_time datetime DEFAULT CURRENT_TIMESTAMP NOT NULL, + updater varchar(64) DEFAULT '' NULL, + update_time datetime DEFAULT CURRENT_TIMESTAMP NOT NULL, + deleted bit DEFAULT '0' NOT NULL, + tenant_id bigint DEFAULT '0' NOT NULL +); + +CREATE INDEX idx_infra_doc_file_01 ON infra_doc_file (owner_user_id); +CREATE INDEX idx_infra_doc_file_02 ON infra_doc_file (space_type); +CREATE INDEX idx_infra_doc_file_03 ON infra_doc_file (file_type); + +COMMENT ON COLUMN infra_doc_file.id IS '文档编号'; +COMMENT ON COLUMN infra_doc_file.title IS '文档标题'; +COMMENT ON COLUMN infra_doc_file.file_id IS '文件编号'; +COMMENT ON COLUMN infra_doc_file.file_type IS '文件类型(docx/xlsx/pptx/pdf)'; +COMMENT ON COLUMN infra_doc_file.space_type IS '空间类型(1-个人空间 2-团队空间)'; +COMMENT ON COLUMN infra_doc_file.description IS '文档描述'; +COMMENT ON COLUMN infra_doc_file.latest_version_id IS '最新版本编号'; +COMMENT ON COLUMN infra_doc_file.owner_user_id IS '所有者用户编号'; +COMMENT ON COLUMN infra_doc_file.status IS '状态(0-禁用 1-启用)'; +COMMENT ON COLUMN infra_doc_file.creator IS '创建者'; +COMMENT ON COLUMN infra_doc_file.create_time IS '创建时间'; +COMMENT ON COLUMN infra_doc_file.updater IS '更新者'; +COMMENT ON COLUMN infra_doc_file.update_time IS '更新时间'; +COMMENT ON COLUMN infra_doc_file.deleted IS '是否删除'; +COMMENT ON COLUMN infra_doc_file.tenant_id IS '租户编号'; +COMMENT ON TABLE infra_doc_file IS '在线文档表'; + +-- ---------------------------- +-- Table structure for infra_doc_file_version +-- ---------------------------- +CREATE TABLE infra_doc_file_version ( + id bigint NOT NULL PRIMARY KEY, + doc_file_id bigint NOT NULL, + version_no varchar(50) NOT NULL, + file_id bigint NOT NULL, + change_description varchar(500) DEFAULT NULL NULL, + creator varchar(64) DEFAULT '' NULL, + create_time datetime DEFAULT CURRENT_TIMESTAMP NOT NULL, + updater varchar(64) DEFAULT '' NULL, + update_time datetime DEFAULT CURRENT_TIMESTAMP NOT NULL, + deleted bit DEFAULT '0' NOT NULL, + tenant_id bigint DEFAULT '0' NOT NULL +); + +CREATE INDEX idx_infra_doc_file_version_01 ON infra_doc_file_version (doc_file_id); +CREATE INDEX idx_infra_doc_file_version_02 ON infra_doc_file_version (version_no); + +COMMENT ON COLUMN infra_doc_file_version.id IS '版本编号'; +COMMENT ON COLUMN infra_doc_file_version.doc_file_id IS '文档编号'; +COMMENT ON COLUMN infra_doc_file_version.version_no IS '版本号'; +COMMENT ON COLUMN infra_doc_file_version.file_id IS '文件编号'; +COMMENT ON COLUMN infra_doc_file_version.change_description IS '变更说明'; +COMMENT ON COLUMN infra_doc_file_version.creator IS '创建者'; +COMMENT ON COLUMN infra_doc_file_version.create_time IS '创建时间'; +COMMENT ON COLUMN infra_doc_file_version.updater IS '更新者'; +COMMENT ON COLUMN infra_doc_file_version.update_time IS '更新时间'; +COMMENT ON COLUMN infra_doc_file_version.deleted IS '是否删除'; +COMMENT ON COLUMN infra_doc_file_version.tenant_id IS '租户编号'; +COMMENT ON TABLE infra_doc_file_version IS '文档版本表'; + +-- ---------------------------- +-- Table structure for infra_doc_file_permission +-- ---------------------------- +CREATE TABLE infra_doc_file_permission ( + id bigint NOT NULL PRIMARY KEY, + doc_file_id bigint NOT NULL, + role_id bigint NOT NULL, + permission_type smallint DEFAULT '1' NOT NULL, + expire_time datetime DEFAULT NULL NULL, + creator varchar(64) DEFAULT '' NULL, + create_time datetime DEFAULT CURRENT_TIMESTAMP NOT NULL, + updater varchar(64) DEFAULT '' NULL, + update_time datetime DEFAULT CURRENT_TIMESTAMP NOT NULL, + deleted bit DEFAULT '0' NOT NULL, + tenant_id bigint DEFAULT '0' NOT NULL +); + +CREATE INDEX idx_infra_doc_file_permission_01 ON infra_doc_file_permission (role_id); + +COMMENT ON COLUMN infra_doc_file_permission.id IS '权限编号'; +COMMENT ON COLUMN infra_doc_file_permission.doc_file_id IS '文档编号'; +COMMENT ON COLUMN infra_doc_file_permission.role_id IS '角色编号'; +COMMENT ON COLUMN infra_doc_file_permission.permission_type IS '权限类型(1-只读 2-编辑 3-管理)'; +COMMENT ON COLUMN infra_doc_file_permission.expire_time IS '过期时间'; +COMMENT ON COLUMN infra_doc_file_permission.creator IS '创建者'; +COMMENT ON COLUMN infra_doc_file_permission.create_time IS '创建时间'; +COMMENT ON COLUMN infra_doc_file_permission.updater IS '更新者'; +COMMENT ON COLUMN infra_doc_file_permission.update_time IS '更新时间'; +COMMENT ON COLUMN infra_doc_file_permission.deleted IS '是否删除'; +COMMENT ON COLUMN infra_doc_file_permission.tenant_id IS '租户编号'; +COMMENT ON TABLE infra_doc_file_permission IS '文档权限表'; + +-- ---------------------------- +-- Table structure for infra_doc_edit_history +-- ---------------------------- +CREATE TABLE infra_doc_edit_history ( + id bigint NOT NULL PRIMARY KEY, + doc_file_id bigint NOT NULL, + user_id bigint NOT NULL, + user_name varchar(100) NOT NULL, + edit_type smallint DEFAULT '1' NOT NULL, + description varchar(500) DEFAULT NULL NULL, + create_time datetime DEFAULT CURRENT_TIMESTAMP NOT NULL, + tenant_id bigint DEFAULT '0' NOT NULL +); + +CREATE INDEX idx_infra_doc_edit_history_01 ON infra_doc_edit_history (doc_file_id); +CREATE INDEX idx_infra_doc_edit_history_02 ON infra_doc_edit_history (user_id); + +COMMENT ON COLUMN infra_doc_edit_history.id IS '历史编号'; +COMMENT ON COLUMN infra_doc_edit_history.doc_file_id IS '文档编号'; +COMMENT ON COLUMN infra_doc_edit_history.user_id IS '编辑用户编号'; +COMMENT ON COLUMN infra_doc_edit_history.user_name IS '编辑用户名称'; +COMMENT ON COLUMN infra_doc_edit_history.edit_type IS '编辑类型(1-创建 2-编辑 3-删除 4-重命名)'; +COMMENT ON COLUMN infra_doc_edit_history.description IS '操作描述'; +COMMENT ON COLUMN infra_doc_edit_history.create_time IS '创建时间'; +COMMENT ON COLUMN infra_doc_edit_history.tenant_id IS '租户编号'; +COMMENT ON TABLE infra_doc_edit_history IS '文档编辑历史表'; diff --git a/sql/dm/doc_management_menu.sql b/sql/dm/doc_management_menu.sql new file mode 100644 index 00000000..ec698c8b --- /dev/null +++ b/sql/dm/doc_management_menu.sql @@ -0,0 +1,39 @@ +-- 在线文档管理功能菜单数据(DM 格式) +-- 说明:达梦脚本使用与 patch.sql 相同的精简列形式,省略布尔列与时间列,使用默认值。 + +-- 清理旧数据,保持可重复执行 +DELETE FROM system_menu WHERE id IN (6000,6001,6002,600101,600102,600103,600104,600105,600106,600107,600108,600109,600110); + +-- 顶级目录(父级假定已存在 id=2 的“基础设施/Infra”或同级目录) +INSERT INTO system_menu ( + id, name, permission, type, sort, parent_id, + path, icon, component, status, component_name +) VALUES ( + 6000, '在线文档', '', 1, 15, 2, + 'doc', 'fa:file-text-o', '', 0, NULL +); + +-- 文档管理主页面 +INSERT INTO system_menu ( + id, name, permission, type, sort, parent_id, + path, icon, component, status, component_name +) VALUES ( + 6001, '文档管理', 'infra:doc:query', 2, 1, 6000, + 'doc-file', 'fa:file-text', 'infra/doc/index', 0, 'DocFile' +); + +-- 按钮权限(操作项) +INSERT INTO system_menu ( + id, name, permission, type, sort, parent_id, + path, icon, component, status +) VALUES + (600101,'文档查询','infra:doc:query',3,1,6001,'','','',0), + (600102,'文档创建','infra:doc:create',3,2,6001,'','','',0), + (600103,'文档更新','infra:doc:update',3,3,6001,'','','',0), + (600104,'文档删除','infra:doc:delete',3,4,6001,'','','',0), + (600105,'文档导出','infra:doc:export',3,5,6001,'','','',0), + (600106,'文档上传','infra:doc:upload',3,6,6001,'','','',0), + (600107,'文档编辑','infra:doc:edit',3,7,6001,'','','',0), + (600108,'文档预览','infra:doc:preview',3,8,6001,'','','',0), + (600109,'文档下载','infra:doc:download',3,9,6001,'','','',0), + (600110,'权限管理','infra:doc:permission',3,10,6001,'','','',0); diff --git a/sql/dm/system_sync_log.sql b/sql/dm/system_sync_log.sql new file mode 100644 index 00000000..5dca9785 --- /dev/null +++ b/sql/dm/system_sync_log.sql @@ -0,0 +1,83 @@ +/* + Zt Database Transfer Tool + + Source Server Type : MySQL + + Target Server Type : DM8 + + Date: 2025-08-28 14:12:23 +*/ + + +-- ---------------------------- +-- Table structure for system_sync_log +-- ---------------------------- +CREATE TABLE system_sync_log ( + id bigint NOT NULL PRIMARY KEY, + bim_request_id varchar(64) DEFAULT '' NULL, + service_name varchar(100) NOT NULL, + request_method varchar(16) DEFAULT 'POST' NOT NULL, + request_url varchar(500) NOT NULL, + client_ip varchar(50) NOT NULL, + user_agent varchar(512) DEFAULT NULL NULL, + request_time datetime NOT NULL, + response_time datetime DEFAULT NULL NULL, + duration bigint DEFAULT NULL NULL, + encrypted_request text NOT NULL, + decrypted_request text NULL, + status smallint DEFAULT 0 NOT NULL, + error_code varchar(100) DEFAULT NULL NULL, + error_message varchar(1000) DEFAULT NULL NULL, + exception_stack text NULL, + response_data text NULL, + encrypted_response text NULL, + auth_user varchar(100) DEFAULT NULL NULL, + decrypt_status smallint DEFAULT 0 NOT NULL, + signature_verify_status smallint DEFAULT 0 NOT NULL, + auth_status smallint DEFAULT 0 NOT NULL, + business_result varchar(100) DEFAULT NULL NULL, + extra text NULL, + creator varchar(64) DEFAULT '' NULL, + create_time datetime DEFAULT CURRENT_TIMESTAMP NOT NULL, + updater varchar(64) DEFAULT '' NULL, + update_time datetime DEFAULT CURRENT_TIMESTAMP NOT NULL, + deleted bit DEFAULT '0' NOT NULL +); + +CREATE INDEX idx_system_sync_log_01 ON system_sync_log (bim_request_id); +CREATE INDEX idx_system_sync_log_02 ON system_sync_log (service_name); +CREATE INDEX idx_system_sync_log_03 ON system_sync_log (request_time); +CREATE INDEX idx_system_sync_log_04 ON system_sync_log (status); +CREATE INDEX idx_system_sync_log_05 ON system_sync_log (client_ip); +CREATE INDEX idx_system_sync_log_06 ON system_sync_log (auth_user); + +COMMENT ON COLUMN system_sync_log.id IS '日志主键'; +COMMENT ON COLUMN system_sync_log.bim_request_id IS '外部请求ID'; +COMMENT ON COLUMN system_sync_log.service_name IS '接口名称/服务名称'; +COMMENT ON COLUMN system_sync_log.request_method IS '请求方法'; +COMMENT ON COLUMN system_sync_log.request_url IS '请求URL'; +COMMENT ON COLUMN system_sync_log.client_ip IS '客户端IP地址'; +COMMENT ON COLUMN system_sync_log.user_agent IS '用户代理字符串'; +COMMENT ON COLUMN system_sync_log.request_time IS '请求开始时间'; +COMMENT ON COLUMN system_sync_log.response_time IS '请求结束时间'; +COMMENT ON COLUMN system_sync_log.duration IS '请求处理耗时(毫秒)'; +COMMENT ON COLUMN system_sync_log.encrypted_request IS '原始加密请求体'; +COMMENT ON COLUMN system_sync_log.decrypted_request IS '解密后的请求体'; +COMMENT ON COLUMN system_sync_log.status IS '响应状态 0-成功 1-解密失败 2-签名验证失败 3-认证失败 4-业务处理失败 5-系统异常'; +COMMENT ON COLUMN system_sync_log.error_code IS '错误码'; +COMMENT ON COLUMN system_sync_log.error_message IS '错误信息'; +COMMENT ON COLUMN system_sync_log.exception_stack IS '异常堆栈'; +COMMENT ON COLUMN system_sync_log.response_data IS '响应数据(加密前)'; +COMMENT ON COLUMN system_sync_log.encrypted_response IS '加密后的响应数据'; +COMMENT ON COLUMN system_sync_log.auth_user IS '认证用户'; +COMMENT ON COLUMN system_sync_log.decrypt_status IS '解密状态 0-成功 1-失败'; +COMMENT ON COLUMN system_sync_log.signature_verify_status IS '签名验证状态 0-成功 1-失败'; +COMMENT ON COLUMN system_sync_log.auth_status IS '认证状态 0-成功 1-失败'; +COMMENT ON COLUMN system_sync_log.business_result IS '业务处理结果'; +COMMENT ON COLUMN system_sync_log.extra IS '额外信息'; +COMMENT ON COLUMN system_sync_log.creator IS '创建者'; +COMMENT ON COLUMN system_sync_log.create_time IS '创建时间'; +COMMENT ON COLUMN system_sync_log.updater IS '更新者'; +COMMENT ON COLUMN system_sync_log.update_time IS '更新时间'; +COMMENT ON COLUMN system_sync_log.deleted IS '是否删除'; +COMMENT ON TABLE system_sync_log IS '同步接口调用日志表'; diff --git a/sql/dm/工艺工序页面菜单权限_20251030.sql b/sql/dm/工艺工序页面菜单权限_20251030.sql new file mode 100644 index 00000000..aafa5cb2 --- /dev/null +++ b/sql/dm/工艺工序页面菜单权限_20251030.sql @@ -0,0 +1,44 @@ +-- 工艺工序页面菜单与权限初始化脚本(DM8) +-- 默认挂载在基础数据目录(parent_id = 6200),如需调整请修改 parent_id。 + +DELETE FROM system_menu + WHERE id IN (6207, 620701, 620702, 620703, 620704, 620705); + +INSERT INTO system_menu ( + id, name, permission, type, sort, parent_id, + path, icon, component, component_name, + status, visible, keep_alive, always_show, + creator, create_time, updater, update_time, deleted +) VALUES ( + 6207, '工艺工序', 'base:processing-infomation-operation:query', 2, 70, 6200, + 'processing-infomation-operation', 'ep:operation', 'base/processinginfomationoperation/index', 'ProcessingInfomationOperation', + 0, '1', '0', '1', + 'admin', CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '0' +); + +INSERT INTO system_menu ( + id, name, permission, type, sort, parent_id, + path, icon, component, component_name, + status, visible, keep_alive, always_show, + creator, create_time, updater, update_time, deleted +) VALUES + (620701, '工艺工序查询', 'base:processing-infomation-operation:query', 3, 1, 6207, + '', '', '', '', + 0, '1', '1', '1', + 'admin', CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '0'), + (620702, '工艺工序创建', 'base:processing-infomation-operation:create', 3, 2, 6207, + '', '', '', '', + 0, '1', '1', '1', + 'admin', CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '0'), + (620703, '工艺工序更新', 'base:processing-infomation-operation:update', 3, 3, 6207, + '', '', '', '', + 0, '1', '1', '1', + 'admin', CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '0'), + (620704, '工艺工序删除', 'base:processing-infomation-operation:delete', 3, 4, 6207, + '', '', '', '', + 0, '1', '1', '1', + 'admin', CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '0'), + (620705, '工艺工序导出', 'base:processing-infomation-operation:export', 3, 5, 6207, + '', '', '', '', + 0, '1', '1', '1', + 'admin', CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '0'); diff --git a/sql/dm/组织物料状态字段补充_20251105.sql b/sql/dm/组织物料状态字段补充_20251105.sql new file mode 100644 index 00000000..2df4460f --- /dev/null +++ b/sql/dm/组织物料状态字段补充_20251105.sql @@ -0,0 +1,8 @@ +-- --------------------------------------------------------------------------- +-- 脚本名称 : 组织物料状态字段补充_20251105.sql +-- 适用数据库 : DM8 +-- 变更目的 : 为 bse_dept_mtrl 表补充状态字段 STS,解决查询时列不存在的问题 +-- 影响说明 : 仅新增并初始化 STS 字段,默认值为 '1'(有效) +-- 执行前请先确认已备份相关数据 +-- --------------------------------------------------------------------------- +ALTER TABLE BSE_DEPT_MTRL ADD STS VARCHAR2(5) DEFAULT '0'; diff --git a/sql/mysql/ruoyi-vue-pro.sql b/sql/mysql/ruoyi-vue-pro.sql index c53fcb8f..7acc2d54 100644 --- a/sql/mysql/ruoyi-vue-pro.sql +++ b/sql/mysql/ruoyi-vue-pro.sql @@ -282,15 +282,15 @@ CREATE TABLE `infra_file_config` ( -- Records of infra_file_config -- ---------------------------- BEGIN; -INSERT INTO `infra_file_config` (`id`, `name`, `storage`, `remark`, `master`, `config`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (4, '数据库(示例)', 1, '我是数据库', b'0', '{\"@class\":\"cn.iocoder.yudao.module.infra.framework.file.core.client.db.DBFileClientConfig\",\"domain\":\"http://127.0.0.1:48080\"}', '1', '2022-03-15 23:56:24', '1', '2025-05-02 18:30:28', b'0'); -INSERT INTO `infra_file_config` (`id`, `name`, `storage`, `remark`, `master`, `config`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (22, '七牛存储器(示例)', 20, '请换成你自己的密钥!!!', b'1', '{\"@class\":\"cn.iocoder.yudao.module.infra.framework.file.core.client.s3.S3FileClientConfig\",\"endpoint\":\"s3.cn-south-1.qiniucs.com\",\"domain\":\"http://test.yudao.iocoder.cn\",\"bucket\":\"ruoyi-vue-pro\",\"accessKey\":\"3TvrJ70gl2Gt6IBe7_IZT1F6i_k0iMuRtyEv4EyS\",\"accessSecret\":\"wd0tbVBYlp0S-ihA8Qg2hPLncoP83wyrIq24OZuY\",\"enablePathStyleAccess\":false}', '1', '2024-01-13 22:11:12', '1', '2025-05-02 18:30:28', b'0'); -INSERT INTO `infra_file_config` (`id`, `name`, `storage`, `remark`, `master`, `config`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (24, '腾讯云存储(示例)', 20, '请换成你的密钥!!!', b'0', '{\"@class\":\"cn.iocoder.yudao.module.infra.framework.file.core.client.s3.S3FileClientConfig\",\"endpoint\":\"https://cos.ap-shanghai.myqcloud.com\",\"domain\":\"http://tengxun-oss.iocoder.cn\",\"bucket\":\"aoteman-1255880240\",\"accessKey\":\"AKIDAF6WSh1uiIjwqtrOsGSN3WryqTM6cTMt\",\"accessSecret\":\"X\"}', '1', '2024-11-09 16:03:22', '1', '2025-05-02 18:30:28', b'0'); -INSERT INTO `infra_file_config` (`id`, `name`, `storage`, `remark`, `master`, `config`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (25, '阿里云存储(示例)', 20, '', b'0', '{\"@class\":\"cn.iocoder.yudao.module.infra.framework.file.core.client.s3.S3FileClientConfig\",\"endpoint\":\"oss-cn-beijing.aliyuncs.com\",\"domain\":\"http://ali-oss.iocoder.cn\",\"bucket\":\"yunai-aoteman\",\"accessKey\":\"LTAI5tEQLgnDyjh3WpNcdMKA\",\"accessSecret\":\"X\",\"enablePathStyleAccess\":false}', '1', '2024-11-09 16:47:08', '1', '2025-05-02 18:30:28', b'0'); -INSERT INTO `infra_file_config` (`id`, `name`, `storage`, `remark`, `master`, `config`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (26, '火山云存储(示例)', 20, '', b'0', '{\"@class\":\"cn.iocoder.yudao.module.infra.framework.file.core.client.s3.S3FileClientConfig\",\"endpoint\":\"tos-s3-cn-beijing.volces.com\",\"domain\":null,\"bucket\":\"yunai\",\"accessKey\":\"AKLTZjc3Zjc4MzZmMjU3NDk0ZTgxYmIyMmFkNTIwMDI1ZGE\",\"accessSecret\":\"X==\",\"enablePathStyleAccess\":false}', '1', '2024-11-09 16:56:42', '1', '2025-05-02 18:30:28', b'0'); -INSERT INTO `infra_file_config` (`id`, `name`, `storage`, `remark`, `master`, `config`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (27, '华为云存储(示例)', 20, '', b'0', '{\"@class\":\"cn.iocoder.yudao.module.infra.framework.file.core.client.s3.S3FileClientConfig\",\"endpoint\":\"obs.cn-east-3.myhuaweicloud.com\",\"domain\":\"\",\"bucket\":\"yudao\",\"accessKey\":\"PVDONDEIOTW88LF8DC4U\",\"accessSecret\":\"X\",\"enablePathStyleAccess\":false}', '1', '2024-11-09 17:18:41', '1', '2025-05-02 18:30:28', b'0'); -INSERT INTO `infra_file_config` (`id`, `name`, `storage`, `remark`, `master`, `config`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (28, 'MinIO 存储(示例)', 20, '', b'0', '{\"@class\":\"cn.iocoder.yudao.module.infra.framework.file.core.client.s3.S3FileClientConfig\",\"endpoint\":\"http://127.0.0.1:9000\",\"domain\":\"http://127.0.0.1:9000/yudao\",\"bucket\":\"yudao\",\"accessKey\":\"admin\",\"accessSecret\":\"password\",\"enablePathStyleAccess\":false}', '1', '2024-11-09 17:43:10', '1', '2025-05-02 18:30:28', b'0'); -INSERT INTO `infra_file_config` (`id`, `name`, `storage`, `remark`, `master`, `config`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (29, '本地存储(示例)', 10, '仅适合 mac 或 windows', b'0', '{\"@class\":\"cn.iocoder.yudao.module.infra.framework.file.core.client.local.LocalFileClientConfig\",\"basePath\":\"/Users/yunai/tmp/file\",\"domain\":\"http://127.0.0.1:48080\"}', '1', '2025-05-02 11:25:45', '1', '2025-05-02 18:30:28', b'0'); -INSERT INTO `infra_file_config` (`id`, `name`, `storage`, `remark`, `master`, `config`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (30, 'SFTP 存储(示例)', 12, '', b'0', '{\"@class\":\"cn.iocoder.yudao.module.infra.framework.file.core.client.sftp.SftpFileClientConfig\",\"basePath\":\"/upload\",\"domain\":\"http://127.0.0.1:48080\",\"host\":\"127.0.0.1\",\"port\":2222,\"username\":\"foo\",\"password\":\"pass\"}', '1', '2025-05-02 16:34:10', '1', '2025-05-02 18:30:28', b'0'); +INSERT INTO `infra_file_config` (`id`, `name`, `storage`, `remark`, `master`, `config`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (4, '数据库(示例)', 1, '我是数据库', b'0', '{\"@class\":\"com.zt.plat.module.infra.framework.file.core.client.db.DBFileClientConfig\",\"domain\":\"http://127.0.0.1:48080\"}', '1', '2022-03-15 23:56:24', '1', '2025-05-02 18:30:28', b'0'); +INSERT INTO `infra_file_config` (`id`, `name`, `storage`, `remark`, `master`, `config`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (22, '七牛存储器(示例)', 20, '请换成你自己的密钥!!!', b'1', '{\"@class\":\"com.zt.plat.module.infra.framework.file.core.client.s3.S3FileClientConfig\",\"endpoint\":\"s3.cn-south-1.qiniucs.com\",\"domain\":\"http://test.zt.iocoder.cn\",\"bucket\":\"ruoyi-vue-pro\",\"accessKey\":\"3TvrJ70gl2Gt6IBe7_IZT1F6i_k0iMuRtyEv4EyS\",\"accessSecret\":\"wd0tbVBYlp0S-ihA8Qg2hPLncoP83wyrIq24OZuY\",\"enablePathStyleAccess\":false}', '1', '2024-01-13 22:11:12', '1', '2025-05-02 18:30:28', b'0'); +INSERT INTO `infra_file_config` (`id`, `name`, `storage`, `remark`, `master`, `config`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (24, '腾讯云存储(示例)', 20, '请换成你的密钥!!!', b'0', '{\"@class\":\"com.zt.plat.module.infra.framework.file.core.client.s3.S3FileClientConfig\",\"endpoint\":\"https://cos.ap-shanghai.myqcloud.com\",\"domain\":\"http://tengxun-oss.iocoder.cn\",\"bucket\":\"aoteman-1255880240\",\"accessKey\":\"AKIDAF6WSh1uiIjwqtrOsGSN3WryqTM6cTMt\",\"accessSecret\":\"X\"}', '1', '2024-11-09 16:03:22', '1', '2025-05-02 18:30:28', b'0'); +INSERT INTO `infra_file_config` (`id`, `name`, `storage`, `remark`, `master`, `config`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (25, '阿里云存储(示例)', 20, '', b'0', '{\"@class\":\"com.zt.plat.module.infra.framework.file.core.client.s3.S3FileClientConfig\",\"endpoint\":\"oss-cn-beijing.aliyuncs.com\",\"domain\":\"http://ali-oss.iocoder.cn\",\"bucket\":\"yunai-aoteman\",\"accessKey\":\"LTAI5tEQLgnDyjh3WpNcdMKA\",\"accessSecret\":\"X\",\"enablePathStyleAccess\":false}', '1', '2024-11-09 16:47:08', '1', '2025-05-02 18:30:28', b'0'); +INSERT INTO `infra_file_config` (`id`, `name`, `storage`, `remark`, `master`, `config`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (26, '火山云存储(示例)', 20, '', b'0', '{\"@class\":\"com.zt.plat.module.infra.framework.file.core.client.s3.S3FileClientConfig\",\"endpoint\":\"tos-s3-cn-beijing.volces.com\",\"domain\":null,\"bucket\":\"yunai\",\"accessKey\":\"AKLTZjc3Zjc4MzZmMjU3NDk0ZTgxYmIyMmFkNTIwMDI1ZGE\",\"accessSecret\":\"X==\",\"enablePathStyleAccess\":false}', '1', '2024-11-09 16:56:42', '1', '2025-05-02 18:30:28', b'0'); +INSERT INTO `infra_file_config` (`id`, `name`, `storage`, `remark`, `master`, `config`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (27, '华为云存储(示例)', 20, '', b'0', '{\"@class\":\"com.zt.plat.module.infra.framework.file.core.client.s3.S3FileClientConfig\",\"endpoint\":\"obs.cn-east-3.myhuaweicloud.com\",\"domain\":\"\",\"bucket\":\"zt\",\"accessKey\":\"PVDONDEIOTW88LF8DC4U\",\"accessSecret\":\"X\",\"enablePathStyleAccess\":false}', '1', '2024-11-09 17:18:41', '1', '2025-05-02 18:30:28', b'0'); +INSERT INTO `infra_file_config` (`id`, `name`, `storage`, `remark`, `master`, `config`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (28, 'MinIO 存储(示例)', 20, '', b'0', '{\"@class\":\"com.zt.plat.module.infra.framework.file.core.client.s3.S3FileClientConfig\",\"endpoint\":\"http://127.0.0.1:9000\",\"domain\":\"http://127.0.0.1:9000/zt\",\"bucket\":\"zt\",\"accessKey\":\"admin\",\"accessSecret\":\"password\",\"enablePathStyleAccess\":false}', '1', '2024-11-09 17:43:10', '1', '2025-05-02 18:30:28', b'0'); +INSERT INTO `infra_file_config` (`id`, `name`, `storage`, `remark`, `master`, `config`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (29, '本地存储(示例)', 10, '仅适合 mac 或 windows', b'0', '{\"@class\":\"com.zt.plat.module.infra.framework.file.core.client.local.LocalFileClientConfig\",\"basePath\":\"/Users/yunai/tmp/file\",\"domain\":\"http://127.0.0.1:48080\"}', '1', '2025-05-02 11:25:45', '1', '2025-05-02 18:30:28', b'0'); +INSERT INTO `infra_file_config` (`id`, `name`, `storage`, `remark`, `master`, `config`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (30, 'SFTP 存储(示例)', 12, '', b'0', '{\"@class\":\"com.zt.plat.module.infra.framework.file.core.client.sftp.SftpFileClientConfig\",\"basePath\":\"/upload\",\"domain\":\"http://127.0.0.1:48080\",\"host\":\"127.0.0.1\",\"port\":2222,\"username\":\"foo\",\"password\":\"pass\"}', '1', '2025-05-02 16:34:10', '1', '2025-05-02 18:30:28', b'0'); COMMIT; -- ---------------------------- @@ -2290,7 +2290,7 @@ CREATE TABLE `system_notice` ( -- ---------------------------- BEGIN; INSERT INTO `system_notice` (`id`, `title`, `content`, `type`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, 'ZT的公众', '

新版本内容133

', 1, 0, 'admin', '2021-01-05 17:03:48', '1', '2022-05-04 21:00:20', b'0', 1); -INSERT INTO `system_notice` (`id`, `title`, `content`, `type`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2, '维护通知:2018-07-01 系统凌晨维护', '

\"\"11112222\"image\"3333

', 2, 1, 'admin', '2021-01-05 17:03:48', '1', '2025-04-18 23:56:40', b'0', 1); +INSERT INTO `system_notice` (`id`, `title`, `content`, `type`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2, '维护通知:2018-07-01 系统凌晨维护', '

\"\"11112222\"image\"3333

', 2, 1, 'admin', '2021-01-05 17:03:48', '1', '2025-04-18 23:56:40', b'0', 1); INSERT INTO `system_notice` (`id`, `title`, `content`, `type`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (4, '我是测试标题', '

哈哈哈哈123

', 1, 0, '110', '2022-02-22 01:01:25', '110', '2022-02-22 01:01:46', b'0', 121); COMMIT; @@ -2453,10 +2453,10 @@ CREATE TABLE `system_oauth2_client` ( -- Records of system_oauth2_client -- ---------------------------- BEGIN; -INSERT INTO `system_oauth2_client` (`id`, `client_id`, `secret`, `name`, `logo`, `description`, `status`, `access_token_validity_seconds`, `refresh_token_validity_seconds`, `redirect_uris`, `authorized_grant_types`, `scopes`, `auto_approve_scopes`, `authorities`, `resource_ids`, `additional_information`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1, 'default', 'admin123', '后台管理', 'http://test.yudao.iocoder.cn/20250502/sort2_1746189740718.png', '我是描述', 0, 1800, 2592000, '[\"https://www.iocoder.cn\",\"http://172.16.46.63:30888\"]', '[\"password\",\"authorization_code\",\"implicit\",\"refresh_token\"]', '[\"user.read\",\"user.write\"]', '[]', '[\"user.read\",\"user.write\"]', '[]', '{}', '1', '2022-05-11 21:47:12', '1', '2025-05-02 20:42:22', b'0'); -INSERT INTO `system_oauth2_client` (`id`, `client_id`, `secret`, `name`, `logo`, `description`, `status`, `access_token_validity_seconds`, `refresh_token_validity_seconds`, `redirect_uris`, `authorized_grant_types`, `scopes`, `auto_approve_scopes`, `authorities`, `resource_ids`, `additional_information`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (40, 'test', 'test2', 'biubiu', 'http://test.yudao.iocoder.cn/xx/20250502/ed07110a37464b5299f8bd7c67ad65c7_1746187077009.jpg', '啦啦啦啦', 0, 1800, 43200, '[\"https://www.iocoder.cn\"]', '[\"password\",\"authorization_code\",\"implicit\"]', '[\"user_info\",\"projects\"]', '[\"user_info\"]', '[]', '[]', '{}', '1', '2022-05-12 00:28:20', '1', '2025-05-02 19:58:08', b'0'); -INSERT INTO `system_oauth2_client` (`id`, `client_id`, `secret`, `name`, `logo`, `description`, `status`, `access_token_validity_seconds`, `refresh_token_validity_seconds`, `redirect_uris`, `authorized_grant_types`, `scopes`, `auto_approve_scopes`, `authorities`, `resource_ids`, `additional_information`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (41, 'yudao-sso-demo-by-code', 'test', '基于授权码模式,如何实现 SSO 单点登录?', 'http://test.yudao.iocoder.cn/it/20250502/sign_1746181948685.png', NULL, 0, 1800, 43200, '[\"http://127.0.0.1:18080\"]', '[\"authorization_code\",\"refresh_token\"]', '[\"user.read\",\"user.write\"]', '[]', '[]', '[]', NULL, '1', '2022-09-29 13:28:31', '1', '2025-05-02 18:32:30', b'0'); -INSERT INTO `system_oauth2_client` (`id`, `client_id`, `secret`, `name`, `logo`, `description`, `status`, `access_token_validity_seconds`, `refresh_token_validity_seconds`, `redirect_uris`, `authorized_grant_types`, `scopes`, `auto_approve_scopes`, `authorities`, `resource_ids`, `additional_information`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (42, 'yudao-sso-demo-by-password', 'test', '基于密码模式,如何实现 SSO 单点登录?', 'http://test.yudao.iocoder.cn/604bdc695e13b3b22745be704d1f2aa8ee05c5f26f9fead6d1ca49005afbc857.jpeg', NULL, 0, 1800, 43200, '[\"http://127.0.0.1:18080\"]', '[\"password\",\"refresh_token\"]', '[\"user.read\",\"user.write\"]', '[]', '[]', '[]', NULL, '1', '2022-10-04 17:40:16', '1', '2025-05-04 16:00:46', b'0'); +INSERT INTO `system_oauth2_client` (`id`, `client_id`, `secret`, `name`, `logo`, `description`, `status`, `access_token_validity_seconds`, `refresh_token_validity_seconds`, `redirect_uris`, `authorized_grant_types`, `scopes`, `auto_approve_scopes`, `authorities`, `resource_ids`, `additional_information`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1, 'default', 'admin123', '后台管理', 'http://test.zt.iocoder.cn/20250502/sort2_1746189740718.png', '我是描述', 0, 1800, 2592000, '[\"https://www.iocoder.cn\",\"http://172.16.46.63:30888\"]', '[\"password\",\"authorization_code\",\"implicit\",\"refresh_token\"]', '[\"user.read\",\"user.write\"]', '[]', '[\"user.read\",\"user.write\"]', '[]', '{}', '1', '2022-05-11 21:47:12', '1', '2025-05-02 20:42:22', b'0'); +INSERT INTO `system_oauth2_client` (`id`, `client_id`, `secret`, `name`, `logo`, `description`, `status`, `access_token_validity_seconds`, `refresh_token_validity_seconds`, `redirect_uris`, `authorized_grant_types`, `scopes`, `auto_approve_scopes`, `authorities`, `resource_ids`, `additional_information`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (40, 'test', 'test2', 'biubiu', 'http://test.zt.iocoder.cn/xx/20250502/ed07110a37464b5299f8bd7c67ad65c7_1746187077009.jpg', '啦啦啦啦', 0, 1800, 43200, '[\"https://www.iocoder.cn\"]', '[\"password\",\"authorization_code\",\"implicit\"]', '[\"user_info\",\"projects\"]', '[\"user_info\"]', '[]', '[]', '{}', '1', '2022-05-12 00:28:20', '1', '2025-05-02 19:58:08', b'0'); +INSERT INTO `system_oauth2_client` (`id`, `client_id`, `secret`, `name`, `logo`, `description`, `status`, `access_token_validity_seconds`, `refresh_token_validity_seconds`, `redirect_uris`, `authorized_grant_types`, `scopes`, `auto_approve_scopes`, `authorities`, `resource_ids`, `additional_information`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (41, 'zt-sso-demo-by-code', 'test', '基于授权码模式,如何实现 SSO 单点登录?', 'http://test.zt.iocoder.cn/it/20250502/sign_1746181948685.png', NULL, 0, 1800, 43200, '[\"http://127.0.0.1:18080\"]', '[\"authorization_code\",\"refresh_token\"]', '[\"user.read\",\"user.write\"]', '[]', '[]', '[]', NULL, '1', '2022-09-29 13:28:31', '1', '2025-05-02 18:32:30', b'0'); +INSERT INTO `system_oauth2_client` (`id`, `client_id`, `secret`, `name`, `logo`, `description`, `status`, `access_token_validity_seconds`, `refresh_token_validity_seconds`, `redirect_uris`, `authorized_grant_types`, `scopes`, `auto_approve_scopes`, `authorities`, `resource_ids`, `additional_information`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (42, 'zt-sso-demo-by-password', 'test', '基于密码模式,如何实现 SSO 单点登录?', 'http://test.zt.iocoder.cn/604bdc695e13b3b22745be704d1f2aa8ee05c5f26f9fead6d1ca49005afbc857.jpeg', NULL, 0, 1800, 43200, '[\"http://127.0.0.1:18080\"]', '[\"password\",\"refresh_token\"]', '[\"user.read\",\"user.write\"]', '[]', '[]', '[]', NULL, '1', '2022-10-04 17:40:16', '1', '2025-05-04 16:00:46', b'0'); COMMIT; -- ---------------------------- @@ -3899,8 +3899,8 @@ CREATE TABLE `system_users` ( -- Records of system_users -- ---------------------------- BEGIN; -INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, 'admin', '$2a$04$KljJDa/LK7QfDm0lF5OhuePhlPfjRH3tB2Wu351Uidz.oQGJXevPi', '后台管理', '管理员', '[1,2]', '11aoteman@126.com', '18818260277', 2, 'http://test.yudao.iocoder.cn/test/20250502/avatar_1746154660449.png', 0, '0:0:0:0:0:0:0:1', '2025-05-10 18:03:15', 'admin', '2021-01-05 17:03:47', NULL, '2025-05-10 18:03:15', b'0', 1); -INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (100, 'yudao', '$2a$04$h.aaPKgO.odHepnk5PCsWeEwKdojFWdTItxGKfx1r0e1CSeBzsTJ6', 'ZT', '不要吓我', '[1]', 'yudao@iocoder.cn', '15601691300', 1, NULL, 0, '0:0:0:0:0:0:0:1', '2025-04-08 09:36:40', '', '2021-01-07 09:07:17', NULL, '2025-04-21 14:23:08', b'0', 1); +INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, 'admin', '$2a$04$KljJDa/LK7QfDm0lF5OhuePhlPfjRH3tB2Wu351Uidz.oQGJXevPi', '后台管理', '管理员', '[1,2]', '11aoteman@126.com', '18818260277', 2, 'http://test.zt.iocoder.cn/test/20250502/avatar_1746154660449.png', 0, '0:0:0:0:0:0:0:1', '2025-05-10 18:03:15', 'admin', '2021-01-05 17:03:47', NULL, '2025-05-10 18:03:15', b'0', 1); +INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (100, 'zt', '$2a$04$h.aaPKgO.odHepnk5PCsWeEwKdojFWdTItxGKfx1r0e1CSeBzsTJ6', 'ZT', '不要吓我', '[1]', 'zt@iocoder.cn', '15601691300', 1, NULL, 0, '0:0:0:0:0:0:0:1', '2025-04-08 09:36:40', '', '2021-01-07 09:07:17', NULL, '2025-04-21 14:23:08', b'0', 1); INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (103, 'yuanma', '$2a$04$fUBSmjKCPYAUmnMzOb6qE.eZCGPhHi1JmAKclODbfS/O7fHOl2bH6', '源码', NULL, NULL, 'yuanma@iocoder.cn', '15601701300', 0, NULL, 0, '0:0:0:0:0:0:0:1', '2024-08-11 17:48:12', '', '2021-01-13 23:50:35', NULL, '2025-04-21 14:23:08', b'0', 1); INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (104, 'test', '$2a$04$BrwaYn303hjA/6TnXqdGoOLhyHOAA0bVrAFu6.1dJKycqKUnIoRz2', '测试号', NULL, '[1,2]', '111@qq.com', '15601691200', 1, NULL, 0, '0:0:0:0:0:0:0:1', '2025-03-28 20:01:16', '', '2021-01-21 02:13:53', NULL, '2025-04-21 14:23:08', b'0', 1); INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (107, 'admin107', '$2a$10$dYOOBKMO93v/.ReCqzyFg.o67Tqk.bbc2bhrpyBGkIw9aypCtr2pm', 'ZT', NULL, NULL, '', '15601691300', 0, NULL, 0, '', NULL, '1', '2022-02-20 22:59:33', '1', '2025-04-21 14:23:08', b'0', 118); @@ -3920,10 +3920,10 @@ INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, COMMIT; -- ---------------------------- --- Table structure for yudao_demo01_contact +-- Table structure for zt_demo01_contact -- ---------------------------- -DROP TABLE IF EXISTS `yudao_demo01_contact`; -CREATE TABLE `yudao_demo01_contact` ( +DROP TABLE IF EXISTS `zt_demo01_contact`; +CREATE TABLE `zt_demo01_contact` ( `id` bigint NOT NULL COMMENT '编号', `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '名字', `sex` tinyint(1) NOT NULL COMMENT '性别', @@ -3940,17 +3940,17 @@ CREATE TABLE `yudao_demo01_contact` ( ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '示例联系人表'; -- ---------------------------- --- Records of yudao_demo01_contact +-- Records of zt_demo01_contact -- ---------------------------- BEGIN; -INSERT INTO `yudao_demo01_contact` (`id`, `name`, `sex`, `birthday`, `description`, `avatar`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, '土豆', 2, '2023-11-07 00:00:00', '

天蚕土豆!呀

', 'http://127.0.0.1:48080/admin-api/infra/file/4/get/46f8fa1a37db3f3960d8910ff2fe3962ab3b2db87cf2f8ccb4dc8145b8bdf237.jpeg', '1', '2023-11-15 23:34:30', '1', '2023-11-15 23:47:39', b'0', 1); +INSERT INTO `zt_demo01_contact` (`id`, `name`, `sex`, `birthday`, `description`, `avatar`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, '土豆', 2, '2023-11-07 00:00:00', '

天蚕土豆!呀

', 'http://127.0.0.1:48080/admin-api/infra/file/4/get/46f8fa1a37db3f3960d8910ff2fe3962ab3b2db87cf2f8ccb4dc8145b8bdf237.jpeg', '1', '2023-11-15 23:34:30', '1', '2023-11-15 23:47:39', b'0', 1); COMMIT; -- ---------------------------- --- Table structure for yudao_demo02_category +-- Table structure for zt_demo02_category -- ---------------------------- -DROP TABLE IF EXISTS `yudao_demo02_category`; -CREATE TABLE `yudao_demo02_category` ( +DROP TABLE IF EXISTS `zt_demo02_category`; +CREATE TABLE `zt_demo02_category` ( `id` bigint NOT NULL COMMENT '编号', `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '名字', `parent_id` bigint NOT NULL COMMENT '父级编号', @@ -3964,22 +3964,22 @@ CREATE TABLE `yudao_demo02_category` ( ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '示例分类表'; -- ---------------------------- --- Records of yudao_demo02_category +-- Records of zt_demo02_category -- ---------------------------- BEGIN; -INSERT INTO `yudao_demo02_category` (`id`, `name`, `parent_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, '土豆', 0, '1', '2023-11-15 23:34:30', '1', '2023-11-16 20:24:23', b'0', 1); -INSERT INTO `yudao_demo02_category` (`id`, `name`, `parent_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2, '番茄', 0, '1', '2023-11-16 20:24:00', '1', '2023-11-16 20:24:15', b'0', 1); -INSERT INTO `yudao_demo02_category` (`id`, `name`, `parent_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (3, '怪怪', 0, '1', '2023-11-16 20:24:32', '1', '2023-11-16 20:24:32', b'0', 1); -INSERT INTO `yudao_demo02_category` (`id`, `name`, `parent_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (4, '小番茄', 2, '1', '2023-11-16 20:24:39', '1', '2023-11-16 20:24:39', b'0', 1); -INSERT INTO `yudao_demo02_category` (`id`, `name`, `parent_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (5, '大番茄', 2, '1', '2023-11-16 20:24:46', '1', '2023-11-16 20:24:46', b'0', 1); -INSERT INTO `yudao_demo02_category` (`id`, `name`, `parent_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (6, '11', 3, '1', '2023-11-24 19:29:34', '1', '2023-11-24 19:29:34', b'0', 1); +INSERT INTO `zt_demo02_category` (`id`, `name`, `parent_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, '土豆', 0, '1', '2023-11-15 23:34:30', '1', '2023-11-16 20:24:23', b'0', 1); +INSERT INTO `zt_demo02_category` (`id`, `name`, `parent_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2, '番茄', 0, '1', '2023-11-16 20:24:00', '1', '2023-11-16 20:24:15', b'0', 1); +INSERT INTO `zt_demo02_category` (`id`, `name`, `parent_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (3, '怪怪', 0, '1', '2023-11-16 20:24:32', '1', '2023-11-16 20:24:32', b'0', 1); +INSERT INTO `zt_demo02_category` (`id`, `name`, `parent_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (4, '小番茄', 2, '1', '2023-11-16 20:24:39', '1', '2023-11-16 20:24:39', b'0', 1); +INSERT INTO `zt_demo02_category` (`id`, `name`, `parent_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (5, '大番茄', 2, '1', '2023-11-16 20:24:46', '1', '2023-11-16 20:24:46', b'0', 1); +INSERT INTO `zt_demo02_category` (`id`, `name`, `parent_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (6, '11', 3, '1', '2023-11-24 19:29:34', '1', '2023-11-24 19:29:34', b'0', 1); COMMIT; -- ---------------------------- --- Table structure for yudao_demo03_course +-- Table structure for zt_demo03_course -- ---------------------------- -DROP TABLE IF EXISTS `yudao_demo03_course`; -CREATE TABLE `yudao_demo03_course` ( +DROP TABLE IF EXISTS `zt_demo03_course`; +CREATE TABLE `zt_demo03_course` ( `id` bigint NOT NULL COMMENT '编号', `student_id` bigint NOT NULL COMMENT '学生编号', `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '名字', @@ -3994,33 +3994,33 @@ CREATE TABLE `yudao_demo03_course` ( ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '学生课程表'; -- ---------------------------- --- Records of yudao_demo03_course +-- Records of zt_demo03_course -- ---------------------------- BEGIN; -INSERT INTO `yudao_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2, 2, '语文', 66, '1', '2023-11-16 23:21:49', '1', '2024-09-17 10:55:30', b'1', 1); -INSERT INTO `yudao_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (3, 2, '数学', 22, '1', '2023-11-16 23:21:49', '1', '2024-09-17 10:55:30', b'1', 1); -INSERT INTO `yudao_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (6, 5, '体育', 23, '1', '2023-11-16 23:22:46', '1', '2023-11-16 15:44:40', b'1', 1); -INSERT INTO `yudao_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (7, 5, '计算机', 11, '1', '2023-11-16 23:22:46', '1', '2023-11-16 15:44:40', b'1', 1); -INSERT INTO `yudao_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (8, 5, '体育', 23, '1', '2023-11-16 23:22:46', '1', '2023-11-16 15:47:09', b'1', 1); -INSERT INTO `yudao_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (9, 5, '计算机', 11, '1', '2023-11-16 23:22:46', '1', '2023-11-16 15:47:09', b'1', 1); -INSERT INTO `yudao_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (10, 5, '体育', 23, '1', '2023-11-16 23:22:46', '1', '2024-09-17 10:55:28', b'1', 1); -INSERT INTO `yudao_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (11, 5, '计算机', 11, '1', '2023-11-16 23:22:46', '1', '2024-09-17 10:55:28', b'1', 1); -INSERT INTO `yudao_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (12, 2, '电脑', 33, '1', '2023-11-17 00:20:42', '1', '2023-11-16 16:20:45', b'1', 1); -INSERT INTO `yudao_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (13, 9, '滑雪', 12, '1', '2023-11-17 13:13:20', '1', '2024-09-17 10:55:26', b'1', 1); -INSERT INTO `yudao_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (14, 9, '滑雪', 12, '1', '2023-11-17 13:13:20', '1', '2024-09-17 10:55:49', b'1', 1); -INSERT INTO `yudao_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (15, 5, '体育', 23, '1', '2023-11-16 23:22:46', '1', '2024-09-17 18:55:29', b'0', 1); -INSERT INTO `yudao_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (16, 5, '计算机', 11, '1', '2023-11-16 23:22:46', '1', '2024-09-17 18:55:29', b'0', 1); -INSERT INTO `yudao_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (17, 2, '语文', 66, '1', '2023-11-16 23:21:49', '1', '2024-09-17 18:55:31', b'0', 1); -INSERT INTO `yudao_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (18, 2, '数学', 22, '1', '2023-11-16 23:21:49', '1', '2024-09-17 18:55:31', b'0', 1); -INSERT INTO `yudao_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (19, 9, '滑雪', 12, '1', '2023-11-17 13:13:20', '1', '2025-04-19 02:49:03', b'1', 1); -INSERT INTO `yudao_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (20, 9, '滑雪', 12, '1', '2023-11-17 13:13:20', '1', '2025-04-19 10:49:04', b'0', 1); +INSERT INTO `zt_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2, 2, '语文', 66, '1', '2023-11-16 23:21:49', '1', '2024-09-17 10:55:30', b'1', 1); +INSERT INTO `zt_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (3, 2, '数学', 22, '1', '2023-11-16 23:21:49', '1', '2024-09-17 10:55:30', b'1', 1); +INSERT INTO `zt_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (6, 5, '体育', 23, '1', '2023-11-16 23:22:46', '1', '2023-11-16 15:44:40', b'1', 1); +INSERT INTO `zt_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (7, 5, '计算机', 11, '1', '2023-11-16 23:22:46', '1', '2023-11-16 15:44:40', b'1', 1); +INSERT INTO `zt_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (8, 5, '体育', 23, '1', '2023-11-16 23:22:46', '1', '2023-11-16 15:47:09', b'1', 1); +INSERT INTO `zt_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (9, 5, '计算机', 11, '1', '2023-11-16 23:22:46', '1', '2023-11-16 15:47:09', b'1', 1); +INSERT INTO `zt_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (10, 5, '体育', 23, '1', '2023-11-16 23:22:46', '1', '2024-09-17 10:55:28', b'1', 1); +INSERT INTO `zt_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (11, 5, '计算机', 11, '1', '2023-11-16 23:22:46', '1', '2024-09-17 10:55:28', b'1', 1); +INSERT INTO `zt_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (12, 2, '电脑', 33, '1', '2023-11-17 00:20:42', '1', '2023-11-16 16:20:45', b'1', 1); +INSERT INTO `zt_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (13, 9, '滑雪', 12, '1', '2023-11-17 13:13:20', '1', '2024-09-17 10:55:26', b'1', 1); +INSERT INTO `zt_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (14, 9, '滑雪', 12, '1', '2023-11-17 13:13:20', '1', '2024-09-17 10:55:49', b'1', 1); +INSERT INTO `zt_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (15, 5, '体育', 23, '1', '2023-11-16 23:22:46', '1', '2024-09-17 18:55:29', b'0', 1); +INSERT INTO `zt_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (16, 5, '计算机', 11, '1', '2023-11-16 23:22:46', '1', '2024-09-17 18:55:29', b'0', 1); +INSERT INTO `zt_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (17, 2, '语文', 66, '1', '2023-11-16 23:21:49', '1', '2024-09-17 18:55:31', b'0', 1); +INSERT INTO `zt_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (18, 2, '数学', 22, '1', '2023-11-16 23:21:49', '1', '2024-09-17 18:55:31', b'0', 1); +INSERT INTO `zt_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (19, 9, '滑雪', 12, '1', '2023-11-17 13:13:20', '1', '2025-04-19 02:49:03', b'1', 1); +INSERT INTO `zt_demo03_course` (`id`, `student_id`, `name`, `score`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (20, 9, '滑雪', 12, '1', '2023-11-17 13:13:20', '1', '2025-04-19 10:49:04', b'0', 1); COMMIT; -- ---------------------------- --- Table structure for yudao_demo03_grade +-- Table structure for zt_demo03_grade -- ---------------------------- -DROP TABLE IF EXISTS `yudao_demo03_grade`; -CREATE TABLE `yudao_demo03_grade` ( +DROP TABLE IF EXISTS `zt_demo03_grade`; +CREATE TABLE `zt_demo03_grade` ( `id` bigint NOT NULL COMMENT '编号', `student_id` bigint NOT NULL COMMENT '学生编号', `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '名字', @@ -4035,19 +4035,19 @@ CREATE TABLE `yudao_demo03_grade` ( ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '学生班级表'; -- ---------------------------- --- Records of yudao_demo03_grade +-- Records of zt_demo03_grade -- ---------------------------- BEGIN; -INSERT INTO `yudao_demo03_grade` (`id`, `student_id`, `name`, `teacher`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (7, 2, '三年 2 班', '周杰伦', '1', '2023-11-16 23:21:49', '1', '2024-09-17 18:55:31', b'0', 1); -INSERT INTO `yudao_demo03_grade` (`id`, `student_id`, `name`, `teacher`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (8, 5, '华为', '遥遥领先', '1', '2023-11-16 23:22:46', '1', '2024-09-17 18:55:29', b'0', 1); -INSERT INTO `yudao_demo03_grade` (`id`, `student_id`, `name`, `teacher`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (9, 9, '小图', '小娃111', '1', '2023-11-17 13:10:23', '1', '2025-04-19 10:49:04', b'0', 1); +INSERT INTO `zt_demo03_grade` (`id`, `student_id`, `name`, `teacher`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (7, 2, '三年 2 班', '周杰伦', '1', '2023-11-16 23:21:49', '1', '2024-09-17 18:55:31', b'0', 1); +INSERT INTO `zt_demo03_grade` (`id`, `student_id`, `name`, `teacher`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (8, 5, '华为', '遥遥领先', '1', '2023-11-16 23:22:46', '1', '2024-09-17 18:55:29', b'0', 1); +INSERT INTO `zt_demo03_grade` (`id`, `student_id`, `name`, `teacher`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (9, 9, '小图', '小娃111', '1', '2023-11-17 13:10:23', '1', '2025-04-19 10:49:04', b'0', 1); COMMIT; -- ---------------------------- --- Table structure for yudao_demo03_student +-- Table structure for zt_demo03_student -- ---------------------------- -DROP TABLE IF EXISTS `yudao_demo03_student`; -CREATE TABLE `yudao_demo03_student` ( +DROP TABLE IF EXISTS `zt_demo03_student`; +CREATE TABLE `zt_demo03_student` ( `id` bigint NOT NULL COMMENT '编号', `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '名字', `sex` tinyint NOT NULL COMMENT '性别', @@ -4063,12 +4063,12 @@ CREATE TABLE `yudao_demo03_student` ( ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '学生表'; -- ---------------------------- --- Records of yudao_demo03_student +-- Records of zt_demo03_student -- ---------------------------- BEGIN; -INSERT INTO `yudao_demo03_student` (`id`, `name`, `sex`, `birthday`, `description`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2, '小白', 1, '2023-11-16 00:00:00', '

厉害

', '1', '2023-11-16 23:21:49', '1', '2024-09-17 18:55:31', b'0', 1); -INSERT INTO `yudao_demo03_student` (`id`, `name`, `sex`, `birthday`, `description`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (5, '大黑', 2, '2023-11-13 00:00:00', '

你在教我做事?

', '1', '2023-11-16 23:22:46', '1', '2024-09-17 18:55:29', b'0', 1); -INSERT INTO `yudao_demo03_student` (`id`, `name`, `sex`, `birthday`, `description`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (9, '小花', 1, '2023-11-07 00:00:00', '

哈哈哈

', '1', '2023-11-17 00:04:47', '1', '2025-04-19 10:49:04', b'0', 1); +INSERT INTO `zt_demo03_student` (`id`, `name`, `sex`, `birthday`, `description`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2, '小白', 1, '2023-11-16 00:00:00', '

厉害

', '1', '2023-11-16 23:21:49', '1', '2024-09-17 18:55:31', b'0', 1); +INSERT INTO `zt_demo03_student` (`id`, `name`, `sex`, `birthday`, `description`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (5, '大黑', 2, '2023-11-13 00:00:00', '

你在教我做事?

', '1', '2023-11-16 23:22:46', '1', '2024-09-17 18:55:29', b'0', 1); +INSERT INTO `zt_demo03_student` (`id`, `name`, `sex`, `birthday`, `description`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (9, '小花', 1, '2023-11-07 00:00:00', '

哈哈哈

', '1', '2023-11-17 00:04:47', '1', '2025-04-19 10:49:04', b'0', 1); COMMIT; -- ---------------------------- diff --git a/zt-dependencies/pom.xml b/zt-dependencies/pom.xml index 6d82cd23..e3e5f972 100644 --- a/zt-dependencies/pom.xml +++ b/zt-dependencies/pom.xml @@ -64,6 +64,7 @@ 8.0.2.RELEASE 1.1.4 5.2.0 + 4.12.0 7.0.1 @@ -144,6 +145,12 @@ seata-spring-boot-starter ${seata.version} + + + com.zt.plat + zt-spring-boot-starter-seata-dm + ${revision} + diff --git a/zt-framework/pom.xml b/zt-framework/pom.xml index 241a211e..5eca3e83 100644 --- a/zt-framework/pom.xml +++ b/zt-framework/pom.xml @@ -33,6 +33,7 @@ zt-spring-boot-starter-biz-data-permission zt-spring-boot-starter-biz-ip zt-spring-boot-starter-biz-business + zt-spring-boot-starter-seata-dm zt-framework diff --git a/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/biz/system/oauth2/dto/OAuth2AccessTokenCreateReqDTO.java b/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/biz/system/oauth2/dto/OAuth2AccessTokenCreateReqDTO.java index 14eb7111..d9936431 100644 --- a/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/biz/system/oauth2/dto/OAuth2AccessTokenCreateReqDTO.java +++ b/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/biz/system/oauth2/dto/OAuth2AccessTokenCreateReqDTO.java @@ -3,9 +3,9 @@ package com.zt.plat.framework.common.biz.system.oauth2.dto; import com.zt.plat.framework.common.enums.UserTypeEnum; import com.zt.plat.framework.common.validation.InEnum; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; import lombok.Data; -import jakarta.validation.constraints.NotNull; import java.io.Serializable; import java.util.List; diff --git a/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/pojo/CommonResult.java b/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/pojo/CommonResult.java index be3d14d4..54f38b5e 100644 --- a/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/pojo/CommonResult.java +++ b/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/pojo/CommonResult.java @@ -1,11 +1,11 @@ package com.zt.plat.framework.common.pojo; import cn.hutool.core.lang.Assert; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.zt.plat.framework.common.exception.ErrorCode; import com.zt.plat.framework.common.exception.ServiceException; import com.zt.plat.framework.common.exception.enums.GlobalErrorCodeConstants; import com.zt.plat.framework.common.exception.util.ServiceExceptionUtil; -import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import java.io.Serializable; diff --git a/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/pojo/PageParam.java b/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/pojo/PageParam.java index e996a9aa..16af526e 100644 --- a/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/pojo/PageParam.java +++ b/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/pojo/PageParam.java @@ -1,11 +1,11 @@ package com.zt.plat.framework.common.pojo; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotNull; import lombok.Data; -import jakarta.validation.constraints.Min; -import jakarta.validation.constraints.Max; -import jakarta.validation.constraints.NotNull; import java.io.Serializable; @Schema(description="分页参数") diff --git a/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/util/asyncTask/AsyncLatchUtils.java b/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/util/asyncTask/AsyncLatchUtils.java new file mode 100644 index 00000000..30837df7 --- /dev/null +++ b/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/util/asyncTask/AsyncLatchUtils.java @@ -0,0 +1,137 @@ +package com.zt.plat.framework.common.util.asyncTask; + +import java.util.LinkedList; +import java.util.List; +import java.util.concurrent.*; + +/** + * 异步任务同步处理工具类 + * 多次提交,一次等待 + */ +public class AsyncLatchUtils { + private static final ThreadLocal> THREADLOCAL = ThreadLocal.withInitial(LinkedList::new); + + /** + * 提交一个异步任务 + * @param executor 指定执行此任务的线程池 + * @param runnable 需要异步执行的具体业务逻辑 + */ + public static void submitTask(Executor executor, Runnable runnable) { + THREADLOCAL.get().add(new TaskInfo(executor, runnable)); + } + + /** + * 获取当前线程已提交的任务列表,并自动清理当前线程的已提交任务列表。 + * @return + */ + private static List popTask() { + List taskInfos = THREADLOCAL.get(); + THREADLOCAL.remove(); + return taskInfos; + } + + /** + * 触发所有已提交任务的执行,并同步等待它们全部完成。 + * @param timeout 最长等待时间 + * @param timeUnit 等待时间单位 + * @return true: 如果所有任务在指定时间内成功完成。false: 如果等待超时。 + * 该方法在执行后会自动清理当前线程提交的任务列表,因此可以重复使用。 + */ + public static boolean waitFor(long timeout, TimeUnit timeUnit) { + List taskInfos = popTask(); + if (taskInfos.isEmpty()) { + return true; + } + CountDownLatch latch = new CountDownLatch(taskInfos.size()); + for (TaskInfo taskInfo : taskInfos) { + Executor executor = taskInfo.executor; + Runnable runnable = taskInfo.runnable; + executor.execute(() -> { + try { + runnable.run(); + } finally { + latch.countDown(); + } + }); + } + boolean await = false; + try { + await = latch.await(timeout, timeUnit); + } catch (Exception ignored) {} + return await; + } + + private static final class TaskInfo { + private final Executor executor; + private final Runnable runnable; + + public TaskInfo(Executor executor, Runnable runnable) { + this.executor = executor; + this.runnable = runnable; + } + } + + /** + * 调用样例 + * @param args + */ + public static void main(String[] args) { + // 1. 准备一个线程池 + ExecutorService executorService = Executors.newFixedThreadPool(3); + + System.out.println("主流程开始,准备分发异步任务..."); + + System.out.println("主线程id:" + Thread.currentThread().getId()); + // 2. 提交多个异步任务 + // 任务一:获取用户信息 + AsyncLatchUtils.submitTask(executorService, () -> { + try { + System.out.println("任务一子线程id:" + Thread.currentThread().getId()); + System.out.println("开始获取用户信息..."); + Thread.sleep(1000); // 模拟耗时 + System.out.println("获取用户信息成功!"); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + }); + + // 任务二:获取订单信息 + AsyncLatchUtils.submitTask(executorService, () -> { + try { + System.out.println("任务二子线程id:" + Thread.currentThread().getId()); + System.out.println("开始获取订单信息..."); + Thread.sleep(1500); // 模拟耗时 + System.out.println("获取订单信息成功!"); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + }); + + // 任务三:获取商品信息 + AsyncLatchUtils.submitTask(executorService, () -> { + try { + System.out.println("任务三子线程id:" + Thread.currentThread().getId()); + System.out.println("开始获取商品信息..."); + Thread.sleep(500); // 模拟耗时 + System.out.println("获取商品信息成功!"); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + }); + + System.out.println("所有异步任务已提交,主线程开始等待..."); + + // 3. 等待所有任务完成,最长等待5秒 + boolean allTasksCompleted = AsyncLatchUtils.waitFor(5, TimeUnit.SECONDS); + + // 4. 根据等待结果继续主流程 + if (allTasksCompleted) { + System.out.println("所有异步任务执行成功,主流程继续..."); + } else { + System.err.println("有任务执行超时,主流程中断!"); + } + + // 5. 关闭线程池 + executorService.shutdown(); + } +} diff --git a/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/util/collection/CollectionUtils.java b/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/util/collection/CollectionUtils.java index 030e3f31..4b89aa70 100644 --- a/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/util/collection/CollectionUtils.java +++ b/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/util/collection/CollectionUtils.java @@ -3,8 +3,8 @@ package com.zt.plat.framework.common.util.collection; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ArrayUtil; -import com.zt.plat.framework.common.pojo.PageResult; import com.google.common.collect.ImmutableMap; +import com.zt.plat.framework.common.pojo.PageResult; import java.util.*; import java.util.function.*; diff --git a/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/util/security/CryptoSignatureUtils.java b/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/util/security/CryptoSignatureUtils.java index b0d9be83..af7fa66a 100644 --- a/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/util/security/CryptoSignatureUtils.java +++ b/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/util/security/CryptoSignatureUtils.java @@ -2,6 +2,7 @@ package com.zt.plat.framework.common.util.security; import cn.hutool.crypto.SecureUtil; import com.zt.plat.framework.common.util.json.JsonUtils; +import lombok.extern.slf4j.Slf4j; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; @@ -15,6 +16,7 @@ import java.util.*; /** * 通用的签名、加解密工具类 */ +@Slf4j public final class CryptoSignatureUtils { public static final String ENCRYPT_TYPE_AES = "AES"; @@ -142,6 +144,7 @@ public final class CryptoSignatureUtils { return false; } String computed; + log.info("原始签名串:{}", sb); if (SIGNATURE_TYPE_MD5.equalsIgnoreCase(type)) { computed = SecureUtil.md5(sb.toString()); } else if (SIGNATURE_TYPE_SHA256.equalsIgnoreCase(type)) { @@ -149,6 +152,8 @@ public final class CryptoSignatureUtils { } else { throw new IllegalArgumentException("Unsupported signature type: " + type); } + log.info("原始签名:{}", computed); + log.info("请求签名:{}", provided); return provided.equalsIgnoreCase(computed); } diff --git a/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/util/tree/TreeUtil.java b/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/util/tree/TreeUtil.java new file mode 100644 index 00000000..97a7ac73 --- /dev/null +++ b/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/util/tree/TreeUtil.java @@ -0,0 +1,216 @@ +package com.zt.plat.framework.common.util.tree; + +import com.alibaba.fastjson.JSON; +import com.zt.plat.framework.common.util.object.ObjectUtils; +import lombok.Data; + +import java.util.*; +import java.util.function.*; +import java.util.stream.Collectors; + +/** + * 树操作方法工具类 + */ +public class TreeUtil { + /** + * 将list合成树 + *@param list 需要合成树的List + *@param rootCheck 判断E中为根节点的条件,如:x->x.getPId()==-1L,x->x.getParentId()==null,x->x.getParentMenuId()==0 + *@param parentCheck 判断E中为父节点条件,如:(x,y)->x.getId().equals(y.getPId()) + *@param setSubChildren E中设置下级数据方法,如:Menu::setSubMenus + *@param 泛型实体对象 + *@return 合成好的树 + */ + public static List makeTree(List list, Predicate rootCheck, BiFunction parentCheck, BiConsumer> setSubChildren){ + return list.stream().filter(rootCheck).peek(x->setSubChildren.accept(x,makeChildren(x,list,parentCheck,setSubChildren))).collect(Collectors.toList()); + } + + /** + *将树打平成tree + *@paramtree需要打平的树 + *@paramgetSubChildren设置下级数据方法,如:Menu::getSubMenus,x->x.setSubMenus(null) + *@paramsetSubChildren将下级数据置空方法,如:x->x.setSubMenus(null) + *@return打平后的数据 + *@param泛型实体对象 + */ + public static List flat(List tree, Function> getSubChildren, Consumer setSubChildren){ + List res = new ArrayList<>(); + forPostOrder(tree,item->{ + setSubChildren.accept(item); + res.add(item); + },getSubChildren); + return res; + } + + + /** + *前序遍历 + * + *@paramtree需要遍历的树 + *@paramconsumer遍历后对单个元素的处理方法,如:x->System.out.println(x)、System.out::println打印元素 + *@paramsetSubChildren设置下级数据方法,如:Menu::getSubMenus,x->x.setSubMenus(null) + *@param泛型实体对象 + */ + public static void forPreOrder(List tree,Consumer consumer,Function> setSubChildren){ + for(E l : tree){ + consumer.accept(l); + List es = setSubChildren.apply(l); + if(es != null && es.size() > 0){ + forPreOrder(es,consumer,setSubChildren); + } + } + } + + + /** + *层序遍历 + * + *@paramtree需要遍历的树 + *@paramconsumer遍历后对单个元素的处理方法,如:x->System.out.println(x)、System.out::println打印元素 + *@paramsetSubChildren设置下级数据方法,如:Menu::getSubMenus,x->x.setSubMenus(null) + *@param泛型实体对象 + */ + public static void forLevelOrder(List tree,Consumer consumer,Function> setSubChildren){ + Queue queue=new LinkedList<>(tree); + while(!queue.isEmpty()){ + E item = queue.poll(); + consumer.accept(item); + List childList = setSubChildren.apply(item); + if(childList !=null && !childList.isEmpty()){ + queue.addAll(childList); + } + } + } + + + /** + *后序遍历 + * + *@paramtree需要遍历的树 + *@paramconsumer遍历后对单个元素的处理方法,如:x->System.out.println(x)、System.out::println打印元素 + *@paramsetSubChildren设置下级数据方法,如:Menu::getSubMenus,x->x.setSubMenus(null) + *@param泛型实体对象 + */ + public static void forPostOrder(List tree,Consumer consumer,Function> setSubChildren){ + for(E item : tree) { + List childList = setSubChildren.apply(item); + if(childList != null && !childList.isEmpty()){ + forPostOrder(childList,consumer,setSubChildren); + } + consumer.accept(item); + } + } + + /** + *对树所有子节点按comparator排序 + * + *@paramtree需要排序的树 + *@paramcomparator排序规则Comparator,如:Comparator.comparing(MenuVo::getRank)按Rank正序,(x,y)->y.getRank().compareTo(x.getRank()),按Rank倒序 + *@paramgetChildren获取下级数据方法,如:MenuVo::getSubMenus + *@return排序好的树 + *@param泛型实体对象 + */ + public static List sort(List tree, Comparator comparator, Function> getChildren){ + for(E item : tree){ + List childList = getChildren.apply(item); + if(childList != null &&! childList.isEmpty()){ + sort(childList,comparator,getChildren); + } + } + tree.sort(comparator); + return tree; + } + + private static List makeChildren(E parent,List allData,BiFunction parentCheck,BiConsumer> children){ + return allData.stream().filter(x->parentCheck.apply(parent,x)).peek(x->children.accept(x,makeChildren(x,allData,parentCheck,children))).collect(Collectors.toList()); + } + + /** + * 使用样例 + * @param args + */ + public static void main(String[] args) { + MenuVo menu0 = new MenuVo(0L, -1L, "一级菜单", 0); + MenuVo menu1 = new MenuVo(1L, 0L, "二级菜单", 1); + MenuVo menu2 = new MenuVo(2L, 0L, "三级菜单", 2); + MenuVo menu3 = new MenuVo(3L, 1L, "四级菜单", 3); + MenuVo menu4 = new MenuVo(4L, 1L, "五级菜单", 4); + MenuVo menu5 = new MenuVo(5L, 2L, "六级菜单", 5); + MenuVo menu6 = new MenuVo(6L, 2L, "七级菜单", 6); + MenuVo menu7 = new MenuVo(7L, 3L, "八级菜单", 7); + MenuVo menu8 = new MenuVo(8L, 3L, "九级菜单", 8); + MenuVo menu9 = new MenuVo(9L, 4L, "十级菜单", 9); + //基本数据 + List menuList = Arrays.asList(menu0,menu1, menu2,menu3,menu4,menu5,menu6,menu7,menu8,menu9); + //合成树 + /** + * 第1个参数List list,为我们需要合成树的List,如上面Demo中的menuList + * 第2个参数Predicate rootCheck,判断为根节点的条件,如上面Demo中pId==-1就是根节点 + * 第3个参数parentCheck 判断为父节点条件,如上面Demo中 id==pId + * 第4个参数setSubChildren,设置下级数据方法如上面Demo中:Menu::setSubMenus + */ + List tree= TreeUtil.makeTree(menuList, x->x.getPId()==-1L,(x, y)->x.getId().equals(y.getPId()), MenuVo::setSubMenus); + System.out.println(JSON.toJSONString(tree)); + + //先序 + /** + * 遍历数参数解释: + * tree 需要遍历的树,就是makeTree()合 + * 成的对象Consumer consumer 遍历后对单个元素的处理方法,如:x-> System.out.println(x)、 postOrder.append(x.getId().toString()) + * Function getSubChildren,获取下级数据方法,如Menu::getSubMenus + */ + StringBuffer preStr = new StringBuffer(); + TreeUtil.forPreOrder(tree,x-> preStr.append(x.getId().toString()),MenuVo::getSubMenus); + ObjectUtils.equalsAny("0123456789",preStr.toString()); + + //层序 + StringBuffer levelStr=new StringBuffer(); + TreeUtil.forLevelOrder(tree,x-> levelStr.append(x.getId().toString()),MenuVo::getSubMenus); + ObjectUtils.equalsAny("0123456789",levelStr.toString()); + + //后序 + StringBuffer postOrder=new StringBuffer(); + TreeUtil.forPostOrder(tree,x-> postOrder.append(x.getId().toString()),MenuVo::getSubMenus); + ObjectUtils.equalsAny("7839415620",postOrder.toString()); + + // 树平铺 + /** + * flat()参数解释: + * tree 需要打平的树,就是makeTree()合成的对象Function getSubChildren, + * 获取下级数据方法,如Menu::getSubMenusConsumer setSubChildren, + * 设置下级数据方法,如:x->x.setSubMenus(null) + */ + List flat = TreeUtil.flat(tree, MenuVo::getSubMenus,x->x.setSubMenus(null)); + ObjectUtils.equalsAny(flat.size(),menuList.size()); + flat.forEach(x -> { + if (x.getSubMenus() != null) { + throw new RuntimeException("树平铺失败"); + } + }); + + // 按rank正序 + /** + * sort参数解释: + * tree 需要排序的树,就是makeTree()合成的对象Comparator comparator + * 排序规则Comparator,如:Comparator.comparing(MenuVo::getRank) 按Rank正序 ,(x,y)->y.getRank().compareTo(x.getRank()),按Rank倒序Function getChildren + * 获取下级数据方法,如:MenuVo::getSubMenus + */ + List sortTree= TreeUtil.sort(tree, Comparator.comparing(MenuVo::getRank), MenuVo::getSubMenus); + // 按rank倒序 + List sortTreeReverse = TreeUtil.sort(tree, (x,y)->y.getRank().compareTo(x.getRank()), MenuVo::getSubMenus); + } + @Data + static class MenuVo { + private Long id; // 主键id + private Long pId; // 父级id + private String name; // 菜单名称 + private Integer rank = 0; // 排序 + private List subMenus = new ArrayList<>(); // 子菜单 + public MenuVo(Long id, Long pId, String name, Integer rank) { + this.id = id; + this.pId = pId; + this.name = name; + this.rank = rank; + } + } +} diff --git a/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/util/validation/ValidationUtils.java b/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/util/validation/ValidationUtils.java index b0ab2609..4f828c0b 100644 --- a/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/util/validation/ValidationUtils.java +++ b/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/util/validation/ValidationUtils.java @@ -2,12 +2,12 @@ package com.zt.plat.framework.common.util.validation; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Assert; -import org.springframework.util.StringUtils; - import jakarta.validation.ConstraintViolation; import jakarta.validation.ConstraintViolationException; import jakarta.validation.Validation; import jakarta.validation.Validator; +import org.springframework.util.StringUtils; + import java.util.Set; import java.util.regex.Pattern; diff --git a/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/validation/Mobile.java b/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/validation/Mobile.java index d47d92d0..f7db4729 100644 --- a/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/validation/Mobile.java +++ b/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/validation/Mobile.java @@ -2,6 +2,7 @@ package com.zt.plat.framework.common.validation; import jakarta.validation.Constraint; import jakarta.validation.Payload; + import java.lang.annotation.*; @Target({ diff --git a/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/validation/Telephone.java b/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/validation/Telephone.java index 2409fd88..93ccf25d 100644 --- a/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/validation/Telephone.java +++ b/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/validation/Telephone.java @@ -2,6 +2,7 @@ package com.zt.plat.framework.common.validation; import jakarta.validation.Constraint; import jakarta.validation.Payload; + import java.lang.annotation.*; @Target({ diff --git a/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/validation/TelephoneValidator.java b/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/validation/TelephoneValidator.java index 7e7b2232..6ea5c31b 100644 --- a/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/validation/TelephoneValidator.java +++ b/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/validation/TelephoneValidator.java @@ -2,7 +2,6 @@ package com.zt.plat.framework.common.validation; import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.PhoneUtil; - import jakarta.validation.ConstraintValidator; import jakarta.validation.ConstraintValidatorContext; diff --git a/zt-framework/zt-spring-boot-starter-biz-business/src/main/java/com/zt/plat/framework/business/interceptor/BusinessHeaderInterceptor.java b/zt-framework/zt-spring-boot-starter-biz-business/src/main/java/com/zt/plat/framework/business/interceptor/BusinessHeaderInterceptor.java index cf8dc86f..ee6b215e 100644 --- a/zt-framework/zt-spring-boot-starter-biz-business/src/main/java/com/zt/plat/framework/business/interceptor/BusinessHeaderInterceptor.java +++ b/zt-framework/zt-spring-boot-starter-biz-business/src/main/java/com/zt/plat/framework/business/interceptor/BusinessHeaderInterceptor.java @@ -1,9 +1,9 @@ package com.zt.plat.framework.business.interceptor; +import com.fasterxml.jackson.databind.ObjectMapper; import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.common.pojo.CommonResultCodeEnum; import com.zt.plat.framework.common.pojo.CompanyDeptInfo; -import com.fasterxml.jackson.databind.ObjectMapper; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; diff --git a/zt-framework/zt-spring-boot-starter-biz-data-permission/src/main/java/com/zt/plat/framework/datapermission/core/aop/DataPermissionContextHolder.java b/zt-framework/zt-spring-boot-starter-biz-data-permission/src/main/java/com/zt/plat/framework/datapermission/core/aop/DataPermissionContextHolder.java index 36e391a1..8db86b52 100644 --- a/zt-framework/zt-spring-boot-starter-biz-data-permission/src/main/java/com/zt/plat/framework/datapermission/core/aop/DataPermissionContextHolder.java +++ b/zt-framework/zt-spring-boot-starter-biz-data-permission/src/main/java/com/zt/plat/framework/datapermission/core/aop/DataPermissionContextHolder.java @@ -1,7 +1,7 @@ package com.zt.plat.framework.datapermission.core.aop; -import com.zt.plat.framework.datapermission.core.annotation.DataPermission; import com.alibaba.ttl.TransmittableThreadLocal; +import com.zt.plat.framework.datapermission.core.annotation.DataPermission; import java.util.LinkedList; import java.util.List; diff --git a/zt-framework/zt-spring-boot-starter-biz-data-permission/src/main/java/com/zt/plat/framework/datapermission/core/db/DataPermissionRuleHandler.java b/zt-framework/zt-spring-boot-starter-biz-data-permission/src/main/java/com/zt/plat/framework/datapermission/core/db/DataPermissionRuleHandler.java index d23e9ac8..6f1e3f48 100644 --- a/zt-framework/zt-spring-boot-starter-biz-data-permission/src/main/java/com/zt/plat/framework/datapermission/core/db/DataPermissionRuleHandler.java +++ b/zt-framework/zt-spring-boot-starter-biz-data-permission/src/main/java/com/zt/plat/framework/datapermission/core/db/DataPermissionRuleHandler.java @@ -1,10 +1,10 @@ package com.zt.plat.framework.datapermission.core.db; import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.extension.plugins.handler.MultiDataPermissionHandler; import com.zt.plat.framework.datapermission.core.rule.DataPermissionRule; import com.zt.plat.framework.datapermission.core.rule.DataPermissionRuleFactory; import com.zt.plat.framework.mybatis.core.util.MyBatisUtils; -import com.baomidou.mybatisplus.extension.plugins.handler.MultiDataPermissionHandler; import lombok.RequiredArgsConstructor; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.expression.operators.conditional.AndExpression; diff --git a/zt-framework/zt-spring-boot-starter-biz-data-permission/src/main/java/com/zt/plat/framework/datapermission/core/rule/company/CompanyDataPermissionRule.java b/zt-framework/zt-spring-boot-starter-biz-data-permission/src/main/java/com/zt/plat/framework/datapermission/core/rule/company/CompanyDataPermissionRule.java index c02348c6..25909d05 100644 --- a/zt-framework/zt-spring-boot-starter-biz-data-permission/src/main/java/com/zt/plat/framework/datapermission/core/rule/company/CompanyDataPermissionRule.java +++ b/zt-framework/zt-spring-boot-starter-biz-data-permission/src/main/java/com/zt/plat/framework/datapermission/core/rule/company/CompanyDataPermissionRule.java @@ -8,7 +8,10 @@ import com.zt.plat.framework.mybatis.core.util.MyBatisUtils; import com.zt.plat.framework.tenant.core.context.CompanyContextHolder; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import net.sf.jsqlparser.expression.*; +import net.sf.jsqlparser.expression.Alias; +import net.sf.jsqlparser.expression.Expression; +import net.sf.jsqlparser.expression.LongValue; +import net.sf.jsqlparser.expression.NullValue; import net.sf.jsqlparser.expression.operators.relational.ExpressionList; import net.sf.jsqlparser.expression.operators.relational.InExpression; import net.sf.jsqlparser.expression.operators.relational.ParenthesedExpressionList; diff --git a/zt-framework/zt-spring-boot-starter-biz-data-permission/src/test/java/com/zt/plat/framework/datapermission/core/db/DataPermissionRuleHandlerTest.java b/zt-framework/zt-spring-boot-starter-biz-data-permission/src/test/java/com/zt/plat/framework/datapermission/core/db/DataPermissionRuleHandlerTest.java index cba67058..ead76c2d 100644 --- a/zt-framework/zt-spring-boot-starter-biz-data-permission/src/test/java/com/zt/plat/framework/datapermission/core/db/DataPermissionRuleHandlerTest.java +++ b/zt-framework/zt-spring-boot-starter-biz-data-permission/src/test/java/com/zt/plat/framework/datapermission/core/db/DataPermissionRuleHandlerTest.java @@ -1,10 +1,10 @@ package com.zt.plat.framework.datapermission.core.db; +import com.baomidou.mybatisplus.extension.plugins.inner.DataPermissionInterceptor; import com.zt.plat.framework.datapermission.core.rule.DataPermissionRule; import com.zt.plat.framework.datapermission.core.rule.DataPermissionRuleFactory; import com.zt.plat.framework.mybatis.core.util.MyBatisUtils; import com.zt.plat.framework.test.core.ut.BaseMockitoUnitTest; -import com.baomidou.mybatisplus.extension.plugins.inner.DataPermissionInterceptor; import net.sf.jsqlparser.expression.Alias; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.expression.LongValue; diff --git a/zt-framework/zt-spring-boot-starter-biz-data-permission/src/test/java/com/zt/plat/framework/datapermission/core/util/DataPermissionUtilsTest.java b/zt-framework/zt-spring-boot-starter-biz-data-permission/src/test/java/com/zt/plat/framework/datapermission/core/util/DataPermissionUtilsTest.java index 64b6554f..5c39b9a6 100644 --- a/zt-framework/zt-spring-boot-starter-biz-data-permission/src/test/java/com/zt/plat/framework/datapermission/core/util/DataPermissionUtilsTest.java +++ b/zt-framework/zt-spring-boot-starter-biz-data-permission/src/test/java/com/zt/plat/framework/datapermission/core/util/DataPermissionUtilsTest.java @@ -3,7 +3,7 @@ package com.zt.plat.framework.datapermission.core.util; import com.zt.plat.framework.datapermission.core.aop.DataPermissionContextHolder; import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertFalse; public class DataPermissionUtilsTest { diff --git a/zt-framework/zt-spring-boot-starter-biz-ip/src/main/java/com/zt/plat/framework/ip/core/Area.java b/zt-framework/zt-spring-boot-starter-biz-ip/src/main/java/com/zt/plat/framework/ip/core/Area.java index 76e2bd2b..39b5dafb 100644 --- a/zt-framework/zt-spring-boot-starter-biz-ip/src/main/java/com/zt/plat/framework/ip/core/Area.java +++ b/zt-framework/zt-spring-boot-starter-biz-ip/src/main/java/com/zt/plat/framework/ip/core/Area.java @@ -1,8 +1,8 @@ package com.zt.plat.framework.ip.core; -import com.zt.plat.framework.ip.core.enums.AreaTypeEnum; import com.fasterxml.jackson.annotation.JsonBackReference; import com.fasterxml.jackson.annotation.JsonManagedReference; +import com.zt.plat.framework.ip.core.enums.AreaTypeEnum; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; diff --git a/zt-framework/zt-spring-boot-starter-biz-ip/src/test/java/com/zt/plat/framework/ip/core/utils/IPUtilsTest.java b/zt-framework/zt-spring-boot-starter-biz-ip/src/test/java/com/zt/plat/framework/ip/core/utils/IPUtilsTest.java index fe545577..1403cf9c 100644 --- a/zt-framework/zt-spring-boot-starter-biz-ip/src/test/java/com/zt/plat/framework/ip/core/utils/IPUtilsTest.java +++ b/zt-framework/zt-spring-boot-starter-biz-ip/src/test/java/com/zt/plat/framework/ip/core/utils/IPUtilsTest.java @@ -4,7 +4,6 @@ import com.zt.plat.framework.ip.core.Area; import org.junit.jupiter.api.Test; import org.lionsoul.ip2region.xdb.Searcher; - import static org.junit.jupiter.api.Assertions.assertEquals; /** diff --git a/zt-framework/zt-spring-boot-starter-env/src/main/java/com/zt/plat/framework/env/core/util/EnvUtils.java b/zt-framework/zt-spring-boot-starter-env/src/main/java/com/zt/plat/framework/env/core/util/EnvUtils.java index 67d0f097..eb1fb615 100644 --- a/zt-framework/zt-spring-boot-starter-env/src/main/java/com/zt/plat/framework/env/core/util/EnvUtils.java +++ b/zt-framework/zt-spring-boot-starter-env/src/main/java/com/zt/plat/framework/env/core/util/EnvUtils.java @@ -2,11 +2,11 @@ package com.zt.plat.framework.env.core.util; import com.zt.plat.framework.env.config.EnvProperties; import feign.RequestTemplate; +import jakarta.servlet.http.HttpServletRequest; import lombok.SneakyThrows; import org.springframework.cloud.client.ServiceInstance; import org.springframework.core.env.Environment; -import jakarta.servlet.http.HttpServletRequest; import java.net.InetAddress; import java.util.Objects; diff --git a/zt-framework/zt-spring-boot-starter-excel/pom.xml b/zt-framework/zt-spring-boot-starter-excel/pom.xml index e0686e56..21a80db5 100644 --- a/zt-framework/zt-spring-boot-starter-excel/pom.xml +++ b/zt-framework/zt-spring-boot-starter-excel/pom.xml @@ -66,7 +66,7 @@ com.zt.plat zt-spring-boot-starter-biz-ip - true + diff --git a/zt-framework/zt-spring-boot-starter-excel/src/main/java/com/zt/plat/framework/excel/core/convert/AreaConvert.java b/zt-framework/zt-spring-boot-starter-excel/src/main/java/com/zt/plat/framework/excel/core/convert/AreaConvert.java index 9ad88e05..85c7c505 100644 --- a/zt-framework/zt-spring-boot-starter-excel/src/main/java/com/zt/plat/framework/excel/core/convert/AreaConvert.java +++ b/zt-framework/zt-spring-boot-starter-excel/src/main/java/com/zt/plat/framework/excel/core/convert/AreaConvert.java @@ -1,13 +1,13 @@ package com.zt.plat.framework.excel.core.convert; import cn.hutool.core.convert.Convert; -import com.zt.plat.framework.ip.core.Area; -import com.zt.plat.framework.ip.core.utils.AreaUtils; import com.alibaba.excel.converters.Converter; import com.alibaba.excel.enums.CellDataTypeEnum; import com.alibaba.excel.metadata.GlobalConfiguration; import com.alibaba.excel.metadata.data.ReadCellData; import com.alibaba.excel.metadata.property.ExcelContentProperty; +import com.zt.plat.framework.ip.core.Area; +import com.zt.plat.framework.ip.core.utils.AreaUtils; import lombok.extern.slf4j.Slf4j; /** diff --git a/zt-framework/zt-spring-boot-starter-job/src/main/java/com/zt/plat/framework/quartz/config/ZtAsyncAutoConfiguration.java b/zt-framework/zt-spring-boot-starter-job/src/main/java/com/zt/plat/framework/quartz/config/ZtAsyncAutoConfiguration.java index 108ac209..5ec56f71 100644 --- a/zt-framework/zt-spring-boot-starter-job/src/main/java/com/zt/plat/framework/quartz/config/ZtAsyncAutoConfiguration.java +++ b/zt-framework/zt-spring-boot-starter-job/src/main/java/com/zt/plat/framework/quartz/config/ZtAsyncAutoConfiguration.java @@ -5,7 +5,6 @@ import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.BeanPostProcessor; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; diff --git a/zt-framework/zt-spring-boot-starter-job/src/main/java/com/zt/plat/framework/quartz/config/ZtXxlJobAutoConfiguration.java b/zt-framework/zt-spring-boot-starter-job/src/main/java/com/zt/plat/framework/quartz/config/ZtXxlJobAutoConfiguration.java index ef5e66d5..0e6b4bb0 100644 --- a/zt-framework/zt-spring-boot-starter-job/src/main/java/com/zt/plat/framework/quartz/config/ZtXxlJobAutoConfiguration.java +++ b/zt-framework/zt-spring-boot-starter-job/src/main/java/com/zt/plat/framework/quartz/config/ZtXxlJobAutoConfiguration.java @@ -48,13 +48,13 @@ public class ZtXxlJobAutoConfiguration { /** * 配置 XXL-Job 系统认证切面 - * + * * 为 @XxlJob 注解的方法提供系统用户认证上下文 */ @Bean @ConditionalOnMissingBean public XxlJobSystemAuthenticationAspect xxlJobSystemAuthenticationAspect(XxlJobProperties properties) { - log.info("[ZtXxlJobAutoConfiguration][注册 XXL-Job 系统认证切面] systemUserId=[{}], systemTenantId=[{}]", + log.info("[ZtXxlJobAutoConfiguration][注册 XXL-Job 系统认证切面] systemUserId=[{}], systemTenantId=[{}]", properties.getSystemUser().getUserId(), properties.getSystemUser().getTenantId()); return new XxlJobSystemAuthenticationAspect(properties.getSystemUser()); } diff --git a/zt-framework/zt-spring-boot-starter-monitor/src/main/java/com/zt/plat/framework/tracer/config/ZtMetricsAutoConfiguration.java b/zt-framework/zt-spring-boot-starter-monitor/src/main/java/com/zt/plat/framework/tracer/config/ZtMetricsAutoConfiguration.java index 8c07dd06..a33a1025 100644 --- a/zt-framework/zt-spring-boot-starter-monitor/src/main/java/com/zt/plat/framework/tracer/config/ZtMetricsAutoConfiguration.java +++ b/zt-framework/zt-spring-boot-starter-monitor/src/main/java/com/zt/plat/framework/tracer/config/ZtMetricsAutoConfiguration.java @@ -7,7 +7,6 @@ import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * Metrics 配置类 diff --git a/zt-framework/zt-spring-boot-starter-monitor/src/main/java/com/zt/plat/framework/tracer/core/aop/BizTraceAspect.java b/zt-framework/zt-spring-boot-starter-monitor/src/main/java/com/zt/plat/framework/tracer/core/aop/BizTraceAspect.java index 308a0348..90af2e67 100644 --- a/zt-framework/zt-spring-boot-starter-monitor/src/main/java/com/zt/plat/framework/tracer/core/aop/BizTraceAspect.java +++ b/zt-framework/zt-spring-boot-starter-monitor/src/main/java/com/zt/plat/framework/tracer/core/aop/BizTraceAspect.java @@ -2,8 +2,8 @@ package com.zt.plat.framework.tracer.core.aop; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.StrUtil; -import com.zt.plat.framework.tracer.core.annotation.BizTrace; import com.zt.plat.framework.common.util.spring.SpringExpressionUtils; +import com.zt.plat.framework.tracer.core.annotation.BizTrace; import com.zt.plat.framework.tracer.core.util.TracerFrameworkUtils; import io.opentracing.Span; import io.opentracing.Tracer; diff --git a/zt-framework/zt-spring-boot-starter-mq/src/main/java/com/zt/plat/framework/mq/redis/core/pubsub/AbstractRedisChannelMessage.java b/zt-framework/zt-spring-boot-starter-mq/src/main/java/com/zt/plat/framework/mq/redis/core/pubsub/AbstractRedisChannelMessage.java index ba1851db..9bcd3faa 100644 --- a/zt-framework/zt-spring-boot-starter-mq/src/main/java/com/zt/plat/framework/mq/redis/core/pubsub/AbstractRedisChannelMessage.java +++ b/zt-framework/zt-spring-boot-starter-mq/src/main/java/com/zt/plat/framework/mq/redis/core/pubsub/AbstractRedisChannelMessage.java @@ -1,7 +1,7 @@ package com.zt.plat.framework.mq.redis.core.pubsub; -import com.zt.plat.framework.mq.redis.core.message.AbstractRedisMessage; import com.fasterxml.jackson.annotation.JsonIgnore; +import com.zt.plat.framework.mq.redis.core.message.AbstractRedisMessage; /** * Redis Channel Message 抽象类 diff --git a/zt-framework/zt-spring-boot-starter-mq/src/main/java/com/zt/plat/framework/mq/redis/core/stream/AbstractRedisStreamMessage.java b/zt-framework/zt-spring-boot-starter-mq/src/main/java/com/zt/plat/framework/mq/redis/core/stream/AbstractRedisStreamMessage.java index 39d0f4ca..9e70b1c6 100644 --- a/zt-framework/zt-spring-boot-starter-mq/src/main/java/com/zt/plat/framework/mq/redis/core/stream/AbstractRedisStreamMessage.java +++ b/zt-framework/zt-spring-boot-starter-mq/src/main/java/com/zt/plat/framework/mq/redis/core/stream/AbstractRedisStreamMessage.java @@ -1,7 +1,7 @@ package com.zt.plat.framework.mq.redis.core.stream; -import com.zt.plat.framework.mq.redis.core.message.AbstractRedisMessage; import com.fasterxml.jackson.annotation.JsonIgnore; +import com.zt.plat.framework.mq.redis.core.message.AbstractRedisMessage; /** * Redis Stream Message 抽象类 diff --git a/zt-framework/zt-spring-boot-starter-mybatis/src/main/java/com/zt/plat/framework/datasource/core/filter/DruidAdRemoveFilter.java b/zt-framework/zt-spring-boot-starter-mybatis/src/main/java/com/zt/plat/framework/datasource/core/filter/DruidAdRemoveFilter.java index 9e616c98..4341ce1d 100644 --- a/zt-framework/zt-spring-boot-starter-mybatis/src/main/java/com/zt/plat/framework/datasource/core/filter/DruidAdRemoveFilter.java +++ b/zt-framework/zt-spring-boot-starter-mybatis/src/main/java/com/zt/plat/framework/datasource/core/filter/DruidAdRemoveFilter.java @@ -1,12 +1,12 @@ package com.zt.plat.framework.datasource.core.filter; import com.alibaba.druid.util.Utils; -import org.springframework.web.filter.OncePerRequestFilter; - import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; +import org.springframework.web.filter.OncePerRequestFilter; + import java.io.IOException; /** diff --git a/zt-framework/zt-spring-boot-starter-mybatis/src/main/java/com/zt/plat/framework/mybatis/core/mapper/BaseMapperX.java b/zt-framework/zt-spring-boot-starter-mybatis/src/main/java/com/zt/plat/framework/mybatis/core/mapper/BaseMapperX.java index 701d322e..3de8aa7b 100644 --- a/zt-framework/zt-spring-boot-starter-mybatis/src/main/java/com/zt/plat/framework/mybatis/core/mapper/BaseMapperX.java +++ b/zt-framework/zt-spring-boot-starter-mybatis/src/main/java/com/zt/plat/framework/mybatis/core/mapper/BaseMapperX.java @@ -19,6 +19,12 @@ import com.baomidou.mybatisplus.extension.toolkit.Db; import com.github.yulichang.base.MPJBaseMapper; import com.github.yulichang.interfaces.MPJBaseJoin; import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.SortablePageParam; +import com.zt.plat.framework.common.pojo.SortingField; +import com.zt.plat.framework.mybatis.core.util.JdbcUtils; +import com.zt.plat.framework.mybatis.core.util.MyBatisUtils; import org.apache.ibatis.annotations.Param; import java.util.Collection; diff --git a/zt-framework/zt-spring-boot-starter-protection/src/main/java/com/zt/plat/framework/lock4j/core/DefaultLockFailureStrategy.java b/zt-framework/zt-spring-boot-starter-protection/src/main/java/com/zt/plat/framework/lock4j/core/DefaultLockFailureStrategy.java index a16bcd2a..f143e6ad 100644 --- a/zt-framework/zt-spring-boot-starter-protection/src/main/java/com/zt/plat/framework/lock4j/core/DefaultLockFailureStrategy.java +++ b/zt-framework/zt-spring-boot-starter-protection/src/main/java/com/zt/plat/framework/lock4j/core/DefaultLockFailureStrategy.java @@ -1,8 +1,8 @@ package com.zt.plat.framework.lock4j.core; +import com.baomidou.lock.LockFailureStrategy; import com.zt.plat.framework.common.exception.ServiceException; import com.zt.plat.framework.common.exception.enums.GlobalErrorCodeConstants; -import com.baomidou.lock.LockFailureStrategy; import lombok.extern.slf4j.Slf4j; import java.lang.reflect.Method; diff --git a/zt-framework/zt-spring-boot-starter-seata-dm/pom.xml b/zt-framework/zt-spring-boot-starter-seata-dm/pom.xml new file mode 100644 index 00000000..49d7b1e2 --- /dev/null +++ b/zt-framework/zt-spring-boot-starter-seata-dm/pom.xml @@ -0,0 +1,32 @@ + + + + zt-framework + com.zt.plat + ${revision} + + 4.0.0 + jar + + zt-spring-boot-starter-seata-dm + + ${project.artifactId} + + Seata 达梦数据库补丁模块 + 解决 DmdbTimestamp 时区格式不一致导致的 dirty undo log 回滚失败问题 + 补丁来源: https://github.com/apache/incubator-seata/pull/7538 + Seata 2.6.0 发布后可移除此模块 + + + + + + org.apache.seata + seata-spring-boot-starter + provided + + + + diff --git a/zt-framework/zt-spring-boot-starter-seata-dm/src/main/java/org/apache/seata/rm/datasource/DataCompareUtils.java b/zt-framework/zt-spring-boot-starter-seata-dm/src/main/java/org/apache/seata/rm/datasource/DataCompareUtils.java new file mode 100644 index 00000000..24c15d5a --- /dev/null +++ b/zt-framework/zt-spring-boot-starter-seata-dm/src/main/java/org/apache/seata/rm/datasource/DataCompareUtils.java @@ -0,0 +1,326 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.seata.rm.datasource; + +import org.apache.seata.common.util.CollectionUtils; +import org.apache.seata.common.util.StringUtils; +import org.apache.seata.core.model.Result; +import org.apache.seata.rm.datasource.sql.struct.Field; +import org.apache.seata.rm.datasource.sql.struct.Row; +import org.apache.seata.rm.datasource.sql.struct.TableRecords; +import org.apache.seata.rm.datasource.undo.AbstractUndoLogManager; +import org.apache.seata.rm.datasource.undo.parser.FastjsonUndoLogParser; +import org.apache.seata.rm.datasource.undo.parser.JacksonUndoLogParser; +import org.apache.seata.sqlparser.struct.TableMeta; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.lang.reflect.Method; +import java.math.BigDecimal; +import java.sql.Date; +import java.sql.Time; +import java.sql.Timestamp; +import java.sql.Types; +import java.time.Instant; +import java.time.LocalDateTime; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * DataCompareUtils - 包含达梦数据库 DmdbTimestamp 时区问题的补丁 + *

+ * 此类覆盖 Seata 原有的 DataCompareUtils,添加了对达梦数据库 DmdbTimestamp 类型的特殊处理。 + * 通过将 DmdbTimestamp 转换为 UTC Instant 进行比较,解决时区格式不一致导致的 dirty undo log 问题。 + *

+ * 问题背景: + * - 达梦数据库的 DmdbTimestamp 类型在序列化/反序列化后时区格式不一致 + * - 例如:beforeImage 为 "2025-12-25 09:38:54.077811 +08:00" + * afterImage 为 "2025-12-25 09:38:54.077811" + * - 导致 Seata AT 模式回滚时 dirty undo log 检查失败 + *

+ * 解决方案: + * - 当检测到 DmdbTimestamp 类型时,将两个值都转换为 UTC Instant 进行比较 + * - 这样可以忽略时区格式差异,只比较实际的时间点 + *

+ * 补丁来源: https://github.com/apache/incubator-seata/pull/7538 + * 相关 Issue: https://github.com/apache/incubator-seata/issues/7453 + * 该修复已合并到 Seata 2.x 分支,将在 Seata 2.6.0 正式发布,届时可删除此模块。 + * + * @author Seata Community (PR #7538) + */ +public class DataCompareUtils { + + private static final Logger LOGGER = LoggerFactory.getLogger(DataCompareUtils.class); + + /** + * 标识补丁类是否已加载 + */ + private static final boolean PATCHED; + + static { + PATCHED = true; + LOGGER.info("[zt-spring-boot-starter-seata-dm] DataCompareUtils 补丁类已加载,用于解决达梦数据库 DmdbTimestamp 时区问题"); + } + + private DataCompareUtils() {} + + /** + * Is field equals result. + * + * @param f0 the f 0 + * @param f1 the f 1 + * @return the result + */ + public static Result isFieldEquals(Field f0, Field f1) { + if (f0 == null) { + return Result.build(f1 == null); + } else { + if (f1 == null) { + return Result.build(false); + } else { + if (StringUtils.equalsIgnoreCase(f0.getName(), f1.getName()) && f0.getType() == f1.getType()) { + if (f0.getValue() == null) { + return Result.build(f1.getValue() == null); + } else { + if (f1.getValue() == null) { + return Result.buildWithParams( + false, "Field not equals, name {}, new value is null", f0.getName()); + } else { + String currentSerializer = AbstractUndoLogManager.getCurrentSerializer(); + if (StringUtils.equals(currentSerializer, FastjsonUndoLogParser.NAME)) { + convertType(f0, f1); + } + // 达梦数据库 DmdbTimestamp 时区补丁 (PR #7538) + if (StringUtils.equals(currentSerializer, JacksonUndoLogParser.NAME)) { + Object v0 = f0.getValue(); + Object v1 = f1.getValue(); + if (isDmdbTimestamp(v0) && isDmdbTimestamp(v1)) { + Instant i0 = toInstant(v0); + Instant i1 = toInstant(v1); + boolean equals = Objects.equals(i0, i1); + LOGGER.info("[zt-seata-dm-patch] DmdbTimestamp 字段比较: field={}, equals={}", f0.getName(), equals); + return equals + ? Result.ok() + : Result.buildWithParams( + false, + "Field not equals (DmdbTimestamp), name {}, old value {}, new value {}", + f0.getName(), + v0, + v1); + } + } + boolean result = Objects.deepEquals(f0.getValue(), f1.getValue()); + if (result) { + return Result.ok(); + } else { + return Result.buildWithParams( + false, + "Field not equals, name {}, old value {}, new value {}", + f0.getName(), + f0.getValue(), + f1.getValue()); + } + } + } + } else { + return Result.buildWithParams( + false, + "Field not equals, old name {} type {}, new name {} type {}", + f0.getName(), + f0.getType(), + f1.getName(), + f1.getType()); + } + } + } + } + + private static void convertType(Field f0, Field f1) { + int f0Type = f0.getType(); + int f1Type = f1.getType(); + if (f0Type == Types.DATE && f0.getValue().getClass().equals(String.class)) { + String[] strings = f0.getValue().toString().split(" "); + f0.setValue(Date.valueOf(strings[0])); + } + if (f1Type == Types.DATE && f1.getValue().getClass().equals(String.class)) { + String[] strings = f1.getValue().toString().split(" "); + f1.setValue(Date.valueOf(strings[0])); + } + if (f0Type == Types.TIME && f0.getValue().getClass().equals(String.class)) { + f0.setValue(Time.valueOf(f0.getValue().toString())); + } + if (f1Type == Types.TIME && f1.getValue().getClass().equals(String.class)) { + f1.setValue(Time.valueOf(f1.getValue().toString())); + } + if (f0Type == Types.TIMESTAMP && f0.getValue().getClass().equals(String.class)) { + if (f1.getValue().getClass().equals(LocalDateTime.class)) { + f0.setValue(LocalDateTime.parse(f0.getValue().toString())); + } else { + f0.setValue(Timestamp.valueOf(f0.getValue().toString())); + } + } + if (f1Type == Types.TIMESTAMP && f1.getValue().getClass().equals(String.class)) { + f1.setValue(Timestamp.valueOf(f1.getValue().toString())); + } + if (f0Type == Types.DECIMAL && f0.getValue().getClass().equals(Integer.class)) { + f0.setValue(new BigDecimal(f0.getValue().toString())); + } + if (f1Type == Types.DECIMAL && f1.getValue().getClass().equals(Integer.class)) { + f1.setValue(new BigDecimal(f1.getValue().toString())); + } + if (f0Type == Types.BIGINT && f0.getValue().getClass().equals(Integer.class)) { + f0.setValue(Long.parseLong(f0.getValue().toString())); + } + if (f1Type == Types.BIGINT && f1.getValue().getClass().equals(Integer.class)) { + f1.setValue(Long.parseLong(f1.getValue().toString())); + } + } + + /** + * Is records equals result. + * + * @param beforeImage the before image + * @param afterImage the after image + * @return the result + */ + public static Result isRecordsEquals(TableRecords beforeImage, TableRecords afterImage) { + if (beforeImage == null) { + return Result.build(afterImage == null, null); + } else { + if (afterImage == null) { + return Result.build(false, null); + } + if (beforeImage.getTableName().equalsIgnoreCase(afterImage.getTableName()) + && CollectionUtils.isSizeEquals(beforeImage.getRows(), afterImage.getRows())) { + // when image is EmptyTableRecords, getTableMeta will throw an exception + if (CollectionUtils.isEmpty(beforeImage.getRows())) { + return Result.ok(); + } + return compareRows(beforeImage.getTableMeta(), beforeImage.getRows(), afterImage.getRows()); + } else { + return Result.build(false, null); + } + } + } + + /** + * Is rows equals result. + * + * @param tableMetaData the table meta data + * @param oldRows the old rows + * @param newRows the new rows + * @return the result + */ + public static Result isRowsEquals(TableMeta tableMetaData, List oldRows, List newRows) { + if (!CollectionUtils.isSizeEquals(oldRows, newRows)) { + return Result.build(false, null); + } + return compareRows(tableMetaData, oldRows, newRows); + } + + private static Result compareRows(TableMeta tableMetaData, List oldRows, List newRows) { + // old row to map + Map> oldRowsMap = rowListToMap(oldRows, tableMetaData.getPrimaryKeyOnlyName()); + // new row to map + Map> newRowsMap = rowListToMap(newRows, tableMetaData.getPrimaryKeyOnlyName()); + // compare data + for (Map.Entry> oldEntry : oldRowsMap.entrySet()) { + String key = oldEntry.getKey(); + Map oldRow = oldEntry.getValue(); + Map newRow = newRowsMap.get(key); + if (newRow == null) { + return Result.buildWithParams(false, "compare row failed, rowKey {}, reason [newRow is null]", key); + } + for (Map.Entry oldRowEntry : oldRow.entrySet()) { + String fieldName = oldRowEntry.getKey(); + Field oldField = oldRowEntry.getValue(); + Field newField = newRow.get(fieldName); + if (newField == null) { + return Result.buildWithParams( + false, + "compare row failed, rowKey {}, fieldName {}, reason [newField is null]", + key, + fieldName); + } + Result oldEqualsNewFieldResult = isFieldEquals(oldField, newField); + if (!oldEqualsNewFieldResult.getResult()) { + return oldEqualsNewFieldResult; + } + } + } + return Result.ok(); + } + + /** + * Row list to map map. + * + * @param rowList the row list + * @param primaryKeyList the primary key list + * @return the map + */ + public static Map> rowListToMap(List rowList, List primaryKeyList) { + // {value of primaryKey, value of all columns} + Map> rowMap = new HashMap<>(); + for (Row row : rowList) { + // ensure the order of column + List rowFieldList = row.getFields().stream() + .sorted(Comparator.comparing(Field::getName)) + .collect(Collectors.toList()); + // {uppercase fieldName : field} + Map colsMap = new HashMap<>(); + StringBuilder rowKey = new StringBuilder(); + boolean firstUnderline = false; + for (int j = 0; j < rowFieldList.size(); j++) { + Field field = rowFieldList.get(j); + if (primaryKeyList.stream().anyMatch(e -> field.getName().equals(e))) { + if (firstUnderline && j > 0) { + rowKey.append("_"); + } + rowKey.append(String.valueOf(field.getValue())); + firstUnderline = true; + } + colsMap.put(field.getName().trim().toUpperCase(), field); + } + rowMap.put(rowKey.toString(), colsMap); + } + return rowMap; + } + + /** + * 判断是否为达梦数据库的 DmdbTimestamp 类型 + */ + private static boolean isDmdbTimestamp(Object obj) { + return obj != null + && "dm.jdbc.driver.DmdbTimestamp".equals(obj.getClass().getName()); + } + + /** + * 将 DmdbTimestamp 转换为 Instant + */ + private static Instant toInstant(Object dmdbTimestamp) { + try { + Method toInstantMethod = dmdbTimestamp.getClass().getMethod("toInstant"); + return (Instant) toInstantMethod.invoke(dmdbTimestamp); + } catch (Exception e) { + throw new RuntimeException("Failed to convert DmdbTimestamp to Instant", e); + } + } +} diff --git a/zt-framework/zt-spring-boot-starter-security/src/main/java/com/zt/plat/framework/security/config/SecurityProperties.java b/zt-framework/zt-spring-boot-starter-security/src/main/java/com/zt/plat/framework/security/config/SecurityProperties.java index 73e4a71d..1183d298 100644 --- a/zt-framework/zt-spring-boot-starter-security/src/main/java/com/zt/plat/framework/security/config/SecurityProperties.java +++ b/zt-framework/zt-spring-boot-starter-security/src/main/java/com/zt/plat/framework/security/config/SecurityProperties.java @@ -1,11 +1,11 @@ package com.zt.plat.framework.security.config; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.validation.annotation.Validated; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.NotNull; import java.util.Collections; import java.util.List; diff --git a/zt-framework/zt-spring-boot-starter-security/src/main/java/com/zt/plat/framework/security/core/handler/AccessDeniedHandlerImpl.java b/zt-framework/zt-spring-boot-starter-security/src/main/java/com/zt/plat/framework/security/core/handler/AccessDeniedHandlerImpl.java index b05de3dc..a67d5931 100644 --- a/zt-framework/zt-spring-boot-starter-security/src/main/java/com/zt/plat/framework/security/core/handler/AccessDeniedHandlerImpl.java +++ b/zt-framework/zt-spring-boot-starter-security/src/main/java/com/zt/plat/framework/security/core/handler/AccessDeniedHandlerImpl.java @@ -2,17 +2,17 @@ package com.zt.plat.framework.security.core.handler; import com.zt.plat.framework.common.exception.enums.GlobalErrorCodeConstants; import com.zt.plat.framework.common.pojo.CommonResult; -import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; import com.zt.plat.framework.common.util.servlet.ServletUtils; +import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.security.access.AccessDeniedException; import org.springframework.security.web.access.AccessDeniedHandler; import org.springframework.security.web.access.ExceptionTranslationFilter; -import jakarta.servlet.FilterChain; -import jakarta.servlet.ServletException; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import static com.zt.plat.framework.common.exception.enums.GlobalErrorCodeConstants.FORBIDDEN; diff --git a/zt-framework/zt-spring-boot-starter-security/src/main/java/com/zt/plat/framework/security/core/handler/AuthenticationEntryPointImpl.java b/zt-framework/zt-spring-boot-starter-security/src/main/java/com/zt/plat/framework/security/core/handler/AuthenticationEntryPointImpl.java index 6f1cd13d..d56221df 100644 --- a/zt-framework/zt-spring-boot-starter-security/src/main/java/com/zt/plat/framework/security/core/handler/AuthenticationEntryPointImpl.java +++ b/zt-framework/zt-spring-boot-starter-security/src/main/java/com/zt/plat/framework/security/core/handler/AuthenticationEntryPointImpl.java @@ -3,15 +3,14 @@ package com.zt.plat.framework.security.core.handler; import com.zt.plat.framework.common.exception.enums.GlobalErrorCodeConstants; import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.common.util.servlet.ServletUtils; +import jakarta.servlet.FilterChain; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.security.core.AuthenticationException; import org.springframework.security.web.AuthenticationEntryPoint; import org.springframework.security.web.access.ExceptionTranslationFilter; -import jakarta.servlet.FilterChain; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; - import static com.zt.plat.framework.common.exception.enums.GlobalErrorCodeConstants.UNAUTHORIZED; /** diff --git a/zt-framework/zt-spring-boot-starter-test/src/main/java/com/zt/plat/framework/test/core/ut/BaseDbAndRedisUnitTest.java b/zt-framework/zt-spring-boot-starter-test/src/main/java/com/zt/plat/framework/test/core/ut/BaseDbAndRedisUnitTest.java index 615ff231..5f1d3bbe 100644 --- a/zt-framework/zt-spring-boot-starter-test/src/main/java/com/zt/plat/framework/test/core/ut/BaseDbAndRedisUnitTest.java +++ b/zt-framework/zt-spring-boot-starter-test/src/main/java/com/zt/plat/framework/test/core/ut/BaseDbAndRedisUnitTest.java @@ -1,14 +1,14 @@ package com.zt.plat.framework.test.core.ut; import cn.hutool.extra.spring.SpringUtil; +import com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure; +import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration; import com.zt.plat.framework.common.biz.system.sequence.SequenceCommonApi; import com.zt.plat.framework.datasource.config.ZtDataSourceAutoConfiguration; import com.zt.plat.framework.mybatis.config.ZtMybatisAutoConfiguration; import com.zt.plat.framework.redis.config.ZtRedisAutoConfiguration; import com.zt.plat.framework.test.config.RedisTestConfiguration; import com.zt.plat.framework.test.config.SqlInitializationTestConfiguration; -import com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure; -import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration; import org.redisson.spring.starter.RedissonAutoConfiguration; import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; diff --git a/zt-framework/zt-spring-boot-starter-test/src/main/java/com/zt/plat/framework/test/core/ut/BaseDbUnitTest.java b/zt-framework/zt-spring-boot-starter-test/src/main/java/com/zt/plat/framework/test/core/ut/BaseDbUnitTest.java index 7e2535c5..f4579777 100644 --- a/zt-framework/zt-spring-boot-starter-test/src/main/java/com/zt/plat/framework/test/core/ut/BaseDbUnitTest.java +++ b/zt-framework/zt-spring-boot-starter-test/src/main/java/com/zt/plat/framework/test/core/ut/BaseDbUnitTest.java @@ -1,6 +1,9 @@ package com.zt.plat.framework.test.core.ut; import cn.hutool.extra.spring.SpringUtil; +import com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure; +import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration; +import com.github.yulichang.autoconfigure.MybatisPlusJoinAutoConfiguration; import com.zt.plat.framework.common.biz.system.sequence.SequenceCommonApi; import com.zt.plat.framework.datasource.config.ZtDataSourceAutoConfiguration; import com.zt.plat.framework.mybatis.config.ZtMybatisAutoConfiguration; diff --git a/zt-framework/zt-spring-boot-starter-web/src/main/java/com/zt/plat/framework/apilog/core/filter/ApiAccessLogFilter.java b/zt-framework/zt-spring-boot-starter-web/src/main/java/com/zt/plat/framework/apilog/core/filter/ApiAccessLogFilter.java index 8f5f4355..8b686dbb 100644 --- a/zt-framework/zt-spring-boot-starter-web/src/main/java/com/zt/plat/framework/apilog/core/filter/ApiAccessLogFilter.java +++ b/zt-framework/zt-spring-boot-starter-web/src/main/java/com/zt/plat/framework/apilog/core/filter/ApiAccessLogFilter.java @@ -7,6 +7,7 @@ import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.BooleanUtil; import cn.hutool.core.util.StrUtil; +import com.fasterxml.jackson.databind.JsonNode; import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; import com.zt.plat.framework.apilog.core.enums.OperateTypeEnum; import com.zt.plat.framework.common.biz.infra.logger.ApiAccessLogCommonApi; @@ -19,7 +20,6 @@ import com.zt.plat.framework.common.util.servlet.ServletUtils; import com.zt.plat.framework.web.config.WebProperties; import com.zt.plat.framework.web.core.filter.ApiRequestFilter; import com.zt.plat.framework.web.core.util.WebFrameworkUtils; -import com.fasterxml.jackson.databind.JsonNode; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.FilterChain; diff --git a/zt-framework/zt-spring-boot-starter-web/src/main/java/com/zt/plat/framework/desensitize/core/slider/annotation/BankCardDesensitize.java b/zt-framework/zt-spring-boot-starter-web/src/main/java/com/zt/plat/framework/desensitize/core/slider/annotation/BankCardDesensitize.java index 34608d8e..efabe53c 100644 --- a/zt-framework/zt-spring-boot-starter-web/src/main/java/com/zt/plat/framework/desensitize/core/slider/annotation/BankCardDesensitize.java +++ b/zt-framework/zt-spring-boot-starter-web/src/main/java/com/zt/plat/framework/desensitize/core/slider/annotation/BankCardDesensitize.java @@ -1,8 +1,8 @@ package com.zt.plat.framework.desensitize.core.slider.annotation; +import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; import com.zt.plat.framework.desensitize.core.base.annotation.DesensitizeBy; import com.zt.plat.framework.desensitize.core.slider.handler.BankCardDesensitization; -import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; import java.lang.annotation.*; diff --git a/zt-framework/zt-spring-boot-starter-web/src/main/java/com/zt/plat/framework/desensitize/core/slider/annotation/CarLicenseDesensitize.java b/zt-framework/zt-spring-boot-starter-web/src/main/java/com/zt/plat/framework/desensitize/core/slider/annotation/CarLicenseDesensitize.java index a17ca3e1..998eaf16 100644 --- a/zt-framework/zt-spring-boot-starter-web/src/main/java/com/zt/plat/framework/desensitize/core/slider/annotation/CarLicenseDesensitize.java +++ b/zt-framework/zt-spring-boot-starter-web/src/main/java/com/zt/plat/framework/desensitize/core/slider/annotation/CarLicenseDesensitize.java @@ -1,8 +1,8 @@ package com.zt.plat.framework.desensitize.core.slider.annotation; +import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; import com.zt.plat.framework.desensitize.core.base.annotation.DesensitizeBy; import com.zt.plat.framework.desensitize.core.slider.handler.CarLicenseDesensitization; -import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; import java.lang.annotation.*; diff --git a/zt-framework/zt-spring-boot-starter-web/src/main/java/com/zt/plat/framework/desensitize/core/slider/annotation/ChineseNameDesensitize.java b/zt-framework/zt-spring-boot-starter-web/src/main/java/com/zt/plat/framework/desensitize/core/slider/annotation/ChineseNameDesensitize.java index 44151233..b1a95ea5 100644 --- a/zt-framework/zt-spring-boot-starter-web/src/main/java/com/zt/plat/framework/desensitize/core/slider/annotation/ChineseNameDesensitize.java +++ b/zt-framework/zt-spring-boot-starter-web/src/main/java/com/zt/plat/framework/desensitize/core/slider/annotation/ChineseNameDesensitize.java @@ -1,8 +1,8 @@ package com.zt.plat.framework.desensitize.core.slider.annotation; +import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; import com.zt.plat.framework.desensitize.core.base.annotation.DesensitizeBy; import com.zt.plat.framework.desensitize.core.slider.handler.ChineseNameDesensitization; -import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; import java.lang.annotation.*; diff --git a/zt-framework/zt-spring-boot-starter-web/src/main/java/com/zt/plat/framework/web/core/filter/CacheRequestBodyFilter.java b/zt-framework/zt-spring-boot-starter-web/src/main/java/com/zt/plat/framework/web/core/filter/CacheRequestBodyFilter.java index d4b7b532..45451c8e 100644 --- a/zt-framework/zt-spring-boot-starter-web/src/main/java/com/zt/plat/framework/web/core/filter/CacheRequestBodyFilter.java +++ b/zt-framework/zt-spring-boot-starter-web/src/main/java/com/zt/plat/framework/web/core/filter/CacheRequestBodyFilter.java @@ -1,12 +1,12 @@ package com.zt.plat.framework.web.core.filter; import com.zt.plat.framework.common.util.servlet.ServletUtils; -import org.springframework.web.filter.OncePerRequestFilter; - import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; +import org.springframework.web.filter.OncePerRequestFilter; + import java.io.IOException; /** diff --git a/zt-framework/zt-spring-boot-starter-web/src/main/java/com/zt/plat/framework/web/core/filter/CacheRequestBodyWrapper.java b/zt-framework/zt-spring-boot-starter-web/src/main/java/com/zt/plat/framework/web/core/filter/CacheRequestBodyWrapper.java index fb5cc11d..82a35e52 100644 --- a/zt-framework/zt-spring-boot-starter-web/src/main/java/com/zt/plat/framework/web/core/filter/CacheRequestBodyWrapper.java +++ b/zt-framework/zt-spring-boot-starter-web/src/main/java/com/zt/plat/framework/web/core/filter/CacheRequestBodyWrapper.java @@ -1,11 +1,11 @@ package com.zt.plat.framework.web.core.filter; import com.zt.plat.framework.common.util.servlet.ServletUtils; - import jakarta.servlet.ReadListener; import jakarta.servlet.ServletInputStream; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequestWrapper; + import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.IOException; diff --git a/zt-framework/zt-spring-boot-starter-web/src/test/java/com/zt/plat/framework/desensitize/core/annotation/Address.java b/zt-framework/zt-spring-boot-starter-web/src/test/java/com/zt/plat/framework/desensitize/core/annotation/Address.java index b5fbc80c..b5b544a1 100644 --- a/zt-framework/zt-spring-boot-starter-web/src/test/java/com/zt/plat/framework/desensitize/core/annotation/Address.java +++ b/zt-framework/zt-spring-boot-starter-web/src/test/java/com/zt/plat/framework/desensitize/core/annotation/Address.java @@ -1,15 +1,11 @@ package com.zt.plat.framework.desensitize.core.annotation; +import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; import com.zt.plat.framework.desensitize.core.DesensitizeTest; import com.zt.plat.framework.desensitize.core.base.annotation.DesensitizeBy; import com.zt.plat.framework.desensitize.core.handler.AddressHandler; -import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; +import java.lang.annotation.*; /** * 地址 diff --git a/zt-framework/zt-spring-boot-starter-web/src/test/java/com/zt/plat/framework/desensitize/core/handler/AddressHandler.java b/zt-framework/zt-spring-boot-starter-web/src/test/java/com/zt/plat/framework/desensitize/core/handler/AddressHandler.java index 0232ec66..abf07d4a 100644 --- a/zt-framework/zt-spring-boot-starter-web/src/test/java/com/zt/plat/framework/desensitize/core/handler/AddressHandler.java +++ b/zt-framework/zt-spring-boot-starter-web/src/test/java/com/zt/plat/framework/desensitize/core/handler/AddressHandler.java @@ -1,8 +1,8 @@ package com.zt.plat.framework.desensitize.core.handler; import com.zt.plat.framework.desensitize.core.DesensitizeTest; -import com.zt.plat.framework.desensitize.core.base.handler.DesensitizationHandler; import com.zt.plat.framework.desensitize.core.annotation.Address; +import com.zt.plat.framework.desensitize.core.base.handler.DesensitizationHandler; /** * {@link Address} 的脱敏处理器 diff --git a/zt-gateway/src/main/java/com/zt/plat/gateway/filter/logging/AccessLogFilter.java b/zt-gateway/src/main/java/com/zt/plat/gateway/filter/logging/AccessLogFilter.java index 782fdd00..f1826352 100644 --- a/zt-gateway/src/main/java/com/zt/plat/gateway/filter/logging/AccessLogFilter.java +++ b/zt-gateway/src/main/java/com/zt/plat/gateway/filter/logging/AccessLogFilter.java @@ -3,10 +3,11 @@ package com.zt.plat.gateway.filter.logging; import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.map.MapUtil; import cn.hutool.json.JSONUtil; +import com.alibaba.nacos.common.utils.StringUtils; import com.zt.plat.framework.common.util.json.JsonUtils; import com.zt.plat.gateway.util.SecurityFrameworkUtils; import com.zt.plat.gateway.util.WebFrameworkUtils; -import com.alibaba.nacos.common.utils.StringUtils; +import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.reactivestreams.Publisher; import org.springframework.cloud.gateway.filter.GatewayFilterChain; @@ -37,7 +38,6 @@ import org.springframework.web.server.ServerWebExchange; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import jakarta.annotation.Resource; import java.nio.charset.StandardCharsets; import java.time.LocalDateTime; import java.util.List; diff --git a/zt-gateway/src/main/resources/application.yaml b/zt-gateway/src/main/resources/application.yaml index fd361a2e..3426a39a 100644 --- a/zt-gateway/src/main/resources/application.yaml +++ b/zt-gateway/src/main/resources/application.yaml @@ -30,6 +30,8 @@ spring: username: ${config.username} # Nacos 账号 password: ${config.password} # Nacos 密码 discovery: # 【配置中心】配置项 + ip: 172.16.46.62 + port: 30092 namespace: ${config.namespace} # 命名空间。这里使用 maven Profile 资源过滤进行动态替换 group: ${config.group} # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP metadata: @@ -70,7 +72,7 @@ spring: - id: infra-spring-boot-admin # 路由的编号(Spring Boot Admin) uri: grayLb://infra-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - - Path=/admin/** + - Path=/admin/ - id: infra-websocket # 路由的编号(WebSocket) uri: grayLb://infra-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 @@ -186,13 +188,6 @@ spring: - Path=/admin-api/crm/** filters: - RewritePath=/admin-api/crm/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs - ## rule-server 服务 - - id: rule-admin-api # 路由的编号 - uri: grayLb://rule-server - predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - - Path=/admin-api/rule/** - filters: - - RewritePath=/admin-api/rule/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs ## ai-server 服务 - id: ai-admin-api # 路由的编号 uri: grayLb://ai-server @@ -214,6 +209,64 @@ spring: - Path=/admin-api/template/** filters: - RewritePath=/admin-api/template/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs + ## logistics-server 服务 + - id: logistics-api # 路由的编号 + uri: grayLb://logistics-server + predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 + - Path=/lgst/** + - id: logistics-admin-api # 路由的编号 + uri: grayLb://logistics-server + predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 + - Path=/admin-api/lgst/** + filters: + - RewritePath=/admin-api/lgst/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs + ## supply-server 服务 + - id: supply-admin-api # 路由的编号 + uri: grayLb://supply-server + predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 + - Path=/admin-api/supply/** + filters: + - RewritePath=/admin-api/supply/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs + - id: supply-sply-admin-api # 路由的编号(supply-server的sply路径) + uri: grayLb://supply-server + predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 + - Path=/admin-api/sply/** + filters: + - RewritePath=/admin-api/sply/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs + ## qms-server 服务 + - id: qms-admin-api # 路由的编号 + uri: grayLb://qms-server + predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 + - Path=/admin-api/qms/** + filters: + - RewritePath=/admin-api/qms/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs + ## mes-server 服务 + - id: mes-admin-api # 路由的编号 + uri: grayLb://mes-server + predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 + - Path=/admin-api/mes/** + filters: + - RewritePath=/admin-api/mes/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs + ## manage-server 服务 + - id: manage-admin-api # 路由的编号 + uri: grayLb://manage-server + predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 + - Path=/admin-api/manage/** + filters: + - RewritePath=/admin-api/manage/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs + ## base-server 服务 + - id: base-admin-api # 路由的编号 + uri: grayLb://base-server + predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 + - Path=/admin-api/base/** + filters: + - RewritePath=/admin-api/base/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs + - id: base-bse-admin-api # 路由的编号(base-server的bse路径) + uri: grayLb://base-server + predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 + - Path=/admin-api/bse/** + filters: + - RewritePath=/admin-api/bse/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs ## databus-server 服务 - id: databus-admin-api # 路由的编号 uri: grayLb://databus-server @@ -249,48 +302,66 @@ knife4j: - name: infra-server service-name: infra-server url: /admin-api/infra/v3/api-docs - - name: member-server - service-name: member-server - url: /admin-api/member/v3/api-docs +# - name: member-server +# service-name: member-server +# url: /admin-api/member/v3/api-docs - name: bpm-server service-name: bpm-server url: /admin-api/bpm/v3/api-docs - - name: pay-server - service-name: pay-server - url: /admin-api/pay/v3/api-docs - - name: mp-server - service-name: mp-server - url: /admin-api/mp/v3/api-docs - - name: product-server - service-name: product-server - url: /admin-api/product/v3/api-docs - - name: promotion-server - service-name: promotion-server - url: /admin-api/promotion/v3/api-docs - - name: trade-server - service-name: trade-server - url: /admin-api/trade/v3/api-docs - - name: statistics-server - service-name: statistics-server - url: /admin-api/statistics/v3/api-docs - - name: erp-server - service-name: erp-server - url: /admin-api/erp/v3/api-docs - - name: crm-server - service-name: crm-server - url: /admin-api/crm/v3/api-docs - - name: rule-server - service-name: rule-server - url: /admin-api/rule/v3/api-docs - - name: ai-server - service-name: ai-server - url: /admin-api/ai/v3/api-docs - - name: iot-server - service-name: iot-server - url: /admin-api/iot/v3/api-docs - - name: template-server - service-name: template-server - url: /admin-api/template/v3/api-docs +# - name: pay-server +# service-name: pay-server +# url: /admin-api/pay/v3/api-docs +# - name: mp-server +# service-name: mp-server +# url: /admin-api/mp/v3/api-docs +# - name: product-server +# service-name: product-server +# url: /admin-api/product/v3/api-docs +# - name: promotion-server +# service-name: promotion-server +# url: /admin-api/promotion/v3/api-docs +# - name: trade-server +# service-name: trade-server +# url: /admin-api/trade/v3/api-docs +# - name: statistics-server +# service-name: statistics-server +# url: /admin-api/statistics/v3/api-docs +# - name: erp-server +# service-name: erp-server +# url: /admin-api/erp/v3/api-docs +# - name: crm-server +# service-name: crm-server +# url: /admin-api/crm/v3/api-docs +# - name: ai-server +# service-name: ai-server +# url: /admin-api/ai/v3/api-docs +# - name: iot-server +# service-name: iot-server +# url: /admin-api/iot/v3/api-docs + - name: logistics-server + service-name: logistics-server + url: /admin-api/lgst/v3/api-docs + - name: supply-server + service-name: supply-server + url: /admin-api/supply/v3/api-docs + - name: supply-sply-server + service-name: supply-server + url: /admin-api/sply/v3/api-docs + - name: qms-server + service-name: qms-server + url: /admin-api/qms/v3/api-docs + - name: mes-server + service-name: mes-server + url: /admin-api/mes/v3/api-docs + - name: manage-server + service-name: manage-server + url: /admin-api/manage/v3/api-docs + - name: base-server + service-name: base-server + url: /admin-api/base/v3/api-docs + - name: base-bse-server + service-name: base-server + url: /admin-api/bse/v3/api-docs - name: databus-server service-name: databus-server url: /admin-api/databus/v3/api-docs diff --git a/zt-gateway/src/main/resources/logback-spring.xml b/zt-gateway/src/main/resources/logback-spring.xml index 0e551414..cd4992fa 100644 --- a/zt-gateway/src/main/resources/logback-spring.xml +++ b/zt-gateway/src/main/resources/logback-spring.xml @@ -5,6 +5,10 @@ + + + +       @@ -31,7 +35,7 @@ ${LOGBACK_ROLLINGPOLICY_CLEAN_HISTORY_ON_START:-false} - ${LOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE:-10MB} + ${LOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE:-50MB} ${LOGBACK_ROLLINGPOLICY_TOTAL_SIZE_CAP:-0} @@ -56,18 +60,39 @@ + + + ${LOG_DIR}-error.log + + ERROR + ACCEPT + DENY + + + ${LOG_DIR}-error.%d{yyyy-MM-dd}.log + 30 + + + %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n + + + + - - + + + + + diff --git a/zt-module-bpm/zt-module-bpm-api/src/main/java/com/zt/plat/module/bpm/api/task/dto/BpmProcessInstanceCreateReqDTO.java b/zt-module-bpm/zt-module-bpm-api/src/main/java/com/zt/plat/module/bpm/api/task/dto/BpmProcessInstanceCreateReqDTO.java index efecfdab..24b08a4c 100644 --- a/zt-module-bpm/zt-module-bpm-api/src/main/java/com/zt/plat/module/bpm/api/task/dto/BpmProcessInstanceCreateReqDTO.java +++ b/zt-module-bpm/zt-module-bpm-api/src/main/java/com/zt/plat/module/bpm/api/task/dto/BpmProcessInstanceCreateReqDTO.java @@ -1,9 +1,8 @@ package com.zt.plat.module.bpm.api.task.dto; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - import jakarta.validation.constraints.NotEmpty; +import lombok.Data; import java.util.List; import java.util.Map; diff --git a/zt-module-bpm/zt-module-bpm-server/pom.xml b/zt-module-bpm/zt-module-bpm-server/pom.xml index 4b151c35..a8972633 100644 --- a/zt-module-bpm/zt-module-bpm-server/pom.xml +++ b/zt-module-bpm/zt-module-bpm-server/pom.xml @@ -33,6 +33,11 @@ zt-module-system-api ${revision} + + com.zt.plat + zt-module-capital-api + ${revision} + diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/alibaba/druid/pool/DruidPooledStatement.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/alibaba/druid/pool/DruidPooledStatement.java index 1c86d9e7..fe4cc836 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/alibaba/druid/pool/DruidPooledStatement.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/alibaba/druid/pool/DruidPooledStatement.java @@ -11,12 +11,9 @@ import com.alibaba.druid.support.logging.Log; import com.alibaba.druid.support.logging.LogFactory; import com.alibaba.druid.util.JdbcUtils; import com.alibaba.druid.util.MySqlUtils; + import java.net.SocketTimeoutException; -import java.sql.Connection; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.SQLWarning; -import java.sql.Statement; +import java.sql.*; import java.util.ArrayList; import java.util.List; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/api/task/BpmProcessInstanceApiImpl.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/api/task/BpmProcessInstanceApiImpl.java index b3d1e79f..e0cb9bc5 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/api/task/BpmProcessInstanceApiImpl.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/api/task/BpmProcessInstanceApiImpl.java @@ -24,6 +24,7 @@ import jakarta.annotation.Resource; import jakarta.validation.Valid; import org.flowable.engine.history.HistoricProcessInstance; import org.flowable.engine.repository.ProcessDefinition; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @@ -40,7 +41,7 @@ import static com.zt.plat.framework.web.core.util.WebFrameworkUtils.getLoginUser * @author jason */ @RestController -@Valid +@Validated public class BpmProcessInstanceApiImpl implements BpmProcessInstanceApi { @Resource diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/controller/admin/definition/vo/model/simple/BpmSimpleModelNodeVO.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/controller/admin/definition/vo/model/simple/BpmSimpleModelNodeVO.java index cd5177a9..f7e79287 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/controller/admin/definition/vo/model/simple/BpmSimpleModelNodeVO.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/controller/admin/definition/vo/model/simple/BpmSimpleModelNodeVO.java @@ -1,11 +1,11 @@ package com.zt.plat.module.bpm.controller.admin.definition.vo.model.simple; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; import com.zt.plat.framework.common.core.KeyValue; import com.zt.plat.framework.common.validation.InEnum; import com.zt.plat.module.bpm.enums.definition.*; import com.zt.plat.module.bpm.framework.flowable.core.enums.BpmTaskCandidateStrategyEnum; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonInclude; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.Valid; import jakarta.validation.constraints.NotEmpty; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/controller/admin/task/vo/instance/BpmApprovalDetailRespVO.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/controller/admin/task/vo/instance/BpmApprovalDetailRespVO.java index a23c8688..4e444f4e 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/controller/admin/task/vo/instance/BpmApprovalDetailRespVO.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/controller/admin/task/vo/instance/BpmApprovalDetailRespVO.java @@ -1,9 +1,9 @@ package com.zt.plat.module.bpm.controller.admin.task.vo.instance; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.zt.plat.module.bpm.controller.admin.base.user.UserSimpleBaseVO; import com.zt.plat.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionRespVO; import com.zt.plat.module.bpm.controller.admin.task.vo.task.BpmTaskRespVO; -import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceRespVO.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceRespVO.java index 14cc77a3..ae1abafa 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceRespVO.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceRespVO.java @@ -1,9 +1,9 @@ package com.zt.plat.module.bpm.controller.admin.task.vo.instance; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.zt.plat.framework.common.core.KeyValue; import com.zt.plat.module.bpm.controller.admin.base.user.UserSimpleBaseVO; import com.zt.plat.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionRespVO; -import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/controller/admin/task/vo/task/BpmTaskRespVO.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/controller/admin/task/vo/task/BpmTaskRespVO.java index fb86f574..0cafdb4b 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/controller/admin/task/vo/task/BpmTaskRespVO.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/controller/admin/task/vo/task/BpmTaskRespVO.java @@ -1,8 +1,8 @@ package com.zt.plat.module.bpm.controller.admin.task.vo.task; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.zt.plat.framework.common.core.KeyValue; import com.zt.plat.module.bpm.controller.admin.base.user.UserSimpleBaseVO; -import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/definition/BpmCategoryDO.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/definition/BpmCategoryDO.java index 193ffb4c..a8251dad 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/definition/BpmCategoryDO.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/definition/BpmCategoryDO.java @@ -1,10 +1,10 @@ package com.zt.plat.module.bpm.dal.dataobject.definition; -import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/definition/BpmFormDO.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/definition/BpmFormDO.java index 649d1913..22c69b3e 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/definition/BpmFormDO.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/definition/BpmFormDO.java @@ -1,8 +1,8 @@ package com.zt.plat.module.bpm.dal.dataobject.definition; -import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/definition/BpmProcessDefinitionInfoDO.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/definition/BpmProcessDefinitionInfoDO.java index 349f4049..43a879b4 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/definition/BpmProcessDefinitionInfoDO.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/definition/BpmProcessDefinitionInfoDO.java @@ -1,5 +1,7 @@ package com.zt.plat.module.bpm.dal.dataobject.definition; +import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import com.zt.plat.framework.mybatis.core.type.LongListTypeHandler; import com.zt.plat.module.bpm.controller.admin.definition.vo.model.BpmModelMetaInfoVO; @@ -7,8 +9,6 @@ import com.zt.plat.module.bpm.enums.definition.BpmAutoApproveTypeEnum; import com.zt.plat.module.bpm.enums.definition.BpmModelFormTypeEnum; import com.zt.plat.module.bpm.enums.definition.BpmModelTypeEnum; import com.zt.plat.module.system.api.user.dto.AdminUserRespDTO; -import com.baomidou.mybatisplus.annotation.*; -import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/definition/BpmProcessExpressionDO.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/definition/BpmProcessExpressionDO.java index 29afb73d..441f3cb7 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/definition/BpmProcessExpressionDO.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/definition/BpmProcessExpressionDO.java @@ -1,10 +1,10 @@ package com.zt.plat.module.bpm.dal.dataobject.definition; -import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import lombok.*; /** diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/definition/BpmProcessListenerDO.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/definition/BpmProcessListenerDO.java index ed36d7ba..9c0f05c7 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/definition/BpmProcessListenerDO.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/definition/BpmProcessListenerDO.java @@ -1,11 +1,11 @@ package com.zt.plat.module.bpm.dal.dataobject.definition; -import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; -import com.zt.plat.module.bpm.enums.definition.BpmProcessListenerTypeEnum; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; +import com.zt.plat.module.bpm.enums.definition.BpmProcessListenerTypeEnum; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/definition/BpmUserGroupDO.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/definition/BpmUserGroupDO.java index bbe42d2b..5b5692fa 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/definition/BpmUserGroupDO.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/definition/BpmUserGroupDO.java @@ -1,9 +1,9 @@ package com.zt.plat.module.bpm.dal.dataobject.definition; -import com.zt.plat.framework.common.enums.CommonStatusEnum; -import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; +import com.zt.plat.framework.common.enums.CommonStatusEnum; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/oa/BpmOALeaveDO.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/oa/BpmOALeaveDO.java index 76dabd22..fa177355 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/oa/BpmOALeaveDO.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/oa/BpmOALeaveDO.java @@ -1,11 +1,11 @@ package com.zt.plat.module.bpm.dal.dataobject.oa; -import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; -import com.zt.plat.module.bpm.enums.task.BpmTaskStatusEnum; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; +import com.zt.plat.module.bpm.enums.task.BpmTaskStatusEnum; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/task/BpmProcessInstanceCopyDO.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/task/BpmProcessInstanceCopyDO.java index ef06a3eb..779d11d6 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/task/BpmProcessInstanceCopyDO.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/dataobject/task/BpmProcessInstanceCopyDO.java @@ -1,10 +1,10 @@ package com.zt.plat.module.bpm.dal.dataobject.task; -import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/redis/BpmProcessIdRedisDAO.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/redis/BpmProcessIdRedisDAO.java index b6b0f69a..77e3a307 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/redis/BpmProcessIdRedisDAO.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/dal/redis/BpmProcessIdRedisDAO.java @@ -10,7 +10,8 @@ import org.springframework.stereotype.Repository; import java.time.Duration; import java.time.LocalDateTime; -import static cn.hutool.core.date.DatePattern.*; +import static cn.hutool.core.date.DatePattern.PURE_DATETIME_PATTERN; +import static cn.hutool.core.date.DatePattern.PURE_DATE_PATTERN; /** * BPM 流程 Id 编码的 Redis DAO diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/candidate/BpmTaskCandidateInvoker.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/candidate/BpmTaskCandidateInvoker.java index 54310efa..cdfee97b 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/candidate/BpmTaskCandidateInvoker.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/candidate/BpmTaskCandidateInvoker.java @@ -5,6 +5,7 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.extra.spring.SpringUtil; +import com.google.common.annotations.VisibleForTesting; import com.zt.plat.framework.common.enums.CommonStatusEnum; import com.zt.plat.framework.common.util.object.ObjectUtils; import com.zt.plat.framework.datapermission.core.annotation.DataPermission; @@ -16,7 +17,6 @@ import com.zt.plat.module.bpm.framework.flowable.core.util.FlowableUtils; import com.zt.plat.module.bpm.service.task.BpmProcessInstanceService; import com.zt.plat.module.system.api.user.AdminUserApi; import com.zt.plat.module.system.api.user.dto.AdminUserRespDTO; -import com.google.common.annotations.VisibleForTesting; import lombok.extern.slf4j.Slf4j; import org.flowable.bpmn.model.BpmnModel; import org.flowable.bpmn.model.CallActivity; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/candidate/strategy/dept/BpmTaskCandidateApproveUserSelectStrategy.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/candidate/strategy/dept/BpmTaskCandidateApproveUserSelectStrategy.java index bfd429c9..e56d6b98 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/candidate/strategy/dept/BpmTaskCandidateApproveUserSelectStrategy.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/candidate/strategy/dept/BpmTaskCandidateApproveUserSelectStrategy.java @@ -2,11 +2,11 @@ package com.zt.plat.module.bpm.framework.flowable.core.candidate.strategy.dept; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Assert; +import com.google.common.collect.Sets; import com.zt.plat.module.bpm.framework.flowable.core.candidate.strategy.user.BpmTaskCandidateUserStrategy; import com.zt.plat.module.bpm.framework.flowable.core.enums.BpmTaskCandidateStrategyEnum; import com.zt.plat.module.bpm.framework.flowable.core.util.FlowableUtils; import com.zt.plat.module.bpm.service.task.BpmProcessInstanceService; -import com.google.common.collect.Sets; import jakarta.annotation.Resource; import org.flowable.bpmn.model.BpmnModel; import org.flowable.engine.delegate.DelegateExecution; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/candidate/strategy/dept/BpmTaskCandidateStartUserSelectStrategy.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/candidate/strategy/dept/BpmTaskCandidateStartUserSelectStrategy.java index 189e5db2..6aab05cb 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/candidate/strategy/dept/BpmTaskCandidateStartUserSelectStrategy.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/candidate/strategy/dept/BpmTaskCandidateStartUserSelectStrategy.java @@ -2,11 +2,11 @@ package com.zt.plat.module.bpm.framework.flowable.core.candidate.strategy.dept; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Assert; +import com.google.common.collect.Sets; import com.zt.plat.module.bpm.framework.flowable.core.candidate.strategy.user.BpmTaskCandidateUserStrategy; import com.zt.plat.module.bpm.framework.flowable.core.enums.BpmTaskCandidateStrategyEnum; import com.zt.plat.module.bpm.framework.flowable.core.util.FlowableUtils; import com.zt.plat.module.bpm.service.task.BpmProcessInstanceService; -import com.google.common.collect.Sets; import jakarta.annotation.Resource; import org.flowable.bpmn.model.BpmnModel; import org.flowable.engine.delegate.DelegateExecution; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/candidate/strategy/other/BpmTaskCandidateExpressionStrategy.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/candidate/strategy/other/BpmTaskCandidateExpressionStrategy.java index 8350a8a7..aeae390a 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/candidate/strategy/other/BpmTaskCandidateExpressionStrategy.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/candidate/strategy/other/BpmTaskCandidateExpressionStrategy.java @@ -1,10 +1,10 @@ package com.zt.plat.module.bpm.framework.flowable.core.candidate.strategy.other; +import com.google.common.collect.Sets; import com.zt.plat.framework.common.util.collection.CollectionUtils; import com.zt.plat.module.bpm.framework.flowable.core.candidate.BpmTaskCandidateStrategy; import com.zt.plat.module.bpm.framework.flowable.core.enums.BpmTaskCandidateStrategyEnum; import com.zt.plat.module.bpm.framework.flowable.core.util.FlowableUtils; -import com.google.common.collect.Sets; import lombok.extern.slf4j.Slf4j; import org.flowable.bpmn.model.BpmnModel; import org.flowable.common.engine.api.FlowableException; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/listener/BpmProcessInstanceEventListener.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/listener/BpmProcessInstanceEventListener.java index 7c4c0e9a..cc56501a 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/listener/BpmProcessInstanceEventListener.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/listener/BpmProcessInstanceEventListener.java @@ -1,7 +1,7 @@ package com.zt.plat.module.bpm.framework.flowable.core.listener; -import com.zt.plat.module.bpm.service.task.BpmProcessInstanceService; import com.google.common.collect.ImmutableSet; +import com.zt.plat.module.bpm.service.task.BpmProcessInstanceService; import jakarta.annotation.Resource; import org.flowable.common.engine.api.delegate.event.FlowableEngineEntityEvent; import org.flowable.common.engine.api.delegate.event.FlowableEngineEventType; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/listener/BpmTaskEventListener.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/listener/BpmTaskEventListener.java index eda52442..b26585b8 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/listener/BpmTaskEventListener.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/listener/BpmTaskEventListener.java @@ -3,13 +3,13 @@ package com.zt.plat.module.bpm.framework.flowable.core.listener; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import com.google.common.collect.ImmutableSet; import com.zt.plat.framework.common.util.number.NumberUtils; import com.zt.plat.module.bpm.enums.definition.BpmBoundaryEventTypeEnum; import com.zt.plat.module.bpm.framework.flowable.core.enums.BpmnModelConstants; import com.zt.plat.module.bpm.framework.flowable.core.util.BpmnModelUtils; import com.zt.plat.module.bpm.service.definition.BpmModelService; import com.zt.plat.module.bpm.service.task.BpmTaskService; -import com.google.common.collect.ImmutableSet; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.flowable.bpmn.model.BoundaryEvent; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/util/BpmHttpRequestUtils.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/util/BpmHttpRequestUtils.java index de5b2a46..583e8043 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/util/BpmHttpRequestUtils.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/util/BpmHttpRequestUtils.java @@ -2,6 +2,7 @@ package com.zt.plat.module.bpm.framework.flowable.core.util; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +import com.fasterxml.jackson.core.type.TypeReference; import com.zt.plat.framework.common.core.KeyValue; import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.common.util.json.JsonUtils; @@ -9,7 +10,6 @@ import com.zt.plat.framework.common.util.spring.SpringUtils; import com.zt.plat.module.bpm.controller.admin.definition.vo.model.simple.BpmSimpleModelNodeVO; import com.zt.plat.module.bpm.enums.definition.BpmHttpRequestParamTypeEnum; import com.zt.plat.module.bpm.service.task.BpmProcessInstanceService; -import com.fasterxml.jackson.core.type.TypeReference; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.runtime.ProcessInstance; import org.springframework.http.HttpEntity; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/util/BpmnModelUtils.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/util/BpmnModelUtils.java index b53a819c..d9bf32e3 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/util/BpmnModelUtils.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/util/BpmnModelUtils.java @@ -7,6 +7,7 @@ import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.StrUtil; +import com.google.common.collect.Maps; import com.zt.plat.framework.common.util.collection.CollectionUtils; import com.zt.plat.framework.common.util.json.JsonUtils; import com.zt.plat.framework.common.util.number.NumberUtils; @@ -15,11 +16,10 @@ import com.zt.plat.module.bpm.controller.admin.definition.vo.model.simple.BpmSim import com.zt.plat.module.bpm.controller.admin.task.vo.task.BpmTaskRespVO; import com.zt.plat.module.bpm.enums.definition.*; import com.zt.plat.module.bpm.framework.flowable.core.enums.BpmnModelConstants; -import com.google.common.collect.Maps; import lombok.extern.slf4j.Slf4j; import org.flowable.bpmn.converter.BpmnXMLConverter; -import org.flowable.bpmn.model.Process; import org.flowable.bpmn.model.*; +import org.flowable.bpmn.model.Process; import org.flowable.common.engine.api.FlowableException; import org.flowable.common.engine.impl.util.io.BytesStreamSource; import org.flowable.engine.impl.el.FixedValue; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/util/SimpleModelUtils.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/util/SimpleModelUtils.java index cb03e01c..562310ab 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/util/SimpleModelUtils.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/core/util/SimpleModelUtils.java @@ -17,8 +17,8 @@ import com.zt.plat.module.bpm.service.task.listener.BpmCallActivityListener; import com.zt.plat.module.bpm.service.task.listener.BpmUserTaskListener; import org.flowable.bpmn.BpmnAutoLayout; import org.flowable.bpmn.constants.BpmnXMLConstants; -import org.flowable.bpmn.model.Process; import org.flowable.bpmn.model.*; +import org.flowable.bpmn.model.Process; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.delegate.TaskListener; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/rpc/config/RpcConfiguration.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/rpc/config/RpcConfiguration.java index 0be19c0b..0ab98bc8 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/rpc/config/RpcConfiguration.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/rpc/config/RpcConfiguration.java @@ -1,5 +1,6 @@ package com.zt.plat.module.bpm.framework.rpc.config; +import com.zt.plat.module.capital.api.AmountCreditApplyApi; import com.zt.plat.module.system.api.dept.DeptApi; import com.zt.plat.module.system.api.dept.PostApi; import com.zt.plat.module.system.api.dict.DictDataApi; @@ -12,6 +13,6 @@ import org.springframework.context.annotation.Configuration; @Configuration(value = "bpmRpcConfiguration", proxyBeanMethods = false) @EnableFeignClients(clients = {RoleApi.class, DeptApi.class, PostApi.class, AdminUserApi.class, SmsSendApi.class, DictDataApi.class, - PermissionApi.class}) + PermissionApi.class, AmountCreditApplyApi.class}) public class RpcConfiguration { } diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/web/config/BpmWebConfiguration.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/web/config/BpmWebConfiguration.java index fed2cc5a..ad4c2c0a 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/web/config/BpmWebConfiguration.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/web/config/BpmWebConfiguration.java @@ -1,9 +1,7 @@ package com.zt.plat.module.bpm.framework.web.config; import com.zt.plat.framework.common.enums.WebFilterOrderEnum; -import com.zt.plat.framework.swagger.config.ZtSwaggerAutoConfiguration; import com.zt.plat.module.bpm.framework.web.core.FlowableWebFilter; -import org.springdoc.core.models.GroupedOpenApi; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/definition/BpmModelServiceImpl.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/definition/BpmModelServiceImpl.java index f4815c21..d65084c5 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/definition/BpmModelServiceImpl.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/definition/BpmModelServiceImpl.java @@ -24,7 +24,9 @@ import com.zt.plat.module.bpm.service.task.BpmProcessInstanceCopyService; import jakarta.annotation.Resource; import jakarta.validation.Valid; import lombok.extern.slf4j.Slf4j; -import org.flowable.bpmn.model.*; +import org.flowable.bpmn.model.BpmnModel; +import org.flowable.bpmn.model.StartEvent; +import org.flowable.bpmn.model.UserTask; import org.flowable.common.engine.impl.db.SuspensionState; import org.flowable.engine.HistoryService; import org.flowable.engine.RepositoryService; @@ -40,7 +42,9 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; -import java.util.*; +import java.util.List; +import java.util.Map; +import java.util.Objects; import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertMap; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/supply/capital/listener/BpmCreditLetterApprovalStatusListener.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/supply/capital/listener/BpmCreditLetterApprovalStatusListener.java new file mode 100644 index 00000000..83fed4c6 --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/supply/capital/listener/BpmCreditLetterApprovalStatusListener.java @@ -0,0 +1,42 @@ +package com.zt.plat.module.bpm.service.supply.capital.listener; + +import com.zt.plat.module.bpm.api.event.BpmProcessInstanceStatusEvent; +import com.zt.plat.module.bpm.api.event.BpmProcessInstanceStatusEventListener; +import com.zt.plat.module.bpm.enums.task.BpmProcessInstanceStatusEnum; +import com.zt.plat.module.capital.api.AmountCreditApplyApi; +import com.zt.plat.module.capital.enums.AmountCreditApplyApiStatusEnum; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * credit_letter_approval_process - 授信单的状态的监听器实现类 + * + * @author qianshijiang + */ +@Component +public class BpmCreditLetterApprovalStatusListener extends BpmProcessInstanceStatusEventListener { + + @Resource + private AmountCreditApplyApi amountCreditApplyApi; + + @Override + protected List getProcessDefinitionKey() { + return List.of(amountCreditApplyApi.PROCESS_KEY); + } + + @Override + protected void onEvent(BpmProcessInstanceStatusEvent event) { + // 将流程中的状态转换为业务的状态 + Integer status = event.getStatus(); + String approvalStatus = null; + if (BpmProcessInstanceStatusEnum.APPROVE.getStatus() == status) { + approvalStatus = AmountCreditApplyApiStatusEnum.ACAS_PASS.getCode(); + } else if (BpmProcessInstanceStatusEnum.REJECT.getStatus() == status) { + approvalStatus = AmountCreditApplyApiStatusEnum.ACAS_REJECT.getCode(); + } + amountCreditApplyApi.updateAmountCreditApplyStatus(Long.parseLong(event.getBusinessKey()),approvalStatus); + } + +} diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/task/trigger/form/BpmFormDeleteTrigger.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/task/trigger/form/BpmFormDeleteTrigger.java index 46ed559e..60d30733 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/task/trigger/form/BpmFormDeleteTrigger.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/task/trigger/form/BpmFormDeleteTrigger.java @@ -1,6 +1,7 @@ package com.zt.plat.module.bpm.service.task.trigger.form; import cn.hutool.core.collection.CollUtil; +import com.fasterxml.jackson.core.type.TypeReference; import com.zt.plat.framework.common.util.json.JsonUtils; import com.zt.plat.module.bpm.controller.admin.definition.vo.model.simple.BpmSimpleModelNodeVO; import com.zt.plat.module.bpm.enums.definition.BpmTriggerTypeEnum; @@ -8,7 +9,6 @@ import com.zt.plat.module.bpm.framework.flowable.core.util.BpmnModelUtils; import com.zt.plat.module.bpm.framework.flowable.core.util.SimpleModelUtils; import com.zt.plat.module.bpm.service.task.BpmProcessInstanceService; import com.zt.plat.module.bpm.service.task.trigger.BpmTrigger; -import com.fasterxml.jackson.core.type.TypeReference; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/task/trigger/form/BpmFormUpdateTrigger.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/task/trigger/form/BpmFormUpdateTrigger.java index c8427b27..79a48d97 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/task/trigger/form/BpmFormUpdateTrigger.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/task/trigger/form/BpmFormUpdateTrigger.java @@ -1,6 +1,7 @@ package com.zt.plat.module.bpm.service.task.trigger.form; import cn.hutool.core.collection.CollUtil; +import com.fasterxml.jackson.core.type.TypeReference; import com.zt.plat.framework.common.util.json.JsonUtils; import com.zt.plat.module.bpm.controller.admin.definition.vo.model.simple.BpmSimpleModelNodeVO.TriggerSetting.FormTriggerSetting; import com.zt.plat.module.bpm.enums.definition.BpmTriggerTypeEnum; @@ -8,7 +9,6 @@ import com.zt.plat.module.bpm.framework.flowable.core.util.BpmnModelUtils; import com.zt.plat.module.bpm.framework.flowable.core.util.SimpleModelUtils; import com.zt.plat.module.bpm.service.task.BpmProcessInstanceService; import com.zt.plat.module.bpm.service.task.trigger.BpmTrigger; -import com.fasterxml.jackson.core.type.TypeReference; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/task/trigger/http/BpmHttpCallbackTrigger.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/task/trigger/http/BpmHttpCallbackTrigger.java index 3fe0606b..76292d8b 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/task/trigger/http/BpmHttpCallbackTrigger.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/task/trigger/http/BpmHttpCallbackTrigger.java @@ -10,7 +10,6 @@ import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.runtime.ProcessInstance; import org.springframework.stereotype.Component; -import org.springframework.web.client.RestTemplate; /** * BPM HTTP 回调触发器 diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/task/trigger/http/BpmSyncHttpRequestTrigger.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/task/trigger/http/BpmSyncHttpRequestTrigger.java index 617bf7a7..f6126600 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/task/trigger/http/BpmSyncHttpRequestTrigger.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/task/trigger/http/BpmSyncHttpRequestTrigger.java @@ -9,7 +9,6 @@ import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.runtime.ProcessInstance; import org.springframework.stereotype.Component; -import org.springframework.web.client.RestTemplate; /** * BPM 发送同步 HTTP 请求触发器 diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/liquibase/datatype/core/BooleanType.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/liquibase/datatype/core/BooleanType.java index 6f574106..b2c55f08 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/liquibase/datatype/core/BooleanType.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/liquibase/datatype/core/BooleanType.java @@ -11,7 +11,6 @@ import liquibase.statement.DatabaseFunction; import liquibase.util.StringUtil; import java.util.Locale; -import java.util.regex.Pattern; @DataTypeInfo(name = "boolean", aliases = {"java.sql.Types.BOOLEAN", "java.lang.Boolean", "bit", "bool"}, minParameters = 0, maxParameters = 0, priority = LiquibaseDataType.PRIORITY_DEFAULT) public class BooleanType extends LiquibaseDataType { diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/org/flowable/common/engine/impl/AbstractEngineConfiguration.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/org/flowable/common/engine/impl/AbstractEngineConfiguration.java index 2ac83d58..790e65ec 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/org/flowable/common/engine/impl/AbstractEngineConfiguration.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/org/flowable/common/engine/impl/AbstractEngineConfiguration.java @@ -12,29 +12,8 @@ */ package org.flowable.common.engine.impl; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.Reader; -import java.sql.Connection; -import java.sql.DatabaseMetaData; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.time.Duration; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Properties; -import java.util.ServiceLoader; -import java.util.Set; - -import javax.naming.InitialContext; -import javax.sql.DataSource; - +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; import org.apache.commons.lang3.StringUtils; import org.apache.ibatis.builder.xml.XMLConfigBuilder; import org.apache.ibatis.builder.xml.XMLMapperBuilder; @@ -47,27 +26,7 @@ import org.apache.ibatis.session.defaults.DefaultSqlSessionFactory; import org.apache.ibatis.transaction.TransactionFactory; import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory; import org.apache.ibatis.transaction.managed.ManagedTransactionFactory; -import org.apache.ibatis.type.ArrayTypeHandler; -import org.apache.ibatis.type.BigDecimalTypeHandler; -import org.apache.ibatis.type.BlobInputStreamTypeHandler; -import org.apache.ibatis.type.BlobTypeHandler; -import org.apache.ibatis.type.BooleanTypeHandler; -import org.apache.ibatis.type.ByteTypeHandler; -import org.apache.ibatis.type.ClobTypeHandler; -import org.apache.ibatis.type.DateOnlyTypeHandler; -import org.apache.ibatis.type.DateTypeHandler; -import org.apache.ibatis.type.DoubleTypeHandler; -import org.apache.ibatis.type.FloatTypeHandler; -import org.apache.ibatis.type.IntegerTypeHandler; -import org.apache.ibatis.type.JdbcType; -import org.apache.ibatis.type.LongTypeHandler; -import org.apache.ibatis.type.NClobTypeHandler; -import org.apache.ibatis.type.NStringTypeHandler; -import org.apache.ibatis.type.ShortTypeHandler; -import org.apache.ibatis.type.SqlxmlTypeHandler; -import org.apache.ibatis.type.StringTypeHandler; -import org.apache.ibatis.type.TimeOnlyTypeHandler; -import org.apache.ibatis.type.TypeHandlerRegistry; +import org.apache.ibatis.type.*; import org.flowable.common.engine.api.FlowableException; import org.flowable.common.engine.api.delegate.event.FlowableEngineEventType; import org.flowable.common.engine.api.delegate.event.FlowableEventDispatcher; @@ -79,25 +38,10 @@ import org.flowable.common.engine.impl.cfg.CommandExecutorImpl; import org.flowable.common.engine.impl.cfg.IdGenerator; import org.flowable.common.engine.impl.cfg.TransactionContextFactory; import org.flowable.common.engine.impl.cfg.standalone.StandaloneMybatisTransactionContextFactory; -import org.flowable.common.engine.impl.db.CommonDbSchemaManager; -import org.flowable.common.engine.impl.db.DbSqlSessionFactory; -import org.flowable.common.engine.impl.db.LogSqlExecutionTimePlugin; -import org.flowable.common.engine.impl.db.MybatisTypeAliasConfigurator; -import org.flowable.common.engine.impl.db.MybatisTypeHandlerConfigurator; -import org.flowable.common.engine.impl.db.SchemaManager; +import org.flowable.common.engine.impl.db.*; import org.flowable.common.engine.impl.event.EventDispatchAction; import org.flowable.common.engine.impl.event.FlowableEventDispatcherImpl; -import org.flowable.common.engine.impl.interceptor.Command; -import org.flowable.common.engine.impl.interceptor.CommandConfig; -import org.flowable.common.engine.impl.interceptor.CommandContextFactory; -import org.flowable.common.engine.impl.interceptor.CommandContextInterceptor; -import org.flowable.common.engine.impl.interceptor.CommandExecutor; -import org.flowable.common.engine.impl.interceptor.CommandInterceptor; -import org.flowable.common.engine.impl.interceptor.CrDbRetryInterceptor; -import org.flowable.common.engine.impl.interceptor.DefaultCommandInvoker; -import org.flowable.common.engine.impl.interceptor.LogInterceptor; -import org.flowable.common.engine.impl.interceptor.SessionFactory; -import org.flowable.common.engine.impl.interceptor.TransactionContextInterceptor; +import org.flowable.common.engine.impl.interceptor.*; import org.flowable.common.engine.impl.lock.LockManager; import org.flowable.common.engine.impl.lock.LockManagerImpl; import org.flowable.common.engine.impl.logging.LoggingListener; @@ -107,13 +51,7 @@ import org.flowable.common.engine.impl.persistence.GenericManagerFactory; import org.flowable.common.engine.impl.persistence.StrongUuidGenerator; import org.flowable.common.engine.impl.persistence.cache.EntityCache; import org.flowable.common.engine.impl.persistence.cache.EntityCacheImpl; -import org.flowable.common.engine.impl.persistence.entity.ByteArrayEntityManager; -import org.flowable.common.engine.impl.persistence.entity.ByteArrayEntityManagerImpl; -import org.flowable.common.engine.impl.persistence.entity.Entity; -import org.flowable.common.engine.impl.persistence.entity.PropertyEntityManager; -import org.flowable.common.engine.impl.persistence.entity.PropertyEntityManagerImpl; -import org.flowable.common.engine.impl.persistence.entity.TableDataManager; -import org.flowable.common.engine.impl.persistence.entity.TableDataManagerImpl; +import org.flowable.common.engine.impl.persistence.entity.*; import org.flowable.common.engine.impl.persistence.entity.data.ByteArrayDataManager; import org.flowable.common.engine.impl.persistence.entity.data.PropertyDataManager; import org.flowable.common.engine.impl.persistence.entity.data.impl.MybatisByteArrayDataManager; @@ -127,8 +65,14 @@ import org.flowable.eventregistry.api.EventRegistryEventConsumer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; +import javax.naming.InitialContext; +import javax.sql.DataSource; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; +import java.sql.*; +import java.time.Duration; +import java.util.*; public abstract class AbstractEngineConfiguration { diff --git a/zt-module-bpm/zt-module-bpm-server/src/test/java/com/zt/plat/module/bpm/service/definition/BpmFormServiceTest.java b/zt-module-bpm/zt-module-bpm-server/src/test/java/com/zt/plat/module/bpm/service/definition/BpmFormServiceTest.java index 2bb6fbad..8742afe2 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/test/java/com/zt/plat/module/bpm/service/definition/BpmFormServiceTest.java +++ b/zt-module-bpm/zt-module-bpm-server/src/test/java/com/zt/plat/module/bpm/service/definition/BpmFormServiceTest.java @@ -4,15 +4,15 @@ import cn.hutool.core.util.RandomUtil; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.util.json.JsonUtils; import com.zt.plat.framework.test.core.ut.BaseDbUnitTest; -import com.zt.plat.module.bpm.controller.admin.definition.vo.form.BpmFormSaveReqVO; import com.zt.plat.module.bpm.controller.admin.definition.vo.form.BpmFormPageReqVO; +import com.zt.plat.module.bpm.controller.admin.definition.vo.form.BpmFormSaveReqVO; import com.zt.plat.module.bpm.dal.dataobject.definition.BpmFormDO; import com.zt.plat.module.bpm.dal.mysql.definition.BpmFormMapper; import com.zt.plat.module.bpm.service.definition.dto.BpmFormFieldRespDTO; +import jakarta.annotation.Resource; import org.junit.jupiter.api.Test; import org.springframework.context.annotation.Import; -import jakarta.annotation.Resource; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; diff --git a/zt-module-bpm/zt-module-bpm-server/src/test/java/com/zt/plat/module/bpm/service/definition/BpmUserGroupServiceTest.java b/zt-module-bpm/zt-module-bpm-server/src/test/java/com/zt/plat/module/bpm/service/definition/BpmUserGroupServiceTest.java index a74e9d38..b2b04bc4 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/test/java/com/zt/plat/module/bpm/service/definition/BpmUserGroupServiceTest.java +++ b/zt-module-bpm/zt-module-bpm-server/src/test/java/com/zt/plat/module/bpm/service/definition/BpmUserGroupServiceTest.java @@ -5,16 +5,15 @@ import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.test.core.ut.BaseDbUnitTest; import com.zt.plat.framework.test.core.util.AssertUtils; import com.zt.plat.framework.test.core.util.RandomUtils; -import com.zt.plat.module.bpm.controller.admin.definition.vo.group.BpmUserGroupSaveReqVO; import com.zt.plat.module.bpm.controller.admin.definition.vo.group.BpmUserGroupPageReqVO; +import com.zt.plat.module.bpm.controller.admin.definition.vo.group.BpmUserGroupSaveReqVO; import com.zt.plat.module.bpm.dal.dataobject.definition.BpmUserGroupDO; import com.zt.plat.module.bpm.dal.mysql.definition.BpmUserGroupMapper; +import jakarta.annotation.Resource; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.context.annotation.Import; -import jakarta.annotation.Resource; - import java.time.LocalDateTime; import static com.zt.plat.framework.common.util.date.LocalDateTimeUtils.buildTime; diff --git a/zt-module-databus/zt-module-databus-server/Dockerfile b/zt-module-databus/zt-module-databus-server/Dockerfile new file mode 100644 index 00000000..6c1fd56f --- /dev/null +++ b/zt-module-databus/zt-module-databus-server/Dockerfile @@ -0,0 +1,19 @@ +## AdoptOpenJDK 停止发布 OpenJDK 二进制,而 Eclipse Temurin 是它的延伸,提供更好的稳定性 + +FROM 172.16.46.66:10043/base-service/eclipse-temurin:21-jre + +## 创建目录,并使用它作为工作目录 +RUN mkdir -p /zt-module-databus-server +WORKDIR /zt-module-databus-server +## 将后端项目的 Jar 文件,复制到镜像中 +COPY ./target/zt-module-databus-server.jar app.jar + +## 设置 TZ 时区 +## 设置 JAVA_OPTS 环境变量,可通过 docker run -e "JAVA_OPTS=" 进行覆盖 +ENV TZ=Asia/Shanghai JAVA_OPTS="-Xms512m -Xmx512m" + +## 暴露后端项目的 48080 端口 +EXPOSE 48082 + +## 启动后端项目 +CMD java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar app.jar diff --git a/zt-module-databus/zt-module-databus-server/src/main/resources/application-dev.yml b/zt-module-databus/zt-module-databus-server/src/main/resources/application-dev.yml index 87dad43b..f7189ad3 100644 --- a/zt-module-databus/zt-module-databus-server/src/main/resources/application-dev.yml +++ b/zt-module-databus/zt-module-databus-server/src/main/resources/application-dev.yml @@ -37,14 +37,20 @@ spring: primary: master datasource: master: - url: jdbc:dm://172.16.46.247:1050?schema=RUOYI-VUE-PRO + #url: jdbc:dm://172.16.46.247:1050?schema=RUOYI-VUE-PRO + #username: SYSDBA + #password: pgbsci6ddJ6Sqj@e + url: jdbc:dm://172.17.11.98:20870?schema=JYGK_TEST username: SYSDBA - password: pgbsci6ddJ6Sqj@e + password: P@ssword25 slave: # 模拟从库,可根据自己需要修改 # 模拟从库,可根据自己需要修改 lazy: true # 开启懒加载,保证启动速度 - url: jdbc:dm://172.16.46.247:1050?schema=RUOYI-VUE-PRO + #url: jdbc:dm://172.16.46.247:1050?schema=RUOYI-VUE-PRO + #username: SYSDBA + #password: pgbsci6ddJ6Sqj@e + url: jdbc:dm://172.17.11.98:20870?schema=JYGK_TEST username: SYSDBA - password: pgbsci6ddJ6Sqj@e + password: P@ssword25 # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优 data: @@ -52,9 +58,8 @@ spring: host: 172.16.46.63 # 地址 port: 30379 # 端口 database: 0 # 数据库索引 - username: zt-redis + username: zt-redis # 密码,建议生产环境开启 password: P@ssword25 -# password: 123456 # 密码,建议生产环境开启 xxl: job: diff --git a/zt-module-databus/zt-module-databus-server/src/main/resources/application-local.yml b/zt-module-databus/zt-module-databus-server/src/main/resources/application-local.yml index cd47ac91..524347bd 100644 --- a/zt-module-databus/zt-module-databus-server/src/main/resources/application-local.yml +++ b/zt-module-databus/zt-module-databus-server/src/main/resources/application-local.yml @@ -39,14 +39,20 @@ spring: primary: master datasource: master: - url: jdbc:dm://172.16.46.247:1050?schema=RUOYI-VUE-PRO + #url: jdbc:dm://172.16.46.247:1050?schema=RUOYI-VUE-PRO + #username: SYSDBA + #password: pgbsci6ddJ6Sqj@e + url: jdbc:dm://172.17.11.98:20870?schema=JYGK_TEST username: SYSDBA - password: pgbsci6ddJ6Sqj@e + password: P@ssword25 slave: # 模拟从库,可根据自己需要修改 # 模拟从库,可根据自己需要修改 lazy: true # 开启懒加载,保证启动速度 - url: jdbc:dm://172.16.46.247:1050?schema=RUOYI-VUE-PRO + #url: jdbc:dm://172.16.46.247:1050?schema=RUOYI-VUE-PRO + #username: SYSDBA + #password: pgbsci6ddJ6Sqj@e + url: jdbc:dm://172.17.11.98:20870?schema=JYGK_TEST username: SYSDBA - password: pgbsci6ddJ6Sqj@e + password: P@ssword25 # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优 data: @@ -54,7 +60,8 @@ spring: host: 172.16.46.63 # 地址 port: 30379 # 端口 database: 0 # 数据库索引 -# password: 123456 # 密码,建议生产环境开启 + username: zt-redis # 密码,建议生产环境开启 + password: P@ssword25 xxl: job: diff --git a/zt-module-databus/zt-module-databus-server/src/main/resources/application.yml b/zt-module-databus/zt-module-databus-server/src/main/resources/application.yml index 93b7aa62..3153c24a 100644 --- a/zt-module-databus/zt-module-databus-server/src/main/resources/application.yml +++ b/zt-module-databus/zt-module-databus-server/src/main/resources/application.yml @@ -50,7 +50,7 @@ spring: time-to-live: 1h # 设置过期时间为 1 小时 server: - port: 48100 + port: 48108 logging: file: diff --git a/zt-module-infra/zt-module-infra-api/src/main/java/com/zt/plat/module/infra/api/file/dto/FileCreateReqDTO.java b/zt-module-infra/zt-module-infra-api/src/main/java/com/zt/plat/module/infra/api/file/dto/FileCreateReqDTO.java index c4290020..4260da92 100644 --- a/zt-module-infra/zt-module-infra-api/src/main/java/com/zt/plat/module/infra/api/file/dto/FileCreateReqDTO.java +++ b/zt-module-infra/zt-module-infra-api/src/main/java/com/zt/plat/module/infra/api/file/dto/FileCreateReqDTO.java @@ -1,9 +1,8 @@ package com.zt.plat.module.infra.api.file.dto; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - import jakarta.validation.constraints.NotEmpty; +import lombok.Data; @Schema(description = "RPC 服务 - 文件创建 Request DTO") @Data diff --git a/zt-module-infra/zt-module-infra-api/src/main/java/com/zt/plat/module/infra/api/websocket/WebSocketSenderApi.java b/zt-module-infra/zt-module-infra-api/src/main/java/com/zt/plat/module/infra/api/websocket/WebSocketSenderApi.java index 957ee956..0da33d99 100644 --- a/zt-module-infra/zt-module-infra-api/src/main/java/com/zt/plat/module/infra/api/websocket/WebSocketSenderApi.java +++ b/zt-module-infra/zt-module-infra-api/src/main/java/com/zt/plat/module/infra/api/websocket/WebSocketSenderApi.java @@ -6,12 +6,11 @@ import com.zt.plat.module.infra.api.websocket.dto.WebSocketSendReqDTO; import com.zt.plat.module.infra.enums.ApiConstants; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.validation.Valid; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; -import jakarta.validation.Valid; - @FeignClient(name = ApiConstants.NAME) // TODO ZT:fallbackFactory = @Tag(name = "RPC 服务 - WebSocket 发送器的") // 对 WebSocketMessageSender 进行封装,提供给其它模块使用 public interface WebSocketSenderApi { diff --git a/zt-module-infra/zt-module-infra-api/src/main/java/com/zt/plat/module/infra/api/websocket/dto/WebSocketSendReqDTO.java b/zt-module-infra/zt-module-infra-api/src/main/java/com/zt/plat/module/infra/api/websocket/dto/WebSocketSendReqDTO.java index 9f28ddf5..a3919657 100644 --- a/zt-module-infra/zt-module-infra-api/src/main/java/com/zt/plat/module/infra/api/websocket/dto/WebSocketSendReqDTO.java +++ b/zt-module-infra/zt-module-infra-api/src/main/java/com/zt/plat/module/infra/api/websocket/dto/WebSocketSendReqDTO.java @@ -1,9 +1,8 @@ package com.zt.plat.module.infra.api.websocket.dto; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - import jakarta.validation.constraints.NotEmpty; +import lombok.Data; @Schema(description = "RPC 服务 - WebSocket 消息发送 Request DTO") @Data diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/api/logger/ApiAccessLogApiImpl.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/api/logger/ApiAccessLogApiImpl.java index f368774b..6c7f7625 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/api/logger/ApiAccessLogApiImpl.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/api/logger/ApiAccessLogApiImpl.java @@ -4,11 +4,10 @@ import com.zt.plat.framework.common.biz.infra.logger.ApiAccessLogCommonApi; import com.zt.plat.framework.common.biz.infra.logger.dto.ApiAccessLogCreateReqDTO; import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.module.infra.service.logger.ApiAccessLogService; +import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RestController; -import jakarta.annotation.Resource; - import static com.zt.plat.framework.common.pojo.CommonResult.success; @RestController // 提供 RESTful API 接口,给 Feign 调用 diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/businessfile/BusinessFileController.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/businessfile/BusinessFileController.java index 2d143fb8..8ba4765b 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/businessfile/BusinessFileController.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/businessfile/BusinessFileController.java @@ -101,7 +101,7 @@ public class BusinessFileController { @GetMapping("/page") @Operation(summary = "获得业务附件关联分页") - @PreAuthorize("@ss.hasPermission('infra:business-file:query')") + @PreAuthorize("@ss.hasAnyPermissions({'infra:business-file:query','supply:purchase-credit-granting-form-template:query-list','supply:purchase-amount-request-form-template:query-list'})") public CommonResult> getBusinessFilePage(@Valid BusinessFilePageReqVO pageReqVO) { PageResult pageResult = businessFileService.getBusinessFilePage(pageReqVO); return success(BeanUtils.toBean(pageResult, BusinessFileRespVO.class)); diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/businessfile/vo/BusinessFilePageReqVO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/businessfile/vo/BusinessFilePageReqVO.java index 34d1c44e..176dd0b4 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/businessfile/vo/BusinessFilePageReqVO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/businessfile/vo/BusinessFilePageReqVO.java @@ -1,10 +1,10 @@ package com.zt.plat.module.infra.controller.admin.businessfile.vo; -import lombok.*; -import java.util.*; -import io.swagger.v3.oas.annotations.media.Schema; import com.zt.plat.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; + import java.time.LocalDateTime; import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/businessfile/vo/BusinessFileWithUrlRespVO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/businessfile/vo/BusinessFileWithUrlRespVO.java index 95717360..2edbcd5e 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/businessfile/vo/BusinessFileWithUrlRespVO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/businessfile/vo/BusinessFileWithUrlRespVO.java @@ -12,7 +12,6 @@ import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.nio.charset.StandardCharsets; -import java.time.LocalDateTime; import java.util.Base64; import java.util.Date; diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/codegen/vo/CodegenUpdateReqVO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/codegen/vo/CodegenUpdateReqVO.java index 8f8b0774..87447521 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/codegen/vo/CodegenUpdateReqVO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/codegen/vo/CodegenUpdateReqVO.java @@ -3,10 +3,10 @@ package com.zt.plat.module.infra.controller.admin.codegen.vo; import com.zt.plat.module.infra.controller.admin.codegen.vo.column.CodegenColumnSaveReqVO; import com.zt.plat.module.infra.controller.admin.codegen.vo.table.CodegenTableSaveReqVO; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; +import lombok.Data; + import java.util.List; @Schema(description = "管理后台 - 代码生成表和字段的修改 Request VO") diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/codegen/vo/column/CodegenColumnSaveReqVO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/codegen/vo/column/CodegenColumnSaveReqVO.java index 142b4bd6..19eaee0e 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/codegen/vo/column/CodegenColumnSaveReqVO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/codegen/vo/column/CodegenColumnSaveReqVO.java @@ -1,9 +1,8 @@ package com.zt.plat.module.infra.controller.admin.codegen.vo.column; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - import jakarta.validation.constraints.NotNull; +import lombok.Data; @Schema(description = "管理后台 - 代码生成字段定义创建/修改 Request VO") @Data diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/config/vo/ConfigRespVO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/config/vo/ConfigRespVO.java index 316b23c5..942e9f55 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/config/vo/ConfigRespVO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/config/vo/ConfigRespVO.java @@ -1,10 +1,10 @@ package com.zt.plat.module.infra.controller.admin.config.vo; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.zt.plat.framework.excel.core.annotations.DictFormat; import com.zt.plat.framework.excel.core.convert.DictConvert; import com.zt.plat.module.infra.enums.DictTypeConstants; -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/config/vo/ConfigSaveReqVO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/config/vo/ConfigSaveReqVO.java index 3b5aa57f..4bf21630 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/config/vo/ConfigSaveReqVO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/config/vo/ConfigSaveReqVO.java @@ -1,12 +1,11 @@ package com.zt.plat.module.infra.controller.admin.config.vo; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Size; +import lombok.Data; @Schema(description = "管理后台 - 参数配置创建/修改 Request VO") @Data diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/db/DataSourceConfigController.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/db/DataSourceConfigController.java index f0f135cf..0324f16e 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/db/DataSourceConfigController.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/db/DataSourceConfigController.java @@ -9,12 +9,12 @@ import com.zt.plat.module.infra.service.db.DataSourceConfigService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.validation.Valid; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import jakarta.annotation.Resource; -import jakarta.validation.Valid; import java.util.List; import static com.zt.plat.framework.common.pojo.CommonResult.success; diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/db/vo/DataSourceConfigSaveReqVO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/db/vo/DataSourceConfigSaveReqVO.java index 02d3b632..5353a51a 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/db/vo/DataSourceConfigSaveReqVO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/db/vo/DataSourceConfigSaveReqVO.java @@ -1,9 +1,8 @@ package com.zt.plat.module.infra.controller.admin.db.vo; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - import jakarta.validation.constraints.NotNull; +import lombok.Data; @Schema(description = "管理后台 - 数据源配置创建/修改 Request VO") @Data diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/demo/demo01/vo/Demo01ContactRespVO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/demo/demo01/vo/Demo01ContactRespVO.java index cb1ab23f..55a269f8 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/demo/demo01/vo/Demo01ContactRespVO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/demo/demo01/vo/Demo01ContactRespVO.java @@ -1,9 +1,9 @@ package com.zt.plat.module.infra.controller.admin.demo.demo01.vo; -import com.zt.plat.framework.excel.core.annotations.DictFormat; -import com.zt.plat.framework.excel.core.convert.DictConvert; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.zt.plat.framework.excel.core.annotations.DictFormat; +import com.zt.plat.framework.excel.core.convert.DictConvert; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/demo/demo03/erp/vo/Demo03StudentErpRespVO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/demo/demo03/erp/vo/Demo03StudentErpRespVO.java index 048eaede..45173e8a 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/demo/demo03/erp/vo/Demo03StudentErpRespVO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/demo/demo03/erp/vo/Demo03StudentErpRespVO.java @@ -1,9 +1,9 @@ package com.zt.plat.module.infra.controller.admin.demo.demo03.erp.vo; -import com.zt.plat.framework.excel.core.annotations.DictFormat; -import com.zt.plat.framework.excel.core.convert.DictConvert; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.zt.plat.framework.excel.core.annotations.DictFormat; +import com.zt.plat.framework.excel.core.convert.DictConvert; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/demo/demo03/inner/vo/Demo03StudentInnerRespVO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/demo/demo03/inner/vo/Demo03StudentInnerRespVO.java index 66aa7832..f188e452 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/demo/demo03/inner/vo/Demo03StudentInnerRespVO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/demo/demo03/inner/vo/Demo03StudentInnerRespVO.java @@ -1,9 +1,9 @@ package com.zt.plat.module.infra.controller.admin.demo.demo03.inner.vo; -import com.zt.plat.framework.excel.core.annotations.DictFormat; -import com.zt.plat.framework.excel.core.convert.DictConvert; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.zt.plat.framework.excel.core.annotations.DictFormat; +import com.zt.plat.framework.excel.core.convert.DictConvert; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/doc/vo/DocFileCreateReqVO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/doc/vo/DocFileCreateReqVO.java index d6d1adb4..7e993583 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/doc/vo/DocFileCreateReqVO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/doc/vo/DocFileCreateReqVO.java @@ -1,10 +1,9 @@ package com.zt.plat.module.infra.controller.admin.doc.vo; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; +import lombok.Data; @Schema(description = "管理后台 - 在线文档创建 Request VO") @Data diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/doc/vo/DocFilePermissionReqVO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/doc/vo/DocFilePermissionReqVO.java index 0c437978..e2170fad 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/doc/vo/DocFilePermissionReqVO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/doc/vo/DocFilePermissionReqVO.java @@ -1,9 +1,9 @@ package com.zt.plat.module.infra.controller.admin.doc.vo; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; import lombok.Data; -import jakarta.validation.constraints.NotNull; import java.time.LocalDateTime; @Schema(description = "管理后台 - 文档权限 Request VO") diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/doc/vo/DocFileUpdateReqVO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/doc/vo/DocFileUpdateReqVO.java index da79d927..2228628f 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/doc/vo/DocFileUpdateReqVO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/doc/vo/DocFileUpdateReqVO.java @@ -1,9 +1,8 @@ package com.zt.plat.module.infra.controller.admin.doc.vo; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - import jakarta.validation.constraints.NotNull; +import lombok.Data; @Schema(description = "管理后台 - 在线文档更新 Request VO") @Data diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/file/vo/config/FileConfigSaveReqVO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/file/vo/config/FileConfigSaveReqVO.java index d235d45c..a2f56e29 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/file/vo/config/FileConfigSaveReqVO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/file/vo/config/FileConfigSaveReqVO.java @@ -1,9 +1,9 @@ package com.zt.plat.module.infra.controller.admin.file.vo.config; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; import lombok.Data; -import jakarta.validation.constraints.NotNull; import java.util.Map; @Schema(description = "管理后台 - 文件配置创建/修改 Request VO") diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogRespVO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogRespVO.java index b1e70950..fe72d35e 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogRespVO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogRespVO.java @@ -1,10 +1,10 @@ package com.zt.plat.module.infra.controller.admin.logger.vo.apiaccesslog; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.zt.plat.framework.excel.core.annotations.DictFormat; import com.zt.plat.framework.excel.core.convert.DictConvert; import com.zt.plat.module.infra.enums.DictTypeConstants; -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/redis/RedisController.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/redis/RedisController.java index aade67c0..a5a2b5bf 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/redis/RedisController.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/controller/admin/redis/RedisController.java @@ -5,6 +5,7 @@ import com.zt.plat.module.infra.controller.admin.redis.vo.RedisMonitorRespVO; import com.zt.plat.module.infra.convert.redis.RedisConvert; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; import org.springframework.data.redis.connection.RedisServerCommands; import org.springframework.data.redis.core.RedisCallback; import org.springframework.data.redis.core.StringRedisTemplate; @@ -13,7 +14,6 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import jakarta.annotation.Resource; import java.util.Properties; import static com.zt.plat.framework.common.pojo.CommonResult.success; diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/convert/codegen/CodegenConvert.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/convert/codegen/CodegenConvert.java index 015de2e8..dfa4906e 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/convert/codegen/CodegenConvert.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/convert/codegen/CodegenConvert.java @@ -1,5 +1,7 @@ package com.zt.plat.module.infra.convert.codegen; +import com.baomidou.mybatisplus.generator.config.po.TableField; +import com.baomidou.mybatisplus.generator.config.po.TableInfo; import com.zt.plat.framework.common.util.collection.CollectionUtils; import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.module.infra.controller.admin.codegen.vo.CodegenDetailRespVO; @@ -8,8 +10,6 @@ import com.zt.plat.module.infra.controller.admin.codegen.vo.column.CodegenColumn import com.zt.plat.module.infra.controller.admin.codegen.vo.table.CodegenTableRespVO; import com.zt.plat.module.infra.dal.dataobject.codegen.CodegenColumnDO; import com.zt.plat.module.infra.dal.dataobject.codegen.CodegenTableDO; -import com.baomidou.mybatisplus.generator.config.po.TableField; -import com.baomidou.mybatisplus.generator.config.po.TableInfo; import org.apache.ibatis.type.JdbcType; import org.mapstruct.Mapper; import org.mapstruct.Mapping; diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/businessfile/BusinessFileDO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/businessfile/BusinessFileDO.java index 4c067913..4944f034 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/businessfile/BusinessFileDO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/businessfile/BusinessFileDO.java @@ -1,7 +1,7 @@ package com.zt.plat.module.infra.dal.dataobject.businessfile; -import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import lombok.*; /** * 业务附件关联 DO diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/codegen/CodegenColumnDO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/codegen/CodegenColumnDO.java index add3c4c6..3bc8b2cb 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/codegen/CodegenColumnDO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/codegen/CodegenColumnDO.java @@ -1,14 +1,14 @@ package com.zt.plat.module.infra.dal.dataobject.codegen; -import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; -import com.zt.plat.framework.tenant.core.aop.TenantIgnore; -import com.zt.plat.module.infra.enums.codegen.CodegenColumnHtmlTypeEnum; -import com.zt.plat.module.infra.enums.codegen.CodegenColumnListConditionEnum; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.generator.config.po.TableField; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; +import com.zt.plat.framework.tenant.core.aop.TenantIgnore; +import com.zt.plat.module.infra.enums.codegen.CodegenColumnHtmlTypeEnum; +import com.zt.plat.module.infra.enums.codegen.CodegenColumnListConditionEnum; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/config/ConfigDO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/config/ConfigDO.java index c6a51ef3..6b43b335 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/config/ConfigDO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/config/ConfigDO.java @@ -1,12 +1,12 @@ package com.zt.plat.module.infra.dal.dataobject.config; -import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; -import com.zt.plat.framework.tenant.core.aop.TenantIgnore; -import com.zt.plat.module.infra.enums.config.ConfigTypeEnum; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; +import com.zt.plat.framework.tenant.core.aop.TenantIgnore; +import com.zt.plat.module.infra.enums.config.ConfigTypeEnum; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/db/DataSourceConfigDO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/db/DataSourceConfigDO.java index f114035e..8f5c8ddf 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/db/DataSourceConfigDO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/db/DataSourceConfigDO.java @@ -1,9 +1,9 @@ package com.zt.plat.module.infra.dal.dataobject.db; +import com.baomidou.mybatisplus.annotation.*; import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import com.zt.plat.framework.mybatis.core.type.EncryptTypeHandler; import com.zt.plat.framework.tenant.core.aop.TenantIgnore; -import com.baomidou.mybatisplus.annotation.*; import lombok.Data; /** diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/demo/demo01/Demo01ContactDO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/demo/demo01/Demo01ContactDO.java index 6d570574..6999f682 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/demo/demo01/Demo01ContactDO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/demo/demo01/Demo01ContactDO.java @@ -1,10 +1,10 @@ package com.zt.plat.module.infra.dal.dataobject.demo.demo01; -import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import lombok.*; import java.time.LocalDateTime; diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/demo/demo02/Demo02CategoryDO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/demo/demo02/Demo02CategoryDO.java index eb314b57..ec96603a 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/demo/demo02/Demo02CategoryDO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/demo/demo02/Demo02CategoryDO.java @@ -1,10 +1,10 @@ package com.zt.plat.module.infra.dal.dataobject.demo.demo02; -import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import lombok.*; /** diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/demo/demo03/Demo03CourseDO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/demo/demo03/Demo03CourseDO.java index 3a1bd44e..a11b387c 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/demo/demo03/Demo03CourseDO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/demo/demo03/Demo03CourseDO.java @@ -1,10 +1,10 @@ package com.zt.plat.module.infra.dal.dataobject.demo.demo03; -import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import lombok.*; /** diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/demo/demo03/Demo03GradeDO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/demo/demo03/Demo03GradeDO.java index 04a78fbc..d6638076 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/demo/demo03/Demo03GradeDO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/demo/demo03/Demo03GradeDO.java @@ -1,10 +1,10 @@ package com.zt.plat.module.infra.dal.dataobject.demo.demo03; -import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import lombok.*; /** diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/demo/demo03/Demo03StudentDO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/demo/demo03/Demo03StudentDO.java index f78c95f3..c7e35622 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/demo/demo03/Demo03StudentDO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/demo/demo03/Demo03StudentDO.java @@ -1,10 +1,10 @@ package com.zt.plat.module.infra.dal.dataobject.demo.demo03; -import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import lombok.*; import java.time.LocalDateTime; diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/logger/ApiAccessLogDO.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/logger/ApiAccessLogDO.java index 116639ed..b36c7436 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/logger/ApiAccessLogDO.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/dataobject/logger/ApiAccessLogDO.java @@ -1,13 +1,13 @@ package com.zt.plat.module.infra.dal.dataobject.logger; -import com.zt.plat.framework.apilog.core.enums.OperateTypeEnum; -import com.zt.plat.framework.common.enums.UserTypeEnum; -import com.zt.plat.framework.common.pojo.CommonResult; -import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.zt.plat.framework.apilog.core.enums.OperateTypeEnum; +import com.zt.plat.framework.common.enums.UserTypeEnum; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import lombok.*; import java.time.LocalDateTime; diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/mysql/businessfile/BusinessFileMapper.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/mysql/businessfile/BusinessFileMapper.java index 5e886088..ef9196a5 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/mysql/businessfile/BusinessFileMapper.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/dal/mysql/businessfile/BusinessFileMapper.java @@ -1,13 +1,11 @@ package com.zt.plat.module.infra.dal.mysql.businessfile; -import java.util.*; - import com.zt.plat.framework.common.pojo.PageResult; -import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.module.infra.controller.admin.businessfile.vo.BusinessFilePageReqVO; import com.zt.plat.module.infra.dal.dataobject.businessfile.BusinessFileDO; import org.apache.ibatis.annotations.Mapper; -import com.zt.plat.module.infra.controller.admin.businessfile.vo.*; /** * 业务附件关联 Mapper diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/framework/codegen/config/CodegenProperties.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/framework/codegen/config/CodegenProperties.java index 83e496e5..15ea18c7 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/framework/codegen/config/CodegenProperties.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/framework/codegen/config/CodegenProperties.java @@ -2,12 +2,12 @@ package com.zt.plat.module.infra.framework.codegen.config; import com.zt.plat.module.infra.enums.codegen.CodegenFrontTypeEnum; import com.zt.plat.module.infra.enums.codegen.CodegenVOTypeEnum; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.validation.annotation.Validated; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.NotNull; import java.util.Collection; @ConfigurationProperties(prefix = "zt.codegen") diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/job/logger/AccessLogCleanJob.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/job/logger/AccessLogCleanJob.java index ba42f2b3..1954762f 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/job/logger/AccessLogCleanJob.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/job/logger/AccessLogCleanJob.java @@ -1,13 +1,12 @@ package com.zt.plat.module.infra.job.logger; +import com.xxl.job.core.handler.annotation.XxlJob; import com.zt.plat.framework.tenant.core.aop.TenantIgnore; import com.zt.plat.module.infra.service.logger.ApiAccessLogService; -import com.xxl.job.core.handler.annotation.XxlJob; +import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; -import jakarta.annotation.Resource; - /** * 物理删除 N 天前的访问日志的 Job * diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/codegen/CodegenServiceImpl.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/codegen/CodegenServiceImpl.java index 766ed84b..181ea370 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/codegen/CodegenServiceImpl.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/codegen/CodegenServiceImpl.java @@ -2,6 +2,9 @@ package com.zt.plat.module.infra.service.codegen; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.generator.config.po.TableField; +import com.baomidou.mybatisplus.generator.config.po.TableInfo; +import com.google.common.annotations.VisibleForTesting; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.module.infra.controller.admin.codegen.vo.CodegenCreateListReqVO; @@ -18,9 +21,6 @@ import com.zt.plat.module.infra.framework.codegen.config.CodegenProperties; import com.zt.plat.module.infra.service.codegen.inner.CodegenBuilder; import com.zt.plat.module.infra.service.codegen.inner.CodegenEngine; import com.zt.plat.module.infra.service.db.DatabaseTableService; -import com.baomidou.mybatisplus.generator.config.po.TableField; -import com.baomidou.mybatisplus.generator.config.po.TableInfo; -import com.google.common.annotations.VisibleForTesting; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/codegen/inner/CodegenBuilder.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/codegen/inner/CodegenBuilder.java index 8db0f801..d64f0fd8 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/codegen/inner/CodegenBuilder.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/codegen/inner/CodegenBuilder.java @@ -3,6 +3,9 @@ package com.zt.plat.module.infra.service.codegen.inner; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ReflectUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.generator.config.po.TableField; +import com.baomidou.mybatisplus.generator.config.po.TableInfo; +import com.google.common.collect.Sets; import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; import com.zt.plat.module.infra.convert.codegen.CodegenConvert; @@ -11,9 +14,6 @@ import com.zt.plat.module.infra.dal.dataobject.codegen.CodegenTableDO; import com.zt.plat.module.infra.enums.codegen.CodegenColumnHtmlTypeEnum; import com.zt.plat.module.infra.enums.codegen.CodegenColumnListConditionEnum; import com.zt.plat.module.infra.enums.codegen.CodegenTemplateTypeEnum; -import com.baomidou.mybatisplus.generator.config.po.TableField; -import com.baomidou.mybatisplus.generator.config.po.TableInfo; -import com.google.common.collect.Sets; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/codegen/inner/CodegenEngine.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/codegen/inner/CodegenEngine.java index 950e873a..91ea1fa3 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/codegen/inner/CodegenEngine.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/codegen/inner/CodegenEngine.java @@ -8,6 +8,11 @@ import cn.hutool.extra.template.TemplateConfig; import cn.hutool.extra.template.TemplateEngine; import cn.hutool.extra.template.engine.velocity.VelocityEngine; import cn.hutool.system.SystemUtil; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.google.common.annotations.VisibleForTesting; +import com.google.common.collect.ImmutableTable; +import com.google.common.collect.Maps; +import com.google.common.collect.Table; import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; import com.zt.plat.framework.apilog.core.enums.OperateTypeEnum; import com.zt.plat.framework.common.exception.util.ServiceExceptionUtil; @@ -35,11 +40,6 @@ import com.zt.plat.module.infra.enums.codegen.CodegenTemplateTypeEnum; import com.zt.plat.module.infra.enums.codegen.CodegenVOTypeEnum; import com.zt.plat.module.infra.framework.codegen.config.CodegenProperties; import com.zt.plat.module.infra.service.standardname.StandardNameService; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.google.common.annotations.VisibleForTesting; -import com.google.common.collect.ImmutableTable; -import com.google.common.collect.Maps; -import com.google.common.collect.Table; import jakarta.annotation.PostConstruct; import jakarta.annotation.Resource; import lombok.Setter; diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/config/ConfigService.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/config/ConfigService.java index 3fc81bab..21d59e43 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/config/ConfigService.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/config/ConfigService.java @@ -4,7 +4,6 @@ import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.module.infra.controller.admin.config.vo.ConfigPageReqVO; import com.zt.plat.module.infra.controller.admin.config.vo.ConfigSaveReqVO; import com.zt.plat.module.infra.dal.dataobject.config.ConfigDO; - import jakarta.validation.Valid; /** diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/config/ConfigServiceImpl.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/config/ConfigServiceImpl.java index caeaa2d1..1deb8b2c 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/config/ConfigServiceImpl.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/config/ConfigServiceImpl.java @@ -1,5 +1,6 @@ package com.zt.plat.module.infra.service.config; +import com.google.common.annotations.VisibleForTesting; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.module.infra.controller.admin.config.vo.ConfigPageReqVO; import com.zt.plat.module.infra.controller.admin.config.vo.ConfigSaveReqVO; @@ -7,13 +8,11 @@ import com.zt.plat.module.infra.convert.config.ConfigConvert; import com.zt.plat.module.infra.dal.dataobject.config.ConfigDO; import com.zt.plat.module.infra.dal.mysql.config.ConfigMapper; import com.zt.plat.module.infra.enums.config.ConfigTypeEnum; -import com.google.common.annotations.VisibleForTesting; +import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; -import jakarta.annotation.Resource; - import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.zt.plat.module.infra.enums.ErrorCodeConstants.*; diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/db/DataSourceConfigService.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/db/DataSourceConfigService.java index 065bfd17..b96a5cd4 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/db/DataSourceConfigService.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/db/DataSourceConfigService.java @@ -2,8 +2,8 @@ package com.zt.plat.module.infra.service.db; import com.zt.plat.module.infra.controller.admin.db.vo.DataSourceConfigSaveReqVO; import com.zt.plat.module.infra.dal.dataobject.db.DataSourceConfigDO; - import jakarta.validation.Valid; + import java.util.List; /** diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/db/DataSourceConfigServiceImpl.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/db/DataSourceConfigServiceImpl.java index df4cd925..d8734dcd 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/db/DataSourceConfigServiceImpl.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/db/DataSourceConfigServiceImpl.java @@ -1,16 +1,16 @@ package com.zt.plat.module.infra.service.db; +import com.baomidou.dynamic.datasource.creator.DataSourceProperty; +import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties; import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.framework.mybatis.core.util.JdbcUtils; import com.zt.plat.module.infra.controller.admin.db.vo.DataSourceConfigSaveReqVO; import com.zt.plat.module.infra.dal.dataobject.db.DataSourceConfigDO; import com.zt.plat.module.infra.dal.mysql.db.DataSourceConfigMapper; -import com.baomidou.dynamic.datasource.creator.DataSourceProperty; -import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties; +import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; -import jakarta.annotation.Resource; import java.util.List; import java.util.Objects; diff --git a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/db/DatabaseTableServiceImpl.java b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/db/DatabaseTableServiceImpl.java index 374fa1a9..e5797ed1 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/db/DatabaseTableServiceImpl.java +++ b/zt-module-infra/zt-module-infra-server/src/main/java/com/zt/plat/module/infra/service/db/DatabaseTableServiceImpl.java @@ -3,11 +3,6 @@ package com.zt.plat.module.infra.service.db; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.StrUtil; -import com.zt.plat.framework.mybatis.core.util.JdbcUtils; -import com.zt.plat.module.infra.dal.dataobject.db.DataSourceConfigDO; -import com.zt.plat.module.infra.dal.dataobject.standardname.StandardNameDO; -import com.zt.plat.module.infra.service.codegen.inner.CodegenBuilder; -import com.zt.plat.module.infra.service.standardname.StandardNameService; import com.baomidou.mybatisplus.generator.config.DataSourceConfig; import com.baomidou.mybatisplus.generator.config.GlobalConfig; import com.baomidou.mybatisplus.generator.config.StrategyConfig; @@ -16,6 +11,11 @@ import com.baomidou.mybatisplus.generator.config.po.TableField; import com.baomidou.mybatisplus.generator.config.po.TableInfo; import com.baomidou.mybatisplus.generator.config.rules.DateType; import com.baomidou.mybatisplus.generator.query.SQLQuery; +import com.zt.plat.framework.mybatis.core.util.JdbcUtils; +import com.zt.plat.module.infra.dal.dataobject.db.DataSourceConfigDO; +import com.zt.plat.module.infra.dal.dataobject.standardname.StandardNameDO; +import com.zt.plat.module.infra.service.codegen.inner.CodegenBuilder; +import com.zt.plat.module.infra.service.standardname.StandardNameService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; diff --git a/zt-module-infra/zt-module-infra-server/src/main/resources/application-dev.yaml b/zt-module-infra/zt-module-infra-server/src/main/resources/application-dev.yaml index 9a4b7a79..94b2049e 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/resources/application-dev.yaml +++ b/zt-module-infra/zt-module-infra-server/src/main/resources/application-dev.yaml @@ -38,14 +38,20 @@ spring: primary: master datasource: master: - url: jdbc:dm://172.16.46.247:1050?schema=RUOYI-VUE-PRO + #url: jdbc:dm://172.16.46.247:1050?schema=RUOYI-VUE-PRO + #username: SYSDBA + #password: pgbsci6ddJ6Sqj@e + url: jdbc:dm://172.17.11.98:20870?schema=JYGK_TEST username: SYSDBA - password: pgbsci6ddJ6Sqj@e + password: P@ssword25 slave: # 模拟从库,可根据自己需要修改 # 模拟从库,可根据自己需要修改 lazy: true # 开启懒加载,保证启动速度 - url: jdbc:dm://172.16.46.247:1050?schema=RUOYI-VUE-PRO + #url: jdbc:dm://172.16.46.247:1050?schema=RUOYI-VUE-PRO + #username: SYSDBA + #password: pgbsci6ddJ6Sqj@e + url: jdbc:dm://172.17.11.98:20870?schema=JYGK_TEST username: SYSDBA - password: pgbsci6ddJ6Sqj@e + password: P@ssword25 # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优 data: @@ -98,5 +104,9 @@ spring: context-path: /admin # 配置 Spring --- #################### ZT相关配置 #################### +# 芋道配置项,设置当前项目所有自定义的配置 +zt: + file: + download-expire-seconds: 43200 diff --git a/zt-module-infra/zt-module-infra-server/src/main/resources/application-local.yaml b/zt-module-infra/zt-module-infra-server/src/main/resources/application-local.yaml index f9631d68..0f9f698b 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/resources/application-local.yaml +++ b/zt-module-infra/zt-module-infra-server/src/main/resources/application-local.yaml @@ -43,14 +43,20 @@ spring: primary: master datasource: master: - url: jdbc:dm://172.16.46.247:1050?schema=RUOYI-VUE-PRO + #url: jdbc:dm://172.16.46.247:1050?schema=RUOYI-VUE-PRO + #username: SYSDBA + #password: pgbsci6ddJ6Sqj@e + url: jdbc:dm://172.17.11.98:20870?schema=JYGK_TEST username: SYSDBA - password: pgbsci6ddJ6Sqj@e + password: P@ssword25 slave: # 模拟从库,可根据自己需要修改 # 模拟从库,可根据自己需要修改 lazy: true # 开启懒加载,保证启动速度 - url: jdbc:dm://172.16.46.247:1050?schema=RUOYI-VUE-PRO + #url: jdbc:dm://172.16.46.247:1050?schema=RUOYI-VUE-PRO + #username: SYSDBA + #password: pgbsci6ddJ6Sqj@e + url: jdbc:dm://172.17.11.98:20870?schema=JYGK_TEST username: SYSDBA - password: pgbsci6ddJ6Sqj@e + password: P@ssword25 # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优 data: diff --git a/zt-module-infra/zt-module-infra-server/src/main/resources/codegen/vue/views/components/form_sub_erp.vue.vm b/zt-module-infra/zt-module-infra-server/src/main/resources/codegen/vue/views/components/form_sub_erp.vue.vm index 99aa91af..225fd86d 100644 --- a/zt-module-infra/zt-module-infra-server/src/main/resources/codegen/vue/views/components/form_sub_erp.vue.vm +++ b/zt-module-infra/zt-module-infra-server/src/main/resources/codegen/vue/views/components/form_sub_erp.vue.vm @@ -89,15 +89,17 @@