-- ---------------------------- -- 企业/个体工商户认证:认证资料表扩充 -- -- 目标库 hugray-account(库名含连字符,任何引用都必须用反引号)。 -- 本脚本为扩充脚本,两张认证表已有数据,一律用 ALTER,绝不 DROP。 -- -- 背景:原型「企业/个体认证」四步向导(企业信息 / 法人信息 / 收款信息 / 提交审核) -- 所需字段中,营业执照有效期类型、法人身份证正反面、法人身份证有效期、法人身份证详细地址、 -- 负责人姓名/电话/邮箱、收款类型、银行卡照片、银行卡号、开户城市共 13 列缺失,本次补齐。 -- -- 涉及表: -- account_certification_apply 存"每次提交的申请",提交企业认证时 subject_type 取 2/3 -- account_certification 存"当前生效"的认证资料,审核通过时落一份 -- account_user 新增 company_auth_status,企业/个体认证状态独立于 auth_status -- -- 【枚举取值】 -- 主体类型 subject_type :1个人 2个体工商户 3企业 -- 有效期类型 license_valid_type :1长期 2短期 -- 有效期类型 legal_id_valid_type :1长期 2短期 -- 企业认证状态 company_auth_status :0未认证 1审核中 2已认证 3认证失败 -- -- 【幂等说明】复用 hugray_add_column 临时存储过程做存在性判断,脚本可安全重复执行。 -- -- 【回滚语句】(如需回滚,在 hugray-account 库执行) -- ALTER TABLE `account_certification_apply` DROP COLUMN `license_valid_type`, -- DROP COLUMN `legal_id_card_front`, DROP COLUMN `legal_id_card_back`, -- DROP COLUMN `legal_id_valid_type`, DROP COLUMN `legal_id_valid_period`, -- DROP COLUMN `legal_id_address`, DROP COLUMN `contact_name`, DROP COLUMN `contact_phone`, -- DROP COLUMN `contact_email`, DROP COLUMN `payee_type`, DROP COLUMN `bank_card_image`, -- DROP COLUMN `bank_card_no`, DROP COLUMN `bank_city`; -- ALTER TABLE `account_certification` DROP COLUMN `license_valid_type`, -- DROP COLUMN `legal_id_card_front`, DROP COLUMN `legal_id_card_back`, -- DROP COLUMN `legal_id_valid_type`, DROP COLUMN `legal_id_valid_period`, -- DROP COLUMN `legal_id_address`, DROP COLUMN `contact_name`, DROP COLUMN `contact_phone`, -- DROP COLUMN `contact_email`, DROP COLUMN `payee_type`, DROP COLUMN `bank_card_image`, -- DROP COLUMN `bank_card_no`, DROP COLUMN `bank_city`; -- ALTER TABLE `account_user` DROP COLUMN `company_auth_status`; -- ---------------------------- USE `hugray-account`; -- ---------- 幂等辅助过程 ---------- DROP PROCEDURE IF EXISTS `hugray_add_column`; DROP PROCEDURE IF EXISTS `hugray_add_index`; DELIMITER $$ CREATE PROCEDURE `hugray_add_column`(IN p_table VARCHAR(64), IN p_column VARCHAR(64), IN p_definition TEXT) BEGIN IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = p_table AND COLUMN_NAME = p_column) THEN SET @ddl = CONCAT('ALTER TABLE `', p_table, '` ADD COLUMN `', p_column, '` ', p_definition); PREPARE stmt FROM @ddl; EXECUTE stmt; DEALLOCATE PREPARE stmt; END IF; END$$ CREATE PROCEDURE `hugray_add_index`(IN p_table VARCHAR(64), IN p_index VARCHAR(64), IN p_columns TEXT) BEGIN IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = p_table AND INDEX_NAME = p_index) THEN SET @ddl = CONCAT('ALTER TABLE `', p_table, '` ADD INDEX `', p_index, '` (', p_columns, ')'); PREPARE stmt FROM @ddl; EXECUTE stmt; DEALLOCATE PREPARE stmt; END IF; END$$ DELIMITER ; -- ---------- 1. account_certification_apply:企业/个体认证字段 ---------- CALL `hugray_add_column`('account_certification_apply', 'license_valid_type', "varchar(16) DEFAULT NULL COMMENT '营业执照有效期类型(1长期 2短期)'"); CALL `hugray_add_column`('account_certification_apply', 'legal_id_card_front', "varchar(500) DEFAULT NULL COMMENT '法人身份证人像面图片'"); CALL `hugray_add_column`('account_certification_apply', 'legal_id_card_back', "varchar(500) DEFAULT NULL COMMENT '法人身份证国徽面图片'"); CALL `hugray_add_column`('account_certification_apply', 'legal_id_valid_type', "varchar(16) DEFAULT NULL COMMENT '法人身份证有效期类型(1长期 2短期)'"); CALL `hugray_add_column`('account_certification_apply', 'legal_id_valid_period',"varchar(32) DEFAULT NULL COMMENT '法人身份证有效期(存文本,如 2024-01-01~2034-01-01)'"); CALL `hugray_add_column`('account_certification_apply', 'legal_id_address', "varchar(255) DEFAULT NULL COMMENT '法人身份证详细地址'"); CALL `hugray_add_column`('account_certification_apply', 'contact_name', "varchar(64) DEFAULT NULL COMMENT '负责人姓名'"); CALL `hugray_add_column`('account_certification_apply', 'contact_phone', "varchar(20) DEFAULT NULL COMMENT '负责人联系电话'"); CALL `hugray_add_column`('account_certification_apply', 'contact_email', "varchar(128) DEFAULT NULL COMMENT '负责人邮箱'"); CALL `hugray_add_column`('account_certification_apply', 'payee_type', "varchar(16) DEFAULT NULL COMMENT '收款类型'"); CALL `hugray_add_column`('account_certification_apply', 'bank_card_image', "varchar(500) DEFAULT NULL COMMENT '银行卡号码面照片'"); CALL `hugray_add_column`('account_certification_apply', 'bank_card_no', "varchar(32) DEFAULT NULL COMMENT '银行卡号'"); CALL `hugray_add_column`('account_certification_apply', 'bank_city', "varchar(128) DEFAULT NULL COMMENT '开户城市'"); -- ---------- 2. account_certification:企业/个体认证字段(与申请表同构) ---------- CALL `hugray_add_column`('account_certification', 'license_valid_type', "varchar(16) DEFAULT NULL COMMENT '营业执照有效期类型(1长期 2短期)'"); CALL `hugray_add_column`('account_certification', 'legal_id_card_front', "varchar(500) DEFAULT NULL COMMENT '法人身份证人像面图片'"); CALL `hugray_add_column`('account_certification', 'legal_id_card_back', "varchar(500) DEFAULT NULL COMMENT '法人身份证国徽面图片'"); CALL `hugray_add_column`('account_certification', 'legal_id_valid_type', "varchar(16) DEFAULT NULL COMMENT '法人身份证有效期类型(1长期 2短期)'"); CALL `hugray_add_column`('account_certification', 'legal_id_valid_period',"varchar(32) DEFAULT NULL COMMENT '法人身份证有效期(存文本,如 2024-01-01~2034-01-01)'"); CALL `hugray_add_column`('account_certification', 'legal_id_address', "varchar(255) DEFAULT NULL COMMENT '法人身份证详细地址'"); CALL `hugray_add_column`('account_certification', 'contact_name', "varchar(64) DEFAULT NULL COMMENT '负责人姓名'"); CALL `hugray_add_column`('account_certification', 'contact_phone', "varchar(20) DEFAULT NULL COMMENT '负责人联系电话'"); CALL `hugray_add_column`('account_certification', 'contact_email', "varchar(128) DEFAULT NULL COMMENT '负责人邮箱'"); CALL `hugray_add_column`('account_certification', 'payee_type', "varchar(16) DEFAULT NULL COMMENT '收款类型'"); CALL `hugray_add_column`('account_certification', 'bank_card_image', "varchar(500) DEFAULT NULL COMMENT '银行卡号码面照片'"); CALL `hugray_add_column`('account_certification', 'bank_card_no', "varchar(32) DEFAULT NULL COMMENT '银行卡号'"); CALL `hugray_add_column`('account_certification', 'bank_city', "varchar(128) DEFAULT NULL COMMENT '开户城市'"); -- ---------- 3. account_user:企业/个体认证状态(独立于 auth_status) ---------- -- 个人中心需两行独立徽标(实名认证 / 企业个体户认证),故企业状态单独一列,互不覆盖。 CALL `hugray_add_column`('account_user', 'company_auth_status', "char(1) DEFAULT '0' COMMENT '企业/个体认证状态(0未认证 1审核中 2已认证 3认证失败)'"); CALL `hugray_add_index`('account_user', 'idx_account_user_company_auth', '`company_auth_status`'); -- ---------- 4. 清理辅助过程 ---------- DROP PROCEDURE IF EXISTS `hugray_add_column`; DROP PROCEDURE IF EXISTS `hugray_add_index`; -- ---------- 5. 结果核对 ---------- SELECT `COLUMN_NAME`, `COLUMN_TYPE`, `COLUMN_DEFAULT`, `COLUMN_COMMENT` FROM INFORMATION_SCHEMA.COLUMNS WHERE `TABLE_SCHEMA` = DATABASE() AND `TABLE_NAME` = 'account_certification_apply' ORDER BY `ORDINAL_POSITION`;