新增
This commit is contained in:
@@ -1,43 +1,43 @@
|
||||
-- 企微外部联系人 ↔ 标签 关系表
|
||||
--
|
||||
-- 行粒度:(external_userid, follow_user_id, tag_id) 三元组 —— 即"某客户被某员工打的某标签"。
|
||||
-- 这样能区分同一个标签是哪个员工打的,便于按员工维度统计;同时按 (external_userid, tag_id) 聚合可得"客户去重后的标签集合"。
|
||||
--
|
||||
-- 字段冗余说明:tag_name / group_name / type 直接落在关系行,列表筛选 / 统计 SQL 不必再 JOIN 标签字典表
|
||||
-- (企微侧标签改名时,UPSERT 时会同步刷新这些冗余字段,create_time 保持不变)。
|
||||
--
|
||||
-- 与 zyt_qywx_external_contact.tags(JSON 字段)的分工:
|
||||
-- - tags JSON:详情页直接渲染,不需要 JOIN
|
||||
-- - 本关系表:列表筛选 / 多标签 AND/OR / GROUP BY 统计 / 漏斗分析
|
||||
|
||||
SET @t := (
|
||||
SELECT COUNT(*)
|
||||
FROM information_schema.TABLES
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'zyt_qywx_external_contact_tag'
|
||||
);
|
||||
|
||||
SET @sql := IF(
|
||||
@t = 0,
|
||||
"CREATE TABLE `zyt_qywx_external_contact_tag` (
|
||||
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`external_userid` varchar(64) NOT NULL DEFAULT '' COMMENT '客户外部ID(zyt_qywx_external_contact.external_userid)',
|
||||
`follow_user_id` varchar(64) NOT NULL DEFAULT '' COMMENT '打这个标签的跟进员工 userid(企微 follow_user.userid)',
|
||||
`tag_id` varchar(64) NOT NULL DEFAULT '' COMMENT '标签ID(企微 tag_id)',
|
||||
`tag_name` varchar(128) NOT NULL DEFAULT '' COMMENT '标签名快照',
|
||||
`group_name` varchar(128) NOT NULL DEFAULT '' COMMENT '标签分组名快照',
|
||||
`type` tinyint(1) unsigned NOT NULL DEFAULT 1 COMMENT '1=企业标签 / 2=其他标签',
|
||||
`create_time` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '创建时间',
|
||||
`update_time` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_ext_user_tag` (`external_userid`, `follow_user_id`, `tag_id`),
|
||||
KEY `idx_tag` (`tag_id`),
|
||||
KEY `idx_ext` (`external_userid`),
|
||||
KEY `idx_group` (`group_name`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='企业微信客户-标签关系表'",
|
||||
'SELECT 1'
|
||||
);
|
||||
|
||||
PREPARE stmt FROM @sql;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
-- 企微外部联系人 ↔ 标签 关系表
|
||||
--
|
||||
-- 行粒度:(external_userid, follow_user_id, tag_id) 三元组 —— 即"某客户被某员工打的某标签"。
|
||||
-- 这样能区分同一个标签是哪个员工打的,便于按员工维度统计;同时按 (external_userid, tag_id) 聚合可得"客户去重后的标签集合"。
|
||||
--
|
||||
-- 字段冗余说明:tag_name / group_name / type 直接落在关系行,列表筛选 / 统计 SQL 不必再 JOIN 标签字典表
|
||||
-- (企微侧标签改名时,UPSERT 时会同步刷新这些冗余字段,create_time 保持不变)。
|
||||
--
|
||||
-- 与 zyt_qywx_external_contact.tags(JSON 字段)的分工:
|
||||
-- - tags JSON:详情页直接渲染,不需要 JOIN
|
||||
-- - 本关系表:列表筛选 / 多标签 AND/OR / GROUP BY 统计 / 漏斗分析
|
||||
|
||||
SET @t := (
|
||||
SELECT COUNT(*)
|
||||
FROM information_schema.TABLES
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'zyt_qywx_external_contact_tag'
|
||||
);
|
||||
|
||||
SET @sql := IF(
|
||||
@t = 0,
|
||||
"CREATE TABLE `zyt_qywx_external_contact_tag` (
|
||||
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`external_userid` varchar(64) NOT NULL DEFAULT '' COMMENT '客户外部ID(zyt_qywx_external_contact.external_userid)',
|
||||
`follow_user_id` varchar(64) NOT NULL DEFAULT '' COMMENT '打这个标签的跟进员工 userid(企微 follow_user.userid)',
|
||||
`tag_id` varchar(64) NOT NULL DEFAULT '' COMMENT '标签ID(企微 tag_id)',
|
||||
`tag_name` varchar(128) NOT NULL DEFAULT '' COMMENT '标签名快照',
|
||||
`group_name` varchar(128) NOT NULL DEFAULT '' COMMENT '标签分组名快照',
|
||||
`type` tinyint(1) unsigned NOT NULL DEFAULT 1 COMMENT '1=企业标签 / 2=其他标签',
|
||||
`create_time` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '创建时间',
|
||||
`update_time` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_ext_user_tag` (`external_userid`, `follow_user_id`, `tag_id`),
|
||||
KEY `idx_tag` (`tag_id`),
|
||||
KEY `idx_ext` (`external_userid`),
|
||||
KEY `idx_group` (`group_name`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='企业微信客户-标签关系表'",
|
||||
'SELECT 1'
|
||||
);
|
||||
|
||||
PREPARE stmt FROM @sql;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
-- 给「企业微信外部联系人」表加 tags 字段:
|
||||
-- 直接把 /externalcontact/get 返回的 follow_user[].tags 合并去重(按 tag_id)后存 JSON 字符串,
|
||||
-- 便于后台无需解析 follow_users 大 JSON 即可快速查看/筛选客户标签。
|
||||
--
|
||||
-- 示例值:
|
||||
-- [{"group_name":"自媒体1","tag_name":"自媒体1","type":1,"tag_id":"etRr2rJQAABTrZUYkJRuP06BX0GUCaaA"}]
|
||||
--
|
||||
-- 通过 information_schema 兼容多次执行(不存在再加),避免重复执行报错。
|
||||
|
||||
SET @col := (
|
||||
SELECT COUNT(*)
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'zyt_qywx_external_contact'
|
||||
AND COLUMN_NAME = 'tags'
|
||||
);
|
||||
|
||||
SET @sql := IF(
|
||||
@col = 0,
|
||||
'ALTER TABLE `zyt_qywx_external_contact` ADD COLUMN `tags` TEXT NULL COMMENT ''follow_user 标签合并去重(JSON:[{tag_id,tag_name,group_name,type}])'' AFTER `follow_users`',
|
||||
'SELECT 1'
|
||||
);
|
||||
|
||||
PREPARE stmt FROM @sql;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
-- 给「企业微信外部联系人」表加 tags 字段:
|
||||
-- 直接把 /externalcontact/get 返回的 follow_user[].tags 合并去重(按 tag_id)后存 JSON 字符串,
|
||||
-- 便于后台无需解析 follow_users 大 JSON 即可快速查看/筛选客户标签。
|
||||
--
|
||||
-- 示例值:
|
||||
-- [{"group_name":"自媒体1","tag_name":"自媒体1","type":1,"tag_id":"etRr2rJQAABTrZUYkJRuP06BX0GUCaaA"}]
|
||||
--
|
||||
-- 通过 information_schema 兼容多次执行(不存在再加),避免重复执行报错。
|
||||
|
||||
SET @col := (
|
||||
SELECT COUNT(*)
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'zyt_qywx_external_contact'
|
||||
AND COLUMN_NAME = 'tags'
|
||||
);
|
||||
|
||||
SET @sql := IF(
|
||||
@col = 0,
|
||||
'ALTER TABLE `zyt_qywx_external_contact` ADD COLUMN `tags` TEXT NULL COMMENT ''follow_user 标签合并去重(JSON:[{tag_id,tag_name,group_name,type}])'' AFTER `follow_users`',
|
||||
'SELECT 1'
|
||||
);
|
||||
|
||||
PREPARE stmt FROM @sql;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
|
||||
@@ -1,59 +1,59 @@
|
||||
-- 业绩看板(fans/yeji):把 3 个后端接口权限挂到现有菜单 id=293(name='数据统计', component='fans/yeji')下
|
||||
-- 已存在则跳过,幂等
|
||||
|
||||
-- 1) 标准化页面菜单本身:补 perms 占位(保持页面权限码与 component 对应,便于后续按页面授权)
|
||||
UPDATE `zyt_system_menu`
|
||||
SET `perms` = 'fans/yeji'
|
||||
WHERE `id` = 293 AND (`perms` IS NULL OR `perms` = '');
|
||||
|
||||
-- 2) 接口:业绩看板单区间 overview
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
293, 'A', '业绩-单区间', '', 1,
|
||||
'stats.yejiStats/overview', '', '', '', '',
|
||||
1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
|
||||
FROM dual
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m
|
||||
WHERE m.pid = 293 AND m.perms = 'stats.yejiStats/overview'
|
||||
);
|
||||
|
||||
-- 3) 接口:业绩看板多区间 multi(默认 月/周/今日/昨日)
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
293, 'A', '业绩-多区间', '', 2,
|
||||
'stats.yejiStats/multi', '', '', '', '',
|
||||
1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
|
||||
FROM dual
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m
|
||||
WHERE m.pid = 293 AND m.perms = 'stats.yejiStats/multi'
|
||||
);
|
||||
|
||||
-- 4) 接口:业绩看板部门下拉
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
293, 'A', '业绩-部门下拉', '', 3,
|
||||
'stats.yejiStats/deptOptions', '', '', '', '',
|
||||
1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
|
||||
FROM dual
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m
|
||||
WHERE m.pid = 293 AND m.perms = 'stats.yejiStats/deptOptions'
|
||||
);
|
||||
|
||||
-- 5) 接口:业绩看板渠道下拉
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
293, 'A', '业绩-渠道下拉', '', 4,
|
||||
'stats.yejiStats/channelOptions', '', '', '', '',
|
||||
1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
|
||||
FROM dual
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m
|
||||
WHERE m.pid = 293 AND m.perms = 'stats.yejiStats/channelOptions'
|
||||
);
|
||||
-- 业绩看板(fans/yeji):把 3 个后端接口权限挂到现有菜单 id=293(name='数据统计', component='fans/yeji')下
|
||||
-- 已存在则跳过,幂等
|
||||
|
||||
-- 1) 标准化页面菜单本身:补 perms 占位(保持页面权限码与 component 对应,便于后续按页面授权)
|
||||
UPDATE `zyt_system_menu`
|
||||
SET `perms` = 'fans/yeji'
|
||||
WHERE `id` = 293 AND (`perms` IS NULL OR `perms` = '');
|
||||
|
||||
-- 2) 接口:业绩看板单区间 overview
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
293, 'A', '业绩-单区间', '', 1,
|
||||
'stats.yejiStats/overview', '', '', '', '',
|
||||
1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
|
||||
FROM dual
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m
|
||||
WHERE m.pid = 293 AND m.perms = 'stats.yejiStats/overview'
|
||||
);
|
||||
|
||||
-- 3) 接口:业绩看板多区间 multi(默认 月/周/今日/昨日)
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
293, 'A', '业绩-多区间', '', 2,
|
||||
'stats.yejiStats/multi', '', '', '', '',
|
||||
1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
|
||||
FROM dual
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m
|
||||
WHERE m.pid = 293 AND m.perms = 'stats.yejiStats/multi'
|
||||
);
|
||||
|
||||
-- 4) 接口:业绩看板部门下拉
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
293, 'A', '业绩-部门下拉', '', 3,
|
||||
'stats.yejiStats/deptOptions', '', '', '', '',
|
||||
1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
|
||||
FROM dual
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m
|
||||
WHERE m.pid = 293 AND m.perms = 'stats.yejiStats/deptOptions'
|
||||
);
|
||||
|
||||
-- 5) 接口:业绩看板渠道下拉
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
293, 'A', '业绩-渠道下拉', '', 4,
|
||||
'stats.yejiStats/channelOptions', '', '', '', '',
|
||||
1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
|
||||
FROM dual
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m
|
||||
WHERE m.pid = 293 AND m.perms = 'stats.yejiStats/channelOptions'
|
||||
);
|
||||
|
||||
@@ -1,31 +1,31 @@
|
||||
-- 提成结算:核对记录 + 顺延结转(上期「确定业绩」时写入,下期统计自动并入订单池)
|
||||
CREATE TABLE IF NOT EXISTS `zyt_commission_settlement_confirm` (
|
||||
`id` int unsigned NOT NULL AUTO_INCREMENT,
|
||||
`settlement_month` char(7) NOT NULL COMMENT '结算月 YYYY-MM',
|
||||
`scope_channel_code` varchar(128) NOT NULL DEFAULT '' COMMENT '与查询渠道一致,空为全渠道',
|
||||
`scope_dept_ids_key` varchar(255) NOT NULL DEFAULT '*' COMMENT '部门筛选键:* 或排序后的 id 逗号串',
|
||||
`status` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '0已保存核对 1已确定业绩',
|
||||
`reconcile_note` varchar(500) NOT NULL DEFAULT '' COMMENT '核对备注',
|
||||
`totals_json` text COMMENT '确定时汇总快照 JSON',
|
||||
`confirmed_admin_id` int unsigned NOT NULL DEFAULT 0,
|
||||
`confirmed_admin_name` varchar(64) NOT NULL DEFAULT '',
|
||||
`confirmed_at` int unsigned NOT NULL DEFAULT 0 COMMENT '确定业绩时间戳',
|
||||
`create_time` int unsigned NOT NULL DEFAULT 0,
|
||||
`update_time` int unsigned NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_scope` (`settlement_month`,`scope_channel_code`(64),`scope_dept_ids_key`(128))
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='提成结算核对/确定';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `zyt_commission_settlement_carry` (
|
||||
`id` int unsigned NOT NULL AUTO_INCREMENT,
|
||||
`prescription_order_id` int unsigned NOT NULL COMMENT '业务订单 tcm_prescription_order.id',
|
||||
`target_settlement_month` char(7) NOT NULL COMMENT '计入哪个月结算池',
|
||||
`source_settlement_month` char(7) NOT NULL COMMENT '从哪个月确定顺延出来',
|
||||
`scope_channel_code` varchar(128) NOT NULL DEFAULT '',
|
||||
`scope_dept_ids_key` varchar(255) NOT NULL DEFAULT '*',
|
||||
`create_time` int unsigned NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_carry` (`prescription_order_id`,`target_settlement_month`,`scope_channel_code`(64),`scope_dept_ids_key`(64)),
|
||||
KEY `idx_target_scope` (`target_settlement_month`,`scope_channel_code`(32),`scope_dept_ids_key`(64)),
|
||||
KEY `idx_source_scope` (`source_settlement_month`,`scope_channel_code`(32),`scope_dept_ids_key`(64))
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='提成顺延结转';
|
||||
-- 提成结算:核对记录 + 顺延结转(上期「确定业绩」时写入,下期统计自动并入订单池)
|
||||
CREATE TABLE IF NOT EXISTS `zyt_commission_settlement_confirm` (
|
||||
`id` int unsigned NOT NULL AUTO_INCREMENT,
|
||||
`settlement_month` char(7) NOT NULL COMMENT '结算月 YYYY-MM',
|
||||
`scope_channel_code` varchar(128) NOT NULL DEFAULT '' COMMENT '与查询渠道一致,空为全渠道',
|
||||
`scope_dept_ids_key` varchar(255) NOT NULL DEFAULT '*' COMMENT '部门筛选键:* 或排序后的 id 逗号串',
|
||||
`status` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '0已保存核对 1已确定业绩',
|
||||
`reconcile_note` varchar(500) NOT NULL DEFAULT '' COMMENT '核对备注',
|
||||
`totals_json` text COMMENT '确定时汇总快照 JSON',
|
||||
`confirmed_admin_id` int unsigned NOT NULL DEFAULT 0,
|
||||
`confirmed_admin_name` varchar(64) NOT NULL DEFAULT '',
|
||||
`confirmed_at` int unsigned NOT NULL DEFAULT 0 COMMENT '确定业绩时间戳',
|
||||
`create_time` int unsigned NOT NULL DEFAULT 0,
|
||||
`update_time` int unsigned NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_scope` (`settlement_month`,`scope_channel_code`(64),`scope_dept_ids_key`(128))
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='提成结算核对/确定';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `zyt_commission_settlement_carry` (
|
||||
`id` int unsigned NOT NULL AUTO_INCREMENT,
|
||||
`prescription_order_id` int unsigned NOT NULL COMMENT '业务订单 tcm_prescription_order.id',
|
||||
`target_settlement_month` char(7) NOT NULL COMMENT '计入哪个月结算池',
|
||||
`source_settlement_month` char(7) NOT NULL COMMENT '从哪个月确定顺延出来',
|
||||
`scope_channel_code` varchar(128) NOT NULL DEFAULT '',
|
||||
`scope_dept_ids_key` varchar(255) NOT NULL DEFAULT '*',
|
||||
`create_time` int unsigned NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_carry` (`prescription_order_id`,`target_settlement_month`,`scope_channel_code`(64),`scope_dept_ids_key`(64)),
|
||||
KEY `idx_target_scope` (`target_settlement_month`,`scope_channel_code`(32),`scope_dept_ids_key`(64)),
|
||||
KEY `idx_source_scope` (`source_settlement_month`,`scope_channel_code`(32),`scope_dept_ids_key`(64))
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='提成顺延结转';
|
||||
|
||||
@@ -1,101 +1,101 @@
|
||||
-- 提成结算业绩:独立页面 fans/commission-settlement + stats.commissionSettlement/* 接口权限
|
||||
-- 与业绩看板 yeji 同父菜单(pid = 业绩看板菜单 id 293);幂等
|
||||
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
y.pid,
|
||||
'C',
|
||||
'提成结算业绩',
|
||||
'',
|
||||
96,
|
||||
'fans/commission-settlement',
|
||||
'/fans/commission-settlement',
|
||||
'fans/commission-settlement',
|
||||
'',
|
||||
'',
|
||||
1,
|
||||
0,
|
||||
UNIX_TIMESTAMP(),
|
||||
UNIX_TIMESTAMP()
|
||||
FROM (SELECT pid FROM `zyt_system_menu` WHERE id = 293 LIMIT 1) AS y
|
||||
WHERE EXISTS (SELECT 1 FROM `zyt_system_menu` WHERE id = 293)
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m WHERE m.component = 'fans/commission-settlement'
|
||||
);
|
||||
|
||||
SET @commission_cs_pid := (
|
||||
SELECT id FROM `zyt_system_menu` WHERE component = 'fans/commission-settlement' ORDER BY id DESC LIMIT 1
|
||||
);
|
||||
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
@commission_cs_pid,
|
||||
'A',
|
||||
'提成结算-汇总',
|
||||
'',
|
||||
1,
|
||||
'stats.commissionSettlement/overview',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
1,
|
||||
0,
|
||||
UNIX_TIMESTAMP(),
|
||||
UNIX_TIMESTAMP()
|
||||
FROM (SELECT 1 AS `_`) AS `_exec`
|
||||
WHERE @commission_cs_pid IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m
|
||||
WHERE m.pid = @commission_cs_pid AND m.perms = 'stats.commissionSettlement/overview'
|
||||
);
|
||||
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
@commission_cs_pid,
|
||||
'A',
|
||||
'提成结算-部门下拉',
|
||||
'',
|
||||
2,
|
||||
'stats.commissionSettlement/deptOptions',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
1,
|
||||
0,
|
||||
UNIX_TIMESTAMP(),
|
||||
UNIX_TIMESTAMP()
|
||||
FROM (SELECT 1 AS `_`) AS `_exec`
|
||||
WHERE @commission_cs_pid IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m
|
||||
WHERE m.pid = @commission_cs_pid AND m.perms = 'stats.commissionSettlement/deptOptions'
|
||||
);
|
||||
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
@commission_cs_pid,
|
||||
'A',
|
||||
'提成结算-渠道下拉',
|
||||
'',
|
||||
3,
|
||||
'stats.commissionSettlement/channelOptions',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
1,
|
||||
0,
|
||||
UNIX_TIMESTAMP(),
|
||||
UNIX_TIMESTAMP()
|
||||
FROM (SELECT 1 AS `_`) AS `_exec`
|
||||
WHERE @commission_cs_pid IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m
|
||||
WHERE m.pid = @commission_cs_pid AND m.perms = 'stats.commissionSettlement/channelOptions'
|
||||
);
|
||||
-- 提成结算业绩:独立页面 fans/commission-settlement + stats.commissionSettlement/* 接口权限
|
||||
-- 与业绩看板 yeji 同父菜单(pid = 业绩看板菜单 id 293);幂等
|
||||
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
y.pid,
|
||||
'C',
|
||||
'提成结算业绩',
|
||||
'',
|
||||
96,
|
||||
'fans/commission-settlement',
|
||||
'/fans/commission-settlement',
|
||||
'fans/commission-settlement',
|
||||
'',
|
||||
'',
|
||||
1,
|
||||
0,
|
||||
UNIX_TIMESTAMP(),
|
||||
UNIX_TIMESTAMP()
|
||||
FROM (SELECT pid FROM `zyt_system_menu` WHERE id = 293 LIMIT 1) AS y
|
||||
WHERE EXISTS (SELECT 1 FROM `zyt_system_menu` WHERE id = 293)
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m WHERE m.component = 'fans/commission-settlement'
|
||||
);
|
||||
|
||||
SET @commission_cs_pid := (
|
||||
SELECT id FROM `zyt_system_menu` WHERE component = 'fans/commission-settlement' ORDER BY id DESC LIMIT 1
|
||||
);
|
||||
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
@commission_cs_pid,
|
||||
'A',
|
||||
'提成结算-汇总',
|
||||
'',
|
||||
1,
|
||||
'stats.commissionSettlement/overview',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
1,
|
||||
0,
|
||||
UNIX_TIMESTAMP(),
|
||||
UNIX_TIMESTAMP()
|
||||
FROM (SELECT 1 AS `_`) AS `_exec`
|
||||
WHERE @commission_cs_pid IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m
|
||||
WHERE m.pid = @commission_cs_pid AND m.perms = 'stats.commissionSettlement/overview'
|
||||
);
|
||||
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
@commission_cs_pid,
|
||||
'A',
|
||||
'提成结算-部门下拉',
|
||||
'',
|
||||
2,
|
||||
'stats.commissionSettlement/deptOptions',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
1,
|
||||
0,
|
||||
UNIX_TIMESTAMP(),
|
||||
UNIX_TIMESTAMP()
|
||||
FROM (SELECT 1 AS `_`) AS `_exec`
|
||||
WHERE @commission_cs_pid IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m
|
||||
WHERE m.pid = @commission_cs_pid AND m.perms = 'stats.commissionSettlement/deptOptions'
|
||||
);
|
||||
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
@commission_cs_pid,
|
||||
'A',
|
||||
'提成结算-渠道下拉',
|
||||
'',
|
||||
3,
|
||||
'stats.commissionSettlement/channelOptions',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
1,
|
||||
0,
|
||||
UNIX_TIMESTAMP(),
|
||||
UNIX_TIMESTAMP()
|
||||
FROM (SELECT 1 AS `_`) AS `_exec`
|
||||
WHERE @commission_cs_pid IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m
|
||||
WHERE m.pid = @commission_cs_pid AND m.perms = 'stats.commissionSettlement/channelOptions'
|
||||
);
|
||||
|
||||
@@ -1,101 +1,101 @@
|
||||
-- 提成结算:核对/确定业绩接口权限(挂在 fans/commission-settlement 页面菜单下)
|
||||
|
||||
SET @commission_cs_pid := (
|
||||
SELECT id FROM `zyt_system_menu` WHERE component = 'fans/commission-settlement' ORDER BY id DESC LIMIT 1
|
||||
);
|
||||
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
@commission_cs_pid,
|
||||
'A',
|
||||
'提成结算-核对明细',
|
||||
'',
|
||||
11,
|
||||
'stats.commissionSettlement/orderLines',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
1,
|
||||
0,
|
||||
UNIX_TIMESTAMP(),
|
||||
UNIX_TIMESTAMP()
|
||||
FROM (SELECT 1 AS `_`) AS `_exec`
|
||||
WHERE @commission_cs_pid IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m
|
||||
WHERE m.pid = @commission_cs_pid AND m.perms = 'stats.commissionSettlement/orderLines'
|
||||
);
|
||||
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
@commission_cs_pid,
|
||||
'A',
|
||||
'提成结算-确认状态',
|
||||
'',
|
||||
12,
|
||||
'stats.commissionSettlement/confirmStatus',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
1,
|
||||
0,
|
||||
UNIX_TIMESTAMP(),
|
||||
UNIX_TIMESTAMP()
|
||||
FROM (SELECT 1 AS `_`) AS `_exec`
|
||||
WHERE @commission_cs_pid IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m
|
||||
WHERE m.pid = @commission_cs_pid AND m.perms = 'stats.commissionSettlement/confirmStatus'
|
||||
);
|
||||
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
@commission_cs_pid,
|
||||
'A',
|
||||
'提成结算-保存核对',
|
||||
'',
|
||||
13,
|
||||
'stats.commissionSettlement/saveReconcile',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
1,
|
||||
0,
|
||||
UNIX_TIMESTAMP(),
|
||||
UNIX_TIMESTAMP()
|
||||
FROM (SELECT 1 AS `_`) AS `_exec`
|
||||
WHERE @commission_cs_pid IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m
|
||||
WHERE m.pid = @commission_cs_pid AND m.perms = 'stats.commissionSettlement/saveReconcile'
|
||||
);
|
||||
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
@commission_cs_pid,
|
||||
'A',
|
||||
'提成结算-确定业绩',
|
||||
'',
|
||||
14,
|
||||
'stats.commissionSettlement/confirmFinalize',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
1,
|
||||
0,
|
||||
UNIX_TIMESTAMP(),
|
||||
UNIX_TIMESTAMP()
|
||||
FROM (SELECT 1 AS `_`) AS `_exec`
|
||||
WHERE @commission_cs_pid IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m
|
||||
WHERE m.pid = @commission_cs_pid AND m.perms = 'stats.commissionSettlement/confirmFinalize'
|
||||
);
|
||||
-- 提成结算:核对/确定业绩接口权限(挂在 fans/commission-settlement 页面菜单下)
|
||||
|
||||
SET @commission_cs_pid := (
|
||||
SELECT id FROM `zyt_system_menu` WHERE component = 'fans/commission-settlement' ORDER BY id DESC LIMIT 1
|
||||
);
|
||||
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
@commission_cs_pid,
|
||||
'A',
|
||||
'提成结算-核对明细',
|
||||
'',
|
||||
11,
|
||||
'stats.commissionSettlement/orderLines',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
1,
|
||||
0,
|
||||
UNIX_TIMESTAMP(),
|
||||
UNIX_TIMESTAMP()
|
||||
FROM (SELECT 1 AS `_`) AS `_exec`
|
||||
WHERE @commission_cs_pid IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m
|
||||
WHERE m.pid = @commission_cs_pid AND m.perms = 'stats.commissionSettlement/orderLines'
|
||||
);
|
||||
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
@commission_cs_pid,
|
||||
'A',
|
||||
'提成结算-确认状态',
|
||||
'',
|
||||
12,
|
||||
'stats.commissionSettlement/confirmStatus',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
1,
|
||||
0,
|
||||
UNIX_TIMESTAMP(),
|
||||
UNIX_TIMESTAMP()
|
||||
FROM (SELECT 1 AS `_`) AS `_exec`
|
||||
WHERE @commission_cs_pid IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m
|
||||
WHERE m.pid = @commission_cs_pid AND m.perms = 'stats.commissionSettlement/confirmStatus'
|
||||
);
|
||||
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
@commission_cs_pid,
|
||||
'A',
|
||||
'提成结算-保存核对',
|
||||
'',
|
||||
13,
|
||||
'stats.commissionSettlement/saveReconcile',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
1,
|
||||
0,
|
||||
UNIX_TIMESTAMP(),
|
||||
UNIX_TIMESTAMP()
|
||||
FROM (SELECT 1 AS `_`) AS `_exec`
|
||||
WHERE @commission_cs_pid IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m
|
||||
WHERE m.pid = @commission_cs_pid AND m.perms = 'stats.commissionSettlement/saveReconcile'
|
||||
);
|
||||
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
@commission_cs_pid,
|
||||
'A',
|
||||
'提成结算-确定业绩',
|
||||
'',
|
||||
14,
|
||||
'stats.commissionSettlement/confirmFinalize',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
1,
|
||||
0,
|
||||
UNIX_TIMESTAMP(),
|
||||
UNIX_TIMESTAMP()
|
||||
FROM (SELECT 1 AS `_`) AS `_exec`
|
||||
WHERE @commission_cs_pid IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m
|
||||
WHERE m.pid = @commission_cs_pid AND m.perms = 'stats.commissionSettlement/confirmFinalize'
|
||||
);
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
-- 处方业务订单:退款(须填写原因;关联收款单标记已退款)
|
||||
-- 执行前确认表前缀为 zyt_;若已有相同 perms 则跳过。
|
||||
|
||||
SET @po_menu_id := (SELECT id FROM zyt_system_menu WHERE perms = 'tcm.prescriptionOrder/lists' LIMIT 1);
|
||||
|
||||
INSERT INTO zyt_system_menu (
|
||||
pid, type, name, icon, sort, perms, paths, component,
|
||||
selected, params, is_cache, is_show, is_disable, create_time, update_time
|
||||
)
|
||||
SELECT
|
||||
@po_menu_id, 'A', '业务订单退款', '', 63,
|
||||
'tcm.prescriptionOrder/refund', '', '',
|
||||
'', '', 0, 1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
|
||||
FROM DUAL
|
||||
WHERE @po_menu_id IS NOT NULL
|
||||
AND NOT EXISTS (SELECT 1 FROM zyt_system_menu WHERE perms = 'tcm.prescriptionOrder/refund');
|
||||
-- 处方业务订单:退款(须填写原因;关联收款单标记已退款)
|
||||
-- 执行前确认表前缀为 zyt_;若已有相同 perms 则跳过。
|
||||
|
||||
SET @po_menu_id := (SELECT id FROM zyt_system_menu WHERE perms = 'tcm.prescriptionOrder/lists' LIMIT 1);
|
||||
|
||||
INSERT INTO zyt_system_menu (
|
||||
pid, type, name, icon, sort, perms, paths, component,
|
||||
selected, params, is_cache, is_show, is_disable, create_time, update_time
|
||||
)
|
||||
SELECT
|
||||
@po_menu_id, 'A', '业务订单退款', '', 63,
|
||||
'tcm.prescriptionOrder/refund', '', '',
|
||||
'', '', 0, 1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
|
||||
FROM DUAL
|
||||
WHERE @po_menu_id IS NOT NULL
|
||||
AND NOT EXISTS (SELECT 1 FROM zyt_system_menu WHERE perms = 'tcm.prescriptionOrder/refund');
|
||||
|
||||
Reference in New Issue
Block a user