From 1b2237e78ee5f6897b387039689fe46638ca5612 Mon Sep 17 00:00:00 2001 From: zhangluping <1801075613@qq.com> Date: Tue, 3 Dec 2024 10:19:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E8=B4=B9=E6=A8=A1=E5=9D=97=E4=B8=8B?= =?UTF-8?q?=E7=9A=84=E6=B1=87=E7=8E=87=E6=A8=A1=E5=9D=97=E5=92=8C=E9=80=80?= =?UTF-8?q?=E6=AC=BE=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gold-system/.idea/.gitignore | 8 + gold-system/.idea/compiler.xml | 24 + gold-system/.idea/encodings.xml | 12 + gold-system/.idea/gold-system.iml | 9 + gold-system/.idea/jarRepositories.xml | 20 + gold-system/.idea/misc.xml | 15 + gold-system/.idea/modules.xml | 8 + gold-system/.idea/uiDesigner.xml | 124 ++ gold-system/.idea/vcs.xml | 6 + gold-system/demo/.gitattributes | 2 + gold-system/demo/.gitignore | 33 + .../demo/.mvn/wrapper/maven-wrapper.properties | 19 + gold-system/demo/commons/.gitattributes | 2 + gold-system/demo/commons/.gitignore | 33 + .../commons/.mvn/wrapper/maven-wrapper.properties | 19 + gold-system/demo/commons/mvnw | 259 +++ gold-system/demo/commons/mvnw.cmd | 149 ++ gold-system/demo/commons/pom.xml | 67 + .../example/commons/domain/entity/Activity.java | 25 + .../com/example/commons/domain/entity/Admin.java | 25 + .../com/example/commons/domain/entity/Audit.java | 25 + .../com/example/commons/domain/entity/Detail.java | 44 + .../com/example/commons/domain/entity/Page.java | 13 + .../com/example/commons/domain/entity/Rate.java | 27 + .../commons/domain/entity/RateSearchRequest.java | 10 + .../example/commons/domain/entity/Recharge.java | 34 + .../com/example/commons/domain/entity/User.java | 27 + .../com/example/commons/domain/vo/RechargeVo.java | 38 + .../java/com/example/commons/domain/vo/Result.java | 44 + .../example/commons/sevice/ActivityService.java | 17 + .../com/example/commons/sevice/AuditService.java | 14 + .../com/example/commons/sevice/RateService.java | 16 + .../example/commons/sevice/RechargeService.java | 16 + .../com/example/commons/sevice/RefundService.java | 19 + .../com/example/commons/sevice/UserSevice.java | 13 + .../example/commons/CommonsApplicationTests.java | 13 + gold-system/demo/mvnw | 259 +++ gold-system/demo/mvnw.cmd | 149 ++ gold-system/demo/pom.xml | 104 ++ gold-system/demo/recharge/.gitattributes | 2 + gold-system/demo/recharge/.gitignore | 33 + .../recharge/.mvn/wrapper/maven-wrapper.properties | 19 + gold-system/demo/recharge/mvnw | 259 +++ gold-system/demo/recharge/mvnw.cmd | 149 ++ gold-system/demo/recharge/pom.xml | 73 + .../com/example/recharge/RechargeApplication.java | 13 + .../recharge/controller/ActivityController.java | 68 + .../recharge/controller/AuditController.java | 41 + .../recharge/controller/RateController.java | 102 ++ .../recharge/controller/RechargeController.java | 53 + .../example/recharge/mapper/ActivityMapper.java | 66 + .../com/example/recharge/mapper/AuditMapper.java | 36 + .../com/example/recharge/mapper/RateMapper.java | 67 + .../example/recharge/mapper/RechargeMapper.java | 49 + .../recharge/service/ActivityServiceImpl.java | 68 + .../example/recharge/service/AuditServiceImpl.java | 35 + .../example/recharge/service/RateServiceImpl.java | 55 + .../recharge/service/RechargeServiceImpl.java | 46 + .../recharge/src/main/resources/application.yml | 15 + .../example/recharge/RechargeApplicationTests.java | 13 + gold-system/demo/refund/.gitignore | 33 + gold-system/demo/refund/pom.xml | 73 + .../java/org/example/refund/RefundApplication.java | 13 + .../refund/controller/RefundController.java | 68 + .../org/example/refund/mapper/RefundMapper.java | 54 + .../example/refund/service/RefundServiceImpl.java | 76 + .../demo/refund/src/main/resources/application.yml | 15 + .../refund/src/main/resources/static/index.html | 6 + .../org/example/refund/RefundApplicationTests.java | 13 + gold-system/demo/user/.gitattributes | 2 + gold-system/demo/user/.gitignore | 33 + .../user/.mvn/wrapper/maven-wrapper.properties | 19 + gold-system/demo/user/mvnw | 259 +++ gold-system/demo/user/mvnw.cmd | 149 ++ gold-system/demo/user/pom.xml | 73 + .../java/com/example/user/UserApplication.java | 13 + .../example/user/controller/UserController.java | 21 + .../java/com/example/user/mapper/UserMapper.java | 16 + .../com/example/user/service/UserServiceImpl.java | 33 + .../demo/user/src/main/resources/application.yml | 14 + .../com/example/user/UserApplicationTests.java | 13 + gold-system/vue/gold-system/.gitignore | 24 + .../vue/gold-system/.vscode/extensions.json | 3 + gold-system/vue/gold-system/README.md | 5 + gold-system/vue/gold-system/index.html | 13 + gold-system/vue/gold-system/package-lock.json | 1658 ++++++++++++++++++++ gold-system/vue/gold-system/package.json | 24 + gold-system/vue/gold-system/public/vite.svg | 1 + gold-system/vue/gold-system/src/App.vue | 9 + gold-system/vue/gold-system/src/assets/vue.svg | 1 + .../src/assets/金币管理系统logo.png | Bin 0 -> 2026 bytes gold-system/vue/gold-system/src/main.ts | 14 + gold-system/vue/gold-system/src/router/index.js | 42 + gold-system/vue/gold-system/src/style.css | 79 + .../gold-system/src/views/audit/rechargeAudit.vue | 13 + .../gold-system/src/views/audit/refundAudit.vue | 13 + .../gold-system/src/views/consume/addConsume.vue | 13 + .../gold-system/src/views/consume/allConsume.vue | 13 + gold-system/vue/gold-system/src/views/index.vue | 110 ++ .../src/views/managerecharge/activity.vue | 13 + .../gold-system/src/views/managerecharge/rate.vue | 22 + .../gold-system/src/views/recharge/addRecharge.vue | 13 + .../src/views/recharge/adminRecharge.vue | 13 + .../gold-system/src/views/recharge/allRecharge.vue | 13 + .../vue/gold-system/src/views/refund/addRefund.vue | 13 + .../vue/gold-system/src/views/refund/allRefund.vue | 13 + .../vue/gold-system/src/views/usergold/index.vue | 13 + .../vue/gold-system/src/views/workspace/index.vue | 13 + gold-system/vue/gold-system/src/vite-env.d.ts | 1 + gold-system/vue/gold-system/tsconfig.app.json | 26 + gold-system/vue/gold-system/tsconfig.json | 7 + gold-system/vue/gold-system/tsconfig.node.json | 24 + gold-system/vue/gold-system/vite.config.ts | 7 + 113 files changed, 6225 insertions(+) create mode 100644 gold-system/.idea/.gitignore create mode 100644 gold-system/.idea/compiler.xml create mode 100644 gold-system/.idea/encodings.xml create mode 100644 gold-system/.idea/gold-system.iml create mode 100644 gold-system/.idea/jarRepositories.xml create mode 100644 gold-system/.idea/misc.xml create mode 100644 gold-system/.idea/modules.xml create mode 100644 gold-system/.idea/uiDesigner.xml create mode 100644 gold-system/.idea/vcs.xml create mode 100644 gold-system/demo/.gitattributes create mode 100644 gold-system/demo/.gitignore create mode 100644 gold-system/demo/.mvn/wrapper/maven-wrapper.properties create mode 100644 gold-system/demo/commons/.gitattributes create mode 100644 gold-system/demo/commons/.gitignore create mode 100644 gold-system/demo/commons/.mvn/wrapper/maven-wrapper.properties create mode 100644 gold-system/demo/commons/mvnw create mode 100644 gold-system/demo/commons/mvnw.cmd create mode 100644 gold-system/demo/commons/pom.xml create mode 100644 gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Activity.java create mode 100644 gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Admin.java create mode 100644 gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Audit.java create mode 100644 gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Detail.java create mode 100644 gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Page.java create mode 100644 gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Rate.java create mode 100644 gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/RateSearchRequest.java create mode 100644 gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Recharge.java create mode 100644 gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/User.java create mode 100644 gold-system/demo/commons/src/main/java/com/example/commons/domain/vo/RechargeVo.java create mode 100644 gold-system/demo/commons/src/main/java/com/example/commons/domain/vo/Result.java create mode 100644 gold-system/demo/commons/src/main/java/com/example/commons/sevice/ActivityService.java create mode 100644 gold-system/demo/commons/src/main/java/com/example/commons/sevice/AuditService.java create mode 100644 gold-system/demo/commons/src/main/java/com/example/commons/sevice/RateService.java create mode 100644 gold-system/demo/commons/src/main/java/com/example/commons/sevice/RechargeService.java create mode 100644 gold-system/demo/commons/src/main/java/com/example/commons/sevice/RefundService.java create mode 100644 gold-system/demo/commons/src/main/java/com/example/commons/sevice/UserSevice.java create mode 100644 gold-system/demo/commons/src/test/java/com/example/commons/CommonsApplicationTests.java create mode 100644 gold-system/demo/mvnw create mode 100644 gold-system/demo/mvnw.cmd create mode 100644 gold-system/demo/pom.xml create mode 100644 gold-system/demo/recharge/.gitattributes create mode 100644 gold-system/demo/recharge/.gitignore create mode 100644 gold-system/demo/recharge/.mvn/wrapper/maven-wrapper.properties create mode 100644 gold-system/demo/recharge/mvnw create mode 100644 gold-system/demo/recharge/mvnw.cmd create mode 100644 gold-system/demo/recharge/pom.xml create mode 100644 gold-system/demo/recharge/src/main/java/com/example/recharge/RechargeApplication.java create mode 100644 gold-system/demo/recharge/src/main/java/com/example/recharge/controller/ActivityController.java create mode 100644 gold-system/demo/recharge/src/main/java/com/example/recharge/controller/AuditController.java create mode 100644 gold-system/demo/recharge/src/main/java/com/example/recharge/controller/RateController.java create mode 100644 gold-system/demo/recharge/src/main/java/com/example/recharge/controller/RechargeController.java create mode 100644 gold-system/demo/recharge/src/main/java/com/example/recharge/mapper/ActivityMapper.java create mode 100644 gold-system/demo/recharge/src/main/java/com/example/recharge/mapper/AuditMapper.java create mode 100644 gold-system/demo/recharge/src/main/java/com/example/recharge/mapper/RateMapper.java create mode 100644 gold-system/demo/recharge/src/main/java/com/example/recharge/mapper/RechargeMapper.java create mode 100644 gold-system/demo/recharge/src/main/java/com/example/recharge/service/ActivityServiceImpl.java create mode 100644 gold-system/demo/recharge/src/main/java/com/example/recharge/service/AuditServiceImpl.java create mode 100644 gold-system/demo/recharge/src/main/java/com/example/recharge/service/RateServiceImpl.java create mode 100644 gold-system/demo/recharge/src/main/java/com/example/recharge/service/RechargeServiceImpl.java create mode 100644 gold-system/demo/recharge/src/main/resources/application.yml create mode 100644 gold-system/demo/recharge/src/test/java/com/example/recharge/RechargeApplicationTests.java create mode 100644 gold-system/demo/refund/.gitignore create mode 100644 gold-system/demo/refund/pom.xml create mode 100644 gold-system/demo/refund/src/main/java/org/example/refund/RefundApplication.java create mode 100644 gold-system/demo/refund/src/main/java/org/example/refund/controller/RefundController.java create mode 100644 gold-system/demo/refund/src/main/java/org/example/refund/mapper/RefundMapper.java create mode 100644 gold-system/demo/refund/src/main/java/org/example/refund/service/RefundServiceImpl.java create mode 100644 gold-system/demo/refund/src/main/resources/application.yml create mode 100644 gold-system/demo/refund/src/main/resources/static/index.html create mode 100644 gold-system/demo/refund/src/test/java/org/example/refund/RefundApplicationTests.java create mode 100644 gold-system/demo/user/.gitattributes create mode 100644 gold-system/demo/user/.gitignore create mode 100644 gold-system/demo/user/.mvn/wrapper/maven-wrapper.properties create mode 100644 gold-system/demo/user/mvnw create mode 100644 gold-system/demo/user/mvnw.cmd create mode 100644 gold-system/demo/user/pom.xml create mode 100644 gold-system/demo/user/src/main/java/com/example/user/UserApplication.java create mode 100644 gold-system/demo/user/src/main/java/com/example/user/controller/UserController.java create mode 100644 gold-system/demo/user/src/main/java/com/example/user/mapper/UserMapper.java create mode 100644 gold-system/demo/user/src/main/java/com/example/user/service/UserServiceImpl.java create mode 100644 gold-system/demo/user/src/main/resources/application.yml create mode 100644 gold-system/demo/user/src/test/java/com/example/user/UserApplicationTests.java create mode 100644 gold-system/vue/gold-system/.gitignore create mode 100644 gold-system/vue/gold-system/.vscode/extensions.json create mode 100644 gold-system/vue/gold-system/README.md create mode 100644 gold-system/vue/gold-system/index.html create mode 100644 gold-system/vue/gold-system/package-lock.json create mode 100644 gold-system/vue/gold-system/package.json create mode 100644 gold-system/vue/gold-system/public/vite.svg create mode 100644 gold-system/vue/gold-system/src/App.vue create mode 100644 gold-system/vue/gold-system/src/assets/vue.svg create mode 100644 gold-system/vue/gold-system/src/assets/金币管理系统logo.png create mode 100644 gold-system/vue/gold-system/src/main.ts create mode 100644 gold-system/vue/gold-system/src/router/index.js create mode 100644 gold-system/vue/gold-system/src/style.css create mode 100644 gold-system/vue/gold-system/src/views/audit/rechargeAudit.vue create mode 100644 gold-system/vue/gold-system/src/views/audit/refundAudit.vue create mode 100644 gold-system/vue/gold-system/src/views/consume/addConsume.vue create mode 100644 gold-system/vue/gold-system/src/views/consume/allConsume.vue create mode 100644 gold-system/vue/gold-system/src/views/index.vue create mode 100644 gold-system/vue/gold-system/src/views/managerecharge/activity.vue create mode 100644 gold-system/vue/gold-system/src/views/managerecharge/rate.vue create mode 100644 gold-system/vue/gold-system/src/views/recharge/addRecharge.vue create mode 100644 gold-system/vue/gold-system/src/views/recharge/adminRecharge.vue create mode 100644 gold-system/vue/gold-system/src/views/recharge/allRecharge.vue create mode 100644 gold-system/vue/gold-system/src/views/refund/addRefund.vue create mode 100644 gold-system/vue/gold-system/src/views/refund/allRefund.vue create mode 100644 gold-system/vue/gold-system/src/views/usergold/index.vue create mode 100644 gold-system/vue/gold-system/src/views/workspace/index.vue create mode 100644 gold-system/vue/gold-system/src/vite-env.d.ts create mode 100644 gold-system/vue/gold-system/tsconfig.app.json create mode 100644 gold-system/vue/gold-system/tsconfig.json create mode 100644 gold-system/vue/gold-system/tsconfig.node.json create mode 100644 gold-system/vue/gold-system/vite.config.ts diff --git a/gold-system/.idea/.gitignore b/gold-system/.idea/.gitignore new file mode 100644 index 0000000..35410ca --- /dev/null +++ b/gold-system/.idea/.gitignore @@ -0,0 +1,8 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/gold-system/.idea/compiler.xml b/gold-system/.idea/compiler.xml new file mode 100644 index 0000000..976e089 --- /dev/null +++ b/gold-system/.idea/compiler.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/gold-system/.idea/encodings.xml b/gold-system/.idea/encodings.xml new file mode 100644 index 0000000..03d81b4 --- /dev/null +++ b/gold-system/.idea/encodings.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/gold-system/.idea/gold-system.iml b/gold-system/.idea/gold-system.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/gold-system/.idea/gold-system.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/gold-system/.idea/jarRepositories.xml b/gold-system/.idea/jarRepositories.xml new file mode 100644 index 0000000..5a2f139 --- /dev/null +++ b/gold-system/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/gold-system/.idea/misc.xml b/gold-system/.idea/misc.xml new file mode 100644 index 0000000..4fb081c --- /dev/null +++ b/gold-system/.idea/misc.xml @@ -0,0 +1,15 @@ + + + + + + + + + + \ No newline at end of file diff --git a/gold-system/.idea/modules.xml b/gold-system/.idea/modules.xml new file mode 100644 index 0000000..7db70f7 --- /dev/null +++ b/gold-system/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/gold-system/.idea/uiDesigner.xml b/gold-system/.idea/uiDesigner.xml new file mode 100644 index 0000000..2b63946 --- /dev/null +++ b/gold-system/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/gold-system/.idea/vcs.xml b/gold-system/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/gold-system/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/gold-system/demo/.gitattributes b/gold-system/demo/.gitattributes new file mode 100644 index 0000000..3b41682 --- /dev/null +++ b/gold-system/demo/.gitattributes @@ -0,0 +1,2 @@ +/mvnw text eol=lf +*.cmd text eol=crlf diff --git a/gold-system/demo/.gitignore b/gold-system/demo/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/gold-system/demo/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/gold-system/demo/.mvn/wrapper/maven-wrapper.properties b/gold-system/demo/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..d58dfb7 --- /dev/null +++ b/gold-system/demo/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,19 @@ +# 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. +wrapperVersion=3.3.2 +distributionType=only-script +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip diff --git a/gold-system/demo/commons/.gitattributes b/gold-system/demo/commons/.gitattributes new file mode 100644 index 0000000..3b41682 --- /dev/null +++ b/gold-system/demo/commons/.gitattributes @@ -0,0 +1,2 @@ +/mvnw text eol=lf +*.cmd text eol=crlf diff --git a/gold-system/demo/commons/.gitignore b/gold-system/demo/commons/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/gold-system/demo/commons/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/gold-system/demo/commons/.mvn/wrapper/maven-wrapper.properties b/gold-system/demo/commons/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..d58dfb7 --- /dev/null +++ b/gold-system/demo/commons/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,19 @@ +# 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. +wrapperVersion=3.3.2 +distributionType=only-script +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip diff --git a/gold-system/demo/commons/mvnw b/gold-system/demo/commons/mvnw new file mode 100644 index 0000000..19529dd --- /dev/null +++ b/gold-system/demo/commons/mvnw @@ -0,0 +1,259 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# 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. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Apache Maven Wrapper startup batch script, version 3.3.2 +# +# Optional ENV vars +# ----------------- +# JAVA_HOME - location of a JDK home dir, required when download maven via java source +# MVNW_REPOURL - repo url base for downloading maven distribution +# MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +# MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output +# ---------------------------------------------------------------------------- + +set -euf +[ "${MVNW_VERBOSE-}" != debug ] || set -x + +# OS specific support. +native_path() { printf %s\\n "$1"; } +case "$(uname)" in +CYGWIN* | MINGW*) + [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")" + native_path() { cygpath --path --windows "$1"; } + ;; +esac + +# set JAVACMD and JAVACCMD +set_java_home() { + # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched + if [ -n "${JAVA_HOME-}" ]; then + if [ -x "$JAVA_HOME/jre/sh/java" ]; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACCMD="$JAVA_HOME/jre/sh/javac" + else + JAVACMD="$JAVA_HOME/bin/java" + JAVACCMD="$JAVA_HOME/bin/javac" + + if [ ! -x "$JAVACMD" ] || [ ! -x "$JAVACCMD" ]; then + echo "The JAVA_HOME environment variable is not defined correctly, so mvnw cannot run." >&2 + echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2 + return 1 + fi + fi + else + JAVACMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v java + )" || : + JAVACCMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v javac + )" || : + + if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then + echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2 + return 1 + fi + fi +} + +# hash string like Java String::hashCode +hash_string() { + str="${1:-}" h=0 + while [ -n "$str" ]; do + char="${str%"${str#?}"}" + h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296)) + str="${str#?}" + done + printf %x\\n $h +} + +verbose() { :; } +[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; } + +die() { + printf %s\\n "$1" >&2 + exit 1 +} + +trim() { + # MWRAPPER-139: + # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds. + # Needed for removing poorly interpreted newline sequences when running in more + # exotic environments such as mingw bash on Windows. + printf "%s" "${1}" | tr -d '[:space:]' +} + +# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties +while IFS="=" read -r key value; do + case "${key-}" in + distributionUrl) distributionUrl=$(trim "${value-}") ;; + distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;; + esac +done <"${0%/*}/.mvn/wrapper/maven-wrapper.properties" +[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in ${0%/*}/.mvn/wrapper/maven-wrapper.properties" + +case "${distributionUrl##*/}" in +maven-mvnd-*bin.*) + MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ + case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in + *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;; + :Darwin*x86_64) distributionPlatform=darwin-amd64 ;; + :Darwin*arm64) distributionPlatform=darwin-aarch64 ;; + :Linux*x86_64*) distributionPlatform=linux-amd64 ;; + *) + echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2 + distributionPlatform=linux-amd64 + ;; + esac + distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip" + ;; +maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;; +*) MVN_CMD="mvn${0##*/mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; +esac + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}" +distributionUrlName="${distributionUrl##*/}" +distributionUrlNameMain="${distributionUrlName%.*}" +distributionUrlNameMain="${distributionUrlNameMain%-bin}" +MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}" +MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")" + +exec_maven() { + unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || : + exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD" +} + +if [ -d "$MAVEN_HOME" ]; then + verbose "found existing MAVEN_HOME at $MAVEN_HOME" + exec_maven "$@" +fi + +case "${distributionUrl-}" in +*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;; +*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;; +esac + +# prepare tmp dir +if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then + clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; } + trap clean HUP INT TERM EXIT +else + die "cannot create temp dir" +fi + +mkdir -p -- "${MAVEN_HOME%/*}" + +# Download and Install Apache Maven +verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +verbose "Downloading from: $distributionUrl" +verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +# select .zip or .tar.gz +if ! command -v unzip >/dev/null; then + distributionUrl="${distributionUrl%.zip}.tar.gz" + distributionUrlName="${distributionUrl##*/}" +fi + +# verbose opt +__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR='' +[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v + +# normalize http auth +case "${MVNW_PASSWORD:+has-password}" in +'') MVNW_USERNAME='' MVNW_PASSWORD='' ;; +has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;; +esac + +if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then + verbose "Found wget ... using wget" + wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl" +elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then + verbose "Found curl ... using curl" + curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl" +elif set_java_home; then + verbose "Falling back to use Java to download" + javaSource="$TMP_DOWNLOAD_DIR/Downloader.java" + targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName" + cat >"$javaSource" <<-END + public class Downloader extends java.net.Authenticator + { + protected java.net.PasswordAuthentication getPasswordAuthentication() + { + return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() ); + } + public static void main( String[] args ) throws Exception + { + setDefault( new Downloader() ); + java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() ); + } + } + END + # For Cygwin/MinGW, switch paths to Windows format before running javac and java + verbose " - Compiling Downloader.java ..." + "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java" + verbose " - Running Downloader.java ..." + "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")" +fi + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +if [ -n "${distributionSha256Sum-}" ]; then + distributionSha256Result=false + if [ "$MVN_CMD" = mvnd.sh ]; then + echo "Checksum validation is not supported for maven-mvnd." >&2 + echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + elif command -v sha256sum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + elif command -v shasum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 + echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + fi + if [ $distributionSha256Result = false ]; then + echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2 + echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2 + exit 1 + fi +fi + +# unzip and move +if command -v unzip >/dev/null; then + unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip" +else + tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar" +fi +printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/mvnw.url" +mv -- "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" + +clean || : +exec_maven "$@" diff --git a/gold-system/demo/commons/mvnw.cmd b/gold-system/demo/commons/mvnw.cmd new file mode 100644 index 0000000..249bdf3 --- /dev/null +++ b/gold-system/demo/commons/mvnw.cmd @@ -0,0 +1,149 @@ +<# : batch portion +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.3.2 +@REM +@REM Optional ENV vars +@REM MVNW_REPOURL - repo url base for downloading maven distribution +@REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +@REM MVNW_VERBOSE - true: enable verbose log; others: silence the output +@REM ---------------------------------------------------------------------------- + +@IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0) +@SET __MVNW_CMD__= +@SET __MVNW_ERROR__= +@SET __MVNW_PSMODULEP_SAVE=%PSModulePath% +@SET PSModulePath= +@FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @( + IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B) +) +@SET PSModulePath=%__MVNW_PSMODULEP_SAVE% +@SET __MVNW_PSMODULEP_SAVE= +@SET __MVNW_ARG0_NAME__= +@SET MVNW_USERNAME= +@SET MVNW_PASSWORD= +@IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*) +@echo Cannot start maven from wrapper >&2 && exit /b 1 +@GOTO :EOF +: end batch / begin powershell #> + +$ErrorActionPreference = "Stop" +if ($env:MVNW_VERBOSE -eq "true") { + $VerbosePreference = "Continue" +} + +# calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties +$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl +if (!$distributionUrl) { + Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" +} + +switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { + "maven-mvnd-*" { + $USE_MVND = $true + $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip" + $MVN_CMD = "mvnd.cmd" + break + } + default { + $USE_MVND = $false + $MVN_CMD = $script -replace '^mvnw','mvn' + break + } +} + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +if ($env:MVNW_REPOURL) { + $MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else { "/maven/mvnd/" } + $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace '^.*'+$MVNW_REPO_PATTERN,'')" +} +$distributionUrlName = $distributionUrl -replace '^.*/','' +$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' +$MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain" +if ($env:MAVEN_USER_HOME) { + $MAVEN_HOME_PARENT = "$env:MAVEN_USER_HOME/wrapper/dists/$distributionUrlNameMain" +} +$MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' +$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" + +if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { + Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME" + Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" + exit $? +} + +if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) { + Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl" +} + +# prepare tmp dir +$TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile +$TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir" +$TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null +trap { + if ($TMP_DOWNLOAD_DIR.Exists) { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } + } +} + +New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null + +# Download and Install Apache Maven +Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +Write-Verbose "Downloading from: $distributionUrl" +Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +$webclient = New-Object System.Net.WebClient +if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) { + $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD) +} +[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 +$webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +$distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum +if ($distributionSha256Sum) { + if ($USE_MVND) { + Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." + } + Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash + if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) { + Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property." + } +} + +# unzip and move +Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null +Rename-Item -Path "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" -NewName $MAVEN_HOME_NAME | Out-Null +try { + Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null +} catch { + if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) { + Write-Error "fail to move MAVEN_HOME" + } +} finally { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } +} + +Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" diff --git a/gold-system/demo/commons/pom.xml b/gold-system/demo/commons/pom.xml new file mode 100644 index 0000000..faa4326 --- /dev/null +++ b/gold-system/demo/commons/pom.xml @@ -0,0 +1,67 @@ + + + 4.0.0 + + com.example + commons + 0.0.1 + commons + commons + + + com.example + demo + 0.0.1 + + + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 3.0.3 + + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + com.mysql + mysql-connector-j + runtime + + + org.springframework.boot + spring-boot-starter-test + test + + + org.mybatis.spring.boot + mybatis-spring-boot-starter-test + 3.0.3 + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Activity.java b/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Activity.java new file mode 100644 index 0000000..7941b6d --- /dev/null +++ b/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Activity.java @@ -0,0 +1,25 @@ +package com.example.commons.domain.entity; + +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; + +@Data + +public class Activity { + private int activityId ; + private int adminId; + private String dept; + private LocalDate startTime; + private LocalDate endTime; + private String activityName; + private BigDecimal rechargeRatio; + private LocalDateTime createTime; + private int activityFlag; + + private String name; + private Integer status; + +} diff --git a/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Admin.java b/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Admin.java new file mode 100644 index 0000000..e3f2546 --- /dev/null +++ b/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Admin.java @@ -0,0 +1,25 @@ +package com.example.commons.domain.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +@NoArgsConstructor +public class Admin { + private Integer adminId; + private String name; + private String username; + private String password; + private String permission; + private String area; + private String adminFlag; + private Integer status; + private String reson; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date createTime; +} diff --git a/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Audit.java b/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Audit.java new file mode 100644 index 0000000..ade5b3f --- /dev/null +++ b/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Audit.java @@ -0,0 +1,25 @@ +package com.example.commons.domain.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +@NoArgsConstructor +public class Audit { + private Integer auditId; + private Integer homilyId; + private Integer rechargeId; + private Integer refundId; + private String name; + private String status; + private Integer AuditFlag; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date createTime; + private Date startDate; + private Date endDate; +} diff --git a/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Detail.java b/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Detail.java new file mode 100644 index 0000000..f249543 --- /dev/null +++ b/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Detail.java @@ -0,0 +1,44 @@ +package com.example.commons.domain.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.apache.catalina.util.StringUtil; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@NoArgsConstructor +public class Detail { + private Integer detailId; + private String name; + private String jwcode; + private String area; + private Integer activityId; + private String rechargeWay; + private String goods; + private String consumePlatform; + private String consumeType; + private String refundType; + private String refundGoods; + private Integer contactId; + private String remark; + private BigDecimal rechargeCoin; + private BigDecimal freeCoin; + private BigDecimal taskCoin; + private Integer adminId; + private String updateType; + private Integer detailFlag; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date createTime; + + private String adminArea; + private String adminName; + private String userName; + private String auditStatus; + private String auditReson; + +} diff --git a/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Page.java b/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Page.java new file mode 100644 index 0000000..e540871 --- /dev/null +++ b/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Page.java @@ -0,0 +1,13 @@ +package com.example.commons.domain.entity; + +import lombok.Data; + +@Data +public class Page { + private Integer pageNum; + private Integer pageSize; + + private Rate rate; + private Detail detail; + private Activity activity; +} diff --git a/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Rate.java b/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Rate.java new file mode 100644 index 0000000..58945dc --- /dev/null +++ b/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Rate.java @@ -0,0 +1,27 @@ +package com.example.commons.domain.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.Date; + +@Data +@NoArgsConstructor +public class Rate { + private Integer rateId; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime startTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime endTime; + private String currency; + private String exchangeRate; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + private Integer adminId; +} diff --git a/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/RateSearchRequest.java b/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/RateSearchRequest.java new file mode 100644 index 0000000..ee7e318 --- /dev/null +++ b/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/RateSearchRequest.java @@ -0,0 +1,10 @@ +package com.example.commons.domain.entity; + +import lombok.Data; + +@Data +public class RateSearchRequest { + private Integer pageNum; + private Integer pageSize; + private Rate rate; +} diff --git a/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Recharge.java b/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Recharge.java new file mode 100644 index 0000000..181a7f0 --- /dev/null +++ b/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/Recharge.java @@ -0,0 +1,34 @@ +package com.example.commons.domain.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +@NoArgsConstructor +public class Recharge { + private Integer rechargeId; + private String homilyId; + private Integer activityId; + private Double paidGold; + private Double freeGold; + private Double rechargeGold; + private String payWay; + private String rechargeWay; + private Date rechargeTime; + private String rechargeVoucher; + private Integer adminId; + private String area; + + private String remark; + private Integer flag; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date createTime; + private Date startDate; + private Date endDate; + +} diff --git a/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/User.java b/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/User.java new file mode 100644 index 0000000..bb79db0 --- /dev/null +++ b/gold-system/demo/commons/src/main/java/com/example/commons/domain/entity/User.java @@ -0,0 +1,27 @@ +package com.example.commons.domain.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +@NoArgsConstructor +public class User { + private Integer userId; + private String name; + private String homilyId; + private String password; + private String phone; + private String email; + private String gender; + private Date birthday; + private String head; + private Integer UserFlag; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date createTime; + private String signature; +} diff --git a/gold-system/demo/commons/src/main/java/com/example/commons/domain/vo/RechargeVo.java b/gold-system/demo/commons/src/main/java/com/example/commons/domain/vo/RechargeVo.java new file mode 100644 index 0000000..f2e6d60 --- /dev/null +++ b/gold-system/demo/commons/src/main/java/com/example/commons/domain/vo/RechargeVo.java @@ -0,0 +1,38 @@ +package com.example.commons.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; +@Data +@NoArgsConstructor +public class RechargeVo { + + private Integer rechargeId; + private String homilyId; + private Integer activityId; + private Double paidGold; + private Double freeGold; + private Double rechargeGold; + private String payWay; + private String rechargeWay; + private Date rechargeTime; + private String rechargeVoucher; + private Integer adminId; + private String area; + + private String remark; + private Integer flag; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date createTime; + private Date startDate; + private Date endDate; + private String username; + private String activityName; + private String name; + private Integer status; + private String reson; +} \ No newline at end of file diff --git a/gold-system/demo/commons/src/main/java/com/example/commons/domain/vo/Result.java b/gold-system/demo/commons/src/main/java/com/example/commons/domain/vo/Result.java new file mode 100644 index 0000000..dda1825 --- /dev/null +++ b/gold-system/demo/commons/src/main/java/com/example/commons/domain/vo/Result.java @@ -0,0 +1,44 @@ +package com.example.commons.domain.vo; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class Result { + private Integer code; + private String msg; + private Object data; + + public static Result success(Integer code, String msg, Object data) { + return new Result(code, msg, data); + } + public static Result success(Integer code, Object data) { + return success(code, "操作成功", data); + } + public static Result success(Object data){ + return success(200, data); + } + public static Result success(){ + return success(null); + } + + public static Result error(Integer code, String msg, Object data){ + return new Result(code, msg, data); + } + public static Result error(Integer code, String msg){ + return error(code, msg, null); + } + public static Result error(String msg){ + return error(0, msg); + } + + public String toJson() throws JsonProcessingException { + ObjectMapper mapper = new ObjectMapper(); + return mapper.writeValueAsString(this); + } +} diff --git a/gold-system/demo/commons/src/main/java/com/example/commons/sevice/ActivityService.java b/gold-system/demo/commons/src/main/java/com/example/commons/sevice/ActivityService.java new file mode 100644 index 0000000..a280b6e --- /dev/null +++ b/gold-system/demo/commons/src/main/java/com/example/commons/sevice/ActivityService.java @@ -0,0 +1,17 @@ +package com.example.commons.sevice; + + + +import com.example.commons.domain.entity.Activity; + +import java.util.List; + +public interface ActivityService { + + int add(Activity activity); + + int edit(Activity activity); + + List search(Activity activity); + +} diff --git a/gold-system/demo/commons/src/main/java/com/example/commons/sevice/AuditService.java b/gold-system/demo/commons/src/main/java/com/example/commons/sevice/AuditService.java new file mode 100644 index 0000000..1a544f6 --- /dev/null +++ b/gold-system/demo/commons/src/main/java/com/example/commons/sevice/AuditService.java @@ -0,0 +1,14 @@ +package com.example.commons.sevice; + +import com.example.commons.domain.entity.Audit; +import com.example.commons.domain.entity.Recharge; +import com.github.pagehelper.PageInfo; + +import java.util.List; + +public interface AuditService { + int add (Audit audit); + List search(Audit audit) ; + PageInfo searchForPage(Integer pageNum, Integer pageSize, Audit audit); +} + diff --git a/gold-system/demo/commons/src/main/java/com/example/commons/sevice/RateService.java b/gold-system/demo/commons/src/main/java/com/example/commons/sevice/RateService.java new file mode 100644 index 0000000..2892ae5 --- /dev/null +++ b/gold-system/demo/commons/src/main/java/com/example/commons/sevice/RateService.java @@ -0,0 +1,16 @@ +package com.example.commons.sevice; + +import com.example.commons.domain.entity.Rate; +import com.github.pagehelper.PageInfo; + + +import java.util.List; + +public interface RateService { + int add(Rate rate) throws Exception; + int edit(Rate rate) ; + void delete(Integer rateId) throws Exception; + Rate getById(Integer rateId); + List search(Rate rate); + PageInfo searchForPage(Integer pageNum, Integer pageSize,Rate rate); +} diff --git a/gold-system/demo/commons/src/main/java/com/example/commons/sevice/RechargeService.java b/gold-system/demo/commons/src/main/java/com/example/commons/sevice/RechargeService.java new file mode 100644 index 0000000..3aab55a --- /dev/null +++ b/gold-system/demo/commons/src/main/java/com/example/commons/sevice/RechargeService.java @@ -0,0 +1,16 @@ +package com.example.commons.sevice; + +import com.example.commons.domain.entity.Recharge; +import com.example.commons.domain.vo.RechargeVo; +import com.github.pagehelper.PageInfo; + +import java.util.List; + +public interface RechargeService { + int add(Recharge recharge) throws Exception; + int edit(Recharge recharge) throws Exception; + + Recharge findById(int id) throws Exception; + List search(RechargeVo rechargeVo) ; + PageInfo searchForPage(Integer pageNum, Integer pageSize, RechargeVo rechargeVo); +} diff --git a/gold-system/demo/commons/src/main/java/com/example/commons/sevice/RefundService.java b/gold-system/demo/commons/src/main/java/com/example/commons/sevice/RefundService.java new file mode 100644 index 0000000..2e19829 --- /dev/null +++ b/gold-system/demo/commons/src/main/java/com/example/commons/sevice/RefundService.java @@ -0,0 +1,19 @@ +package com.example.commons.sevice; + +import com.example.commons.domain.entity.Detail; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public interface RefundService { + int add(Detail detail) ; + void edit(Detail newDetail) ; + int softDelete(Integer detailId) ; + Detail selectByDetailId(Integer detailId); + List search(Detail detail); + PageInfo searchForPage(Integer pageNum, Integer pageSize, Detail detail); + +} diff --git a/gold-system/demo/commons/src/main/java/com/example/commons/sevice/UserSevice.java b/gold-system/demo/commons/src/main/java/com/example/commons/sevice/UserSevice.java new file mode 100644 index 0000000..c0a7999 --- /dev/null +++ b/gold-system/demo/commons/src/main/java/com/example/commons/sevice/UserSevice.java @@ -0,0 +1,13 @@ +package com.example.commons.sevice; + +import com.example.commons.domain.entity.Recharge; +import com.example.commons.domain.entity.User; +import com.github.pagehelper.PageInfo; + +import java.util.List; + +public interface UserSevice { + List search(User user) ; + PageInfo searchForPage(Integer pageNum, Integer pageSize, User User); + +} diff --git a/gold-system/demo/commons/src/test/java/com/example/commons/CommonsApplicationTests.java b/gold-system/demo/commons/src/test/java/com/example/commons/CommonsApplicationTests.java new file mode 100644 index 0000000..05fa8b4 --- /dev/null +++ b/gold-system/demo/commons/src/test/java/com/example/commons/CommonsApplicationTests.java @@ -0,0 +1,13 @@ +package com.example.commons; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class CommonsApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/gold-system/demo/mvnw b/gold-system/demo/mvnw new file mode 100644 index 0000000..19529dd --- /dev/null +++ b/gold-system/demo/mvnw @@ -0,0 +1,259 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# 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. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Apache Maven Wrapper startup batch script, version 3.3.2 +# +# Optional ENV vars +# ----------------- +# JAVA_HOME - location of a JDK home dir, required when download maven via java source +# MVNW_REPOURL - repo url base for downloading maven distribution +# MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +# MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output +# ---------------------------------------------------------------------------- + +set -euf +[ "${MVNW_VERBOSE-}" != debug ] || set -x + +# OS specific support. +native_path() { printf %s\\n "$1"; } +case "$(uname)" in +CYGWIN* | MINGW*) + [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")" + native_path() { cygpath --path --windows "$1"; } + ;; +esac + +# set JAVACMD and JAVACCMD +set_java_home() { + # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched + if [ -n "${JAVA_HOME-}" ]; then + if [ -x "$JAVA_HOME/jre/sh/java" ]; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACCMD="$JAVA_HOME/jre/sh/javac" + else + JAVACMD="$JAVA_HOME/bin/java" + JAVACCMD="$JAVA_HOME/bin/javac" + + if [ ! -x "$JAVACMD" ] || [ ! -x "$JAVACCMD" ]; then + echo "The JAVA_HOME environment variable is not defined correctly, so mvnw cannot run." >&2 + echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2 + return 1 + fi + fi + else + JAVACMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v java + )" || : + JAVACCMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v javac + )" || : + + if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then + echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2 + return 1 + fi + fi +} + +# hash string like Java String::hashCode +hash_string() { + str="${1:-}" h=0 + while [ -n "$str" ]; do + char="${str%"${str#?}"}" + h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296)) + str="${str#?}" + done + printf %x\\n $h +} + +verbose() { :; } +[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; } + +die() { + printf %s\\n "$1" >&2 + exit 1 +} + +trim() { + # MWRAPPER-139: + # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds. + # Needed for removing poorly interpreted newline sequences when running in more + # exotic environments such as mingw bash on Windows. + printf "%s" "${1}" | tr -d '[:space:]' +} + +# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties +while IFS="=" read -r key value; do + case "${key-}" in + distributionUrl) distributionUrl=$(trim "${value-}") ;; + distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;; + esac +done <"${0%/*}/.mvn/wrapper/maven-wrapper.properties" +[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in ${0%/*}/.mvn/wrapper/maven-wrapper.properties" + +case "${distributionUrl##*/}" in +maven-mvnd-*bin.*) + MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ + case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in + *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;; + :Darwin*x86_64) distributionPlatform=darwin-amd64 ;; + :Darwin*arm64) distributionPlatform=darwin-aarch64 ;; + :Linux*x86_64*) distributionPlatform=linux-amd64 ;; + *) + echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2 + distributionPlatform=linux-amd64 + ;; + esac + distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip" + ;; +maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;; +*) MVN_CMD="mvn${0##*/mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; +esac + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}" +distributionUrlName="${distributionUrl##*/}" +distributionUrlNameMain="${distributionUrlName%.*}" +distributionUrlNameMain="${distributionUrlNameMain%-bin}" +MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}" +MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")" + +exec_maven() { + unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || : + exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD" +} + +if [ -d "$MAVEN_HOME" ]; then + verbose "found existing MAVEN_HOME at $MAVEN_HOME" + exec_maven "$@" +fi + +case "${distributionUrl-}" in +*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;; +*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;; +esac + +# prepare tmp dir +if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then + clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; } + trap clean HUP INT TERM EXIT +else + die "cannot create temp dir" +fi + +mkdir -p -- "${MAVEN_HOME%/*}" + +# Download and Install Apache Maven +verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +verbose "Downloading from: $distributionUrl" +verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +# select .zip or .tar.gz +if ! command -v unzip >/dev/null; then + distributionUrl="${distributionUrl%.zip}.tar.gz" + distributionUrlName="${distributionUrl##*/}" +fi + +# verbose opt +__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR='' +[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v + +# normalize http auth +case "${MVNW_PASSWORD:+has-password}" in +'') MVNW_USERNAME='' MVNW_PASSWORD='' ;; +has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;; +esac + +if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then + verbose "Found wget ... using wget" + wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl" +elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then + verbose "Found curl ... using curl" + curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl" +elif set_java_home; then + verbose "Falling back to use Java to download" + javaSource="$TMP_DOWNLOAD_DIR/Downloader.java" + targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName" + cat >"$javaSource" <<-END + public class Downloader extends java.net.Authenticator + { + protected java.net.PasswordAuthentication getPasswordAuthentication() + { + return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() ); + } + public static void main( String[] args ) throws Exception + { + setDefault( new Downloader() ); + java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() ); + } + } + END + # For Cygwin/MinGW, switch paths to Windows format before running javac and java + verbose " - Compiling Downloader.java ..." + "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java" + verbose " - Running Downloader.java ..." + "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")" +fi + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +if [ -n "${distributionSha256Sum-}" ]; then + distributionSha256Result=false + if [ "$MVN_CMD" = mvnd.sh ]; then + echo "Checksum validation is not supported for maven-mvnd." >&2 + echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + elif command -v sha256sum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + elif command -v shasum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 + echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + fi + if [ $distributionSha256Result = false ]; then + echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2 + echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2 + exit 1 + fi +fi + +# unzip and move +if command -v unzip >/dev/null; then + unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip" +else + tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar" +fi +printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/mvnw.url" +mv -- "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" + +clean || : +exec_maven "$@" diff --git a/gold-system/demo/mvnw.cmd b/gold-system/demo/mvnw.cmd new file mode 100644 index 0000000..249bdf3 --- /dev/null +++ b/gold-system/demo/mvnw.cmd @@ -0,0 +1,149 @@ +<# : batch portion +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.3.2 +@REM +@REM Optional ENV vars +@REM MVNW_REPOURL - repo url base for downloading maven distribution +@REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +@REM MVNW_VERBOSE - true: enable verbose log; others: silence the output +@REM ---------------------------------------------------------------------------- + +@IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0) +@SET __MVNW_CMD__= +@SET __MVNW_ERROR__= +@SET __MVNW_PSMODULEP_SAVE=%PSModulePath% +@SET PSModulePath= +@FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @( + IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B) +) +@SET PSModulePath=%__MVNW_PSMODULEP_SAVE% +@SET __MVNW_PSMODULEP_SAVE= +@SET __MVNW_ARG0_NAME__= +@SET MVNW_USERNAME= +@SET MVNW_PASSWORD= +@IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*) +@echo Cannot start maven from wrapper >&2 && exit /b 1 +@GOTO :EOF +: end batch / begin powershell #> + +$ErrorActionPreference = "Stop" +if ($env:MVNW_VERBOSE -eq "true") { + $VerbosePreference = "Continue" +} + +# calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties +$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl +if (!$distributionUrl) { + Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" +} + +switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { + "maven-mvnd-*" { + $USE_MVND = $true + $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip" + $MVN_CMD = "mvnd.cmd" + break + } + default { + $USE_MVND = $false + $MVN_CMD = $script -replace '^mvnw','mvn' + break + } +} + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +if ($env:MVNW_REPOURL) { + $MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else { "/maven/mvnd/" } + $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace '^.*'+$MVNW_REPO_PATTERN,'')" +} +$distributionUrlName = $distributionUrl -replace '^.*/','' +$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' +$MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain" +if ($env:MAVEN_USER_HOME) { + $MAVEN_HOME_PARENT = "$env:MAVEN_USER_HOME/wrapper/dists/$distributionUrlNameMain" +} +$MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' +$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" + +if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { + Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME" + Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" + exit $? +} + +if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) { + Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl" +} + +# prepare tmp dir +$TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile +$TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir" +$TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null +trap { + if ($TMP_DOWNLOAD_DIR.Exists) { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } + } +} + +New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null + +# Download and Install Apache Maven +Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +Write-Verbose "Downloading from: $distributionUrl" +Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +$webclient = New-Object System.Net.WebClient +if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) { + $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD) +} +[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 +$webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +$distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum +if ($distributionSha256Sum) { + if ($USE_MVND) { + Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." + } + Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash + if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) { + Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property." + } +} + +# unzip and move +Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null +Rename-Item -Path "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" -NewName $MAVEN_HOME_NAME | Out-Null +try { + Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null +} catch { + if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) { + Write-Error "fail to move MAVEN_HOME" + } +} finally { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } +} + +Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" diff --git a/gold-system/demo/pom.xml b/gold-system/demo/pom.xml new file mode 100644 index 0000000..699c8cb --- /dev/null +++ b/gold-system/demo/pom.xml @@ -0,0 +1,104 @@ + + + 4.0.0 + + com.example + demo + 0.0.1 + demo + demo + + + org.springframework.boot + spring-boot-starter-parent + 3.3.6 + + + pom + + + recharge + commons + user + + + + + 21 + + 3.3.6 + + 3.3.0-beta.2 + 2.0.0 + + + + + com.github.pagehelper + pagehelper-spring-boot-starter + 1.4.6 + + + org.slf4j + slf4j-simple + 2.0.0 + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-web + + + + + + + org.springframework.boot + spring-boot-dependencies + ${spring-boot.version} + pom + import + + + org.springframework.boot + spring-boot-starter + ${spring-boot.version} + + + spring-boot-starter-logging + org.springframework.boot + + + + + org.apache.dubbo + dubbo-bom + ${dubbo.version} + pom + import + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/gold-system/demo/recharge/.gitattributes b/gold-system/demo/recharge/.gitattributes new file mode 100644 index 0000000..3b41682 --- /dev/null +++ b/gold-system/demo/recharge/.gitattributes @@ -0,0 +1,2 @@ +/mvnw text eol=lf +*.cmd text eol=crlf diff --git a/gold-system/demo/recharge/.gitignore b/gold-system/demo/recharge/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/gold-system/demo/recharge/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/gold-system/demo/recharge/.mvn/wrapper/maven-wrapper.properties b/gold-system/demo/recharge/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..d58dfb7 --- /dev/null +++ b/gold-system/demo/recharge/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,19 @@ +# 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. +wrapperVersion=3.3.2 +distributionType=only-script +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip diff --git a/gold-system/demo/recharge/mvnw b/gold-system/demo/recharge/mvnw new file mode 100644 index 0000000..19529dd --- /dev/null +++ b/gold-system/demo/recharge/mvnw @@ -0,0 +1,259 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# 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. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Apache Maven Wrapper startup batch script, version 3.3.2 +# +# Optional ENV vars +# ----------------- +# JAVA_HOME - location of a JDK home dir, required when download maven via java source +# MVNW_REPOURL - repo url base for downloading maven distribution +# MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +# MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output +# ---------------------------------------------------------------------------- + +set -euf +[ "${MVNW_VERBOSE-}" != debug ] || set -x + +# OS specific support. +native_path() { printf %s\\n "$1"; } +case "$(uname)" in +CYGWIN* | MINGW*) + [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")" + native_path() { cygpath --path --windows "$1"; } + ;; +esac + +# set JAVACMD and JAVACCMD +set_java_home() { + # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched + if [ -n "${JAVA_HOME-}" ]; then + if [ -x "$JAVA_HOME/jre/sh/java" ]; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACCMD="$JAVA_HOME/jre/sh/javac" + else + JAVACMD="$JAVA_HOME/bin/java" + JAVACCMD="$JAVA_HOME/bin/javac" + + if [ ! -x "$JAVACMD" ] || [ ! -x "$JAVACCMD" ]; then + echo "The JAVA_HOME environment variable is not defined correctly, so mvnw cannot run." >&2 + echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2 + return 1 + fi + fi + else + JAVACMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v java + )" || : + JAVACCMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v javac + )" || : + + if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then + echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2 + return 1 + fi + fi +} + +# hash string like Java String::hashCode +hash_string() { + str="${1:-}" h=0 + while [ -n "$str" ]; do + char="${str%"${str#?}"}" + h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296)) + str="${str#?}" + done + printf %x\\n $h +} + +verbose() { :; } +[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; } + +die() { + printf %s\\n "$1" >&2 + exit 1 +} + +trim() { + # MWRAPPER-139: + # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds. + # Needed for removing poorly interpreted newline sequences when running in more + # exotic environments such as mingw bash on Windows. + printf "%s" "${1}" | tr -d '[:space:]' +} + +# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties +while IFS="=" read -r key value; do + case "${key-}" in + distributionUrl) distributionUrl=$(trim "${value-}") ;; + distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;; + esac +done <"${0%/*}/.mvn/wrapper/maven-wrapper.properties" +[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in ${0%/*}/.mvn/wrapper/maven-wrapper.properties" + +case "${distributionUrl##*/}" in +maven-mvnd-*bin.*) + MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ + case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in + *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;; + :Darwin*x86_64) distributionPlatform=darwin-amd64 ;; + :Darwin*arm64) distributionPlatform=darwin-aarch64 ;; + :Linux*x86_64*) distributionPlatform=linux-amd64 ;; + *) + echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2 + distributionPlatform=linux-amd64 + ;; + esac + distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip" + ;; +maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;; +*) MVN_CMD="mvn${0##*/mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; +esac + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}" +distributionUrlName="${distributionUrl##*/}" +distributionUrlNameMain="${distributionUrlName%.*}" +distributionUrlNameMain="${distributionUrlNameMain%-bin}" +MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}" +MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")" + +exec_maven() { + unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || : + exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD" +} + +if [ -d "$MAVEN_HOME" ]; then + verbose "found existing MAVEN_HOME at $MAVEN_HOME" + exec_maven "$@" +fi + +case "${distributionUrl-}" in +*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;; +*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;; +esac + +# prepare tmp dir +if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then + clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; } + trap clean HUP INT TERM EXIT +else + die "cannot create temp dir" +fi + +mkdir -p -- "${MAVEN_HOME%/*}" + +# Download and Install Apache Maven +verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +verbose "Downloading from: $distributionUrl" +verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +# select .zip or .tar.gz +if ! command -v unzip >/dev/null; then + distributionUrl="${distributionUrl%.zip}.tar.gz" + distributionUrlName="${distributionUrl##*/}" +fi + +# verbose opt +__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR='' +[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v + +# normalize http auth +case "${MVNW_PASSWORD:+has-password}" in +'') MVNW_USERNAME='' MVNW_PASSWORD='' ;; +has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;; +esac + +if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then + verbose "Found wget ... using wget" + wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl" +elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then + verbose "Found curl ... using curl" + curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl" +elif set_java_home; then + verbose "Falling back to use Java to download" + javaSource="$TMP_DOWNLOAD_DIR/Downloader.java" + targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName" + cat >"$javaSource" <<-END + public class Downloader extends java.net.Authenticator + { + protected java.net.PasswordAuthentication getPasswordAuthentication() + { + return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() ); + } + public static void main( String[] args ) throws Exception + { + setDefault( new Downloader() ); + java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() ); + } + } + END + # For Cygwin/MinGW, switch paths to Windows format before running javac and java + verbose " - Compiling Downloader.java ..." + "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java" + verbose " - Running Downloader.java ..." + "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")" +fi + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +if [ -n "${distributionSha256Sum-}" ]; then + distributionSha256Result=false + if [ "$MVN_CMD" = mvnd.sh ]; then + echo "Checksum validation is not supported for maven-mvnd." >&2 + echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + elif command -v sha256sum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + elif command -v shasum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 + echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + fi + if [ $distributionSha256Result = false ]; then + echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2 + echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2 + exit 1 + fi +fi + +# unzip and move +if command -v unzip >/dev/null; then + unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip" +else + tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar" +fi +printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/mvnw.url" +mv -- "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" + +clean || : +exec_maven "$@" diff --git a/gold-system/demo/recharge/mvnw.cmd b/gold-system/demo/recharge/mvnw.cmd new file mode 100644 index 0000000..249bdf3 --- /dev/null +++ b/gold-system/demo/recharge/mvnw.cmd @@ -0,0 +1,149 @@ +<# : batch portion +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.3.2 +@REM +@REM Optional ENV vars +@REM MVNW_REPOURL - repo url base for downloading maven distribution +@REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +@REM MVNW_VERBOSE - true: enable verbose log; others: silence the output +@REM ---------------------------------------------------------------------------- + +@IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0) +@SET __MVNW_CMD__= +@SET __MVNW_ERROR__= +@SET __MVNW_PSMODULEP_SAVE=%PSModulePath% +@SET PSModulePath= +@FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @( + IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B) +) +@SET PSModulePath=%__MVNW_PSMODULEP_SAVE% +@SET __MVNW_PSMODULEP_SAVE= +@SET __MVNW_ARG0_NAME__= +@SET MVNW_USERNAME= +@SET MVNW_PASSWORD= +@IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*) +@echo Cannot start maven from wrapper >&2 && exit /b 1 +@GOTO :EOF +: end batch / begin powershell #> + +$ErrorActionPreference = "Stop" +if ($env:MVNW_VERBOSE -eq "true") { + $VerbosePreference = "Continue" +} + +# calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties +$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl +if (!$distributionUrl) { + Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" +} + +switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { + "maven-mvnd-*" { + $USE_MVND = $true + $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip" + $MVN_CMD = "mvnd.cmd" + break + } + default { + $USE_MVND = $false + $MVN_CMD = $script -replace '^mvnw','mvn' + break + } +} + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +if ($env:MVNW_REPOURL) { + $MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else { "/maven/mvnd/" } + $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace '^.*'+$MVNW_REPO_PATTERN,'')" +} +$distributionUrlName = $distributionUrl -replace '^.*/','' +$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' +$MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain" +if ($env:MAVEN_USER_HOME) { + $MAVEN_HOME_PARENT = "$env:MAVEN_USER_HOME/wrapper/dists/$distributionUrlNameMain" +} +$MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' +$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" + +if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { + Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME" + Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" + exit $? +} + +if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) { + Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl" +} + +# prepare tmp dir +$TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile +$TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir" +$TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null +trap { + if ($TMP_DOWNLOAD_DIR.Exists) { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } + } +} + +New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null + +# Download and Install Apache Maven +Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +Write-Verbose "Downloading from: $distributionUrl" +Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +$webclient = New-Object System.Net.WebClient +if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) { + $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD) +} +[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 +$webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +$distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum +if ($distributionSha256Sum) { + if ($USE_MVND) { + Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." + } + Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash + if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) { + Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property." + } +} + +# unzip and move +Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null +Rename-Item -Path "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" -NewName $MAVEN_HOME_NAME | Out-Null +try { + Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null +} catch { + if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) { + Write-Error "fail to move MAVEN_HOME" + } +} finally { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } +} + +Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" diff --git a/gold-system/demo/recharge/pom.xml b/gold-system/demo/recharge/pom.xml new file mode 100644 index 0000000..4f4b71c --- /dev/null +++ b/gold-system/demo/recharge/pom.xml @@ -0,0 +1,73 @@ + + + 4.0.0 + + com.example + recharge + 0.0.1 + recharge + recharge + + + com.example + demo + 0.0.1 + + + + + com.example + commons + 0.0.1 + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 3.0.3 + + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + com.mysql + mysql-connector-j + runtime + + + + org.springframework.boot + spring-boot-starter-test + test + + + org.mybatis.spring.boot + mybatis-spring-boot-starter-test + 3.0.3 + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/gold-system/demo/recharge/src/main/java/com/example/recharge/RechargeApplication.java b/gold-system/demo/recharge/src/main/java/com/example/recharge/RechargeApplication.java new file mode 100644 index 0000000..939155e --- /dev/null +++ b/gold-system/demo/recharge/src/main/java/com/example/recharge/RechargeApplication.java @@ -0,0 +1,13 @@ +package com.example.recharge; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class RechargeApplication { + + public static void main(String[] args) { + SpringApplication.run(RechargeApplication.class, args); + } + +} diff --git a/gold-system/demo/recharge/src/main/java/com/example/recharge/controller/ActivityController.java b/gold-system/demo/recharge/src/main/java/com/example/recharge/controller/ActivityController.java new file mode 100644 index 0000000..1198c75 --- /dev/null +++ b/gold-system/demo/recharge/src/main/java/com/example/recharge/controller/ActivityController.java @@ -0,0 +1,68 @@ +package com.example.recharge.controller; + + +import com.example.commons.domain.entity.Activity; +import com.example.commons.domain.entity.Page; +import com.example.commons.domain.vo.Result; +import com.example.recharge.service.ActivityServiceImpl; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.util.ObjectUtils; +import java.util.Arrays; + + +@RestController +@RequestMapping("/recharge/activity") +//SpringMVC的,为当前类的所有处理器方法,添加路径映射的前缀 +@RequiredArgsConstructor +// lombok的,添加一个包含所有final属性的构造器 +@Slf4j //lombok的,自动添加log的对象,用于日志打印 +@CrossOrigin +public class ActivityController { + + @Autowired + ActivityServiceImpl activityService; + + //添加活动管理信息 + @PostMapping("/add") + public Result add(@RequestBody Activity activity) { +// try { + System.out.println("------6---"); + int result=activityService.add(activity); + System.out.println(result); + return Result.success(); +// } catch (Exception e) { +// log.warn(Arrays.toString(e.getStackTrace())); +// return Result.error(e.getMessage()); +// } + + } + + //修改活动管理信息 + @PostMapping("/edit") + public Result edit(@RequestBody Activity activity){ + +// try { + Integer num =activityService.edit(activity); + return Result.success(num); +// } catch (Exception e) { +//// log.error(""+e); +//// return Result.error(e.getMessage()); +//// } + } + //查询活动管理信息--模糊+分页查询 + @PostMapping("/select") + public Result search(@RequestBody Page page){ + Integer pageNum = page.getPageNum(); + Integer pageSize=page.getPageSize(); + Activity activity= page.getActivity(); + if (ObjectUtils.isEmpty(pageNum)){ + return Result.success(activityService.search(page.getActivity())); + } + return Result.success(activityService.searchForPage(pageNum,pageSize,activity)); + } + + +} \ No newline at end of file diff --git a/gold-system/demo/recharge/src/main/java/com/example/recharge/controller/AuditController.java b/gold-system/demo/recharge/src/main/java/com/example/recharge/controller/AuditController.java new file mode 100644 index 0000000..eb28e8e --- /dev/null +++ b/gold-system/demo/recharge/src/main/java/com/example/recharge/controller/AuditController.java @@ -0,0 +1,41 @@ +package com.example.recharge.controller; + +import com.example.commons.domain.entity.Audit; +import com.example.commons.domain.vo.Result; +import com.example.commons.sevice.AuditService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.util.ObjectUtils; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; + +@RestController +@RequestMapping("/recharge/audit") +@RequiredArgsConstructor +@Slf4j +@CrossOrigin +public class AuditController { + + private final AuditService auditService; + @PostMapping("/add") + public Result add(@RequestBody Audit audit){ + try { + auditService.add(audit); + return Result.success(); + }catch (Exception e){ + log.warn(Arrays.toString(e.getStackTrace())); + return Result.error(e.getMessage()); + } + } + @PostMapping + public Result search(Integer pageNum,Integer pageSize,@RequestBody Audit audit){ + if(ObjectUtils.isEmpty(pageNum)){ + return Result.success(auditService.search(audit)); + } + else { + return Result.success(auditService.searchForPage(pageNum,pageSize,audit)); + } + } +} + diff --git a/gold-system/demo/recharge/src/main/java/com/example/recharge/controller/RateController.java b/gold-system/demo/recharge/src/main/java/com/example/recharge/controller/RateController.java new file mode 100644 index 0000000..a9d1244 --- /dev/null +++ b/gold-system/demo/recharge/src/main/java/com/example/recharge/controller/RateController.java @@ -0,0 +1,102 @@ +package com.example.recharge.controller; + +import com.example.commons.domain.entity.Page; +import com.example.commons.domain.entity.Rate; +import com.example.commons.domain.entity.RateSearchRequest; +import com.example.commons.domain.vo.Result; +import com.example.commons.sevice.RateService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.ObjectUtils; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; + +@RestController +@RequestMapping("/rates") +@RequiredArgsConstructor +@Slf4j +@CrossOrigin +public class RateController { + private final RateService rateService; + + @PostMapping("/add") + public Result add(@RequestBody Rate rate) { + try { + rateService.add(rate); + return Result.success(); + } catch (Exception e) { + log.warn(Arrays.toString(e.getStackTrace())); + return Result.error(e.getMessage()); + } + } + @PostMapping("/update") // 将 PUT 改为 POST + public Result update(@RequestBody Rate rate) { +// try { + rateService.edit(rate); + return Result.success(); +// } catch (Exception e) { +// log.warn(Arrays.toString(e.getStackTrace())); +// return Result.error(e.getMessage()); +// } + } +// @PutMapping("/update") +// public Result update(@RequestBody Rate rate) { +// try { +// rateService.edit(rate); +// return Result.success(); +// } catch (Exception e) { +// log.warn(Arrays.toString(e.getStackTrace())); +// return Result.error(e.getMessage()); +// } +// } + + @PostMapping("/delete/{rateId}") // 将 DELETE 改为 POST + public Result delete(@PathVariable("rateId") Integer rateId) { + try { + rateService.delete(rateId); + return Result.success(); + } catch (Exception e) { + log.warn(Arrays.toString(e.getStackTrace())); + return Result.error(e.getMessage()); + } + } +// @DeleteMapping("/{rateId}") +// public Result delete(@PathVariable("rateId") Integer rateId) { +// try { +// rateService.delete(rateId); +// return Result.success(); +// } catch (Exception e) { +// log.warn(Arrays.toString(e.getStackTrace())); +// return Result.error(e.getMessage()); +// } +// } + +// @GetMapping("/{rateId}") +// public Result get(@PathVariable Integer rateId) { +// return Result.success(rateService.getById(rateId)); +// } +// +// @GetMapping +// public Result search(Integer pageNum, Integer pageSize,Rate rate) { +// if(ObjectUtils.isEmpty(pageNum)){ +// return Result.success(rateService.search(rate)); +// }else{ +// return Result.success(rateService.searchForPage(pageNum,pageSize,rate)); +// } +// } + @PostMapping("/search") // 改为 POST 请求 + public Result search(@RequestBody Page page) { + Integer pageNum = page.getPageNum(); + Integer pageSize = page.getPageSize(); + Rate rate = page.getRate(); + + if (ObjectUtils.isEmpty(pageNum)) { + return Result.success(rateService.search(rate)); + } else { + return Result.success(rateService.searchForPage(pageNum, pageSize, rate)); + } + } +} diff --git a/gold-system/demo/recharge/src/main/java/com/example/recharge/controller/RechargeController.java b/gold-system/demo/recharge/src/main/java/com/example/recharge/controller/RechargeController.java new file mode 100644 index 0000000..f6e70a5 --- /dev/null +++ b/gold-system/demo/recharge/src/main/java/com/example/recharge/controller/RechargeController.java @@ -0,0 +1,53 @@ +package com.example.recharge.controller; + + +import com.example.commons.domain.entity.Recharge; +import com.example.commons.domain.vo.RechargeVo; +import com.example.commons.domain.vo.Result; +import com.example.commons.sevice.RechargeService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.util.ObjectUtils; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; + +@RestController +@RequestMapping("/recharge/recharge") +@RequiredArgsConstructor +@Slf4j +@CrossOrigin +public class RechargeController { + + private final RechargeService rechargeService; + + @PostMapping("/add") + public Result add(@RequestBody Recharge recharge) { + try { + rechargeService.add(recharge); + return Result.success(); + } catch (Exception e) { + log.warn(Arrays.toString(e.getStackTrace())); + return Result.error(e.getMessage()); + } + } + @PostMapping("/edit") + public Result edit(@RequestBody Recharge recharge) { + try { + rechargeService.edit(recharge); + } catch (Exception e) { + log.warn(Arrays.toString(e.getStackTrace())); + return Result.error(e.getMessage()); + } + return Result.success(); + } + @PostMapping + public Result search(Integer pageNum, Integer pageSize,@RequestBody RechargeVo rechargeVo) { + if(ObjectUtils.isEmpty(pageNum)){ + return Result.success(rechargeService.search(rechargeVo)); + } + else { + return Result.success(rechargeService.searchForPage(pageNum,pageSize,rechargeVo)); + } + } +} diff --git a/gold-system/demo/recharge/src/main/java/com/example/recharge/mapper/ActivityMapper.java b/gold-system/demo/recharge/src/main/java/com/example/recharge/mapper/ActivityMapper.java new file mode 100644 index 0000000..ea40137 --- /dev/null +++ b/gold-system/demo/recharge/src/main/java/com/example/recharge/mapper/ActivityMapper.java @@ -0,0 +1,66 @@ +package com.example.recharge.mapper; + + +import com.example.commons.domain.entity.Activity; +import org.apache.ibatis.annotations.*; + +import java.util.List; + +@Mapper +public interface ActivityMapper { + + //增加活动信息 + @Insert({"insert into activity", + "(admin_id,dept,start_time,end_time,recharge_ratio,activity_name,activity_flag,create_time) " , + "values", + "(#{adminId},#{dept},#{startTime},#{endTime},#{rechargeRatio},#{activityName},1,now())" + }) + @Options(useGeneratedKeys = true,keyColumn = "activity_id",keyProperty = "activityId") + int add(Activity activity); + + +// 修改活动信息 + @Update({ + "" + }) + int edit(Activity activity); + + + //查询--根据活动id查询活动信息 + @Select({ + "select activity_id from activity where activity_id=#{activityId}" + }) + Activity selectById(Integer activityId); + + //模糊查询--根据活动id查询活动信息 + @Select({ + "" + + }) + List select(Activity activity); + // + + +} diff --git a/gold-system/demo/recharge/src/main/java/com/example/recharge/mapper/AuditMapper.java b/gold-system/demo/recharge/src/main/java/com/example/recharge/mapper/AuditMapper.java new file mode 100644 index 0000000..19780e6 --- /dev/null +++ b/gold-system/demo/recharge/src/main/java/com/example/recharge/mapper/AuditMapper.java @@ -0,0 +1,36 @@ +package com.example.recharge.mapper; + +import com.example.commons.domain.entity.Audit; +import com.example.commons.domain.entity.Recharge; +import com.example.commons.sevice.AuditService; +import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +@Mapper +public interface AuditMapper { + + @Insert({ + "INSERT INTO audit", + "(homily_id,recharge_id,refund_id,name,status,auditFlag)", + "values", + "(#{homilyId},#{rechargeId},#{refundId},#{name},#{status},1)" + }) + int insert(Audit audit); + @Select({ + "" + }) + List select(Audit Audit); +} diff --git a/gold-system/demo/recharge/src/main/java/com/example/recharge/mapper/RateMapper.java b/gold-system/demo/recharge/src/main/java/com/example/recharge/mapper/RateMapper.java new file mode 100644 index 0000000..52da375 --- /dev/null +++ b/gold-system/demo/recharge/src/main/java/com/example/recharge/mapper/RateMapper.java @@ -0,0 +1,67 @@ +package com.example.recharge.mapper; + +import com.example.commons.domain.entity.Rate; +import org.apache.ibatis.annotations.*; +import org.apache.ibatis.annotations.Mapper; + + +import java.util.List; + +@Mapper +public interface RateMapper { + + @Insert({ + "insert into rate", + "(start_time,end_time,currency,exchange_rate,create_time,update_time,admin_id)", + "values", + "(#{startTime},#{endTime},#{currency},#{exchangeRate},now(),#{updateTime},#{adminId})" + }) +// 获取自增主键 + @Options(useGeneratedKeys = true,keyColumn = "rate_id",keyProperty = "rateId") + int insert(Rate rate); + + @Delete({ + "delete from rate where rate_id=#{rateId}" + }) + int deleteById(Integer rateId); + + @Update({ + "" + }) + int update(Rate rate); + + @Select({ + "select rate_id from rate where rate_id=#{rateId}" + }) + Rate selectById(Integer rateId); + + @Select({ + "" + + }) + List select(Rate rate); +} diff --git a/gold-system/demo/recharge/src/main/java/com/example/recharge/mapper/RechargeMapper.java b/gold-system/demo/recharge/src/main/java/com/example/recharge/mapper/RechargeMapper.java new file mode 100644 index 0000000..eb05835 --- /dev/null +++ b/gold-system/demo/recharge/src/main/java/com/example/recharge/mapper/RechargeMapper.java @@ -0,0 +1,49 @@ +package com.example.recharge.mapper; + +import com.example.commons.domain.entity.Recharge; +import com.example.commons.domain.vo.RechargeVo; +import org.apache.ibatis.annotations.*; + +import java.util.List; + +@Mapper +public interface RechargeMapper { + + @Insert({ + "INSERT INTO recharge", + "(homily_id,activity_id,paid_gold,free_gold,recharge_gold,pay_way,recharge_way,recharge_time,recharge_voucher,admin_id,area,remark,flag)", + "values ", + "(#{homilyId},#{activityId},#{paidGold},#{freeGold},#{rechargeGold},#{payWay},#{rechargeWay},#{rechargeTime},#{rechargeVoucher},#{adminId},#{area},#{remark},1)" + }) + int insert(Recharge recharge); + + @Update({ + "" + }) + int update(Recharge recharge); + + @Select({ + "" + }) + List select(RechargeVo rechargeVo); +} diff --git a/gold-system/demo/recharge/src/main/java/com/example/recharge/service/ActivityServiceImpl.java b/gold-system/demo/recharge/src/main/java/com/example/recharge/service/ActivityServiceImpl.java new file mode 100644 index 0000000..8543766 --- /dev/null +++ b/gold-system/demo/recharge/src/main/java/com/example/recharge/service/ActivityServiceImpl.java @@ -0,0 +1,68 @@ +package com.example.recharge.service; + + +import com.example.commons.domain.entity.Activity; +import com.example.commons.domain.entity.Page; +import com.example.commons.domain.entity.Rate; +import com.example.commons.sevice.ActivityService; +import com.example.recharge.mapper.ActivityMapper; +import com.github.pagehelper.PageHelper; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.github.pagehelper.PageInfo; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.Date; +import java.util.List; + +@Service +@Transactional +@RequiredArgsConstructor +public class ActivityServiceImpl implements ActivityService { + + @Autowired + ActivityMapper activityMapper; + @Override + public int add(Activity activity) { + return activityMapper.add(activity); + } + + @Override + public int edit(Activity activity) { + return activityMapper.edit(activity); + } + + @Override + public List search(Activity activity) { + return activityMapper.select(activity); + } + + + + public PageInfo searchForPage(Integer pageNum, Integer pageSize, Activity activity) { +// PageHelper.startPage(pageNum, pageSize); +// List list = activityMapper.select(activity); +// return new PageInfo<>(list); + + PageHelper.startPage(pageNum, pageSize); + List list = activityMapper.select(activity); + LocalDate nowDate = LocalDate.now(); // 获取当前的 LocalDate + list.stream() + .forEach(activity1 -> { + if (nowDate.isBefore(activity1.getStartTime())) { + // 假设 Activity 类有一个 setStatus 方法来设置状态 + activity1.setStatus(0); // 设置新的状态 + activityMapper.edit(activity1); // 保存修改后的对象 + } + else if(nowDate.isAfter(activity1.getEndTime())) { + // 假设 Activity 类有一个 setStatus 方法来设置状态 + activity1.setStatus(2); // 设置新的状态 + activityMapper.edit(activity1); // 保存修改后的对象 + } + }); + return new PageInfo<>(list); + } +} diff --git a/gold-system/demo/recharge/src/main/java/com/example/recharge/service/AuditServiceImpl.java b/gold-system/demo/recharge/src/main/java/com/example/recharge/service/AuditServiceImpl.java new file mode 100644 index 0000000..9a9ad0c --- /dev/null +++ b/gold-system/demo/recharge/src/main/java/com/example/recharge/service/AuditServiceImpl.java @@ -0,0 +1,35 @@ +package com.example.recharge.service; + +import com.example.commons.domain.entity.Audit; +import com.example.commons.domain.entity.Recharge; +import com.example.commons.sevice.AuditService; +import com.example.recharge.mapper.AuditMapper; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@RequiredArgsConstructor +public class AuditServiceImpl implements AuditService { + private final AuditMapper auditMapper; + + @Override + public int add(Audit audit) { + return auditMapper.insert(audit); + } + + @Override + public List search(Audit audit) { + return auditMapper.select(audit); + } + + @Override + public PageInfo searchForPage(Integer pageNum, Integer pageSize, Audit audit) { + PageHelper.startPage(pageNum,pageSize); + List list= auditMapper.select(audit); + return new PageInfo<>(list); + } +} diff --git a/gold-system/demo/recharge/src/main/java/com/example/recharge/service/RateServiceImpl.java b/gold-system/demo/recharge/src/main/java/com/example/recharge/service/RateServiceImpl.java new file mode 100644 index 0000000..48689d1 --- /dev/null +++ b/gold-system/demo/recharge/src/main/java/com/example/recharge/service/RateServiceImpl.java @@ -0,0 +1,55 @@ +package com.example.recharge.service; + +import com.example.commons.domain.entity.Rate; +import com.example.commons.sevice.RateService; +import com.example.recharge.mapper.RateMapper; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import lombok.RequiredArgsConstructor; + +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +@Service +@RequiredArgsConstructor + +public class RateServiceImpl implements RateService { + private final RateMapper rateMapper; + @Override + public int add(Rate rate) { + return rateMapper.insert(rate); + } + + @Transactional + @Override + public int edit(Rate rate) { + return rateMapper.update(rate); + } + + @Override + public void delete(Integer rateId) throws Exception { + int result = rateMapper.deleteById(rateId); + if(result == 0){ + throw new Exception("未找到对应的记录,删除失败"); + }; + } + + @Override + public Rate getById(Integer rateId) { + return rateMapper.selectById(rateId); + } + + @Override + public List search(Rate rate) { + return rateMapper.select(rate); + } + + @Override + public PageInfo searchForPage(Integer pageNum, Integer pageSize, Rate rate) { + PageHelper.startPage(pageNum, pageSize); + List list = rateMapper.select(rate); + return new PageInfo<>(list); + } +} diff --git a/gold-system/demo/recharge/src/main/java/com/example/recharge/service/RechargeServiceImpl.java b/gold-system/demo/recharge/src/main/java/com/example/recharge/service/RechargeServiceImpl.java new file mode 100644 index 0000000..be01d09 --- /dev/null +++ b/gold-system/demo/recharge/src/main/java/com/example/recharge/service/RechargeServiceImpl.java @@ -0,0 +1,46 @@ +package com.example.recharge.service; + +import com.example.commons.domain.entity.Recharge; +import com.example.commons.domain.vo.RechargeVo; +import com.example.commons.sevice.RechargeService; +import com.example.recharge.mapper.RechargeMapper; + +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@RequiredArgsConstructor +public class RechargeServiceImpl implements RechargeService { + + private final RechargeMapper rechargeMapper; + @Override + public int add(Recharge recharge) throws Exception { + return rechargeMapper.insert(recharge); + } + + @Override + public int edit(Recharge recharge) throws Exception { + return rechargeMapper.update(recharge); + } + + @Override + public Recharge findById(int id) throws Exception { + return null; + } + + @Override + public List search(RechargeVo rechargeVo) { + return rechargeMapper.select(rechargeVo); + } + + @Override + public PageInfo searchForPage(Integer pageNum, Integer pageSize, RechargeVo rechargeVo) { + PageHelper.startPage(pageNum, pageSize); + List list= rechargeMapper.select(rechargeVo); + return new PageInfo<>(list); + } +} diff --git a/gold-system/demo/recharge/src/main/resources/application.yml b/gold-system/demo/recharge/src/main/resources/application.yml new file mode 100644 index 0000000..8b9b7a1 --- /dev/null +++ b/gold-system/demo/recharge/src/main/resources/application.yml @@ -0,0 +1,15 @@ +server: + port: 10010 + +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://39.101.133.168/hwgold?&serverTimezone=Asia/Shanghai + username: hwgold + password: 'AGX4Z3YMxiCG3GR2' + application: + name: recharge +mybatis: + configuration: + map-underscore-to-camel-case: true + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl \ No newline at end of file diff --git a/gold-system/demo/recharge/src/test/java/com/example/recharge/RechargeApplicationTests.java b/gold-system/demo/recharge/src/test/java/com/example/recharge/RechargeApplicationTests.java new file mode 100644 index 0000000..c35653d --- /dev/null +++ b/gold-system/demo/recharge/src/test/java/com/example/recharge/RechargeApplicationTests.java @@ -0,0 +1,13 @@ +package com.example.recharge; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class RechargeApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/gold-system/demo/refund/.gitignore b/gold-system/demo/refund/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/gold-system/demo/refund/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/gold-system/demo/refund/pom.xml b/gold-system/demo/refund/pom.xml new file mode 100644 index 0000000..8e0d2ea --- /dev/null +++ b/gold-system/demo/refund/pom.xml @@ -0,0 +1,73 @@ + + + 4.0.0 + + com.example + refund + 0.0.1 + refund + refund + + + com.example + demo + 0.0.1 + + + + + com.example + commons + 0.0.1 + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 3.0.3 + + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + com.mysql + mysql-connector-j + runtime + + + + org.springframework.boot + spring-boot-starter-test + test + + + org.mybatis.spring.boot + mybatis-spring-boot-starter-test + 3.0.3 + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/gold-system/demo/refund/src/main/java/org/example/refund/RefundApplication.java b/gold-system/demo/refund/src/main/java/org/example/refund/RefundApplication.java new file mode 100644 index 0000000..4f75a34 --- /dev/null +++ b/gold-system/demo/refund/src/main/java/org/example/refund/RefundApplication.java @@ -0,0 +1,13 @@ +package org.example.refund; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class RefundApplication { + + public static void main(String[] args) { + SpringApplication.run(RefundApplication.class, args); + } + +} diff --git a/gold-system/demo/refund/src/main/java/org/example/refund/controller/RefundController.java b/gold-system/demo/refund/src/main/java/org/example/refund/controller/RefundController.java new file mode 100644 index 0000000..b6fc807 --- /dev/null +++ b/gold-system/demo/refund/src/main/java/org/example/refund/controller/RefundController.java @@ -0,0 +1,68 @@ +package org.example.refund.controller; + +import com.example.commons.domain.entity.Detail; +import com.example.commons.domain.entity.Page; +import com.example.commons.domain.vo.Result; +import com.example.commons.sevice.RefundService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.annotations.Param; +import org.springframework.util.ObjectUtils; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; + +@RestController +@RequestMapping("/refund") +@RequiredArgsConstructor +@Slf4j +@CrossOrigin +public class RefundController { + private final RefundService refundService; + + @PostMapping("/add") + public Result add(@RequestBody Detail detail) { +// try { + refundService.add(detail); + return Result.success(); +// } catch (Exception e) { +// log.warn(Arrays.toString(e.getStackTrace())); +// return Result.error(e.getMessage()); +//// } + } + + @PostMapping("/softDelete") + public Result softDelete(@RequestParam Integer detailId) { +// try { + refundService.softDelete(detailId); + return Result.success(); +// } catch (Exception e) { +// log.warn(Arrays.toString(e.getStackTrace())); +// return Result.error(e.getMessage()); +// } + } + + @PostMapping("/update") + public Result update(@RequestBody Detail newDetail) { + try { + refundService.edit(newDetail); + return Result.success(); + } catch (Exception e) { + log.warn(Arrays.toString(e.getStackTrace())); + return Result.error(e.getMessage()); + } + } + + @PostMapping("/search") + public Result search(@RequestBody Page page) { + Integer pageNum = page.getPageNum(); + Integer pageSize = page.getPageSize(); + Detail detail = page.getDetail(); + + if (ObjectUtils.isEmpty(detail)) { + return Result.success(refundService.search(detail)); + }else{ + return Result.success(refundService.searchForPage(pageNum, pageSize,detail)); + } + } +} diff --git a/gold-system/demo/refund/src/main/java/org/example/refund/mapper/RefundMapper.java b/gold-system/demo/refund/src/main/java/org/example/refund/mapper/RefundMapper.java new file mode 100644 index 0000000..360c3aa --- /dev/null +++ b/gold-system/demo/refund/src/main/java/org/example/refund/mapper/RefundMapper.java @@ -0,0 +1,54 @@ +package org.example.refund.mapper; + +import com.example.commons.domain.entity.Detail; +import org.apache.ibatis.annotations.*; + +import java.util.List; + +@Mapper +public interface RefundMapper { + + @Insert({ + "insert into detail", + "(jwcode,refund_type,refund_goods,recharge_coin,free_coin,task_coin,remark,admin_id,create_time)", + "values", + "(#{jwcode},#{refundType},#{refundGoods},#{rechargeCoin},#{freeCoin},#{taskCoin},#{remark},#{adminId},now())" + }) + @Options(useGeneratedKeys = true, keyColumn = "detail_id", keyProperty = "detailId") + int insert(Detail detail); + + @Update("update detail set detail_flag = 0 where detail_id = #{detailId}") + int update(@Param("detailId") Integer detailId); + + @Select("select * from detail where detail_id = #{detailId} and detail_flag = 1") + Detail selectByDetailId(Integer detailId); + + + @Select({ + "" + }) + List select(Detail detail); +} diff --git a/gold-system/demo/refund/src/main/java/org/example/refund/service/RefundServiceImpl.java b/gold-system/demo/refund/src/main/java/org/example/refund/service/RefundServiceImpl.java new file mode 100644 index 0000000..3af8de9 --- /dev/null +++ b/gold-system/demo/refund/src/main/java/org/example/refund/service/RefundServiceImpl.java @@ -0,0 +1,76 @@ +package org.example.refund.service; + +import com.example.commons.domain.entity.Detail; +import com.example.commons.sevice.RefundService; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import lombok.RequiredArgsConstructor; +import org.example.refund.mapper.RefundMapper; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + + +@RequiredArgsConstructor +@Transactional +@Service +public class RefundServiceImpl implements RefundService { + private final RefundMapper refundMapper; + @Override + public int add(Detail detail) { + return refundMapper.insert(detail); + } + + + //自动软删除数据加更新数据 + @Override + public void edit(Detail newDetail) { + // 获取旧的明细记录 + Detail oldDetail = refundMapper.selectByDetailId(newDetail.getDetailId()); + + if (oldDetail == null || oldDetail.getDetailFlag() ==0) { + throw new IllegalArgumentException("该记录不存在或已被隐藏!"); + } + + // 软删除旧记录 + refundMapper.update(oldDetail.getDetailId()); + + // 将新的字段值复制到旧记录中,未修改的字段保持旧值 + if (newDetail.getJwcode() == null) newDetail.setJwcode(oldDetail.getJwcode()); + if (newDetail.getRefundType() == null) newDetail.setRefundType(oldDetail.getRefundType()); + if (newDetail.getRefundGoods() == null) newDetail.setRefundGoods(oldDetail.getRefundGoods()); + if (newDetail.getRechargeCoin() == null) newDetail.setRechargeCoin(oldDetail.getRechargeCoin()); + if (newDetail.getFreeCoin() == null) newDetail.setFreeCoin(oldDetail.getFreeCoin()); + if (newDetail.getTaskCoin() == null) newDetail.setTaskCoin(oldDetail.getTaskCoin()); + if (newDetail.getRemark() == null) newDetail.setRemark(oldDetail.getRemark()); + if (newDetail.getAdminId() == null) newDetail.setAdminId(oldDetail.getAdminId()); + + // 插入新记录 + newDetail.setDetailId(null); // 清空 ID,让其自动生成 + newDetail.setDetailFlag(1); // 确保新记录未被删除 + refundMapper.insert(newDetail); + } + + @Override + public int softDelete(Integer detailId) { + return refundMapper.update(detailId); + } + + @Override + public Detail selectByDetailId(Integer detailId) { + return refundMapper.selectByDetailId(detailId); + } + + @Override + public List search(Detail detail) { + return refundMapper.select(detail); + } + + @Override + public PageInfo searchForPage(Integer pageNum, Integer pageSize, Detail detail) { + PageHelper.startPage(pageNum, pageSize); + List list = refundMapper.select(detail); + return new PageInfo<>(list); + } +} diff --git a/gold-system/demo/refund/src/main/resources/application.yml b/gold-system/demo/refund/src/main/resources/application.yml new file mode 100644 index 0000000..5281618 --- /dev/null +++ b/gold-system/demo/refund/src/main/resources/application.yml @@ -0,0 +1,15 @@ +server: + port: 10040 + +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://39.101.133.168/hwgold?&serverTimezone=Asia/Shanghai + username: hwgold + password: 'AGX4Z3YMxiCG3GR2' + application: + name: refund +mybatis: + configuration: + map-underscore-to-camel-case: true + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl \ No newline at end of file diff --git a/gold-system/demo/refund/src/main/resources/static/index.html b/gold-system/demo/refund/src/main/resources/static/index.html new file mode 100644 index 0000000..89bb8ba --- /dev/null +++ b/gold-system/demo/refund/src/main/resources/static/index.html @@ -0,0 +1,6 @@ + + +

hello word!!!

+

this is a html page

+ + \ No newline at end of file diff --git a/gold-system/demo/refund/src/test/java/org/example/refund/RefundApplicationTests.java b/gold-system/demo/refund/src/test/java/org/example/refund/RefundApplicationTests.java new file mode 100644 index 0000000..bbf1275 --- /dev/null +++ b/gold-system/demo/refund/src/test/java/org/example/refund/RefundApplicationTests.java @@ -0,0 +1,13 @@ +package org.example.refund; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class RefundApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/gold-system/demo/user/.gitattributes b/gold-system/demo/user/.gitattributes new file mode 100644 index 0000000..3b41682 --- /dev/null +++ b/gold-system/demo/user/.gitattributes @@ -0,0 +1,2 @@ +/mvnw text eol=lf +*.cmd text eol=crlf diff --git a/gold-system/demo/user/.gitignore b/gold-system/demo/user/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/gold-system/demo/user/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/gold-system/demo/user/.mvn/wrapper/maven-wrapper.properties b/gold-system/demo/user/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..d58dfb7 --- /dev/null +++ b/gold-system/demo/user/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,19 @@ +# 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. +wrapperVersion=3.3.2 +distributionType=only-script +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip diff --git a/gold-system/demo/user/mvnw b/gold-system/demo/user/mvnw new file mode 100644 index 0000000..19529dd --- /dev/null +++ b/gold-system/demo/user/mvnw @@ -0,0 +1,259 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# 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. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Apache Maven Wrapper startup batch script, version 3.3.2 +# +# Optional ENV vars +# ----------------- +# JAVA_HOME - location of a JDK home dir, required when download maven via java source +# MVNW_REPOURL - repo url base for downloading maven distribution +# MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +# MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output +# ---------------------------------------------------------------------------- + +set -euf +[ "${MVNW_VERBOSE-}" != debug ] || set -x + +# OS specific support. +native_path() { printf %s\\n "$1"; } +case "$(uname)" in +CYGWIN* | MINGW*) + [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")" + native_path() { cygpath --path --windows "$1"; } + ;; +esac + +# set JAVACMD and JAVACCMD +set_java_home() { + # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched + if [ -n "${JAVA_HOME-}" ]; then + if [ -x "$JAVA_HOME/jre/sh/java" ]; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACCMD="$JAVA_HOME/jre/sh/javac" + else + JAVACMD="$JAVA_HOME/bin/java" + JAVACCMD="$JAVA_HOME/bin/javac" + + if [ ! -x "$JAVACMD" ] || [ ! -x "$JAVACCMD" ]; then + echo "The JAVA_HOME environment variable is not defined correctly, so mvnw cannot run." >&2 + echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2 + return 1 + fi + fi + else + JAVACMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v java + )" || : + JAVACCMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v javac + )" || : + + if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then + echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2 + return 1 + fi + fi +} + +# hash string like Java String::hashCode +hash_string() { + str="${1:-}" h=0 + while [ -n "$str" ]; do + char="${str%"${str#?}"}" + h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296)) + str="${str#?}" + done + printf %x\\n $h +} + +verbose() { :; } +[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; } + +die() { + printf %s\\n "$1" >&2 + exit 1 +} + +trim() { + # MWRAPPER-139: + # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds. + # Needed for removing poorly interpreted newline sequences when running in more + # exotic environments such as mingw bash on Windows. + printf "%s" "${1}" | tr -d '[:space:]' +} + +# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties +while IFS="=" read -r key value; do + case "${key-}" in + distributionUrl) distributionUrl=$(trim "${value-}") ;; + distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;; + esac +done <"${0%/*}/.mvn/wrapper/maven-wrapper.properties" +[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in ${0%/*}/.mvn/wrapper/maven-wrapper.properties" + +case "${distributionUrl##*/}" in +maven-mvnd-*bin.*) + MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ + case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in + *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;; + :Darwin*x86_64) distributionPlatform=darwin-amd64 ;; + :Darwin*arm64) distributionPlatform=darwin-aarch64 ;; + :Linux*x86_64*) distributionPlatform=linux-amd64 ;; + *) + echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2 + distributionPlatform=linux-amd64 + ;; + esac + distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip" + ;; +maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;; +*) MVN_CMD="mvn${0##*/mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; +esac + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}" +distributionUrlName="${distributionUrl##*/}" +distributionUrlNameMain="${distributionUrlName%.*}" +distributionUrlNameMain="${distributionUrlNameMain%-bin}" +MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}" +MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")" + +exec_maven() { + unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || : + exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD" +} + +if [ -d "$MAVEN_HOME" ]; then + verbose "found existing MAVEN_HOME at $MAVEN_HOME" + exec_maven "$@" +fi + +case "${distributionUrl-}" in +*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;; +*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;; +esac + +# prepare tmp dir +if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then + clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; } + trap clean HUP INT TERM EXIT +else + die "cannot create temp dir" +fi + +mkdir -p -- "${MAVEN_HOME%/*}" + +# Download and Install Apache Maven +verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +verbose "Downloading from: $distributionUrl" +verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +# select .zip or .tar.gz +if ! command -v unzip >/dev/null; then + distributionUrl="${distributionUrl%.zip}.tar.gz" + distributionUrlName="${distributionUrl##*/}" +fi + +# verbose opt +__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR='' +[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v + +# normalize http auth +case "${MVNW_PASSWORD:+has-password}" in +'') MVNW_USERNAME='' MVNW_PASSWORD='' ;; +has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;; +esac + +if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then + verbose "Found wget ... using wget" + wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl" +elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then + verbose "Found curl ... using curl" + curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl" +elif set_java_home; then + verbose "Falling back to use Java to download" + javaSource="$TMP_DOWNLOAD_DIR/Downloader.java" + targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName" + cat >"$javaSource" <<-END + public class Downloader extends java.net.Authenticator + { + protected java.net.PasswordAuthentication getPasswordAuthentication() + { + return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() ); + } + public static void main( String[] args ) throws Exception + { + setDefault( new Downloader() ); + java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() ); + } + } + END + # For Cygwin/MinGW, switch paths to Windows format before running javac and java + verbose " - Compiling Downloader.java ..." + "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java" + verbose " - Running Downloader.java ..." + "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")" +fi + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +if [ -n "${distributionSha256Sum-}" ]; then + distributionSha256Result=false + if [ "$MVN_CMD" = mvnd.sh ]; then + echo "Checksum validation is not supported for maven-mvnd." >&2 + echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + elif command -v sha256sum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + elif command -v shasum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 + echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + fi + if [ $distributionSha256Result = false ]; then + echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2 + echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2 + exit 1 + fi +fi + +# unzip and move +if command -v unzip >/dev/null; then + unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip" +else + tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar" +fi +printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/mvnw.url" +mv -- "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" + +clean || : +exec_maven "$@" diff --git a/gold-system/demo/user/mvnw.cmd b/gold-system/demo/user/mvnw.cmd new file mode 100644 index 0000000..249bdf3 --- /dev/null +++ b/gold-system/demo/user/mvnw.cmd @@ -0,0 +1,149 @@ +<# : batch portion +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.3.2 +@REM +@REM Optional ENV vars +@REM MVNW_REPOURL - repo url base for downloading maven distribution +@REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +@REM MVNW_VERBOSE - true: enable verbose log; others: silence the output +@REM ---------------------------------------------------------------------------- + +@IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0) +@SET __MVNW_CMD__= +@SET __MVNW_ERROR__= +@SET __MVNW_PSMODULEP_SAVE=%PSModulePath% +@SET PSModulePath= +@FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @( + IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B) +) +@SET PSModulePath=%__MVNW_PSMODULEP_SAVE% +@SET __MVNW_PSMODULEP_SAVE= +@SET __MVNW_ARG0_NAME__= +@SET MVNW_USERNAME= +@SET MVNW_PASSWORD= +@IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*) +@echo Cannot start maven from wrapper >&2 && exit /b 1 +@GOTO :EOF +: end batch / begin powershell #> + +$ErrorActionPreference = "Stop" +if ($env:MVNW_VERBOSE -eq "true") { + $VerbosePreference = "Continue" +} + +# calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties +$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl +if (!$distributionUrl) { + Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" +} + +switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { + "maven-mvnd-*" { + $USE_MVND = $true + $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip" + $MVN_CMD = "mvnd.cmd" + break + } + default { + $USE_MVND = $false + $MVN_CMD = $script -replace '^mvnw','mvn' + break + } +} + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +if ($env:MVNW_REPOURL) { + $MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else { "/maven/mvnd/" } + $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace '^.*'+$MVNW_REPO_PATTERN,'')" +} +$distributionUrlName = $distributionUrl -replace '^.*/','' +$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' +$MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain" +if ($env:MAVEN_USER_HOME) { + $MAVEN_HOME_PARENT = "$env:MAVEN_USER_HOME/wrapper/dists/$distributionUrlNameMain" +} +$MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' +$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" + +if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { + Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME" + Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" + exit $? +} + +if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) { + Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl" +} + +# prepare tmp dir +$TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile +$TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir" +$TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null +trap { + if ($TMP_DOWNLOAD_DIR.Exists) { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } + } +} + +New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null + +# Download and Install Apache Maven +Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +Write-Verbose "Downloading from: $distributionUrl" +Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +$webclient = New-Object System.Net.WebClient +if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) { + $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD) +} +[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 +$webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +$distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum +if ($distributionSha256Sum) { + if ($USE_MVND) { + Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." + } + Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash + if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) { + Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property." + } +} + +# unzip and move +Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null +Rename-Item -Path "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" -NewName $MAVEN_HOME_NAME | Out-Null +try { + Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null +} catch { + if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) { + Write-Error "fail to move MAVEN_HOME" + } +} finally { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } +} + +Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" diff --git a/gold-system/demo/user/pom.xml b/gold-system/demo/user/pom.xml new file mode 100644 index 0000000..e1dcc8e --- /dev/null +++ b/gold-system/demo/user/pom.xml @@ -0,0 +1,73 @@ + + + 4.0.0 + + com.example + user + 0.0.1-SNAPSHOT + user + user + + + com.example + demo + 0.0.1 + + + + + com.example + commons + 0.0.1 + + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 3.0.3 + + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + com.mysql + mysql-connector-j + runtime + + + org.springframework.boot + spring-boot-starter-test + test + + + org.mybatis.spring.boot + mybatis-spring-boot-starter-test + 3.0.3 + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/gold-system/demo/user/src/main/java/com/example/user/UserApplication.java b/gold-system/demo/user/src/main/java/com/example/user/UserApplication.java new file mode 100644 index 0000000..d91955c --- /dev/null +++ b/gold-system/demo/user/src/main/java/com/example/user/UserApplication.java @@ -0,0 +1,13 @@ +package com.example.user; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class UserApplication { + + public static void main(String[] args) { + SpringApplication.run(UserApplication.class, args); + } + +} diff --git a/gold-system/demo/user/src/main/java/com/example/user/controller/UserController.java b/gold-system/demo/user/src/main/java/com/example/user/controller/UserController.java new file mode 100644 index 0000000..5683e13 --- /dev/null +++ b/gold-system/demo/user/src/main/java/com/example/user/controller/UserController.java @@ -0,0 +1,21 @@ +package com.example.user.controller; + +import com.example.commons.domain.entity.User; +import com.example.commons.domain.vo.Result; +import com.example.commons.sevice.UserSevice; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("/recharge/user") +@RequiredArgsConstructor +@Slf4j +@CrossOrigin +public class UserController { + private final UserSevice userSevice; + @PostMapping + public Result User(@RequestBody User user) { + return Result.success(userSevice.search(user)); + } +} diff --git a/gold-system/demo/user/src/main/java/com/example/user/mapper/UserMapper.java b/gold-system/demo/user/src/main/java/com/example/user/mapper/UserMapper.java new file mode 100644 index 0000000..2bd6966 --- /dev/null +++ b/gold-system/demo/user/src/main/java/com/example/user/mapper/UserMapper.java @@ -0,0 +1,16 @@ +package com.example.user.mapper; + +import com.example.commons.domain.entity.Audit; +import com.example.commons.domain.entity.User; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +@Mapper +public interface UserMapper { + @Select({ + "select * from user where homily_id=#{homilyId}" + }) + List select(User user); +} diff --git a/gold-system/demo/user/src/main/java/com/example/user/service/UserServiceImpl.java b/gold-system/demo/user/src/main/java/com/example/user/service/UserServiceImpl.java new file mode 100644 index 0000000..e278e3d --- /dev/null +++ b/gold-system/demo/user/src/main/java/com/example/user/service/UserServiceImpl.java @@ -0,0 +1,33 @@ +package com.example.user.service; + +import com.example.commons.domain.entity.Recharge; +import com.example.commons.domain.entity.User; +import com.example.commons.sevice.UserSevice; +import com.example.user.mapper.UserMapper; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.RequestMapping; + +import java.util.List; + +@Service +@RequiredArgsConstructor +public class UserServiceImpl implements UserSevice { + + private final UserMapper userMapper; + + @Override + public List search(User user) { + return userMapper.select(user); + } + + @Override + public PageInfo searchForPage(Integer pageNum, Integer pageSize, User user) { + PageHelper.startPage(pageNum,pageSize); + List list= userMapper.select(user); + return new PageInfo<>(list); + } +} diff --git a/gold-system/demo/user/src/main/resources/application.yml b/gold-system/demo/user/src/main/resources/application.yml new file mode 100644 index 0000000..a9da9f4 --- /dev/null +++ b/gold-system/demo/user/src/main/resources/application.yml @@ -0,0 +1,14 @@ +server: + port: 10020 +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://39.101.133.168/hwgold?serverTimezone=GMT%2b8 + username: hwgold + password: 'AGX4Z3YMxiCG3GR2' + application: + name: recharge +mybatis: + configuration: + map-underscore-to-camel-case: true + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl \ No newline at end of file diff --git a/gold-system/demo/user/src/test/java/com/example/user/UserApplicationTests.java b/gold-system/demo/user/src/test/java/com/example/user/UserApplicationTests.java new file mode 100644 index 0000000..7d73788 --- /dev/null +++ b/gold-system/demo/user/src/test/java/com/example/user/UserApplicationTests.java @@ -0,0 +1,13 @@ +package com.example.user; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class UserApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/gold-system/vue/gold-system/.gitignore b/gold-system/vue/gold-system/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/gold-system/vue/gold-system/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/gold-system/vue/gold-system/.vscode/extensions.json b/gold-system/vue/gold-system/.vscode/extensions.json new file mode 100644 index 0000000..a7cea0b --- /dev/null +++ b/gold-system/vue/gold-system/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar"] +} diff --git a/gold-system/vue/gold-system/README.md b/gold-system/vue/gold-system/README.md new file mode 100644 index 0000000..33895ab --- /dev/null +++ b/gold-system/vue/gold-system/README.md @@ -0,0 +1,5 @@ +# Vue 3 + TypeScript + Vite + +This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 ` + + diff --git a/gold-system/vue/gold-system/package-lock.json b/gold-system/vue/gold-system/package-lock.json new file mode 100644 index 0000000..11738d7 --- /dev/null +++ b/gold-system/vue/gold-system/package-lock.json @@ -0,0 +1,1658 @@ +{ + "name": "gold-system", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "gold-system", + "version": "0.0.0", + "dependencies": { + "@element-plus/icons-vue": "^2.3.1", + "axios": "^1.7.8", + "element-plus": "^2.8.8", + "vue": "^3.5.12", + "vue-router": "^4.5.0" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.1.4", + "typescript": "~5.6.2", + "vite": "^5.4.10", + "vue-tsc": "^2.1.8" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.26.2", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@babel/parser/-/parser-7.26.2.tgz", + "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.26.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.26.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@babel/types/-/types-7.26.0.tgz", + "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/@element-plus/icons-vue": { + "version": "2.3.1", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", + "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.8", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@floating-ui/core/-/core-1.6.8.tgz", + "integrity": "sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.8" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.12", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@floating-ui/dom/-/dom-1.6.12.tgz", + "integrity": "sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.8" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.8", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@floating-ui/utils/-/utils-0.2.8.tgz", + "integrity": "sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==", + "license": "MIT" + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" + }, + "node_modules/@popperjs/core": { + "name": "@sxzz/popperjs-es", + "version": "2.11.7", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.27.4", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.27.4.tgz", + "integrity": "sha512-2Y3JT6f5MrQkICUyRVCw4oa0sutfAsgaSsb0Lmmy1Wi2y7X5vT9Euqw4gOsCyy0YfKURBg35nhUKZS4mDcfULw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.27.4", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.27.4.tgz", + "integrity": "sha512-wzKRQXISyi9UdCVRqEd0H4cMpzvHYt1f/C3CoIjES6cG++RHKhrBj2+29nPF0IB5kpy9MS71vs07fvrNGAl/iA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.27.4", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.27.4.tgz", + "integrity": "sha512-PlNiRQapift4LNS8DPUHuDX/IdXiLjf8mc5vdEmUR0fF/pyy2qWwzdLjB+iZquGr8LuN4LnUoSEvKRwjSVYz3Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.27.4", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.27.4.tgz", + "integrity": "sha512-o9bH2dbdgBDJaXWJCDTNDYa171ACUdzpxSZt+u/AAeQ20Nk5x+IhA+zsGmrQtpkLiumRJEYef68gcpn2ooXhSQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.27.4", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.27.4.tgz", + "integrity": "sha512-NBI2/i2hT9Q+HySSHTBh52da7isru4aAAo6qC3I7QFVsuhxi2gM8t/EI9EVcILiHLj1vfi+VGGPaLOUENn7pmw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.27.4", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.27.4.tgz", + "integrity": "sha512-wYcC5ycW2zvqtDYrE7deary2P2UFmSh85PUpAx+dwTCO9uw3sgzD6Gv9n5X4vLaQKsrfTSZZ7Z7uynQozPVvWA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.27.4", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.27.4.tgz", + "integrity": "sha512-9OwUnK/xKw6DyRlgx8UizeqRFOfi9mf5TYCw1uolDaJSbUmBxP85DE6T4ouCMoN6pXw8ZoTeZCSEfSaYo+/s1w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.27.4", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.27.4.tgz", + "integrity": "sha512-Vgdo4fpuphS9V24WOV+KwkCVJ72u7idTgQaBoLRD0UxBAWTF9GWurJO9YD9yh00BzbkhpeXtm6na+MvJU7Z73A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.27.4", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.27.4.tgz", + "integrity": "sha512-pleyNgyd1kkBkw2kOqlBx+0atfIIkkExOTiifoODo6qKDSpnc6WzUY5RhHdmTdIJXBdSnh6JknnYTtmQyobrVg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.27.4", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.27.4.tgz", + "integrity": "sha512-caluiUXvUuVyCHr5DxL8ohaaFFzPGmgmMvwmqAITMpV/Q+tPoaHZ/PWa3t8B2WyoRcIIuu1hkaW5KkeTDNSnMA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.27.4", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.27.4.tgz", + "integrity": "sha512-FScrpHrO60hARyHh7s1zHE97u0KlT/RECzCKAdmI+LEoC1eDh/RDji9JgFqyO+wPDb86Oa/sXkily1+oi4FzJQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.27.4", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.27.4.tgz", + "integrity": "sha512-qyyprhyGb7+RBfMPeww9FlHwKkCXdKHeGgSqmIXw9VSUtvyFZ6WZRtnxgbuz76FK7LyoN8t/eINRbPUcvXB5fw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.27.4", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.27.4.tgz", + "integrity": "sha512-PFz+y2kb6tbh7m3A7nA9++eInGcDVZUACulf/KzDtovvdTizHpZaJty7Gp0lFwSQcrnebHOqxF1MaKZd7psVRg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.27.4", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.27.4.tgz", + "integrity": "sha512-Ni8mMtfo+o/G7DVtweXXV/Ol2TFf63KYjTtoZ5f078AUgJTmaIJnj4JFU7TK/9SVWTaSJGxPi5zMDgK4w+Ez7Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.27.4", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.27.4.tgz", + "integrity": "sha512-5AeeAF1PB9TUzD+3cROzFTnAJAcVUGLuR8ng0E0WXGkYhp6RD6L+6szYVX+64Rs0r72019KHZS1ka1q+zU/wUw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.27.4", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.27.4.tgz", + "integrity": "sha512-yOpVsA4K5qVwu2CaS3hHxluWIK5HQTjNV4tWjQXluMiiiu4pJj4BN98CvxohNCpcjMeTXk/ZMJBRbgRg8HBB6A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.27.4", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.27.4.tgz", + "integrity": "sha512-KtwEJOaHAVJlxV92rNYiG9JQwQAdhBlrjNRp7P9L8Cb4Rer3in+0A+IPhJC9y68WAi9H0sX4AiG2NTsVlmqJeQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.27.4", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.27.4.tgz", + "integrity": "sha512-3j4jx1TppORdTAoBJRd+/wJRGCPC0ETWkXOecJ6PPZLj6SptXkrXcNqdj0oclbKML6FkQltdz7bBA3rUSirZug==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.17.13", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@types/lodash/-/lodash-4.17.13.tgz", + "integrity": "sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==", + "license": "MIT" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "license": "MIT", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.16", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==", + "license": "MIT" + }, + "node_modules/@vitejs/plugin-vue": { + "version": "5.2.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@vitejs/plugin-vue/-/plugin-vue-5.2.0.tgz", + "integrity": "sha512-7n7KdUEtx/7Yl7I/WVAMZ1bEb0eVvXF3ummWTeLcs/9gvo9pJhuLdouSXGjdZ/MKD1acf1I272+X0RMua4/R3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@volar/language-core": { + "version": "2.4.10", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@volar/language-core/-/language-core-2.4.10.tgz", + "integrity": "sha512-hG3Z13+nJmGaT+fnQzAkS0hjJRa2FCeqZt6Bd+oGNhUkQ+mTFsDETg5rqUTxyzIh5pSOGY7FHCWUS8G82AzLCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.10" + } + }, + "node_modules/@volar/source-map": { + "version": "2.4.10", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@volar/source-map/-/source-map-2.4.10.tgz", + "integrity": "sha512-OCV+b5ihV0RF3A7vEvNyHPi4G4kFa6ukPmyVocmqm5QzOd8r5yAtiNvaPEjl8dNvgC/lj4JPryeeHLdXd62rWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@volar/typescript": { + "version": "2.4.10", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@volar/typescript/-/typescript-2.4.10.tgz", + "integrity": "sha512-F8ZtBMhSXyYKuBfGpYwqA5rsONnOwAVvjyE7KPYJ7wgZqo2roASqNWUnianOomJX5u1cxeRooHV59N0PhvEOgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.10", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.13", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@vue/compiler-core/-/compiler-core-3.5.13.tgz", + "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/shared": "3.5.13", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.13", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", + "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.13", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", + "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/compiler-core": "3.5.13", + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.11", + "postcss": "^8.4.48", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.13", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", + "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/compiler-vue2": { + "version": "2.7.16", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz", + "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==", + "dev": true, + "license": "MIT", + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, + "node_modules/@vue/language-core": { + "version": "2.1.10", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@vue/language-core/-/language-core-2.1.10.tgz", + "integrity": "sha512-DAI289d0K3AB5TUG3xDp9OuQ71CnrujQwJrQnfuZDwo6eGNf0UoRlPuaVNO+Zrn65PC3j0oB2i7mNmVPggeGeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "~2.4.8", + "@vue/compiler-dom": "^3.5.0", + "@vue/compiler-vue2": "^2.7.16", + "@vue/shared": "^3.5.0", + "alien-signals": "^0.2.0", + "minimatch": "^9.0.3", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.13", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@vue/reactivity/-/reactivity-3.5.13.tgz", + "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.13", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@vue/runtime-core/-/runtime-core-3.5.13.tgz", + "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.13", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz", + "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.13", + "@vue/runtime-core": "3.5.13", + "@vue/shared": "3.5.13", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.13", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@vue/server-renderer/-/server-renderer-3.5.13.tgz", + "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13" + }, + "peerDependencies": { + "vue": "3.5.13" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.13", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@vue/shared/-/shared-3.5.13.tgz", + "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", + "license": "MIT" + }, + "node_modules/@vueuse/core": { + "version": "9.13.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@vueuse/core/-/core-9.13.0.tgz", + "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.13.0", + "@vueuse/shared": "9.13.0", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "9.13.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@vueuse/metadata/-/metadata-9.13.0.tgz", + "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "9.13.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@vueuse/shared/-/shared-9.13.0.tgz", + "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", + "license": "MIT", + "dependencies": { + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/alien-signals": { + "version": "0.2.2", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/alien-signals/-/alien-signals-0.2.2.tgz", + "integrity": "sha512-cZIRkbERILsBOXTQmMrxc9hgpxglstn69zm+F1ARf4aPAzdAFYd6sBq87ErO0Fj3DV94tglcyHG5kQz9nDC/8A==", + "dev": true, + "license": "MIT" + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==", + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.7.8", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/axios/-/axios-1.7.8.tgz", + "integrity": "sha512-Uu0wb7KNqK2t5K+YQyVCLM76prD5sRFjKHbJYCP1J7JFGEQ6nN7HWn9+04LAeiJ3ji54lgS/gZCH1oxyrf1SPw==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/dayjs": { + "version": "1.11.13", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "license": "MIT" + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true, + "license": "MIT" + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/element-plus": { + "version": "2.8.8", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/element-plus/-/element-plus-2.8.8.tgz", + "integrity": "sha512-MLAH1x2PGTnOT7Iwqh9ASgfZhvgqQqrdbxuJH0w2fGjzE4ZjryyLQj24HXoQO7Zon66U3lrYxbdLI57M6OX0qw==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.1", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.13", + "escape-html": "^1.0.3", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.2", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.1", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/form-data/-/form-data-4.0.1.tgz", + "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" + }, + "node_modules/lodash-unified": { + "version": "1.0.3", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "license": "MIT", + "peerDependencies": { + "@types/lodash-es": "*", + "lodash": "*", + "lodash-es": "*" + } + }, + "node_modules/magic-string": { + "version": "0.30.14", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/magic-string/-/magic-string-0.30.14.tgz", + "integrity": "sha512-5c99P1WKTed11ZC0HMJOj6CDIue6F8ySu+bJL+85q1zBEIY8IklrJ1eiKC2NDRh3Ct3FcvmJPyQHb9erXMTJNw==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", + "license": "MIT" + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==", + "license": "BSD-3-Clause" + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/postcss": { + "version": "8.4.49", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/rollup": { + "version": "4.27.4", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/rollup/-/rollup-4.27.4.tgz", + "integrity": "sha512-RLKxqHEMjh/RGLsDxAEsaLO3mWgyoU6x9w6n1ikAzet4B3gI2/3yP6PWY2p9QzRTh6MfEIXB3MwsOY0Iv3vNrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.6" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.27.4", + "@rollup/rollup-android-arm64": "4.27.4", + "@rollup/rollup-darwin-arm64": "4.27.4", + "@rollup/rollup-darwin-x64": "4.27.4", + "@rollup/rollup-freebsd-arm64": "4.27.4", + "@rollup/rollup-freebsd-x64": "4.27.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.27.4", + "@rollup/rollup-linux-arm-musleabihf": "4.27.4", + "@rollup/rollup-linux-arm64-gnu": "4.27.4", + "@rollup/rollup-linux-arm64-musl": "4.27.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.27.4", + "@rollup/rollup-linux-riscv64-gnu": "4.27.4", + "@rollup/rollup-linux-s390x-gnu": "4.27.4", + "@rollup/rollup-linux-x64-gnu": "4.27.4", + "@rollup/rollup-linux-x64-musl": "4.27.4", + "@rollup/rollup-win32-arm64-msvc": "4.27.4", + "@rollup/rollup-win32-ia32-msvc": "4.27.4", + "@rollup/rollup-win32-x64-msvc": "4.27.4", + "fsevents": "~2.3.2" + } + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/typescript": { + "version": "5.6.3", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/typescript/-/typescript-5.6.3.tgz", + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/vite": { + "version": "5.4.11", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/vite/-/vite-5.4.11.tgz", + "integrity": "sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vscode-uri": { + "version": "3.0.8", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue": { + "version": "3.5.13", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/vue/-/vue-3.5.13.tgz", + "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-sfc": "3.5.13", + "@vue/runtime-dom": "3.5.13", + "@vue/server-renderer": "3.5.13", + "@vue/shared": "3.5.13" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-router": { + "version": "4.5.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/vue-router/-/vue-router-4.5.0.tgz", + "integrity": "sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-tsc": { + "version": "2.1.10", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/vue-tsc/-/vue-tsc-2.1.10.tgz", + "integrity": "sha512-RBNSfaaRHcN5uqVqJSZh++Gy/YUzryuv9u1aFWhsammDJXNtUiJMNoJ747lZcQ68wUQFx6E73y4FY3D8E7FGMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/typescript": "~2.4.8", + "@vue/language-core": "2.1.10", + "semver": "^7.5.4" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": ">=5.0.0" + } + } + } +} diff --git a/gold-system/vue/gold-system/package.json b/gold-system/vue/gold-system/package.json new file mode 100644 index 0000000..25fdc26 --- /dev/null +++ b/gold-system/vue/gold-system/package.json @@ -0,0 +1,24 @@ +{ + "name": "gold-system", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vue-tsc -b && vite build", + "preview": "vite preview" + }, + "dependencies": { + "@element-plus/icons-vue": "^2.3.1", + "axios": "^1.7.8", + "element-plus": "^2.8.8", + "vue": "^3.5.12", + "vue-router": "^4.5.0" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.1.4", + "typescript": "~5.6.2", + "vite": "^5.4.10", + "vue-tsc": "^2.1.8" + } +} diff --git a/gold-system/vue/gold-system/public/vite.svg b/gold-system/vue/gold-system/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/gold-system/vue/gold-system/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gold-system/vue/gold-system/src/App.vue b/gold-system/vue/gold-system/src/App.vue new file mode 100644 index 0000000..ccbcd97 --- /dev/null +++ b/gold-system/vue/gold-system/src/App.vue @@ -0,0 +1,9 @@ + + + + + diff --git a/gold-system/vue/gold-system/src/assets/vue.svg b/gold-system/vue/gold-system/src/assets/vue.svg new file mode 100644 index 0000000..770e9d3 --- /dev/null +++ b/gold-system/vue/gold-system/src/assets/vue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gold-system/vue/gold-system/src/assets/金币管理系统logo.png b/gold-system/vue/gold-system/src/assets/金币管理系统logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e6ef08a86fa389a456c9f33868cee63063116cd7 GIT binary patch literal 2026 zcmVeh4bY)!^&fNe22Y*RKK~z|U?byk4 z6xSI5@bByH*V|0@Y}y4v3$kM|0&kHi$E19)b4?|clmEmdhu~~S4#5Z|l`3om0-{}@ zjgd6HcfU1<5hk`J&%H-w7>@Uj~n#5~}Eaqt&lsO~{8<&1z4U9`P^m0QPrUJ-!*OclpL%rk%5zUfco0{!!e(DZQAh8wdNG#2*ASv-Q z6iFMPmkf2SK}54usZU+*Z+==DngC7DgM*^oQiz)EYi>c`$CFTZJiXk|N>wC|$U>0@-PTYS8bq|pmA@1Glr$GE1GHZ7NorkpeGWZxA)duMS*nj?T_`BNIZZU~6Uf8AbgsrQ;Ed z2m7)}&@3sI$s%?%tP{eOI%J%^tcG5s=}?BIo1?RH{>ZqHs=c+mv$$}$zC@EyDQRk0 zw~PVHAR5M8>}EVkL&J4*|K#!q~d;%Ewqx=gfgi*Q%TpbS$2LmPy>K* z+x+AH(VZwu#i^i^HHez)SBKwij$NLsj*bhVjy6}e?=BpyEfqx$2dw zqajeGEKQrMmBt+N4_ikMqvKkU3ff#0N>01hmxhN30Pt;;C8vN+sA5FTtyD*U)*Qbw zS3ftd6tp&0w(c&p)|QGmR8pE6PL-_R3|Fr;yfzcJ50b?o&zZX5n3Jw`K>2c9P^kbw z0TfCR4Tmi7)yCK)>f~s9bMw1@?l0fZ<4{Qn z0A)k}xa$6@-?tF|wB7#wj+_45MGH4lq zxLvR#F2qkfCv;m*+3P<)UK<)UZI{zL+}mz%Z{%^%p#Xr1*hh>qYP%_44D$cP`DRM* zh1vZe?VNZoi|092}#toT=$KA{ve7`Dkr6=%9++1d$@KH(!NB&Sqx0ZM78X$H{@ z1M&Gc6@ZXRNgxVLL=6!D3`7exO(GXc{BRTuM90vGfvAJfAX74zC(rd0MoLN!N||oi z@_gNLP&asy=TX3mOexiQgE}$ZD>-A1SqPO&RVDfr&;7FDpSR70c5>q|4*2m%xw`g# z#rgGc<-@8=bX>`bzdsHCaTvF#`0-+OibfV`!t&g(Y}>0?@;Kr&lTzkN#aw8B{lpkF$$)8CsI6u6>;3kPqxk4q zVu*%c40&H&sP{R>dP=YFw6AXmE6MSUJFBJx%9Ds?sbM;{U$y+2S@NY2G>LeTaVd|u z*vRQd#&|Nc=r;-#uHQ+0L=_LrUT`jhr*LQkW-Nb@X1Aw34w zEWbudzLcVfLtf-e$~G69IenBC-^JP8IA6(&fJ+4ch^XlRs6ZuLK2F&;Pm>#a(MHPH zi#CRr?cp5|%TvR$Ex%@YbyBKGDT*W%MJ|=1O2tBkLZ(u7)(gQTzP^J;vUy<2s z?Y5qS(&!neLCT#BNgA~!%>k4~OuKK)pSk8vegIa9hpl}54%>O8co*GP7hSsKoTed5 z6Ww&4XGlt#h5%^ypRde(=1zWyR*8iN>7)5n+a07*qo IM6N<$f(q5bod5s; literal 0 HcmV?d00001 diff --git a/gold-system/vue/gold-system/src/main.ts b/gold-system/vue/gold-system/src/main.ts new file mode 100644 index 0000000..d55fa21 --- /dev/null +++ b/gold-system/vue/gold-system/src/main.ts @@ -0,0 +1,14 @@ +import { createApp } from 'vue' +import App from './App.vue' +import router from './router' +import ElementPlus from 'element-plus' +import 'element-plus/dist/index.css' +import * as ElementPlusIconsVue from '@element-plus/icons-vue' + +const app = createApp(App) + +for (const [key, component] of Object.entries(ElementPlusIconsVue)) { + app.component(key, component) + } + +app.use(ElementPlus).use(router).mount('#app'); diff --git a/gold-system/vue/gold-system/src/router/index.js b/gold-system/vue/gold-system/src/router/index.js new file mode 100644 index 0000000..45794f3 --- /dev/null +++ b/gold-system/vue/gold-system/src/router/index.js @@ -0,0 +1,42 @@ +import { createRouter,createWebHashHistory } from 'vue-router'; + +const router=createRouter({ + history:createWebHashHistory(), + routes:[ + {path:'/',redirect:"/index"}, + { + path:'/index',component:()=>import("../views/index.vue"), + children:[ + // 工作台 + {path:'/workspace',component:()=>import("../views/workspace/index.vue")}, + // 充值审核 + {path:'/rechargeAudit',component:()=>import("../views/audit/rechargeAudit.vue")}, + // 退款审核 + {path:'/refundAudit',component:()=>import("../views/audit/refundAudit.vue")}, + // 新增消费 + {path:'/addConsume',component:()=>import("../views/consume/addConsume.vue")}, + // 所有消费明细 + {path:'/allConsume',component:()=>import("../views/consume/allConsume.vue")}, + // 活动管理 + {path:'/activity',component:()=>import("../views/managerecharge/activity.vue")}, + // 汇率管理 + {path:'/rate',component:()=>import("../views/managerecharge/rate.vue")}, + // 新增充值 + {path:'/addRecharge',component:()=>import("../views/recharge/addRecharge.vue")}, + // 客户充值明细 + {path:'/adminRecharge',component:()=>import("../views/recharge/adminRecharge.vue")}, + // 所有充值明细 + {path:'/allRecharge',component:()=>import("../views/recharge/allRecharge.vue")}, + // 新增退款 + {path:'/addRefund',component:()=>import("../views/refund/addRefund.vue")}, + // 退款明细 + {path:'/allRefund',component:()=>import("../views/refund/allRefund.vue")}, + // 客户金币明细 + {path:'/usergold',component:()=>import("../views/usergold/index.vue")}, + ] + }, + + ] +}); + +export default router; \ No newline at end of file diff --git a/gold-system/vue/gold-system/src/style.css b/gold-system/vue/gold-system/src/style.css new file mode 100644 index 0000000..bb131d6 --- /dev/null +++ b/gold-system/vue/gold-system/src/style.css @@ -0,0 +1,79 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +.card { + padding: 2em; +} + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/gold-system/vue/gold-system/src/views/audit/rechargeAudit.vue b/gold-system/vue/gold-system/src/views/audit/rechargeAudit.vue new file mode 100644 index 0000000..dccaee9 --- /dev/null +++ b/gold-system/vue/gold-system/src/views/audit/rechargeAudit.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/gold-system/vue/gold-system/src/views/audit/refundAudit.vue b/gold-system/vue/gold-system/src/views/audit/refundAudit.vue new file mode 100644 index 0000000..d52d774 --- /dev/null +++ b/gold-system/vue/gold-system/src/views/audit/refundAudit.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/gold-system/vue/gold-system/src/views/consume/addConsume.vue b/gold-system/vue/gold-system/src/views/consume/addConsume.vue new file mode 100644 index 0000000..6ec87ea --- /dev/null +++ b/gold-system/vue/gold-system/src/views/consume/addConsume.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/gold-system/vue/gold-system/src/views/consume/allConsume.vue b/gold-system/vue/gold-system/src/views/consume/allConsume.vue new file mode 100644 index 0000000..4923027 --- /dev/null +++ b/gold-system/vue/gold-system/src/views/consume/allConsume.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/gold-system/vue/gold-system/src/views/index.vue b/gold-system/vue/gold-system/src/views/index.vue new file mode 100644 index 0000000..d889952 --- /dev/null +++ b/gold-system/vue/gold-system/src/views/index.vue @@ -0,0 +1,110 @@ + + + + + \ No newline at end of file diff --git a/gold-system/vue/gold-system/src/views/managerecharge/activity.vue b/gold-system/vue/gold-system/src/views/managerecharge/activity.vue new file mode 100644 index 0000000..b2dbfe9 --- /dev/null +++ b/gold-system/vue/gold-system/src/views/managerecharge/activity.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/gold-system/vue/gold-system/src/views/managerecharge/rate.vue b/gold-system/vue/gold-system/src/views/managerecharge/rate.vue new file mode 100644 index 0000000..82e406f --- /dev/null +++ b/gold-system/vue/gold-system/src/views/managerecharge/rate.vue @@ -0,0 +1,22 @@ + + + + + \ No newline at end of file diff --git a/gold-system/vue/gold-system/src/views/recharge/addRecharge.vue b/gold-system/vue/gold-system/src/views/recharge/addRecharge.vue new file mode 100644 index 0000000..622a2bd --- /dev/null +++ b/gold-system/vue/gold-system/src/views/recharge/addRecharge.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/gold-system/vue/gold-system/src/views/recharge/adminRecharge.vue b/gold-system/vue/gold-system/src/views/recharge/adminRecharge.vue new file mode 100644 index 0000000..61e8b33 --- /dev/null +++ b/gold-system/vue/gold-system/src/views/recharge/adminRecharge.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/gold-system/vue/gold-system/src/views/recharge/allRecharge.vue b/gold-system/vue/gold-system/src/views/recharge/allRecharge.vue new file mode 100644 index 0000000..10dd5a4 --- /dev/null +++ b/gold-system/vue/gold-system/src/views/recharge/allRecharge.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/gold-system/vue/gold-system/src/views/refund/addRefund.vue b/gold-system/vue/gold-system/src/views/refund/addRefund.vue new file mode 100644 index 0000000..0913f8b --- /dev/null +++ b/gold-system/vue/gold-system/src/views/refund/addRefund.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/gold-system/vue/gold-system/src/views/refund/allRefund.vue b/gold-system/vue/gold-system/src/views/refund/allRefund.vue new file mode 100644 index 0000000..096f9dd --- /dev/null +++ b/gold-system/vue/gold-system/src/views/refund/allRefund.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/gold-system/vue/gold-system/src/views/usergold/index.vue b/gold-system/vue/gold-system/src/views/usergold/index.vue new file mode 100644 index 0000000..2cd2a17 --- /dev/null +++ b/gold-system/vue/gold-system/src/views/usergold/index.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/gold-system/vue/gold-system/src/views/workspace/index.vue b/gold-system/vue/gold-system/src/views/workspace/index.vue new file mode 100644 index 0000000..0c10df9 --- /dev/null +++ b/gold-system/vue/gold-system/src/views/workspace/index.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/gold-system/vue/gold-system/src/vite-env.d.ts b/gold-system/vue/gold-system/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/gold-system/vue/gold-system/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/gold-system/vue/gold-system/tsconfig.app.json b/gold-system/vue/gold-system/tsconfig.app.json new file mode 100644 index 0000000..cb88a5a --- /dev/null +++ b/gold-system/vue/gold-system/tsconfig.app.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "ES2020", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "Bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "preserve", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"] +} diff --git a/gold-system/vue/gold-system/tsconfig.json b/gold-system/vue/gold-system/tsconfig.json new file mode 100644 index 0000000..1ffef60 --- /dev/null +++ b/gold-system/vue/gold-system/tsconfig.json @@ -0,0 +1,7 @@ +{ + "files": [], + "references": [ + { "path": "./tsconfig.app.json" }, + { "path": "./tsconfig.node.json" } + ] +} diff --git a/gold-system/vue/gold-system/tsconfig.node.json b/gold-system/vue/gold-system/tsconfig.node.json new file mode 100644 index 0000000..abcd7f0 --- /dev/null +++ b/gold-system/vue/gold-system/tsconfig.node.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "ES2022", + "lib": ["ES2023"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "Bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/gold-system/vue/gold-system/vite.config.ts b/gold-system/vue/gold-system/vite.config.ts new file mode 100644 index 0000000..bbcf80c --- /dev/null +++ b/gold-system/vue/gold-system/vite.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [vue()], +})