| talent-card-server/src/main/resources/db/migration/V141__create_dependent_card_apply.sql | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| talent-card-server/src/main/resources/db/migration/V142__create_merchant_benefit_rule.sql | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
talent-card-server/src/main/resources/db/migration/V141__create_dependent_card_apply.sql
New file @@ -0,0 +1,44 @@ -- 家属卡(附属卡)申请主表。 -- -- 这张表一直在用:人才端小程序走 /api/app/family-cards/applications 提交、查询、驳回后重提、 -- 解绑;后台「家属卡申请」页走 /api/admin/dependent-card-applies 审核,变更留痕写进 -- dependent_card_apply_status_log(那张表 V90 已经建好)。 -- -- 但主表当年是直接在开发库里手建的,迁移里一直没有,于是任何按迁移全新建的库都缺它: -- 后台工作台统计(待办项里查这张表)和家属卡申请页都会直接 500。 -- -- 这里按开发库里的实际结构补建,让新库与开发库一致。 create table if not exists dependent_card_apply ( id bigint unsigned not null auto_increment comment '主键', apply_no varchar(64) not null comment '申请编号', talent_id bigint unsigned not null comment '持卡人ID', talent_card_id bigint unsigned default null comment '人才卡ID', talent_name varchar(64) not null comment '持卡人姓名', talent_mobile varchar(32) not null comment '持卡人手机号', talent_card_no varchar(64) default null comment '人才卡号', card_level varchar(64) default null comment '卡片等级', family_talent_id bigint default null comment '通过审核后家属的人才用户ID', family_card_id bigint default null comment '通过审核后家属的人才卡ID', dependent_name varchar(64) not null comment '家属姓名', dependent_mobile varchar(32) not null comment '家属手机号', dependent_id_card_no varchar(32) default null comment '家属身份证号', relation varchar(32) not null comment '家属关系', proof_files json default null comment '证明材料文件列表', apply_type varchar(32) not null default 'FAMILY' comment '申请类型:FAMILY家属卡 CHILD子女等', apply_time datetime not null default current_timestamp comment '申请时间', status tinyint not null default '0' comment '状态:0待审核 1通过 2驳回 3取消', audit_by bigint unsigned default null comment '审核人', audit_time datetime default null comment '审核时间', audit_remark varchar(500) default null comment '审核备注', created_at datetime not null default current_timestamp comment '创建时间', updated_at datetime not null default current_timestamp on update current_timestamp comment '更新时间', deleted tinyint not null default '0' comment '逻辑删除:0否 1是', primary key (id), unique key uk_dependent_apply_no (apply_no), key idx_dependent_talent_id (talent_id), key idx_dependent_mobile (dependent_mobile), key idx_dependent_card_level (card_level), key idx_dependent_apply_time (apply_time), key idx_dependent_status (status), key idx_dependent_card_apply_family_card (family_card_id) ) engine=InnoDB default charset=utf8mb4 comment='家属卡申请'; talent-card-server/src/main/resources/db/migration/V142__create_merchant_benefit_rule.sql
New file @@ -0,0 +1,33 @@ -- 商户权益规则表。 -- -- 按「商户 + 商品 + 人才卡等级」配置权益:折扣、减免金额、免费次数、重置周期、家属是否可用、 -- 是否可到店使用。当前代码里只有酒店权益会读它,而且是兜底:BenefitQuotaService.hotelPolicy -- 先读 merchant.merchant_rights_config(JSON),为空时才回落到这张表按卡等级取免费次数。 -- -- 这张表和 dependent_card_apply 一样,只在开发库里手建过,迁移里一直没有;新库走到这个回落 -- 分支就会报「表不存在」。开发库里它是 0 行,所以补建空表即可,代码路径不再炸。 create table if not exists merchant_benefit_rule ( id bigint unsigned not null auto_increment comment '主键', merchant_id bigint unsigned not null comment '商户ID', product_id bigint unsigned default null comment '商品ID,为空表示商户级权益', card_level varchar(64) not null comment '适用人才卡等级', local_type tinyint not null default '0' comment '本地/外地:0不限 1本地 2外地', benefit_type varchar(64) not null comment '权益类型:DISCOUNT折扣 AMOUNT减免 FREE免费 COUPON券', discount_rate decimal(5,2) default null comment '折扣,如8.80表示8.8折', reduce_amount decimal(10,2) default null comment '减免金额', free_count int default null comment '免费次数', reset_cycle varchar(32) not null default 'NONE' comment '重置周期:NONE/DAY/WEEK/MONTH/QUARTER/YEAR', over_limit_rule varchar(500) default null comment '超过次数后的规则', can_family_use tinyint not null default '0' comment '家属是否可用:0否 1是', can_on_site_use tinyint not null default '0' comment '是否到店消费可用:0否 1是', use_desc text comment '使用说明', status tinyint not null default '1' comment '状态:0禁用 1启用', created_at datetime not null default current_timestamp comment '创建时间', updated_at datetime not null default current_timestamp on update current_timestamp comment '更新时间', deleted tinyint not null default '0' comment '逻辑删除:0否 1是', primary key (id), key idx_benefit_rule_merchant_id (merchant_id), key idx_benefit_rule_product_id (product_id), key idx_benefit_rule_card_level (card_level), key idx_benefit_rule_status (status) ) engine=InnoDB default charset=utf8mb4 comment='商户权益规则';