Files
dax-pay/_config/sql/update-datas.sql
DaxPay Dev 69c23f9bd5 feat(merchant): 商户端通道专属配置(微信密钥/支付宝直连应用/支付宝ISV授权)
- 新增 MchWechatDirectKeyConfigController: 微信直连密钥配置(商户端)
- 新增 MchAlipayDirectAppController: 支付宝直连应用管理+密钥+授权(商户端)
- 新增 MchAlipayDirectAppCapabilityController: 支付宝直连能力绑定(商户端)
- 新增 MchAlipayIsvAuthController: 支付宝服务商代运营授权(商户端)
- MchWxChannelAppCapabilityController: 补充 list-supported-capabilities 接口
- PermCodes: 新增 merchant:alipay-isv-auth 权限码
- 菜单 SQL: 新增业务配置分组子菜单(对接配置/通知配置/支付宝ISV授权)
2026-07-24 22:26:23 +08:00

175 lines
8.1 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 商户端应用工作台菜单改造:配置项从独立菜单收敛为应用工作台隐藏子页面
-- 1. AppConfigDir(91403) 从可见目录改为透明分组容器(subpage_group),挂到应用配置(91401)下
-- 2. 新增应用工作台(91413)隐藏子页面,作为配置入口聚合页
-- 3. 通道路由/聚合/码牌/收银台/易支付 改为隐藏子页面(subpage)
-- 4. 通知配置(91408)删除独立路由,改由工作台抽屉承载
-- AppConfigDir 改为透明分组容器,挂到应用配置下
UPDATE "public"."iam_perm_menu"
SET pid = 91401, icon = NULL, hidden = true, menu_type = 'subpage_group'
WHERE id = 91403;
-- 新增应用工作台隐藏子页面(配置入口聚合页)
INSERT INTO "public"."iam_perm_menu"
(id, pid, menu_code, client_code, name, 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 (91413, 91403, 'merchant:app:workbench', 'merchant', 'MchAppWorkbench',
'menu.payment.merchant.appWorkbench', NULL, true, false,
'/payment/merchant/app/MchAppWorkbench', '/mch/app/manage', NULL, 0, false, false, false,
0, 1, 1, false, 'subpage',
NULL, NULL, NULL, NULL, NULL, NULL,
now(), now())
ON CONFLICT (id) DO UPDATE SET
pid = EXCLUDED.pid,
menu_code = EXCLUDED.menu_code,
name = EXCLUDED.name,
i18n_key = EXCLUDED.i18n_key,
icon = EXCLUDED.icon,
hidden = EXCLUDED.hidden,
component = EXCLUDED.component,
path = EXCLUDED.path,
sort_no = EXCLUDED.sort_no,
menu_type = EXCLUDED.menu_type,
last_modified_time = now();
-- 通道路由/聚合/码牌/收银台/易支付 改为隐藏子页面
UPDATE "public"."iam_perm_menu"
SET hidden = true, menu_type = 'subpage'
WHERE id IN (91404, 91405, 91406, 91407, 91409);
-- 通知配置删除独立路由(改由应用工作台抽屉承载)
DELETE FROM "public"."iam_perm_menu" WHERE id = 91408;
-- ===== 商户端「业务配置」分组(BusinessConfig 91500)子菜单 =====
-- 91500 catalog 已在全量 iam_perm_menu.sql 中,此处仅补子菜单
-- 1. 对接配置(91501):商户 API 密钥配置,页面已迁移,补菜单注册让 /mch/credential 路由生效
-- 对接配置商户级menu 类型,可见)
INSERT INTO "public"."iam_perm_menu"
(id, pid, menu_code, client_code, name, 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 (91501, 91500, 'merchant:credential', 'merchant', 'MerchantCredentialConfig',
'menu.payment.merchant.credential', 'lucide:key', false, false,
'/payment/merchant/credential/MerchantCredentialConfig', '/mch/credential', NULL, 1, false, false, false,
0, 1, 1, false, 'menu',
NULL, NULL, NULL, NULL, NULL, NULL,
now(), now())
ON CONFLICT (id) DO UPDATE SET
pid = EXCLUDED.pid,
menu_code = EXCLUDED.menu_code,
name = EXCLUDED.name,
i18n_key = EXCLUDED.i18n_key,
icon = EXCLUDED.icon,
hidden = EXCLUDED.hidden,
component = EXCLUDED.component,
path = EXCLUDED.path,
sort_no = EXCLUDED.sort_no,
menu_type = EXCLUDED.menu_type,
last_modified_time = now();
-- 通知配置(应用级汇总页:列出商户所有应用,逐个配置异步通知)
INSERT INTO "public"."iam_perm_menu"
(id, pid, menu_code, client_code, name, 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 (91502, 91500, 'merchant:notify-config', 'merchant', 'MchNotifyConfigOverview',
'menu.payment.merchant.notifyConfig', 'lucide:bell', false, false,
'/payment/merchant/notify-config/MchNotifyConfigOverview', '/mch/notify-config', NULL, 2, false, false, false,
0, 1, 1, false, 'menu',
NULL, NULL, NULL, NULL, NULL, NULL,
now(), now())
ON CONFLICT (id) DO UPDATE SET
pid = EXCLUDED.pid,
menu_code = EXCLUDED.menu_code,
name = EXCLUDED.name,
i18n_key = EXCLUDED.i18n_key,
icon = EXCLUDED.icon,
hidden = EXCLUDED.hidden,
component = EXCLUDED.component,
path = EXCLUDED.path,
sort_no = EXCLUDED.sort_no,
menu_type = EXCLUDED.menu_type,
last_modified_time = now();
-- 支付宝服务商代运营授权(商户级独立页:列出商户名下支付宝通道商户,扫码完成代运营授权)
INSERT INTO "public"."iam_perm_menu"
(id, pid, menu_code, client_code, name, 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 (91503, 91500, 'merchant:alipay-isv-auth', 'merchant', 'AlipayIsvAuth',
'menu.business.alipayIsvAuth', 'lucide:shield-check', false, false,
'/payment/merchant/alipay-isv-auth/AlipayIsvAuth', '/mch/alipay-isv-auth', NULL, 3, false, false, false,
0, 1, 1, false, 'menu',
NULL, NULL, NULL, NULL, NULL, NULL,
now(), now())
ON CONFLICT (id) DO UPDATE SET
pid = EXCLUDED.pid,
menu_code = EXCLUDED.menu_code,
name = EXCLUDED.name,
i18n_key = EXCLUDED.i18n_key,
icon = EXCLUDED.icon,
hidden = EXCLUDED.hidden,
component = EXCLUDED.component,
path = EXCLUDED.path,
sort_no = EXCLUDED.sort_no,
menu_type = EXCLUDED.menu_type,
last_modified_time = now();
-- ===== 商户端菜单结构重构:业务配置目录拆分(数据归属对齐) =====
-- 背景:「业务配置」(91500) 混淆了商户级与应用级配置,按数据模型唯一键拆分:
-- 对接配置(91501, mchNo 唯一) → 商户中心(91300) 下
-- 通知配置(91502, appId 唯一) → 删除独立总览页,已由应用工作台抽屉(MchAppNotifyConfig)承载
-- 支付宝授权(91503, channelMchNo 唯一) → 删除独立菜单,改由通道商户详情页抽屉(AlipayIsvAuthDrawer)承载
-- 微信域名验证(91305, mchNo 唯一) → 新增到商户中心下(原为孤儿页,页面已存在未挂菜单)
-- 业务配置目录(91500) → 子菜单全部迁出后删除
-- 对接配置移至商户中心下(商户级密钥,与具体应用无关)
UPDATE "public"."iam_perm_menu"
SET pid = 91300, sort_no = 5
WHERE id = 91501;
-- 新增微信域名验证菜单(商户中心下,商户级)
INSERT INTO "public"."iam_perm_menu"
(id, pid, menu_code, client_code, name, 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 (91305, 91300, 'merchant:wx-verify', 'merchant', 'MchWxDomainVerifyList',
'menu.payment.merchant.wxVerify', 'lucide:shield-check', false, false,
'/payment/merchant/wx-verify/MchWxDomainVerifyList', '/mch/wx-verify', NULL, 6, false, false, false,
0, 1, 1, false, 'menu',
NULL, NULL, NULL, NULL, NULL, NULL,
now(), now())
ON CONFLICT (id) DO UPDATE SET
pid = EXCLUDED.pid,
menu_code = EXCLUDED.menu_code,
name = EXCLUDED.name,
i18n_key = EXCLUDED.i18n_key,
icon = EXCLUDED.icon,
hidden = EXCLUDED.hidden,
component = EXCLUDED.component,
path = EXCLUDED.path,
sort_no = EXCLUDED.sort_no,
menu_type = EXCLUDED.menu_type,
last_modified_time = now();
-- 删除通知配置独立总览页(应用级配置,已由应用工作台抽屉承载)
DELETE FROM "public"."iam_perm_menu" WHERE id = 91502;
-- 删除支付宝授权独立菜单(通道商户级配置,改由通道商户详情抽屉承载)
DELETE FROM "public"."iam_perm_menu" WHERE id = 91503;
-- 删除业务配置目录(子菜单已全部迁出)
DELETE FROM "public"."iam_perm_menu" WHERE id = 91500;