渠道管理增加应收关联
This commit is contained in:
@@ -4,7 +4,8 @@ SET NAMES utf8mb4;
|
||||
CREATE TABLE IF NOT EXISTS `srv_channel_product_map` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`channel_id` varchar(50) NOT NULL COMMENT '渠道ID,对应 srv_service_channel.id',
|
||||
`product_id` bigint(20) NOT NULL COMMENT '产品ID,应付时为价卡产品编号',
|
||||
`channel_code` varchar(64) DEFAULT NULL COMMENT '渠道编码,对应 srv_service_channel.channel_code',
|
||||
`product_id` bigint(20) NOT NULL COMMENT '产品ID,应付/应收时为价卡产品编号',
|
||||
`price_set_id` bigint(20) DEFAULT NULL COMMENT '应收套餐ID,对应 prc_price_set.price_set_id',
|
||||
`pay_type` varchar(10) NOT NULL COMMENT '收付类型,字典 bms_pay_type:AR应收 AP应付',
|
||||
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
|
||||
@@ -14,7 +15,8 @@ CREATE TABLE IF NOT EXISTS `srv_channel_product_map` (
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_channel_pay_type` (`channel_id`, `pay_type`),
|
||||
KEY `idx_channel_product_map_product` (`product_id`),
|
||||
KEY `idx_channel_product_map_price_set` (`price_set_id`)
|
||||
KEY `idx_channel_product_map_price_set` (`price_set_id`),
|
||||
KEY `idx_channel_product_map_channel_code` (`channel_code`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='渠道产品关系映射';
|
||||
|
||||
SET @sql = (
|
||||
@@ -30,6 +32,24 @@ PREPARE stmt FROM @sql;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
|
||||
SET @sql_channel_code = (
|
||||
SELECT IF(
|
||||
COUNT(*) = 0,
|
||||
'ALTER TABLE srv_channel_product_map ADD COLUMN channel_code varchar(64) DEFAULT NULL COMMENT ''渠道编码,对应 srv_service_channel.channel_code'' AFTER channel_id, ADD KEY idx_channel_product_map_channel_code (channel_code)',
|
||||
'SELECT 1'
|
||||
)
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'srv_channel_product_map' AND COLUMN_NAME = 'channel_code'
|
||||
);
|
||||
PREPARE stmt FROM @sql_channel_code;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
|
||||
UPDATE srv_channel_product_map m
|
||||
INNER JOIN srv_service_channel c ON c.id = m.channel_id
|
||||
SET m.channel_code = c.channel_code
|
||||
WHERE m.channel_code IS NULL OR m.channel_code = '';
|
||||
|
||||
SET @copy_sql = (
|
||||
SELECT IF(
|
||||
COUNT(*) > 0,
|
||||
|
||||
Reference in New Issue
Block a user