-- ----------------------------
|
-- 企业/个体工商户认证:认证资料表扩充
|
--
|
-- 目标库 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`;
|