diff --git a/docs/dev-ops/mysql/sql/0719group_buying_sys.sql b/docs/dev-ops/mysql/sql/0719group_buying_sys.sql
new file mode 100644
index 0000000..4781fbc
--- /dev/null
+++ b/docs/dev-ops/mysql/sql/0719group_buying_sys.sql
@@ -0,0 +1,276 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server : group_buy_local
+ Source Server Type : MySQL
+ Source Server Version : 80042
+ Source Host : localhost:13306
+ Source Schema : group_buying_sys
+
+ Target Server Type : MySQL
+ Target Server Version : 80042
+ File Encoding : 65001
+
+ Date: 19/07/2025 18:10:09
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for crowd_tags
+-- ----------------------------
+DROP TABLE IF EXISTS `crowd_tags`;
+CREATE TABLE `crowd_tags` (
+ `id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+ `tag_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '人群ID',
+ `tag_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '人群名称',
+ `tag_desc` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '人群描述',
+ `statistics` int NOT NULL COMMENT '人群标签统计量',
+ `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+ PRIMARY KEY (`id`) USING BTREE,
+ UNIQUE INDEX `uq_tag_id`(`tag_id` ASC) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '人群标签' ROW_FORMAT = DYNAMIC;
+
+-- ----------------------------
+-- Records of crowd_tags
+-- ----------------------------
+INSERT INTO `crowd_tags` VALUES (1, 'RQ_KJHKL98UU78H66554GFDV', '潜在消费用户', '潜在消费用户', 28, '2025-06-26 09:12:22', '2025-06-28 11:02:00');
+
+-- ----------------------------
+-- Table structure for crowd_tags_detail
+-- ----------------------------
+DROP TABLE IF EXISTS `crowd_tags_detail`;
+CREATE TABLE `crowd_tags_detail` (
+ `id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+ `tag_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '人群ID',
+ `user_id` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户ID',
+ `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+ PRIMARY KEY (`id`) USING BTREE,
+ UNIQUE INDEX `uq_tag_user`(`tag_id` ASC, `user_id` ASC) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '人群标签明细' ROW_FORMAT = DYNAMIC;
+
+-- ----------------------------
+-- Records of crowd_tags_detail
+-- ----------------------------
+INSERT INTO `crowd_tags_detail` VALUES (20, 'RQ_KJHKL98UU78H66554GFDV', 'zy123', '2025-06-28 10:53:23', '2025-06-28 10:53:23');
+INSERT INTO `crowd_tags_detail` VALUES (21, 'RQ_KJHKL98UU78H66554GFDV', 'smile', '2025-06-28 10:53:23', '2025-06-28 10:53:23');
+
+-- ----------------------------
+-- Table structure for crowd_tags_job
+-- ----------------------------
+DROP TABLE IF EXISTS `crowd_tags_job`;
+CREATE TABLE `crowd_tags_job` (
+ `id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+ `tag_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '标签ID',
+ `batch_id` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '批次ID',
+ `tag_type` tinyint(1) NOT NULL DEFAULT 1 COMMENT '标签类型(参与量、消费金额)',
+ `tag_rule` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '标签规则(限定类型 N次)',
+ `stat_start_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '统计数据,开始时间',
+ `stat_end_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '统计数据,结束时间',
+ `status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态;0初始、1计划(进入执行阶段)、2重置、3完成',
+ `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+ PRIMARY KEY (`id`) USING BTREE,
+ UNIQUE INDEX `uq_batch_id`(`batch_id` ASC) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '人群标签任务' ROW_FORMAT = DYNAMIC;
+
+-- ----------------------------
+-- Records of crowd_tags_job
+-- ----------------------------
+INSERT INTO `crowd_tags_job` VALUES (1, 'RQ_KJHKL98UU78H66554GFDV', '10001', 0, '100', '2025-06-26 09:13:31', '2025-06-26 09:13:31', 0, '2025-06-26 09:13:31', '2025-06-26 09:13:31');
+
+-- ----------------------------
+-- Table structure for group_buy_activity
+-- ----------------------------
+DROP TABLE IF EXISTS `group_buy_activity`;
+CREATE TABLE `group_buy_activity` (
+ `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增',
+ `activity_id` bigint NOT NULL COMMENT '活动ID',
+ `activity_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '活动名称',
+ `discount_id` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '折扣ID',
+ `group_type` tinyint(1) NOT NULL DEFAULT 0 COMMENT '拼团方式(0自动成团、1达成目标拼团)',
+ `take_limit_count` int NOT NULL DEFAULT 1 COMMENT '拼团次数限制',
+ `target` int NOT NULL DEFAULT 1 COMMENT '拼团目标',
+ `valid_time` int NOT NULL DEFAULT 15 COMMENT '拼团时长(分钟)',
+ `status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '活动状态(0创建、1生效、2过期、3废弃)',
+ `start_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '活动开始时间',
+ `end_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '活动结束时间',
+ `tag_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '人群标签规则标识',
+ `tag_scope` varchar(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '人群标签规则范围(多选;1可见限制、2参与限制)',
+ `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+ PRIMARY KEY (`id`) USING BTREE,
+ UNIQUE INDEX `uq_activity_id`(`activity_id` ASC) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '拼团活动' ROW_FORMAT = DYNAMIC;
+
+-- ----------------------------
+-- Records of group_buy_activity
+-- ----------------------------
+INSERT INTO `group_buy_activity` VALUES (1, 100123, '测试活动', '25120207', 0, 1, 3, 60, 1, '2025-06-19 10:19:40', '2025-07-31 10:19:40', 'RQ_KJHKL98UU78H66554GFDV', '1,2', '2025-06-19 10:19:40', '2025-07-03 18:25:55');
+INSERT INTO `group_buy_activity` VALUES (2, 100124, '测试活动2', '25120207', 0, 1, 1, 60, 1, '2025-07-05 13:39:52', '2025-09-28 13:39:34', 'RQ_KJHKL98UU78H66554GFDV', '1,2', '2025-07-05 13:39:52', '2025-07-05 13:40:06');
+
+-- ----------------------------
+-- Table structure for group_buy_discount
+-- ----------------------------
+DROP TABLE IF EXISTS `group_buy_discount`;
+CREATE TABLE `group_buy_discount` (
+ `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+ `discount_id` int NOT NULL COMMENT '折扣ID',
+ `discount_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '折扣标题',
+ `discount_desc` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '折扣描述',
+ `discount_type` tinyint(1) NOT NULL DEFAULT 0 COMMENT '折扣类型(0:base、1:tag)',
+ `market_plan` varchar(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'ZJ' COMMENT '营销优惠计划(ZJ:直减、MJ:满减、ZK:折扣、N元购)',
+ `market_expr` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '营销优惠表达式',
+ `tag_id` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '人群标签,特定优惠限定',
+ `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+ PRIMARY KEY (`id`) USING BTREE,
+ UNIQUE INDEX `uq_discount_id`(`discount_id` ASC) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '折扣配置' ROW_FORMAT = DYNAMIC;
+
+-- ----------------------------
+-- Records of group_buy_discount
+-- ----------------------------
+INSERT INTO `group_buy_discount` VALUES (1, 25120207, '直减优惠20元', '直减优惠20元', 0, 'ZJ', '20', NULL, '2025-06-25 14:02:13', '2025-06-25 14:02:13');
+INSERT INTO `group_buy_discount` VALUES (2, 25120208, '满减优惠100-10元', '满减优惠100-10元', 0, 'MJ', '100,10', NULL, '2025-06-25 14:02:13', '2025-06-25 14:02:13');
+INSERT INTO `group_buy_discount` VALUES (4, 25120209, '折扣优惠8折', '折扣优惠8折', 0, 'ZK', '0.8', NULL, '2025-06-25 14:02:13', '2025-06-25 14:02:13');
+INSERT INTO `group_buy_discount` VALUES (5, 25120210, 'N元购买优惠', 'N元购买优惠', 0, 'N', '1.99', NULL, '2025-06-25 14:02:13', '2025-06-25 14:02:13');
+
+-- ----------------------------
+-- Table structure for group_buy_order
+-- ----------------------------
+DROP TABLE IF EXISTS `group_buy_order`;
+CREATE TABLE `group_buy_order` (
+ `id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+ `team_id` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '拼单组队ID',
+ `activity_id` bigint NOT NULL COMMENT '活动ID',
+ `source` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '渠道',
+ `channel` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '来源',
+ `original_price` decimal(8, 2) NOT NULL COMMENT '原始价格',
+ `deduction_price` decimal(8, 2) NOT NULL COMMENT '折扣金额',
+ `pay_price` decimal(8, 2) NOT NULL COMMENT '支付价格',
+ `target_count` int NOT NULL COMMENT '目标数量',
+ `complete_count` int NOT NULL COMMENT '完成数量',
+ `lock_count` int NOT NULL COMMENT '锁单数量',
+ `status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态(0-拼单中、1-完成、2-失败)',
+ `valid_start_time` datetime NOT NULL COMMENT '拼团开始时间',
+ `valid_end_time` datetime NOT NULL COMMENT '拼团结束时间',
+ `notify_type` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'HTTP' COMMENT '回调类型(HTTP、MQ)',
+ `notify_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '回调地址(HTTP 回调不可为空)',
+ `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+ PRIMARY KEY (`id`) USING BTREE,
+ UNIQUE INDEX `uq_team_id`(`team_id` ASC) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 38 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '拼团订单表' ROW_FORMAT = DYNAMIC;
+
+-- ----------------------------
+-- Records of group_buy_order
+-- ----------------------------
+INSERT INTO `group_buy_order` VALUES (39, '92219797', 100124, 's01', 'c01', 100.00, 20.00, 80.00, 1, 1, 1, 1, '2025-07-19 18:08:18', '2025-07-19 19:08:18', 'MQ', NULL, '2025-07-19 18:08:18', '2025-07-19 18:08:55');
+
+-- ----------------------------
+-- Table structure for group_buy_order_list
+-- ----------------------------
+DROP TABLE IF EXISTS `group_buy_order_list`;
+CREATE TABLE `group_buy_order_list` (
+ `id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+ `user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户ID',
+ `team_id` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '拼单组队ID',
+ `order_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '订单ID',
+ `activity_id` bigint NOT NULL COMMENT '活动ID',
+ `start_time` datetime NOT NULL COMMENT '活动开始时间',
+ `end_time` datetime NOT NULL COMMENT '活动结束时间',
+ `goods_id` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '商品ID',
+ `source` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '渠道',
+ `channel` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '来源',
+ `original_price` decimal(8, 2) NOT NULL COMMENT '原始价格',
+ `deduction_price` decimal(8, 2) NOT NULL COMMENT '折扣金额',
+ `pay_price` decimal(8, 2) NOT NULL COMMENT '支付金额',
+ `status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态;0初始锁定、1消费完成',
+ `out_trade_no` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '外部交易单号-确保外部调用唯一幂等',
+ `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+ `biz_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '业务唯一ID',
+ `out_trade_time` datetime NULL DEFAULT NULL COMMENT '外部交易时间',
+ PRIMARY KEY (`id`) USING BTREE,
+ UNIQUE INDEX `uq_order_id`(`order_id` ASC) USING BTREE,
+ INDEX `idx_user_id_activity_id`(`user_id` ASC, `activity_id` ASC) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 35 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '拼团订单明细表' ROW_FORMAT = DYNAMIC;
+
+-- ----------------------------
+-- Records of group_buy_order_list
+-- ----------------------------
+INSERT INTO `group_buy_order_list` VALUES (37, 'smile02', '92219797', '527461199182', 100124, '2025-07-05 13:39:52', '2025-09-28 13:39:34', '9890001', 's01', 'c01', 100.00, 20.00, 80.00, 1, '334152190173', '2025-07-19 18:08:18', '2025-07-19 18:08:55', '100124_smile02_1', '2025-07-19 18:08:55');
+
+-- ----------------------------
+-- Table structure for notify_task
+-- ----------------------------
+DROP TABLE IF EXISTS `notify_task`;
+CREATE TABLE `notify_task` (
+ `id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+ `activity_id` bigint NOT NULL COMMENT '活动ID',
+ `team_id` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '拼单组队ID',
+ `notify_type` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'HTTP' COMMENT '回调类型(HTTP、MQ)',
+ `notify_mq` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '回调消息',
+ `notify_url` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '回调接口',
+ `notify_count` int NOT NULL COMMENT '回调次数',
+ `notify_status` tinyint(1) NOT NULL COMMENT '回调状态【0初始、1完成、2重试、3失败】',
+ `parameter_json` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '参数对象',
+ `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+ PRIMARY KEY (`id`) USING BTREE,
+ UNIQUE INDEX `uq_team_id`(`team_id` ASC) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
+
+-- ----------------------------
+-- Records of notify_task
+-- ----------------------------
+INSERT INTO `notify_task` VALUES (7, 100124, '92219797', 'MQ', 'topic.team_success', NULL, 1, 1, '{\"teamId\":\"92219797\",\"outTradeNoList\":[\"334152190173\"]}', '2025-07-19 18:08:55', '2025-07-19 18:08:55');
+
+-- ----------------------------
+-- Table structure for sc_sku_activity
+-- ----------------------------
+DROP TABLE IF EXISTS `sc_sku_activity`;
+CREATE TABLE `sc_sku_activity` (
+ `id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+ `source` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '渠道',
+ `channel` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '来源',
+ `activity_id` bigint NOT NULL COMMENT '活动ID',
+ `goods_id` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '商品ID',
+ `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+ PRIMARY KEY (`id`) USING BTREE,
+ UNIQUE INDEX `uq_sc_goodsid`(`source` ASC, `channel` ASC, `goods_id` ASC) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '渠道商品活动配置关联表' ROW_FORMAT = DYNAMIC;
+
+-- ----------------------------
+-- Records of sc_sku_activity
+-- ----------------------------
+INSERT INTO `sc_sku_activity` VALUES (1, 's01', 'c01', 100123, '9890001', '2025-06-26 17:15:54', '2025-06-26 17:15:54');
+
+-- ----------------------------
+-- Table structure for sku
+-- ----------------------------
+DROP TABLE IF EXISTS `sku`;
+CREATE TABLE `sku` (
+ `id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+ `source` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '渠道',
+ `channel` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '来源',
+ `goods_id` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '商品ID',
+ `goods_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '商品名称',
+ `original_price` decimal(10, 2) NOT NULL COMMENT '商品价格',
+ `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+ PRIMARY KEY (`id`) USING BTREE,
+ UNIQUE INDEX `uq_goods_id`(`goods_id` ASC) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '商品信息' ROW_FORMAT = DYNAMIC;
+
+-- ----------------------------
+-- Records of sku
+-- ----------------------------
+INSERT INTO `sku` VALUES (1, 's01', 'c01', '9890001', '《手写MyBatis:渐进式源码实践》', 100.00, '2025-06-22 11:10:06', '2025-06-22 11:10:06');
+
+SET FOREIGN_KEY_CHECKS = 1;
diff --git a/docs/dev-ops/mysql/sql/0716group_buying_sys.sql b/docs/dev-ops/sql-back/0716group_buying_sys.sql
similarity index 98%
rename from docs/dev-ops/mysql/sql/0716group_buying_sys.sql
rename to docs/dev-ops/sql-back/0716group_buying_sys.sql
index 525211a..121f677 100644
--- a/docs/dev-ops/mysql/sql/0716group_buying_sys.sql
+++ b/docs/dev-ops/sql-back/0716group_buying_sys.sql
@@ -13,6 +13,16 @@
Date: 16/07/2025 17:09:09
*/
+-- 如果存在就删除
+DROP DATABASE IF EXISTS `group_buying_sys`;
+
+-- 创建(如需指定字符集与排序规则,可自行调整)
+CREATE DATABASE IF NOT EXISTS `group_buying_sys`
+ DEFAULT CHARACTER SET utf8mb4
+ COLLATE utf8mb4_unicode_ci;
+
+-- 切换到该库
+USE `group_buying_sys`;
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
diff --git a/group-buying-sys-api/src/main/java/edu/whut/api/dto/LockMarketPayOrderRequestDTO.java b/group-buying-sys-api/src/main/java/edu/whut/api/dto/LockMarketPayOrderRequestDTO.java
index 8ccb62e..f471099 100644
--- a/group-buying-sys-api/src/main/java/edu/whut/api/dto/LockMarketPayOrderRequestDTO.java
+++ b/group-buying-sys-api/src/main/java/edu/whut/api/dto/LockMarketPayOrderRequestDTO.java
@@ -22,7 +22,39 @@ public class LockMarketPayOrderRequestDTO {
private String channel;
// 外部交易单号
private String outTradeNo;
- // 回调地址
- private String notifyUrl;
+ // 回调配置,调用方自己配置回调类型
+ private NotifyConfigVO notifyConfigVO;
+
+ // 兼容旧配置,用户仍可继续使用setNotifyUrl方法
+ public void setNotifyUrl(String url) {
+ NotifyConfigVO notifyConfigVO = new NotifyConfigVO();
+ notifyConfigVO.setNotifyType("HTTP");
+ notifyConfigVO.setNotifyUrl(url);
+ this.notifyConfigVO = notifyConfigVO;
+ }
+
+ // 兼容配置 - MQ不需要指定,系统会发统一MQ消息
+ public void setNotifyMQ() {
+ NotifyConfigVO notifyConfigVO = new NotifyConfigVO();
+ notifyConfigVO.setNotifyType("MQ");
+ this.notifyConfigVO = notifyConfigVO;
+ }
+
+ // 回调配置
+ @Data
+ public static class NotifyConfigVO {
+ /**
+ * 回调方式;MQ、HTTP
+ */
+ private String notifyType;
+ /**
+ * 回调消息
+ */
+ private String notifyMQ;
+ /**
+ * 回调地址
+ */
+ private String notifyUrl;
+ }
}
diff --git a/group-buying-sys-app/src/main/java/edu/whut/config/RabbitMQConfig.java b/group-buying-sys-app/src/main/java/edu/whut/config/RabbitMQConfig.java
index b376e38..8eab1a8 100644
--- a/group-buying-sys-app/src/main/java/edu/whut/config/RabbitMQConfig.java
+++ b/group-buying-sys-app/src/main/java/edu/whut/config/RabbitMQConfig.java
@@ -3,8 +3,9 @@ package edu.whut.config;
import org.springframework.amqp.core.*;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
-//@Configuration
+@Configuration
public class RabbitMQConfig {
@Value("${spring.rabbitmq.config.producer.exchange}")
diff --git a/group-buying-sys-app/src/main/resources/mybatis/mapper/group_buy_order_mapper.xml b/group-buying-sys-app/src/main/resources/mybatis/mapper/group_buy_order_mapper.xml
index 75ee72c..47eec1b 100644
--- a/group-buying-sys-app/src/main/resources/mybatis/mapper/group_buy_order_mapper.xml
+++ b/group-buying-sys-app/src/main/resources/mybatis/mapper/group_buy_order_mapper.xml
@@ -17,6 +17,7 @@
+
@@ -26,10 +27,10 @@
insert into group_buy_order(
team_id, activity_id, source, channel, original_price,
deduction_price, pay_price, target_count, complete_count,
- lock_count, status, valid_start_time, valid_end_time, notify_url, create_time, update_time
+ lock_count, status, valid_start_time, valid_end_time, notify_type, notify_url, create_time, update_time
) values(
#{teamId}, #{activityId}, #{source}, #{channel}, #{originalPrice},
- #{deductionPrice}, #{payPrice}, #{targetCount}, #{completeCount}, #{lockCount}, 0, #{validStartTime}, #{validEndTime} ,#{notifyUrl},now(), now()
+ #{deductionPrice}, #{payPrice}, #{targetCount}, #{completeCount}, #{lockCount}, 0, #{validStartTime}, #{validEndTime},#{notifyType}, #{notifyUrl},now(), now()
)
@@ -67,13 +68,14 @@