This commit is contained in:
Leo
2025-03-02 16:25:53 +08:00
parent d8e97e7e2b
commit 31a5178d9c
13 changed files with 158 additions and 125 deletions

1
.idea/dataSources.xml generated
View File

@@ -22,6 +22,7 @@
<jdbc-additional-properties> <jdbc-additional-properties>
<property name="com.intellij.clouds.kubernetes.db.host.port" /> <property name="com.intellij.clouds.kubernetes.db.host.port" />
<property name="com.intellij.clouds.kubernetes.db.enabled" value="false" /> <property name="com.intellij.clouds.kubernetes.db.enabled" value="false" />
<property name="com.intellij.clouds.kubernetes.db.resource.type" value="Deployment" />
<property name="com.intellij.clouds.kubernetes.db.container.port" /> <property name="com.intellij.clouds.kubernetes.db.container.port" />
</jdbc-additional-properties> </jdbc-additional-properties>
<working-dir>$ProjectFileDir$</working-dir> <working-dir>$ProjectFileDir$</working-dir>

2
.idea/jpa.xml generated
View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="JpaBuddyIdeaProjectConfig"> <component name="JpaBuddyIdeaProjectConfig" ddlActionDbType="mysql">
<option name="defaultUnitInitialized" value="true" /> <option name="defaultUnitInitialized" value="true" />
<option name="reLastEntityCreationPackage" value="src/main/java/cn/van/business/model" /> <option name="reLastEntityCreationPackage" value="src/main/java/cn/van/business/model" />
<option name="renamerInitialized" value="true" /> <option name="renamerInitialized" value="true" />

18
pom.xml
View File

@@ -52,12 +52,12 @@
<dependency> <dependency>
<groupId>com.mysql</groupId> <groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId> <artifactId>mysql-connector-j</artifactId>
<version>8.0.33</version> <version>8.2.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.rocketmq</groupId> <groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId> <artifactId>rocketmq-spring-boot-starter</artifactId>
<version>2.2.0</version> <version>2.2.1</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.google.guava</groupId> <groupId>com.google.guava</groupId>
@@ -128,11 +128,11 @@
</plugins> </plugins>
</build> </build>
<!-- <repositories>--> <repositories>
<!-- <repository>--> <repository>
<!-- <id>maven-local88</id>--> <id>maven-local88</id>
<!-- <name>Local Repository</name>--> <name>Local Repository</name>
<!-- <url>http://192.168.8.88:8081/repository/maven-local88/</url>--> <url>http://192.168.8.88:8081/repository/maven-local88/</url>
<!-- </repository>--> </repository>
<!-- </repositories>--> </repositories>
</project> </project>

View File

@@ -1,9 +1,13 @@
package cn.van; package cn.van;
import jakarta.annotation.PostConstruct;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.core.env.Environment;
import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.EnableScheduling;
import java.util.Arrays;
/** /**
* @author Leo * @author Leo
* @version 1.0 * @version 1.0
@@ -14,7 +18,22 @@ import org.springframework.scheduling.annotation.EnableScheduling;
@EnableScheduling @EnableScheduling
public class Application { public class Application {
private final Environment env;
public Application(Environment env) {
this.env = env;
}
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(Application.class, args); SpringApplication.run(Application.class, args);
} }
@PostConstruct
public void init() {
String[] activeProfiles = env.getActiveProfiles();
if (activeProfiles.length == 0) {
activeProfiles = env.getDefaultProfiles();
}
System.out.println("Active profiles: " + Arrays.toString(activeProfiles));
}
} }

View File

@@ -0,0 +1,15 @@
package cn.van.business.config;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class RocketMQConfig {
@Bean
public RocketMQTemplate rocketMQTemplate() {
System.out.println("RocketMQTemplate init");
return new RocketMQTemplate();
}
}

View File

@@ -1,49 +1,49 @@
package cn.van.business.controller.jd; //package cn.van.business.controller.jd;
//
import cn.van.business.mq.MessageProducerService; //import cn.van.business.mq.MessageProducerService;
import cn.van.business.util.JDUtil; //import cn.van.business.util.JDUtil;
import com.alibaba.fastjson2.JSONObject; //import com.alibaba.fastjson2.JSONObject;
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; //import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; //import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController; //import org.springframework.web.bind.annotation.RestController;
//
//
/** ///**
* @author Leo // * @author Leo
* @version 1.0 // * @version 1.0
* @create 2024/11/7 13:39 // * @create 2024/11/7 13:39
* @description // * @description
*/ // */
@RestController //@RestController
@RequestMapping("/order") //@RequestMapping("/order")
public class OrderController { //public class OrderController {
//
public static String TOKEN = "cc0313"; // public static String TOKEN = "cc0313";
@Autowired // @Autowired
private JDUtil jdUtils; // private JDUtil jdUtils;
@Autowired // @Autowired
private MessageProducerService messageProducerService; // private MessageProducerService messageProducerService;
//
public boolean checkToken(String token) { // public boolean checkToken(String token) {
return TOKEN.equals(token); // return TOKEN.equals(token);
} // }
//
@RequestMapping("/refreshHistory") // @RequestMapping("/refreshHistory")
@ResponseBody // @ResponseBody
public String refreshHistory(String token) throws Exception { // public String refreshHistory(String token) throws Exception {
if (checkToken(token)) { // if (checkToken(token)) {
jdUtils.fetchHistoricalOrders3090(); // jdUtils.fetchHistoricalOrders3090();
} // }
return "OK"; // return "OK";
} // }
//
@RequestMapping("/mq") // @RequestMapping("/mq")
@ResponseBody // @ResponseBody
public String mq() { // public String mq() {
JSONObject jsonObject = new JSONObject(); // JSONObject jsonObject = new JSONObject();
messageProducerService.sendMessage(jsonObject); // messageProducerService.sendMessage(jsonObject);
return "OK"; // return "OK";
} // }
//
} //}

View File

@@ -22,11 +22,11 @@ public class SkuInfo {
/** /**
* 商品类型名称。 * 商品类型名称。
*/ */
@Column(name = "type_name", unique = true, nullable = false) @Column(name = "sku_name")
private String typeName; private String skuName;
@Column(name = "sku", unique = true, nullable = false) @Column(name = "sku_id")
private String sku; private String skuId;
} }

View File

@@ -1,6 +1,8 @@
package cn.van.business.model.jd; package cn.van.business.model.jd;
import jakarta.persistence.*; import jakarta.persistence.*;
import java.util.List;
import java.util.Set; import java.util.Set;
/** /**
@@ -27,8 +29,30 @@ public class SkuType {
/** /**
* 与该商品类型关联的商品ID集合。 * 与该商品类型关联的商品ID集合。
*/ */
@OneToMany(mappedBy = "sku_id", cascade = CascadeType.ALL, orphanRemoval = true) @Column(name = "sku_id")
private Set<ProductOrder> productOrders; private String skuId;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getTypeName() {
return typeName;
}
public void setTypeName(String typeName) {
this.typeName = typeName;
}
public String getSkuId() {
return skuId;
}
public void setSkuId(String skuId) {
this.skuId = skuId;
}
} }

View File

@@ -6,6 +6,7 @@ import org.apache.rocketmq.common.message.Message;
import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
@@ -23,6 +24,7 @@ public class MessageProducerService {
private final RocketMQTemplate rocketMQTemplate; private final RocketMQTemplate rocketMQTemplate;
@Autowired
public MessageProducerService(RocketMQTemplate rocketMQTemplate) { public MessageProducerService(RocketMQTemplate rocketMQTemplate) {
this.rocketMQTemplate = rocketMQTemplate; this.rocketMQTemplate = rocketMQTemplate;
} }
@@ -31,7 +33,6 @@ public class MessageProducerService {
public void sendMessage(JSONObject jsonObject) { public void sendMessage(JSONObject jsonObject) {
Message message = new Message(topic, jsonObject.toJSONString().getBytes()); Message message = new Message(topic, jsonObject.toJSONString().getBytes());
message.setTags("wx"); message.setTags("wx");
this.rocketMQTemplate.convertAndSend(topic, message); rocketMQTemplate.convertAndSend(topic, message);
} }
} }

View File

@@ -12,6 +12,7 @@ import lombok.NoArgsConstructor;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.core.env.Environment; import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -100,7 +101,7 @@ public class WXUtil {
@Autowired @Autowired
public WXUtil(Environment env, WxtsUtil wxTsUtil, MessageProducerService messageProducerService) { public WXUtil(Environment env, WxtsUtil wxTsUtil, @Lazy MessageProducerService messageProducerService) {
this.messageProducerService = messageProducerService; this.messageProducerService = messageProducerService;
this.wxTsUtil = wxTsUtil; this.wxTsUtil = wxTsUtil;
this.env = env; this.env = env;

View File

@@ -3,7 +3,7 @@ server:
spring: spring:
application: application:
name: jd name: jd
#数据源配置 # 数据源配置
datasource: datasource:
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.8.88:3306/jd?characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8 url: jdbc:mysql://192.168.8.88:3306/jd?characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
@@ -16,27 +16,13 @@ spring:
max-lifetime: 2000000 # 最大生命周期(毫秒) max-lifetime: 2000000 # 最大生命周期(毫秒)
connection-timeout: 30000 # 连接超时时间(毫秒) connection-timeout: 30000 # 连接超时时间(毫秒)
pool-name: SpringBootHikariCP # 连接池名字 pool-name: SpringBootHikariCP # 连接池名字
#redis配置
redis:
host: 192.168.8.88
port: 6379
database: 7
timeout: 1800000
lettuce:
pool:
max-active: 200
#最大阻塞等待时间(负数表示没限制)
max-wait: -1
max-idle: 5
min-idle: 0
password: redis_6PZ52S # 文件上传
servlet: servlet:
multipart: multipart:
# 单个文件大小 # 单个文件大小
max-file-size: 20MB max-file-size: 20MB
# 设置总上传的文件大小 # 设置总上传的文件大小
max-request-size: 20MB max-request-size: 20MB
#MyWebMvcConfig中开启@EnableWebMvc则失效 # MyWebMvcConfig中开启@EnableWebMvc则失效
jackson: jackson:
date-format: yyyy-MM-dd HH:mm:ss date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8 time-zone: GMT+8
@@ -47,6 +33,13 @@ spring:
messages: messages:
# 国际化资源文件路径 # 国际化资源文件路径
basename: i18n/messages basename: i18n/messages
data:
redis:
host: 192.168.8.88
password: redis_6PZ52S
timeout: 1800000
port: 6379
database: 7
# 日志配置 # 日志配置
logging: logging:

View File

@@ -16,20 +16,7 @@ spring:
max-lifetime: 2000000 # 最大生命周期(毫秒) max-lifetime: 2000000 # 最大生命周期(毫秒)
connection-timeout: 30000 # 连接超时时间(毫秒) connection-timeout: 30000 # 连接超时时间(毫秒)
pool-name: SpringBootHikariCP # 连接池名字 pool-name: SpringBootHikariCP # 连接池名字
#redis配置
redis:
host: 192.168.8.88
port: 6379
database: 7
timeout: 1800000
lettuce:
pool:
max-active: 200
#最大阻塞等待时间(负数表示没限制)
max-wait: -1
max-idle: 5
min-idle: 0
password: redis_6PZ52S # 文件上传
servlet: servlet:
multipart: multipart:
# 单个文件大小 # 单个文件大小
@@ -47,6 +34,13 @@ spring:
messages: messages:
# 国际化资源文件路径 # 国际化资源文件路径
basename: i18n/messages basename: i18n/messages
data:
redis:
host: 192.168.8.88
password: redis_6PZ52S
timeout: 1800000
port: 6379
database: 7
# 日志配置 # 日志配置
logging: logging:

View File

@@ -5,33 +5,6 @@ spring:
name: jd name: jd
profiles: profiles:
active: dev active: dev
#数据源配置
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://134.175.126.60:33306/jd?characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
username: root
password: mysql_7sjTXH
hikari:
maximum-pool-size: 2000 # 最大连接数
minimum-idle: 48 # 最小空闲连接数
idle-timeout: 30000 # 空闲连接超时时间(毫秒)
max-lifetime: 2000000 # 最大生命周期(毫秒)
connection-timeout: 30000 # 连接超时时间(毫秒)
pool-name: SpringBootHikariCP # 连接池名字
#redis配置
redis:
host: 134.175.126.60
port: 36379
database: 7
timeout: 1800000
lettuce:
pool:
max-active: 200
#最大阻塞等待时间(负数表示没限制)
max-wait: -1
max-idle: 5
min-idle: 0
password: redis_6PZ52S # 文件上传
servlet: servlet:
multipart: multipart:
# 单个文件大小 # 单个文件大小
@@ -53,6 +26,8 @@ spring:
execution: execution:
pool: pool:
core-size: 32 core-size: 32
main:
allow-circular-references: true
# token配置 # token配置
token: token:
@@ -76,3 +51,13 @@ logging:
level: level:
cn.van333: debug cn.van333: debug
org.springframework: warn org.springframework: warn
rocketmq:
name-server: 192.168.8.88:9876 # RocketMQ Name Server 地址
producer:
group: wx_producer # 生产者组名
send-msg-timeout: 1000 # 发送消息超时时间
consumer:
group: wx_consumer # 消费者组名
consume-thread-min: 20 # 消费线程池最小线程数
consume-thread-max: 64 # 消费线程池最大线程数
consume-message-batch-max-size: 64 # 批量消费最大消息数