fix: update SalesAdminID for local development and add seed script for agent plans
parent
ba133c4fb5
commit
1a7ab235cb
|
|
@ -429,7 +429,11 @@
|
|||
{
|
||||
"EditionId": "root",
|
||||
"OUIDs": [ "3a0971b1-75b7-c43a-f39d-3ced32e0df30" ],
|
||||
"SalesAdminID": "3A0B4686-4473-DEC8-16EA-209135326E40"
|
||||
// 无推薦人下单时的兜底归属 agent(OrderService.CreateOrder:AgentorId 为空 → 取此值)。
|
||||
// 原值 3A0B4686-… 来自 Nacos 改造前的 dev 环境,在恢复的 AML-local-dev.bak 里不存在该用户,
|
||||
// 会给订单挂上悬空的 AgentorId —— 付款后 SendEmailToAgentOnTenantCreated 找不到人而静默失败。
|
||||
// 改为本地库里真实的 SalesAdmin(UserCode 000000)。
|
||||
"SalesAdminID": "3A09CD95-460F-C67A-9146-41121C5DFDE9"
|
||||
}
|
||||
],
|
||||
"EditionFeatureMappings": [
|
||||
|
|
|
|||
|
|
@ -0,0 +1,75 @@
|
|||
-- 本地测试数据:给「可选推薦人」配可售方案(AMLPortal_AgentUserPlans)
|
||||
--
|
||||
-- 背景 —— 恢复的 AML-local-dev.bak 里存在一处数据断层:
|
||||
-- · AMLPortal_AgentUserSettings 决定下单页「推薦人」下拉里出现谁(本地为 agent_A/U7D191·HKG、
|
||||
-- agentTest3/C87654·HKG、agentTest2/D6Y6U0·JPN);
|
||||
-- · AMLPortal_AgentUserPlans 决定该推薦人能卖哪些方案(后端 GetPlanList 按 AgentCode 裁剪)。
|
||||
-- 两张表零交集:有关联的只有 SalesAdmin / XiaoJunlong,且它们关联的方案全部 IsDeleted=1
|
||||
-- (上一代旧方案,无 PlanDetail)。结果是**任选一个推薦人,任何行業都买不到东西**
|
||||
-- (BFF 严格模式返回 agentNoPlans,前端红字阻断下单)。
|
||||
--
|
||||
-- 本脚本按「不同推薦人可售范围不同」的业务语义补齐关联,供本地验证推薦人过滤链路:
|
||||
-- agent_A (U7D191, HKG) → Standard 12/24(HKG)+ Add Login + jQuota 50/200
|
||||
-- agentTest3(C87654, HKG) → Starter 12 / NGO 12 / CPA 24(HKG)+ Add Login + jQuota 50
|
||||
-- agentTest2(D6Y6U0, JPN) → Standard 12(JPN)+ Add Login + jQuota 50
|
||||
--
|
||||
-- 幂等:先软删该 agent 已有关联,再插入。仅用于本地开发库,勿用于 dev/stag/prod。
|
||||
--
|
||||
-- 执行:
|
||||
-- docker exec -i aml-mssql /opt/mssql-tools18/bin/sqlcmd \
|
||||
-- -S localhost -U sa -P "Aml@Local2026" -C -d AbpAML -i /dev/stdin < seed-agent-plans.sql
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @agentA uniqueidentifier = (SELECT Id FROM AbpUsers WHERE UserCode = 'U7D191');
|
||||
DECLARE @agentT3 uniqueidentifier = (SELECT Id FROM AbpUsers WHERE UserCode = 'C87654');
|
||||
DECLARE @agentT2 uniqueidentifier = (SELECT Id FROM AbpUsers WHERE UserCode = 'D6Y6U0');
|
||||
|
||||
IF @agentA IS NULL OR @agentT3 IS NULL OR @agentT2 IS NULL
|
||||
BEGIN
|
||||
RAISERROR('找不到预期的推薦人(U7D191 / C87654 / D6Y6U0),请确认已恢复 AML-local-dev.bak', 16, 1);
|
||||
RETURN;
|
||||
END
|
||||
|
||||
-- 目标关联:(AgentUserId, PlanId)。PlanDetailId 取该方案当前有效的第一条明细。
|
||||
DECLARE @want TABLE (AgentUserId uniqueidentifier, PlanId uniqueidentifier);
|
||||
|
||||
INSERT INTO @want (AgentUserId, PlanId) VALUES
|
||||
-- agent_A · HKG:只卖 Standard 系
|
||||
(@agentA, '00000000-0000-0000-0051-000000000001'), -- Standard 12 Months (HKG)
|
||||
(@agentA, '00000000-0000-0000-0051-000000000002'), -- Standard 24 Months (HKG)
|
||||
(@agentA, '00000000-0000-0000-0051-000000000013'), -- Add Login (HKG)
|
||||
(@agentA, '00000000-0000-0000-0051-000000000007'), -- jQuota 50 (HKG)
|
||||
(@agentA, '00000000-0000-0000-0051-000000000008'), -- jQuota 200 (HKG)
|
||||
-- agentTest3 · HKG:只卖入门 / NGO / CPA 系(与 agent_A 完全不重叠的基础方案)
|
||||
(@agentT3, '00000000-0000-0000-0051-000000000003'), -- Starter 12 Months (HKG)
|
||||
(@agentT3, '00000000-0000-0000-0051-000000000005'), -- NGO 12 Months (HKG)
|
||||
(@agentT3, '00000000-0000-0000-0051-000000000006'), -- CPA 24 Months (HKG)
|
||||
(@agentT3, '00000000-0000-0000-0051-000000000013'), -- Add Login (HKG)
|
||||
(@agentT3, '00000000-0000-0000-0051-000000000007'), -- jQuota 50 (HKG)
|
||||
-- agentTest2 · JPN:只卖 Standard 12
|
||||
(@agentT2, '00000000-0000-0000-0051-000000000017'), -- Standard 12 Months (JPN)
|
||||
(@agentT2, '00000000-0000-0000-0051-000000000026'), -- Add Login (JPN)
|
||||
(@agentT2, '00000000-0000-0000-0051-000000000021'); -- jQuota 50 (JPN)
|
||||
|
||||
-- 幂等:先清掉这三个 agent 的现有关联(软删,保留审计痕迹)
|
||||
UPDATE AMLPortal_AgentUserPlans
|
||||
SET IsDeleted = 1, DeletionTime = SYSUTCDATETIME()
|
||||
WHERE IsDeleted = 0 AND AgentUserId IN (@agentA, @agentT3, @agentT2);
|
||||
|
||||
INSERT INTO AMLPortal_AgentUserPlans (Id, AgentUserId, PlanId, PlanDetailId, CreationTime, IsDeleted)
|
||||
SELECT NEWID(), w.AgentUserId, w.PlanId, d.Id, SYSUTCDATETIME(), 0
|
||||
FROM @want w
|
||||
CROSS APPLY (
|
||||
SELECT TOP 1 pd.Id
|
||||
FROM AMLPortal_PlanDetails pd
|
||||
WHERE pd.PlanId = w.PlanId AND pd.IsDeleted = 0
|
||||
ORDER BY pd.CreationTime
|
||||
) d;
|
||||
|
||||
SELECT u.UserCode, u.UserName, p.NameEN, p.Tag1Code, p.CountryCode
|
||||
FROM AMLPortal_AgentUserPlans a
|
||||
JOIN AbpUsers u ON u.Id = a.AgentUserId
|
||||
JOIN AMLPortal_Plans p ON p.Id = a.PlanId
|
||||
WHERE a.IsDeleted = 0 AND a.AgentUserId IN (@agentA, @agentT3, @agentT2)
|
||||
ORDER BY u.UserCode, p.Tag1Code, p.NameEN;
|
||||
Loading…
Reference in New Issue