Initial commit
This commit is contained in:
@@ -0,0 +1,328 @@
|
||||
---
|
||||
日期: 2024-05-14 11:10
|
||||
来源: 测试
|
||||
---
|
||||
|
||||
# 问题详情
|
||||
|
||||
[NRWLXT-28236 集团和省运营经理的域名个数全不正确](http://jira.komect.net/browse/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**:
|
||||
|
||||
```sql
|
||||
SELECT state, COUNT(*) as count
|
||||
FROM self_service_domain_config
|
||||
WHERE tenant_id IN (:tenantIds)
|
||||
GROUP BY state;
|
||||
```
|
||||
|
||||
对于 tenantIds :
|
||||
|
||||
集团运营经理 获取所有企业 id。
|
||||
|
||||
省运营经理 只获取名下企业 id(enterprise_manager_table 有关联关系)
|
||||
|
||||
通过上方 sql 获取域名的状态分组集合后根据状态对域名进行分类。
|
||||
|
||||
normalNum(正常运行):已生效 (库中的 4)
|
||||
|
||||
disabledNum(已禁用): 已停用 (库中的 6)
|
||||
|
||||
deployfailureNum(部署失败):部署失败(库中的 5)
|
||||
|
||||
deployingNum(部署中):去除上边 3 种状态都是部署中
|
||||
|
||||
对测试账号**验证**符合梳理逻辑
|
||||
|
||||
```sql
|
||||
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 企业的域名。
|
||||
|
||||
# 总结
|
||||
|
||||
代码修改:
|
||||
|
||||
```java
|
||||
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 为 4:106 符合 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
|
||||
Reference in New Issue
Block a user