From 0c6f1e97e36561883613bbd1f09072fa35468848 Mon Sep 17 00:00:00 2001
From: sikadi <13315935+sikadi_love@user.noreply.gitee.com>
Date: Thu, 5 Oct 2023 14:27:56 +0800
Subject: [PATCH] =?UTF-8?q?=E5=B9=82=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.gitignore | 38 ++++
.idea/.gitignore | 8 +
.idea/aws.xml | 11 ++
.idea/encodings.xml | 11 ++
.idea/misc.xml | 14 ++
.idea/vcs.xml | 6 +
holiday01-common/.gitignore | 38 ++++
holiday01-common/pom.xml | 128 ++++++++++++++
.../src/main/java/com/sikadi/Main.java | 9 +
holiday01-modules/.gitignore | 38 ++++
holiday01-modules/pom.xml | 165 ++++++++++++++++++
.../src/main/java/com/sikadi/Main.java | 35 ++++
.../src/main/resources/bootstrap.yml | 30 ++++
pom.xml | 63 +++++++
14 files changed, 594 insertions(+)
create mode 100644 .gitignore
create mode 100644 .idea/.gitignore
create mode 100644 .idea/aws.xml
create mode 100644 .idea/encodings.xml
create mode 100644 .idea/misc.xml
create mode 100644 .idea/vcs.xml
create mode 100644 holiday01-common/.gitignore
create mode 100644 holiday01-common/pom.xml
create mode 100644 holiday01-common/src/main/java/com/sikadi/Main.java
create mode 100644 holiday01-modules/.gitignore
create mode 100644 holiday01-modules/pom.xml
create mode 100644 holiday01-modules/src/main/java/com/sikadi/Main.java
create mode 100644 holiday01-modules/src/main/resources/bootstrap.yml
create mode 100644 pom.xml
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,38 @@
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### IntelliJ IDEA ###
+.idea/modules.xml
+.idea/jarRepositories.xml
+.idea/compiler.xml
+.idea/libraries/
+*.iws
+*.iml
+*.ipr
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store
\ No newline at end of file
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..35410ca
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
+# 基于编辑器的 HTTP 客户端请求
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/aws.xml b/.idea/aws.xml
new file mode 100644
index 0000000..b63b642
--- /dev/null
+++ b/.idea/aws.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..1443980
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..132404b
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/holiday01-common/.gitignore b/holiday01-common/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/holiday01-common/.gitignore
@@ -0,0 +1,38 @@
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### IntelliJ IDEA ###
+.idea/modules.xml
+.idea/jarRepositories.xml
+.idea/compiler.xml
+.idea/libraries/
+*.iws
+*.iml
+*.ipr
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store
\ No newline at end of file
diff --git a/holiday01-common/pom.xml b/holiday01-common/pom.xml
new file mode 100644
index 0000000..e1a5abd
--- /dev/null
+++ b/holiday01-common/pom.xml
@@ -0,0 +1,128 @@
+
+
+ 4.0.0
+
+ com.sikadi
+ holiday01-01
+ 1.0-SNAPSHOT
+
+
+ holiday01-common
+
+
+ 8
+ 8
+ UTF-8
+
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-bootstrap
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-sentinel
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-loadbalancer
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
+
+
+
+ io.jsonwebtoken
+ jjwt
+ 0.9.1
+
+
+
+ com.alibaba
+ fastjson
+ 1.2.80
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-starter-validation
+
+
+
+ org.apache.commons
+ commons-lang3
+
+
+
+ org.projectlombok
+ lombok
+
+
+
+ cn.hutool
+ hutool-all
+ 5.8.3
+
+
+
+ com.aliyun
+ dysmsapi20170525
+ 2.0.1
+
+
+
+ org.springframework.boot
+ spring-boot-starter-amqp
+
+
+ com.fasterxml.jackson.dataformat
+ jackson-dataformat-xml
+ 2.9.10
+
+
+
+ com.aliyun.oss
+ aliyun-sdk-oss
+ 3.10.2
+
+
+
+ com.github.tobato
+ fastdfs-client
+ 1.26.5
+
+
+ org.elasticsearch.client
+ elasticsearch-rest-high-level-client
+
+
+ com.aliyun.oss
+ aliyun-sdk-oss
+ 3.11.0
+
+
+
+
diff --git a/holiday01-common/src/main/java/com/sikadi/Main.java b/holiday01-common/src/main/java/com/sikadi/Main.java
new file mode 100644
index 0000000..34a0703
--- /dev/null
+++ b/holiday01-common/src/main/java/com/sikadi/Main.java
@@ -0,0 +1,9 @@
+package com.sikadi;
+
+import java.lang.annotation.*;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+public @interface Main {
+
+}
diff --git a/holiday01-modules/.gitignore b/holiday01-modules/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/holiday01-modules/.gitignore
@@ -0,0 +1,38 @@
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### IntelliJ IDEA ###
+.idea/modules.xml
+.idea/jarRepositories.xml
+.idea/compiler.xml
+.idea/libraries/
+*.iws
+*.iml
+*.ipr
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store
\ No newline at end of file
diff --git a/holiday01-modules/pom.xml b/holiday01-modules/pom.xml
new file mode 100644
index 0000000..7334edf
--- /dev/null
+++ b/holiday01-modules/pom.xml
@@ -0,0 +1,165 @@
+
+
+ 4.0.0
+
+ com.sikadi
+ holiday01-01
+ 1.0-SNAPSHOT
+
+
+ holiday01-modules
+
+
+ 8
+ 8
+ UTF-8
+
+
+
+
+
+ com.sikadi
+ holiday01-common
+ 1.0-SNAPSHOT
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ com.alibaba
+ druid-spring-boot-starter
+ 1.2.8
+
+
+
+ mysql
+ mysql-connector-java
+
+
+
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter
+ 2.2.2
+
+
+
+ com.github.pagehelper
+ pagehelper-spring-boot-starter
+ 1.4.1
+
+
+
+ software.amazon.awssdk
+ s3
+ 2.18.30
+
+
+ org.slf4j
+ slf4j-simple
+ 2.0.5
+
+
+ software.amazon.awssdk
+ s3-transfer-manager
+ 2.18.30-PREVIEW
+
+
+ org.json
+ json
+ 20090211
+
+
+ org.junit.jupiter
+ junit-jupiter-api
+ 5.10.0-M1
+
+
+
+ org.springframework.boot
+ spring-boot-configuration-processor
+ true
+ 2.7.8
+
+
+ cn.hutool
+ hutool-all
+ 5.8.18
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+ 2.7.8
+
+
+ com.alibaba
+ fastjson
+ 1.2.67
+
+
+ org.java-websocket
+ Java-WebSocket
+ 1.3.8
+
+
+
+ com.squareup.okhttp3
+ okhttp
+ 4.9.3
+
+
+
+ org.projectlombok
+ lombok
+ 1.18.24
+
+
+ org.slf4j
+ slf4j-log4j12
+ 1.7.30
+
+
+ mysql
+ mysql-connector-java
+ 5.1.32
+
+
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter
+ 2.3.1
+
+
+ org.springframework.boot
+ spring-boot-starter-aop
+ 2.7.2
+
+
+ org.json
+ json
+ 20210307
+
+
+ commons-codec
+ commons-codec
+ 1.15
+
+
+ com.amazonaws
+ aws-java-sdk-s3
+ 1.12.68
+
+
+
+ com.amazonaws
+ aws-java-sdk-core
+ 1.12.68
+
+
+
+
+
+
diff --git a/holiday01-modules/src/main/java/com/sikadi/Main.java b/holiday01-modules/src/main/java/com/sikadi/Main.java
new file mode 100644
index 0000000..f27d3c9
--- /dev/null
+++ b/holiday01-modules/src/main/java/com/sikadi/Main.java
@@ -0,0 +1,35 @@
+package com.sikadi;
+
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+public class Main {
+ @Around("@annotation(idempotent)")
+ public Object independent(ProceedingJoinPoint joinPoint, Main idempotent) {
+ Object result=null;
+ Map map=new ConcurrentHashMap();
+ String id = generateId(joinPoint.getArgs());
+ try {
+ if (map.containsKey(id)){
+ System.out.println("不要重复提交请求");
+ return map.get(id);
+ }
+ result= joinPoint.proceed();
+ } catch (Throwable throwable) {
+ throwable.printStackTrace();
+ }
+ map.put(id,result);
+ return result;
+ }
+
+ private String generateId(Object[] args){
+ StringBuilder stringBuilder = new StringBuilder();
+ for (Object arg : args) {
+ stringBuilder.append(arg.hashCode());
+ }
+ return stringBuilder.toString();
+ }
+}
diff --git a/holiday01-modules/src/main/resources/bootstrap.yml b/holiday01-modules/src/main/resources/bootstrap.yml
new file mode 100644
index 0000000..3f0ddbc
--- /dev/null
+++ b/holiday01-modules/src/main/resources/bootstrap.yml
@@ -0,0 +1,30 @@
+# Tomcat
+server:
+ port: 9001
+# Spring
+spring:
+ main:
+ allow-circular-references: true
+ jackson:
+ date-format: yyyy-MM-dd HH:mm:ss
+ time-zone: GMT+8
+ application:
+ # 应用名称
+ name: sikadi-user
+ profiles:
+ # 环境配置
+ active: dev
+ cloud:
+ nacos:
+ discovery:
+ # 服务注册地址
+ server-addr: 182.254.222.21:8848
+ config:
+ # 配置中心地址
+ server-addr: 182.254.222.21:8848
+ # 配置文件格式
+ file-extension: yml
+ # 共享配置
+ shared-configs:
+ - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+ namespace: Sikadi
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..982de1c
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,63 @@
+
+
+ 4.0.0
+
+ com.sikadi
+ holiday01-01
+ 1.0-SNAPSHOT
+ pom
+
+ holiday01-common
+ holiday01-modules
+
+
+
+ 8
+ 8
+ UTF-8
+
+
+
+
+
+ spring-boot-starter-parent
+ org.springframework.boot
+ 2.6.2
+
+
+
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-dependencies
+ 2021.0.0
+ pom
+ import
+
+
+
+ com.alibaba.cloud
+ spring-cloud-alibaba-dependencies
+ 2021.1
+ pom
+ import
+
+
+
+ com.alibaba.nacos
+ nacos-client
+ 2.0.4
+
+
+ com.sikadi
+ holiday01-common
+ 1.0-SNAPSHOT
+
+
+
+
+