-- 拉卡拉进件、收款账户及远端操作记录 CREATE TABLE IF NOT EXISTS `xhLakalaApplication` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '申请主键ID', `mainId` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '所属主体ID', `shopId` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '所属门店ID', `accountId` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '关联拉卡拉收款账户ID,首次进件草稿为0', `type` varchar(32) NOT NULL DEFAULT 'onboarding' COMMENT '申请类型:onboarding首次进件,settlement_change结算账户变更', `status` varchar(32) NOT NULL DEFAULT 'DRAFT' COMMENT '申请状态:草稿、合同待签、待审核、已驳回、已通过等', `currentStep` tinyint(3) unsigned NOT NULL DEFAULT 1 COMMENT '五步进件表单当前步骤,范围1至5', `formData` mediumtext COMMENT '当前申请表单及附件数据JSON', `merchantNo` varchar(64) NOT NULL DEFAULT '' COMMENT '拉卡拉商户号', `customerNo` varchar(64) NOT NULL DEFAULT '' COMMENT '拉卡拉客户号', `shopNo` varchar(64) NOT NULL DEFAULT '' COMMENT '拉卡拉网点号', `contractOrderNo` varchar(64) NOT NULL DEFAULT '' COMMENT '电子合同申请订单号', `contractApplyId` varchar(64) NOT NULL DEFAULT '' COMMENT '电子合同申请ID', `contractNo` varchar(64) NOT NULL DEFAULT '' COMMENT '签约完成后的电子合同编号', `contractStatus` varchar(32) NOT NULL DEFAULT '' COMMENT '电子合同签约状态', `reviewRelatedId` varchar(64) NOT NULL DEFAULT '' COMMENT '拉卡拉审核关联ID,用于查询申请审核状态', `rejectReason` varchar(500) NOT NULL DEFAULT '' COMMENT '最近一次审核驳回原因', `versionNo` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '当前已提交版本号', `createTime` datetime NOT NULL COMMENT '创建时间', `updateTime` datetime NOT NULL COMMENT '最后更新时间', PRIMARY KEY (`id`), KEY `idx_main_shop` (`mainId`, `shopId`), KEY `idx_status` (`status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='拉卡拉进件申请'; CREATE TABLE IF NOT EXISTS `xhLakalaApplicationVersion` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '版本快照主键ID', `applicationId` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '关联申请主键ID', `mainId` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '所属主体ID', `versionNo` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '申请版本号,同一申请内递增', `type` varchar(32) NOT NULL DEFAULT '' COMMENT '版本类型:首次提交、驳回重提或结算账户变更', `formData` mediumtext COMMENT '提交时不可变表单及附件快照JSON', `requestData` mediumtext COMMENT '提交至拉卡拉的请求数据JSON', `responseData` mediumtext COMMENT '拉卡拉提交响应数据JSON', `createTime` datetime NOT NULL COMMENT '版本创建时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_application_version` (`applicationId`, `versionNo`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='拉卡拉进件版本快照'; CREATE TABLE IF NOT EXISTS `xhLakalaAccount` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '收款账户主键ID', `mainId` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '所属主体ID', `shopId` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '所属门店ID', `applicationId` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '认证通过的来源进件申请ID', `merchantNo` varchar(64) NOT NULL DEFAULT '' COMMENT '拉卡拉商户号', `customerNo` varchar(64) NOT NULL DEFAULT '' COMMENT '拉卡拉客户号', `shopNo` varchar(64) NOT NULL DEFAULT '' COMMENT '拉卡拉网点号', `accountName` varchar(100) NOT NULL DEFAULT '' COMMENT '银行结算账户开户名', `accountNo` varchar(64) NOT NULL DEFAULT '' COMMENT '银行结算账号', `bankName` varchar(150) NOT NULL DEFAULT '' COMMENT '开户银行名称', `accountType` varchar(8) NOT NULL DEFAULT '' COMMENT '结算账户类型:57对公、58对私', `licenseName` varchar(150) NOT NULL DEFAULT '' COMMENT '营业执照名称', `identityExpire` varchar(32) NOT NULL DEFAULT '' COMMENT '法人或结算人身份证有效期', `scanTermNo` varchar(64) NOT NULL DEFAULT '' COMMENT 'WECHAT_PAY扫码终端号', `b2bTermNo` varchar(64) NOT NULL DEFAULT '' COMMENT 'B2B_SYT批发终端号', `wxAuthorizeState` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT '微信认证状态: 0未认证,1已认证(来自支付宝微信认证状态查询接口)', `zfbAuthorizeState` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT '支付宝认证状态:0未认证,1已认证(来自支付宝微信认证状态查询接口)', `status` varchar(32) NOT NULL DEFAULT 'ACTIVE' COMMENT '账户状态', `isCurrent` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT '是否为当前门店收款账户:0否,1是', `createTime` datetime NOT NULL COMMENT '创建时间', `updateTime` datetime NOT NULL COMMENT '最后更新时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_main_merchant` (`mainId`, `merchantNo`), KEY `idx_shop_current` (`shopId`, `isCurrent`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='拉卡拉收款账户'; CREATE TABLE IF NOT EXISTS `xhLakalaOperation` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '远端操作主键ID', `applicationId` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '关联申请主键ID', `accountId` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '关联拉卡拉收款账户ID', `mainId` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '所属主体ID', `operationType` varchar(40) NOT NULL DEFAULT '' COMMENT '远端操作类型:合同申请、首次进件、增终或结算变更等', `bizType` varchar(32) NOT NULL DEFAULT '' COMMENT '业务子类型,如WECHAT_PAY或B2B_SYT', `status` varchar(32) NOT NULL DEFAULT 'PREPARE' COMMENT '远端操作状态', `reviewRelatedId` varchar(64) NOT NULL DEFAULT '' COMMENT '拉卡拉审核关联ID,用于幂等和审核查询', `requestData` mediumtext COMMENT '远端操作请求数据JSON', `responseData` mediumtext COMMENT '远端操作响应数据JSON', `errorMessage` varchar(500) NOT NULL DEFAULT '' COMMENT '远端操作失败错误信息', `createTime` datetime NOT NULL COMMENT '创建时间', `updateTime` datetime NOT NULL COMMENT '最后更新时间', PRIMARY KEY (`id`), KEY `idx_application_operation` (`applicationId`, `operationType`, `bizType`), KEY `idx_review_related` (`reviewRelatedId`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='拉卡拉远端操作';