feat: 基本实现拆单收货
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
CREATE TABLE IF NOT EXISTS `supplier_points_ledger` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT COMMENT '积分流水主键ID',
|
||||
`ledgerNo` VARCHAR(191) NOT NULL COMMENT '流水号,业务唯一',
|
||||
`supplierId` VARCHAR(191) NOT NULL COMMENT '供应商ID',
|
||||
`userId` VARCHAR(191) NOT NULL COMMENT '用户ID',
|
||||
`mainOrderId` VARCHAR(191) NULL COMMENT '关联主单ID',
|
||||
`subOrderId` VARCHAR(191) NULL COMMENT '关联子单ID',
|
||||
`bizType` INT NOT NULL COMMENT '业务类型:1支付消费,2取消返还,3退货退款,4人工调整',
|
||||
`direction` INT NOT NULL COMMENT '流水方向:1增加,2扣减',
|
||||
`points` DECIMAL(10, 2) NOT NULL COMMENT '积分变动金额',
|
||||
`beforePoints` DECIMAL(10, 2) NULL COMMENT '变动前积分余额',
|
||||
`afterPoints` DECIMAL(10, 2) NULL COMMENT '变动后积分余额',
|
||||
`remark` TEXT NULL COMMENT '流水备注',
|
||||
`createTime` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间',
|
||||
`updateTime` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '更新时间',
|
||||
`deleted` INT NOT NULL DEFAULT 0 COMMENT '删除状态:0未删除,1已删除',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `supplier_points_ledger_ledgerNo_key` (`ledgerNo`),
|
||||
KEY `supplier_points_ledger_supplierId_userId_idx` (`supplierId`, `userId`),
|
||||
KEY `supplier_points_ledger_mainOrderId_idx` (`mainOrderId`),
|
||||
KEY `supplier_points_ledger_subOrderId_idx` (`subOrderId`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='供应商用户积分消费流水表';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `supplier_order_push_log` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT COMMENT '订单推送日志主键ID',
|
||||
`supplierId` VARCHAR(191) NOT NULL COMMENT '供应商ID',
|
||||
`userId` VARCHAR(191) NULL COMMENT '用户ID',
|
||||
`mainOrderId` VARCHAR(191) NULL COMMENT '主单ID',
|
||||
`orderId` VARCHAR(1000) NULL COMMENT '推送订单ID,多个子单用英文逗号分隔',
|
||||
`orderType` INT NULL COMMENT '推送事件类型:1取消主单,2拆单子单,3取消子单,7取消已支付未拆单整单',
|
||||
`apiPath` VARCHAR(191) NOT NULL COMMENT '推送接口路径',
|
||||
`requestBody` JSON NULL COMMENT '推送请求体',
|
||||
`responseBody` JSON NULL COMMENT '推送响应体',
|
||||
`httpStatus` INT NULL COMMENT 'HTTP状态码',
|
||||
`resultCode` INT NULL COMMENT '远程业务返回码',
|
||||
`pushStatus` INT NOT NULL DEFAULT 0 COMMENT '推送状态:0待推送,1推送成功,2推送失败',
|
||||
`retryCount` INT NOT NULL DEFAULT 0 COMMENT '重试次数',
|
||||
`errorMessage` TEXT NULL COMMENT '失败原因',
|
||||
`lastPushTime` DATETIME(3) NULL COMMENT '最后推送时间',
|
||||
`nextRetryTime` DATETIME(3) NULL COMMENT '下次重试时间',
|
||||
`createTime` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间',
|
||||
`updateTime` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '更新时间',
|
||||
`deleted` INT NOT NULL DEFAULT 0 COMMENT '删除状态:0未删除,1已删除',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `supplier_order_push_log_supplierId_mainOrderId_idx` (`supplierId`, `mainOrderId`),
|
||||
KEY `supplier_order_push_log_orderType_pushStatus_idx` (`orderType`, `pushStatus`),
|
||||
KEY `supplier_order_push_log_nextRetryTime_idx` (`nextRetryTime`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='供应商订单远程推送日志表';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `supplier_order_operate_log` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT COMMENT '订单操作日志主键ID',
|
||||
`supplierId` VARCHAR(191) NOT NULL COMMENT '供应商ID',
|
||||
`userId` VARCHAR(191) NULL COMMENT '用户ID',
|
||||
`mainOrderId` VARCHAR(191) NULL COMMENT '主单ID',
|
||||
`subOrderId` VARCHAR(191) NULL COMMENT '子单ID',
|
||||
`operateType` INT NOT NULL COMMENT '操作类型:1创建待支付,2支付成功,3拆单,4取消主单,5取消子单,6取消已支付未拆单整单,7已妥投,8已完成,9退款,10换货',
|
||||
`beforeState` INT NULL COMMENT '操作前订单状态',
|
||||
`afterState` INT NULL COMMENT '操作后订单状态',
|
||||
`beforeSplit` INT NULL COMMENT '操作前拆单状态:0未拆单,1已拆单',
|
||||
`afterSplit` INT NULL COMMENT '操作后拆单状态:0未拆单,1已拆单',
|
||||
`remark` TEXT NULL COMMENT '操作备注',
|
||||
`operator` VARCHAR(191) NULL COMMENT '操作人或系统标识',
|
||||
`createTime` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间',
|
||||
`deleted` INT NOT NULL DEFAULT 0 COMMENT '删除状态:0未删除,1已删除',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `supplier_order_operate_log_supplierId_mainOrderId_idx` (`supplierId`, `mainOrderId`),
|
||||
KEY `supplier_order_operate_log_subOrderId_idx` (`subOrderId`),
|
||||
KEY `supplier_order_operate_log_operateType_idx` (`operateType`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='供应商订单操作日志表';
|
||||
@@ -0,0 +1,56 @@
|
||||
SET @fk_order_item_order = (
|
||||
SELECT CONSTRAINT_NAME
|
||||
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'orderitem'
|
||||
AND REFERENCED_TABLE_NAME = 'order'
|
||||
LIMIT 1
|
||||
);
|
||||
|
||||
SET @sql = IF(
|
||||
@fk_order_item_order IS NULL,
|
||||
'SELECT 1',
|
||||
CONCAT('ALTER TABLE `orderitem` DROP FOREIGN KEY `', @fk_order_item_order, '`')
|
||||
);
|
||||
PREPARE stmt FROM @sql;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
|
||||
SET @fk_order_item_product = (
|
||||
SELECT CONSTRAINT_NAME
|
||||
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'orderitem'
|
||||
AND REFERENCED_TABLE_NAME = 'supplier_product'
|
||||
LIMIT 1
|
||||
);
|
||||
|
||||
SET @sql = IF(
|
||||
@fk_order_item_product IS NULL,
|
||||
'SELECT 1',
|
||||
CONCAT('ALTER TABLE `orderitem` DROP FOREIGN KEY `', @fk_order_item_product, '`')
|
||||
);
|
||||
PREPARE stmt FROM @sql;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
|
||||
SET @fk_order_user = (
|
||||
SELECT CONSTRAINT_NAME
|
||||
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'order'
|
||||
AND REFERENCED_TABLE_NAME = 'User'
|
||||
LIMIT 1
|
||||
);
|
||||
|
||||
SET @sql = IF(
|
||||
@fk_order_user IS NULL,
|
||||
'SELECT 1',
|
||||
CONCAT('ALTER TABLE `order` DROP FOREIGN KEY `', @fk_order_user, '`')
|
||||
);
|
||||
PREPARE stmt FROM @sql;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
|
||||
DROP TABLE IF EXISTS `orderitem`;
|
||||
DROP TABLE IF EXISTS `order`;
|
||||
@@ -0,0 +1,7 @@
|
||||
ALTER TABLE `supplier_order_main`
|
||||
MODIFY COLUMN `orderState` INT NOT NULL DEFAULT 0 COMMENT '订单状态:0待付款,1已支付,2进行中,3已取消,4已妥投,5已完成,6换货,7退货,8废除',
|
||||
ADD COLUMN `isSplit` TINYINT NOT NULL DEFAULT 0 COMMENT '主单是否拆单:0未拆单,1已拆单' AFTER `orderState`,
|
||||
ADD COLUMN `splitTime` DATETIME(3) NULL COMMENT '主单拆单时间' AFTER `isSplit`;
|
||||
|
||||
ALTER TABLE `supplier_order_sub`
|
||||
MODIFY COLUMN `orderState` INT NOT NULL DEFAULT 0 COMMENT '订单状态:0待付款,1已支付,2进行中,3已取消,4已妥投,5已完成,6换货,7退货,8废除';
|
||||
@@ -0,0 +1,46 @@
|
||||
CREATE TABLE IF NOT EXISTS `supplier_refund_exchange` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT COMMENT '售后记录主键ID',
|
||||
`serviceOrderId` VARCHAR(191) NOT NULL COMMENT '退货/换货业务单号',
|
||||
`supplierId` VARCHAR(191) NOT NULL COMMENT '供应商ID',
|
||||
`userId` VARCHAR(191) NULL COMMENT '用户ID',
|
||||
`mainOrderId` VARCHAR(191) NULL COMMENT '关联主单ID',
|
||||
`subOrderId` VARCHAR(191) NULL COMMENT '关联子单ID',
|
||||
`serviceType` INT NOT NULL COMMENT '售后类型:4退货,5换货',
|
||||
`serviceState` INT NOT NULL DEFAULT 0 COMMENT '售后状态:0已创建,1处理中,2已完成,3已取消',
|
||||
`amount` DECIMAL(10, 2) NOT NULL DEFAULT 0 COMMENT '售后金额',
|
||||
`reason` TEXT NULL COMMENT '售后原因',
|
||||
`requestBody` JSON NULL COMMENT '原始业务请求体',
|
||||
`createTime` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间',
|
||||
`updateTime` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '更新时间',
|
||||
`deleted` INT NOT NULL DEFAULT 0 COMMENT '删除状态:0未删除,1已删除',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `supplier_refund_exchange_serviceOrderId_key` (`serviceOrderId`),
|
||||
KEY `supplier_refund_exchange_supplierId_mainOrderId_idx` (`supplierId`, `mainOrderId`),
|
||||
KEY `supplier_refund_exchange_subOrderId_idx` (`subOrderId`),
|
||||
KEY `supplier_refund_exchange_serviceType_serviceState_idx` (`serviceType`, `serviceState`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='供应商退货换货售后记录表';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `supplier_invoice_info` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT COMMENT '发票信息主键ID',
|
||||
`invoiceBizId` VARCHAR(191) NOT NULL COMMENT '发票业务唯一ID,优先使用发票号或事件订单号',
|
||||
`supplierId` VARCHAR(191) NOT NULL COMMENT '供应商ID',
|
||||
`userId` VARCHAR(191) NULL COMMENT '用户ID',
|
||||
`mainOrderId` VARCHAR(191) NULL COMMENT '关联主单ID',
|
||||
`subOrderId` VARCHAR(191) NULL COMMENT '关联子单ID',
|
||||
`settlementId` VARCHAR(191) NULL COMMENT '结算单号',
|
||||
`invoiceCode` VARCHAR(191) NULL COMMENT '发票代码或纳税识别号',
|
||||
`invoiceIds` VARCHAR(1000) NULL COMMENT '发票号码列表,多个用英文逗号分隔',
|
||||
`orderIds` VARCHAR(1000) NULL COMMENT '关联订单号列表,多个用英文逗号分隔',
|
||||
`invoiceStatus` INT NOT NULL DEFAULT 0 COMMENT '发票状态:0已记录,1已申请,2已开票,3失败',
|
||||
`fileId` VARCHAR(191) NULL COMMENT '发票文件ID',
|
||||
`filePath` VARCHAR(191) NULL COMMENT '发票文件路径',
|
||||
`requestBody` JSON NULL COMMENT '原始业务请求体',
|
||||
`createTime` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间',
|
||||
`updateTime` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '更新时间',
|
||||
`deleted` INT NOT NULL DEFAULT 0 COMMENT '删除状态:0未删除,1已删除',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `supplier_invoice_info_invoiceBizId_key` (`invoiceBizId`),
|
||||
KEY `supplier_invoice_info_supplierId_mainOrderId_idx` (`supplierId`, `mainOrderId`),
|
||||
KEY `supplier_invoice_info_settlementId_idx` (`settlementId`),
|
||||
KEY `supplier_invoice_info_invoiceCode_idx` (`invoiceCode`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='供应商发票信息表';
|
||||
@@ -0,0 +1,3 @@
|
||||
ALTER TABLE `supplier_info`
|
||||
ADD COLUMN `supplierApiUrl` VARCHAR(1000) NULL COMMENT '供应商开放接口地址' AFTER `clientSecret`,
|
||||
ADD COLUMN `sroNo` VARCHAR(100) NULL COMMENT 'BAB7服务商编号' AFTER `supplierApiUrl`;
|
||||
Reference in New Issue
Block a user