mirror of
https://gitee.com/dromara/dax-pay
synced 2026-08-15 01:36:19 +08:00
236 lines
8.8 KiB
SQL
236 lines
8.8 KiB
SQL
-- 升级数据脚本(按顺序执行)
|
|
-- 说明: 已部署环境增量更新,执行前请确认版本与备份
|
|
|
|
-- ----------------------------
|
|
-- 2026-07-10 移动端应用配置菜单从 payment 迁到 system 配置
|
|
-- 后端包: payment.app.mobile → platform.system.mobile
|
|
-- API: /admin/mobile-app → /platform/config/mobile-app
|
|
-- 前端: payment/config/mobileApp → system/config/mobileApp
|
|
-- ----------------------------
|
|
UPDATE "public"."iam_perm_menu"
|
|
SET "pid" = 304,
|
|
"menu_code" = 'system:config:mobile_app',
|
|
"i18n_key" = 'menu.system.config.mobileApp',
|
|
"component" = '/system/config/mobileApp/MobileAppConfig',
|
|
"path" = '/system/config/mobile-app',
|
|
"sort_no" = 6,
|
|
"last_modified_time" = CURRENT_TIMESTAMP
|
|
WHERE "id" = 40504;
|
|
|
|
UPDATE "public"."iam_perm_menu"
|
|
SET "menu_code" = 'system:config:mobile_app_detail',
|
|
"i18n_key" = 'menu.system.config.mobileAppDetail',
|
|
"component" = '/system/config/mobileApp/detail/MobileAppDetail',
|
|
"path" = '/system/config/mobile-app/detail/:appType',
|
|
"last_modified_time" = CURRENT_TIMESTAMP
|
|
WHERE "id" = 40505;
|
|
|
|
-- ----------------------------
|
|
-- 2026-07-11 开源版取消硬件对接:移除云音箱/云打印/厂商配置菜单
|
|
-- 码牌(device:qrcode)、辅助支付终端(device:assistant)、目录 device 保留
|
|
-- 辅助终端不属于 IoT 硬件对接,勿与音箱/打印一并删除
|
|
-- ----------------------------
|
|
DELETE FROM "public"."iam_perm_menu"
|
|
WHERE "menu_code" IN (
|
|
'device:vendor_config',
|
|
'device:speaker',
|
|
'device:printer'
|
|
);
|
|
|
|
-- 若误删过辅助支付终端菜单,补回(已存在则跳过)
|
|
INSERT INTO "public"."iam_perm_menu"
|
|
SELECT 904, 9, 'device:assistant', 'admin', 'DeviceAssistant', '辅助支付终端', 'Payment Assistant Terminal',
|
|
'menu.device.assistant', 'lucide:monitor-smartphone', 'f', 'f',
|
|
'/_core/fallback/coming-soon', '/device/assistant', NULL, 5, 'f', 't', 'f', 1, 1, 0, 'f', 'menu',
|
|
NULL, NULL, NULL, NULL, NULL, NULL,
|
|
'2026-06-25 12:51:25.252086+00', '2026-06-25 12:51:25.252086+00'
|
|
WHERE NOT EXISTS (
|
|
SELECT 1 FROM "public"."iam_perm_menu" WHERE "id" = 904 OR "menu_code" = 'device:assistant'
|
|
);
|
|
|
|
-- 目录图标由音箱改为码牌语义(可选,已有库同步)
|
|
UPDATE "public"."iam_perm_menu"
|
|
SET "icon" = 'lucide:qr-code',
|
|
"last_modified_time" = CURRENT_TIMESTAMP
|
|
WHERE "id" = 9 AND "menu_code" = 'device';
|
|
|
|
-- ----------------------------
|
|
-- 聚合扫码配置菜单(应用级子页面)
|
|
-- 对接后端 GatewayAggregateConfigAdminController, 三级配置深度(AUTO/METHOD/DIRECT)
|
|
-- 注意: id 不能用 4040120, 该 ID 已被"微信域名验证"(merchant:wx_verify)占用
|
|
-- ----------------------------
|
|
INSERT INTO "public"."iam_perm_menu" VALUES (
|
|
4040121, 40401, 'merchant:gateway-aggregate', 'admin', 'AggregateScanConfig',
|
|
'聚合扫码', 'Aggregate QR Pay', 'menu.payment.merchant.aggregateScan',
|
|
NULL, 't', 'f',
|
|
'/payment/merchant/aggregate/AggregateScanConfig', '/payment/merchant/aggregate',
|
|
NULL, 3, 'f', 't', 'f', 1, 1, 1, 'f', 'subpage',
|
|
NULL, NULL, NULL, NULL, NULL, NULL,
|
|
CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
|
|
);
|
|
|
|
-- ----------------------------
|
|
-- 2026-07-11 菜单子页面分组(subpage_group)升级
|
|
-- 新增 subpage_group 类型用于组织 menu 下大量平铺的 subpage, 不在侧边栏显示
|
|
-- 详见方案: catalog > menu > subpage_group(隐藏) > subpage, 面包屑显示完整四级
|
|
-- ----------------------------
|
|
|
|
-- 更新 menu_type 字段注释
|
|
COMMENT ON COLUMN "public"."iam_perm_menu"."menu_type" IS '菜单类型: catalog-目录, menu-菜单, subpage-子页面, subpage_group-子页面分组, embedded-内嵌, link-外链';
|
|
|
|
-- 新建 4 个子页面分组节点(纯容器: 无 path/component/menu_code, 强制隐藏)
|
|
-- 40401 商户列表下 3 个分组
|
|
INSERT INTO "public"."iam_perm_menu"
|
|
(id, pid, menu_code, client_code, name, title_cn, title_en, i18n_key, icon,
|
|
hidden, hide_children_menu, component, path, redirect, sort_no, root,
|
|
keep_alive, affix_tab, creator, last_modifier, version, deleted, menu_type,
|
|
active_icon, badge, badge_type, badge_variants, iframe_src, link,
|
|
create_time, last_modified_time)
|
|
VALUES
|
|
(4040130, 40401, NULL, 'admin', 'MchManageGroup', '商户管理', 'Merchant Management',
|
|
'menu.payment.merchant.group.manage', 'lucide:settings-2',
|
|
true, false, NULL, NULL, NULL, 1, false,
|
|
false, false, 1, 1, 0, false, 'subpage_group',
|
|
NULL, NULL, NULL, NULL, NULL, NULL,
|
|
CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
(4040131, 40401, NULL, 'admin', 'ChannelMerchantGroup', '通道商户', 'Channel Merchant',
|
|
'menu.payment.merchant.group.channelMerchant', 'lucide:repeat',
|
|
true, false, NULL, NULL, NULL, 2, false,
|
|
false, false, 1, 1, 0, false, 'subpage_group',
|
|
NULL, NULL, NULL, NULL, NULL, NULL,
|
|
CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
(4040132, 40401, NULL, 'admin', 'ChannelAppGroup', '渠道应用', 'Channel App',
|
|
'menu.payment.merchant.group.channelApp', 'lucide:layout-grid',
|
|
true, false, NULL, NULL, NULL, 3, false,
|
|
false, false, 1, 1, 0, false, 'subpage_group',
|
|
NULL, NULL, NULL, NULL, NULL, NULL,
|
|
CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
-- 40105 支付产品管理下 1 个分组
|
|
(40508, 40105, NULL, 'admin', 'ChannelIsvConfigGroup', '渠道服务商配置', 'Channel ISV Config',
|
|
'menu.payment.config.group.channelIsv', 'lucide:server',
|
|
true, false, NULL, NULL, NULL, 1, false,
|
|
false, false, 1, 1, 0, false, 'subpage_group',
|
|
NULL, NULL, NULL, NULL, NULL, NULL,
|
|
CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)
|
|
ON CONFLICT (id) DO NOTHING;
|
|
|
|
-- 将子页面 pid 迁移到对应分组
|
|
-- 4040130 商户管理组(9个)
|
|
UPDATE "public"."iam_perm_menu"
|
|
SET "pid" = 4040130, "last_modified_time" = CURRENT_TIMESTAMP
|
|
WHERE "id" IN (4040101, 4040103, 4040102, 4040110, 4040111, 4040108, 4040117, 4040121, 4040120);
|
|
|
|
-- 4040131 通道商户组(3个)
|
|
UPDATE "public"."iam_perm_menu"
|
|
SET "pid" = 4040131, "last_modified_time" = CURRENT_TIMESTAMP
|
|
WHERE "id" IN (4040106, 4040109, 4040112);
|
|
|
|
-- 4040132 渠道应用组(4个)
|
|
UPDATE "public"."iam_perm_menu"
|
|
SET "pid" = 4040132, "last_modified_time" = CURRENT_TIMESTAMP
|
|
WHERE "id" IN (4040113, 4040114, 4040115, 4040119);
|
|
|
|
-- 40508 渠道服务商配置组(3个)
|
|
UPDATE "public"."iam_perm_menu"
|
|
SET "pid" = 40508, "last_modified_time" = CURRENT_TIMESTAMP
|
|
WHERE "id" IN (40502, 40503, 40506);
|
|
|
|
-- 注: 40501(产品配置详情)、40505(移动端应用详情) 仅1个子页面, 保留直挂 menu 不强制分组
|
|
|
|
-- ----------------------------
|
|
-- 收银台配置菜单(应用 subpage, 从应用管理/应用工作台进入)
|
|
-- menu_code = merchant:gateway-cashier
|
|
-- 权限码: merchant:gateway-cashier:view / merchant:gateway-cashier:update
|
|
-- ----------------------------
|
|
INSERT INTO public.iam_perm_menu (
|
|
id, pid, menu_code, client_code, name,
|
|
title_cn, title_en, i18n_key, icon,
|
|
hidden, hide_children_menu, component, path, redirect, sort_no,
|
|
root, keep_alive, affix_tab, creator, last_modifier, version, deleted,
|
|
menu_type, active_icon, badge, badge_type, badge_variants, iframe_src, link,
|
|
create_time, last_modified_time
|
|
)
|
|
SELECT
|
|
4040122,
|
|
4040130,
|
|
'merchant:gateway-cashier',
|
|
'admin',
|
|
'CashierConfig',
|
|
'收银台配置',
|
|
'Cashier Config',
|
|
'menu.payment.merchant.cashierConfig',
|
|
NULL,
|
|
true,
|
|
false,
|
|
'/payment/merchant/cashier/CashierConfig',
|
|
'/payment/merchant/cashier',
|
|
NULL,
|
|
4,
|
|
false,
|
|
true,
|
|
false,
|
|
1,
|
|
1,
|
|
1,
|
|
false,
|
|
'subpage',
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
'2026-07-11 03:00:13.374496+00',
|
|
'2026-07-11 03:37:15.424776+00'
|
|
WHERE NOT EXISTS (
|
|
SELECT 1 FROM public.iam_perm_menu WHERE id = 4040122 OR menu_code = 'merchant:gateway-cashier'
|
|
);
|
|
|
|
-- ----------------------------
|
|
-- 应用工作台菜单(应用 subpage, 从应用列表进入)
|
|
-- menu_code = merchant:app (与应用管理同权)
|
|
-- ----------------------------
|
|
INSERT INTO public.iam_perm_menu (
|
|
id, pid, menu_code, client_code, name,
|
|
title_cn, title_en, i18n_key, icon,
|
|
hidden, hide_children_menu, component, path, redirect, sort_no,
|
|
root, keep_alive, affix_tab, creator, last_modifier, version, deleted,
|
|
menu_type, active_icon, badge, badge_type, badge_variants, iframe_src, link,
|
|
create_time, last_modified_time
|
|
)
|
|
SELECT
|
|
4040123,
|
|
4040130,
|
|
'merchant:app',
|
|
'admin',
|
|
'MchAppWorkbench',
|
|
'应用配置',
|
|
'App Configuration',
|
|
'menu.payment.merchant.appWorkbench',
|
|
NULL,
|
|
true,
|
|
false,
|
|
'/payment/merchant/app/MchAppWorkbench',
|
|
'/payment/merchant/app/manage',
|
|
NULL,
|
|
11,
|
|
false,
|
|
true,
|
|
false,
|
|
1,
|
|
1,
|
|
1,
|
|
false,
|
|
'subpage',
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
'2026-07-11 08:00:00+00',
|
|
'2026-07-11 08:00:00+00'
|
|
WHERE NOT EXISTS (
|
|
SELECT 1 FROM public.iam_perm_menu WHERE id = 4040123 OR name = 'MchAppWorkbench'
|
|
);
|