完成基本下单的学习

This commit is contained in:
2026-03-03 18:02:03 +08:00
parent 887fea1961
commit 8b37cccb93
24 changed files with 643 additions and 57 deletions

View File

@@ -19,10 +19,69 @@
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- 可选Nacos 配置管理(从 Nacos 读取配置文件) -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<!-- 负载均衡Feign 内置,但显式引入更清晰) -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-core</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.19</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>4.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
</dependency>
</dependencies>
</project>

View File

@@ -1,13 +1,17 @@
package cn.mayiming;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* Hello world!
*
*/
@SpringBootApplication
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
SpringApplication.run(App.class, args);
}
}

View File

@@ -0,0 +1,18 @@
package cn.mayiming.Consumer;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Component;
@Component
@RocketMQMessageListener(
topic = "pay_topic",
consumerGroup = "pay-service-consumer",
selectorExpression = "pay_success"
)
public class payConsumer implements RocketMQListener<String> {
@Override
public void onMessage(String s) {
System.out.println("接收到消息"+s);
}
}

View File

@@ -0,0 +1,52 @@
server:
port: 9093
spring:
application:
name: pay-service
cloud:
nacos:
# 服务注册发现配置
discovery:
server-addr: localhost:8848 # Nacos 服务地址(默认端口 8848
namespace: public # 命名空间(默认 public自定义需先在 Nacos 控制台创建)
group: DEFAULT_GROUP # 分组(默认 DEFAULT_GROUP
service: pay-service # 注册到 Nacos 的服务名(建议和子项目 artifactId 一致)
# 配置管理配置(如果引入了 config 依赖才需要)
config:
server-addr: localhost:8848 # 和 discovery 一致
file-extension: yaml
namespace: public
group: DEFAULT_GROUP
config:
import: nacos:${spring.application.name}.${spring.cloud.nacos.config.file-extension}?server-addr=${spring.cloud.nacos.config.server-addr}
datasource:
# 数据库驱动类MySQL 8.x 用 com.mysql.cj.jdbc.Driver5.x 用 com.mysql.jdbc.Driver
driver-class-name: com.mysql.cj.jdbc.Driver
# 数据库连接 URL替换为你的数据库地址、端口、库名如 user_db
url: jdbc:mysql://rm-f8z6oc5a03331500p8o.mysql.rds.aliyuncs.com:3306/pay_db?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
# 数据库用户名(默认 root根据实际情况修改
username: root
# 数据库密码(替换为你的 MySQL 密码)
password: Root123456
# 可选:连接池配置(推荐使用 HikariCPSpring Boot 2.x 默认)
hikari:
# 连接池最大连接数
maximum-pool-size: 10
# 连接池最小空闲连接数
minimum-idle: 2
# 连接超时时间(毫秒)
connection-timeout: 30000
# 连接最大存活时间(毫秒)
max-lifetime: 1800000
rocketmq:
# NameServer 地址(替换为你的 RocketMQ 服务器IP
name-server: 127.0.0.1:9876
consumer:
# 消费者组名(必须唯一,建议按服务+用途命名)
group: order-service-consumer
# 消费模式CONCURRENTLY并发消费默认/ORDERLY顺序消费
consume-mode: CONCURRENTLY
# 批量消费最大条数默认1单条消费
consume-message-batch-max-size: 1
# 最大重试次数(消费失败后自动重试,超过次数进入死信队列)
max-reconsume-times: 3