# shcool_resources_gift 表文档 ## 表概述 **表名**: shcool_resources_gift **功能**: 客户资源赠品管理表,用于管理各种类型的赠品发放、使用和状态跟踪 ## 字段说明 ``` Field Type Collation Null Key Default Extra Privileges Comment id int NULL NO PRI NULL auto_increment select,insert,update,references 赠品主键ID gift_name varchar(255) utf8mb4_general_ci NO select,insert,update,references 赠品名称 gift_type varchar(50) utf8mb4_general_ci NO MUL select,insert,update,references 赠品类型:course(赠课),voucher(代金券) gift_time int NULL NO MUL 0 select,insert,update,references 赠送时间 giver_id int NULL NO MUL 0 select,insert,update,references 赠送来源人员ID resource_id int NULL NO MUL 0 select,insert,update,references 赠品归属资源ID order_id int NULL NO MUL 0 select,insert,update,references 赠品使用的订单ID(0表示未使用) gift_status tinyint NULL NO MUL 1 select,insert,update,references 赠品状态:1=未使用,2=已使用,3=已过期,4=已作废 use_time int NULL NO 0 select,insert,update,references 赠品使用时间 create_time int NULL NO 0 select,insert,update,references 创建时间 update_time int NULL NO 0 select,insert,update,references 更新时间 delete_time int NULL NO 0 select,insert,update,references 删除时间 ``` ## 功能用途 ### 主要功能 - **赠品管理**: 管理各种类型的赠品信息和发放记录 - **赠品分类**: 通过gift_type字段区分赠课、代金券等不同类型赠品 - **状态跟踪**: 实时跟踪赠品的使用状态(未使用、已使用、已过期、已作废) - **发放记录**: 记录赠品的发放来源和发放时间 - **使用追踪**: 跟踪赠品的使用情况和使用时间 - **资源关联**: 通过resource_id关联具体的资源或课程 - **订单绑定**: 通过order_id记录赠品使用的订单信息 - **时间管理**: 完整记录赠品的创建、使用、更新等时间节点 - **软删除支持**: 支持软删除机制,保留重要的赠品历史记录 ### 业务场景 - **新用户赠课**: 为新注册用户赠送体验课程 - **推荐奖励**: 为推荐新用户的老用户发放赠品奖励 - **活动促销**: 在营销活动中发放代金券和赠课 - **生日礼品**: 为用户生日发放特殊赠品 - **节日福利**: 在节假日为用户发放节日赠品 - **补偿赠品**: 为服务问题或投诉用户发放补偿赠品 - **会员福利**: 为VIP会员定期发放专属赠品 - **完课奖励**: 为完成课程的学员发放奖励赠品 - **邀请奖励**: 为邀请好友的用户发放邀请奖励 - **充值赠送**: 用户充值时赠送额外的代金券或课程 ## 关联关系 ### 主要关联表 - **school_personnel**: 人员表,通过giver_id关联赠品发放人员 - **school_course**: 课程表,当gift_type为course时关联具体课程 - **school_member**: 会员表,关联赠品的接收用户 - **school_order**: 订单表,通过order_id关联赠品使用的订单 - **school_pay**: 支付表,代金券类赠品可能影响支付金额 - **school_activity**: 活动表,赠品可能来源于营销活动 - **school_member_account**: 会员账户表,代金券可能影响账户余额 - **school_sys_user**: 系统用户表,关联赠品管理的操作用户 ### 关联说明 - **发放人关联**: giver_id关联发放赠品的人员信息 - **资源关联**: resource_id根据赠品类型关联不同的资源表 - **订单关联**: order_id记录赠品在哪个订单中被使用 - **用户关联**: 赠品最终归属于具体的用户或会员 - **活动关联**: 赠品可能来源于特定的营销活动 ## 索引建议 ```sql -- 主键索引(自动创建) PRIMARY KEY (id) -- 赠品类型索引(用于按类型查询) INDEX idx_gift_type (gift_type) -- 发放人员索引(用于查询发放记录) INDEX idx_giver_id (giver_id) -- 资源ID索引(用于查询资源相关赠品) INDEX idx_resource_id (resource_id) -- 订单ID索引(用于查询订单使用的赠品) INDEX idx_order_id (order_id) -- 赠品状态索引(用于按状态查询) INDEX idx_gift_status (gift_status) -- 赠送时间索引(用于按时间查询) INDEX idx_gift_time (gift_time) -- 使用时间索引(用于按使用时间查询) INDEX idx_use_time (use_time) -- 创建时间索引(用于按创建时间查询) INDEX idx_create_time (create_time) -- 复合索引(用于赠品统计) INDEX idx_type_status_time (gift_type, gift_status, gift_time) -- 复合索引(用于发放人统计) INDEX idx_giver_status_time (giver_id, gift_status, create_time) -- 软删除索引(用于查询有效记录) INDEX idx_delete_time (delete_time) ``` ## 注意事项 - **状态管理**: 赠品状态变更应有严格的业务逻辑控制 - **过期处理**: 需要定期检查和处理过期的赠品 - **使用限制**: 赠品使用应有明确的使用条件和限制 - **重复使用**: 防止同一赠品被重复使用 - **权限控制**: 赠品发放和管理应有严格的权限控制 - **数据一致性**: 赠品使用时应确保与订单数据的一致性 - **时间精度**: 时间字段应保证足够精度,支持精确的时间统计 - **类型规范**: gift_type字段应有明确的类型定义和枚举值 - **资源验证**: resource_id应验证关联资源的有效性 - **成本控制**: 赠品发放应考虑成本控制和预算管理 - **使用统计**: 建立赠品使用效果的统计和分析机制 - **防刷机制**: 建立防止恶意刷取赠品的安全机制 - **有效期管理**: 赠品应有明确的有效期设置和管理 - **审计追踪**: 重要赠品操作应有完整的审计记录 - **批量处理**: 大量赠品操作时需要考虑性能优化