# 新人礼技术方案

> 文档角色：技术方案
> 原始来源：`source_docs/technical_solutions/新人礼技术方案.docx`

基线改造---新人礼技术方案&需求概述
| 版本号 | 变更内容 | 变更人 | 变更时间 |
| 1.0 | 建档 | 陶震 | 2026-2-21 |
1 背景
1.1  需求背景
新增，针对于新注册，未下单用户发放专属优惠券的场景（暂不支持下单后退款场景）
1.2 业务现况
1.3. 业务系统现况
1.4 名词说明
| 名称 | 描述 |
| 新人(平台新人，店铺新人) | 平台新人：未在该平台下过单的用户，即shop_custormer中无任何数据的user 店铺新人：未在该店铺下过单的用户，即shop——customer中无该店铺该user数据的用户 |
1.7 涉及人员
| 角色名称 | 使用内容 |
| 用户 | 消费者 |
| 运营 | 商城日常使用维护以及操作者。 |
2 目标
本期实现目标说明：
2.1、技术目标
| 技术指标 | 指标值 | 备注 |
| 用户响应RT | 1000ms |  |
| 用户体量 |  |  |
| 并发数 |  |  |
| 开发语言 |  |  |
| 网络要求 |  |  |
3 整体概述
3.1 需求概述
同一时间仅允许一个新人礼活动(避免同一时间多个活动发放业务过重)。关联优惠券仅支持关联一张
C端弹窗，若存在进行中的新人礼活动且用户未领取过，则进行弹窗
3.2 业务架构图（一图概览）
3.3 业务模块列表
3.4 第三方服务列表(可选)
| 服务厂商 | 类型（接口/设备） | 接口地址 | 备注 | 状态 |
3.5 技术架构
3.5.1 前端设计
3.5.2 后端设计
3.6 领域模型设计
新人礼主表
| SQLCREATE TABLE `new_gift` (  `new_gift_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',  `shop_id` bigint NOT NULL COMMENT '关联店铺 平台为0',  `activity_name` varchar(255) COLLATE utf8mb4_general_ci NOT NULL COMMENT '活动名称',  `activity_start_time` datetime NOT NULL COMMENT '活动开始时间',  `activity_end_time` datetime NOT NULL COMMENT '活动结束时间',  `gift_type` int NOT NULL COMMENT '礼物类型 0优惠券 其他待拓展',  `activity_status` int NOT NULL COMMENT '活动状态0未开始，1进行中，2已结束',  `valid_status` int NOT NULL DEFAULT '0' COMMENT '有效性 0有效 1已失效',  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  `deleted` int NOT NULL DEFAULT '0' COMMENT '是否已删除 0否1是',  PRIMARY KEY (`new_gift_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='新人礼主表'; |
新人礼关联礼物表
| SQLCREATE TABLE `new_gift_detail` (  `new_gift_detail_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',  `new_gift_id` bigint NOT NULL COMMENT '新人礼主键',  `gift_type` int NOT NULL COMMENT '礼物类型 0优惠券 其他待拓展',  `gift_biz_id` bigint 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 (`new_gift_detail_id`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='新人礼 子表，存储主表与礼物关联关系'; |
新人礼发放记录表
| SQLCREATE TABLE `new_gift_send_log` (  `new_gift_log_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',  `user_id` bigint NOT NULL COMMENT '用户ID',  `send_status` int NOT NULL COMMENT '发放状态 0成功 1失败',  `fail_reason` json DEFAULT NULL COMMENT '失败原因',  `new_gift_id` bigint NOT NULL COMMENT '新人礼主键',  `new_gift_detail_id` bigint 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 (`new_gift_log_id`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='新人礼发放记录表'; |
3.7 数据模型设计
详见领域模型
3.8 依赖项
| 依赖项 | 作用 | 预计提供时间 | 状态 | 责任人 | 交付物 |
4 场景（user story）与流程图（How）
4.1  新增活动
4.1.1 业务流程图
4.1.2 时序图
4.1.3 接口依赖
无
4.1.4 接口设计
| API | 状态 | 说明 |
| /mp/newGift/save | 未开发 | 新增新人礼活动 |
| /mp/newGift/update | 未开发 | 修改新人礼活动 |
| /mp/newGift/detail | 未开发 | 查看新人礼详情 |
| /mp/newGift/delete | 未开发 | 删除新人礼活动 |
| /mp/newGift/page | 未开发 | 新人礼活动分页查询 |
| /ua/newGift/check | 未开发 | 检测用户是否符合进行中的平台/店铺中的新人礼活动。 |
| /ua/newGift/send | 未开发 | 为用户发放对应新人礼绑定的券 |
