Files
notes/work/移动杭研/问题处理/2024-05/0514-集团和省运营经理的域名个数全不正确.md
2026-03-01 01:43:46 +08:00

7.0 KiB
Raw Permalink Blame History

日期, 来源
日期 来源
2024-05-14 11:10 测试

问题详情

NRWLXT-28236 集团和省运营经理的域名个数全不正确

处理过程

  1. 确认集团运营经理首页数据来源?
  2. 确认集团运营经理域名列表域名总条数?
  3. 确认集团运营经理和省运营经理的后台接口是否一致?

/dashboard/index

domainSum(域名总数)

normalNum(正常运行)

disabledNum(已禁用)

deployingNum(部署中)

deployfailureNum(部署失败)

域名总数 = 正常运行 + 已禁用 + 部署中 + 部署失败

域名所有状态

-1: 初始化
0: 待排期
1: 待分发
2: 部署中
3: 已生效
4: 部署失败
5: 已停用
6: 部署中
7: 删除中
8: 停用中
9: 启用中
10: 待分发
11: 删除中
12: 删除中
13: 部署中
14: 部署中
15: 部署中
16: 删除中
17: 删除中
18: 部署中
19: 待配置
20: 部署中
21: 部署中
22: 删除中
23: 停用中
24: 启用中
25: 已保存
26: 待确认
27: 删除中
28: 部署中
29: 部署中
30: 部署中
31: 部署中
32: 部署中
33: 删除中

初始化 有 1 个,对应的是 -1。

待排期 有 1 个,对应的是 0。

待分发 有 2 个,对应的是 1 和 10。

部署中 有 13 个,对应的是 2, 6, 13, 14, 15, 18, 20, 21, 28, 29, 30, 31, 32。

已生效 有 1 个,对应的是 3。

部署失败 有 1 个,对应的是 4。

已停用 有 1 个,对应的是 5。

删除中 有 8 个,对应的是 7, 11, 12, 16, 17, 22, 27, 33。

停用中 有 2 个,对应的是 8 和 23。

启用中 有 2 个,对应的是 9 和 24。

待配置 有 1 个,对应的是 19。

已保存 有 1 个,对应的是 25。

待确认 有 1 个,对应的是 26。

首页主要逻辑

com.cmcc.cdn.platform.portal.controller.DashboardController#index

获取域名的核心 SQL

SELECT state, COUNT(*) as count  
FROM self_service_domain_config  
WHERE tenant_id IN (:tenantIds)  
GROUP BY state;

对于 tenantIds

集团运营经理 获取所有企业 id。

省运营经理 只获取名下企业 identerprise_manager_table 有关联关系)

通过上方 sql 获取域名的状态分组集合后根据状态对域名进行分类。

normalNum(正常运行):已生效 (库中的 4)

disabledNum(已禁用): 已停用 (库中的 6)

deployfailureNum(部署失败):部署失败(库中的 5)

deployingNum(部署中):去除上边 3 种状态都是部署中

对测试账号验证符合梳理逻辑

SELECT state, COUNT(*) as count  
FROM self_service_domain_config  
WHERE tenant_id IN (select enterprise_id from enterprise_info)  
GROUP BY state;  
  
  
SELECT SUM(count) as total_count  
FROM (  
    SELECT state, COUNT(*) as count  
    FROM self_service_domain_config  
    WHERE tenant_id IN (select enterprise_id from enterprise_info)  
    GROUP BY state  
) as subquery;

控制台主要逻辑

集团运营经理查全部

控制台点播:31840

控制台直播:299

控制台总数:32139

未统计 product 为 4 的 106 个

数据库总量:32245

集团运营经理首页全部:32243

差两个是因为这个两个域名的企业信息没有了。

省运营经理

获取所属省份下的 cache+ 和 esop 企业的域名。

总结

代码修改:

public List<Tuple> groupByState(List<String> tenantIds) {  
    CriteriaBuilder cb = em.getCriteriaBuilder();  
    CriteriaQuery<Tuple> cq = cb.createTupleQuery();  
    Root<SelfServiceDomainConfigPO> root = cq.from(SelfServiceDomainConfigPO.class);  
  
    // 因数据库中product为4的业务已下线,为保持首页查询逻辑和域名列表一致,进行过滤,product参考ProductsEnums。  
    Predicate productNotEqual4 = cb.notEqual(root.get("product"), cb.literal(4));  
  
    cq.multiselect(root.get("state"), cb.count(root))  
            .where(cb.and(root.get("tenantId").in(tenantIds), productNotEqual4))  
            .groupBy(root.get("state"));  
  
    return em.createQuery(cq).getResultList();  
}

生产
2,2待分发
3,123部署中
4,9327已生效
5,30部署失败
6,263已停用
7,2部署中
8,43删除中
9,2停用中
13,30删除中
17,1删除中
20,2待配置
21,48部署中

  1. 关于首页 集团运营经理依据所有的企业 id 获取对应的域名。通过状态分类,正常运行(库中的 4 已生效)、已禁用(库中的 6 已停用)、部署失败(库中的 5 部署失败)、部署中(除上边 3 种状态均归类为部署中) 省运营经理只获取名下企业 id 对应的域名(enterprise_manager_table 为依据)。分类如上。
  2. 关于控制台 集团运营经理取全部,省运营经理获取所属省份下的 cache+ 和 esop 企业的域名。同时均未获取库中产品为 4(直播流媒体加速)的域名。

以 jira 单中测试环境账号为例

测试库中:15466 个域名

首页

域名总数:15465 (正常运行 + 已禁用 + 部署中 + 部署失败)(与库差一个域名是因为 www.myl0705.com 这个域名没了企业信息属于脏数据)

正常运行:7160

已禁用:353

部署中:7540

部署失败:412

控制台

点播:14890

直播:544

总数:15434(与域名库差 32 是因为未统计 produt 为 4 直播流媒体 32 个加速域名)

已生效 域名列表总数:7141 首页总数:7160 差 19 个是因为存在 19 个 product 是 4 的。

部署失败 域名列表总数:411 首页总数:412 差 1 个是因为存在 1 个 product 是 4 的。

已停用 域名列表:349 首页总数:353 差 4 个是因为存在 4 个 product 是 4 的。

部署中 域名列表:6252 首页总数:7540 差 1288 是因为首页的部署中为库中剩余的所有状态的域名:初始化、待排期、待分发、部署中、删除中、停用中、启用中、待配置、已保存、待确认

已生效、部署失败、已停用对不上均是由于 product 是 4 的域名造成的。

部署中 是因为首页的部署中为库中剩余的所有状态的域名:初始化、待排期、待分发、部署中、删除中、停用中、启用中、待配置、已保存、待确认。域名列表的只是部署中。

这边对首页进行处理 1.过滤掉 product 是 4 的域名;2.部署中过滤为只是部署中状态的域名个数。可以吗?

可以的。

自测

库中一共:32245

域名列表:32139 + product 为 4106 符合 32245

直播:299

点播:31840

首页

首页:

总数:4274

正常:2680

禁用:70

部署失败:159

列表:

总数:4274

正常:2646+34

禁用:55+15

部署失败:159

域名总数 31779

正常运行 13564

已禁用 274

部署失败 1793

列表:

总数:31570+227=31797-18

正常:13414+159=13573-9

禁用:254+20=274

部署失败:1791+3=1794-1

域名总数 20107

正常运行 5424

已禁用 20

部署失败 1445

列表:

总数:20089+18=

正常:5409+15=

禁用:19+1=

部署失败:1445