Initial commit

This commit is contained in:
Docker7530
2026-03-01 01:43:46 +08:00
commit c6125c117b
3840 changed files with 415340 additions and 0 deletions
@@ -0,0 +1,55 @@
# 一、场景限制条件说明
1. 冲突域名场景,仅支持ESOP订购入口点播业务,ESOP订购入口其他业务(直播、动态加速等)和移动云订购入口、移动中台订购入口所有业务均不支持;
2. 不支持同一企业账号下,两个相同域名冲突的场景;
3. 冲突域名场景,不能对客户承诺按点击来调整分发比例;
4. 政企客户经理必须提前识别冲突域名,并按照冲突域名映射规则来录入;
5. 冲突域名场景,最多只能支持两个域名同时分发;
6. 冲突域名分发后,各项配置均需人工执行,售后支撑效率不能承诺;
7. 后续所有工单,不支持信安附件未上传至IBS的建单场景;
8. 冲突域名场景,不支持IBS页面下发内容管理、安全管理任务(需线下或调用华为定制转发接口);
9. 冲突域名场景,不支持使用自助配置类API(需线下或确认是否可调用华为定制转发接口);
10. 冲突域名场景,不支持变更域名分发平面
# 二、定义说明
域名A:真实域名,如www.baidu.com
域名B:华为侧提供的虚拟域名
格式为:域名A.编号.cdnhwcqir15.com
其中:编号部分必须为数字,范围为01-99的随机数
如:www.baidu.com.01.cdnhwcqir15.com
CPID:企业对应的唯一编号
# 三、提单方案
1. 当政企客户经理在集客大厅提新增域名A工单时,IBS校验反馈域名发生冲突;
2. 客户经理将冲突域名情况发邮件至对应运营经理SA,邮件内容包含:冲突域名A列表和CPID,申请使用域名冲突场景。
3. SA评估后,转发邮件至华为
1. 鲁贤宇( luxianyu2@huawei-partners.com
2. 同时抄送网络事业部
3. 刘宗泽( liuzongze@chinamobile.com
4. 徐娜( xuna@chinamobile.com
5. 迂姗姗( yushanshan@chinamobile.com
6. 祁相宜( qixiangyi@chinamobile.com
7. 华为马骥( maji6@huawei.com
4. 华为分配虚拟域名B
5. SA将域名B提供给客户经理,再次提单。
客户经理提单说明:
信安附件为冲突域名的唯一识别标准,填写如下:
A列域名填写为域名B(假域名,如:www.baidu.com.01.cdnhwcqir15.com
其他B-R列(如备案号、许可证号)均按域名A真实信息填写。
S列(无表头)填写为域名A(真实域名,如:www.baidu.com
![](../../../../attachment/images-paste/image-20250212101441586.png)
![](../../../../attachment/images-paste/image-20250212101456904.png)
@@ -0,0 +1,109 @@
```sql
#
select ei.enterprise_id
from enterprise_info ei
left join ep_product_chargemode epc on ei.enterprise_id = epc.enterprise_id
left join self_service_domain_config ssdc on ssdc.tenant_id = epc.enterprise_id
where epc.product_state in (3, 6)
and ssdc.product = epc.product_id
and ei.source = 'BSS'
and ssdc.product not in (0, 1, 2, 3, 8, 9)
and ei.enter_province = '安徽'
group by ei.enterprise_id;
#
select ei.enterprise_id
from enterprise_info ei
left join ep_product_chargemode epc on ei.enterprise_id = epc.enterprise_id
left join self_service_domain_config ssdc on ssdc.tenant_id = epc.enterprise_id
where epc.product_state in (4)
and ssdc.product = epc.product_id
and ei.source = 'BSS'
and ssdc.product not in (0, 1, 2, 3, 8, 9)
and ei.enter_province = '北京'
group by ei.enterprise_id;
#
select ei.enterprise_id
from enterprise_info ei
left join ep_product_chargemode epc on ei.enterprise_id = epc.enterprise_id
left join self_service_domain_config ssdc on ssdc.tenant_id = epc.enterprise_id
where epc.product_state in (3, 6)
and ssdc.product = epc.product_id
and ei.source = 'BSS'
and ssdc.product in (0, 1, 2, 3, 8, 9)
and ei.enter_province = '安徽'
group by ei.enterprise_id;
#
select ei.enterprise_id
from enterprise_info ei
left join ep_product_chargemode epc on ei.enterprise_id = epc.enterprise_id
left join self_service_domain_config ssdc on ssdc.tenant_id = epc.enterprise_id
where epc.product_state in (4)
and ssdc.product = epc.product_id
and ei.source = 'BSS'
and ssdc.product in (0, 1, 2, 3, 8, 9)
and ei.enter_province = '北京'
group by ei.enterprise_id;
#
SELECT ei.enterprise_id
FROM enterprise_info ei
LEFT JOIN ep_product_chargemode epc ON ei.enterprise_id = epc.enterprise_id
LEFT JOIN self_service_domain_config ssdc ON ssdc.tenant_id = epc.enterprise_id
WHERE epc.product_state IN (3, 6)
AND ssdc.product = epc.product_id
AND ei.source = 'BSS'
AND ssdc.product IN (0, 1, 2, 3, 8, 9)
AND ei.enter_province = '北京'
AND NOT EXISTS (
-- 排除点播商用
SELECT 1
FROM ep_product_chargemode epc_excl
LEFT JOIN self_service_domain_config ssdc_excl ON ssdc_excl.tenant_id = epc_excl.enterprise_id
WHERE epc_excl.enterprise_id = ei.enterprise_id
AND epc_excl.product_state IN (4)
AND ssdc_excl.product = epc_excl.product_id
AND ssdc_excl.product IN (0, 1, 2, 3, 8, 9))
AND NOT EXISTS (
-- 排除直播商用
SELECT 1
FROM ep_product_chargemode epc_excl
LEFT JOIN self_service_domain_config ssdc_excl ON ssdc_excl.tenant_id = epc_excl.enterprise_id
WHERE epc_excl.enterprise_id = ei.enterprise_id
AND epc_excl.product_state IN (4)
AND ssdc_excl.product = epc_excl.product_id
AND ssdc_excl.product NOT IN (0, 1, 2, 3, 8, 9))
GROUP BY ei.enterprise_id;
#
SELECT ei.enterprise_id
FROM enterprise_info ei
LEFT JOIN ep_product_chargemode epc ON ei.enterprise_id = epc.enterprise_id
LEFT JOIN self_service_domain_config ssdc ON ssdc.tenant_id = epc.enterprise_id
WHERE epc.product_state IN (3, 6)
AND ssdc.product = epc.product_id
AND ei.source = 'BSS'
AND ssdc.product NOT IN (0, 1, 2, 3, 8, 9)
AND ei.enter_province = '北京'
AND NOT EXISTS (
-- 排除点播商用
SELECT 1
FROM ep_product_chargemode epc_excl
LEFT JOIN self_service_domain_config ssdc_excl ON ssdc_excl.tenant_id = epc_excl.enterprise_id
WHERE epc_excl.enterprise_id = ei.enterprise_id
AND epc_excl.product_state IN (4)
AND ssdc_excl.product = epc_excl.product_id
AND ssdc_excl.product IN (0, 1, 2, 3, 8, 9))
AND NOT EXISTS (
-- 排除直播商用
SELECT 1
FROM ep_product_chargemode epc_excl
LEFT JOIN self_service_domain_config ssdc_excl ON ssdc_excl.tenant_id = epc_excl.enterprise_id
WHERE epc_excl.enterprise_id = ei.enterprise_id
AND epc_excl.product_state IN (4)
AND ssdc_excl.product = epc_excl.product_id
AND ssdc_excl.product NOT IN (0, 1, 2, 3, 8, 9))
GROUP BY ei.enterprise_id;
```
@@ -0,0 +1,7 @@
熊哥的优化需求,因为解决方法可以借鉴所以进行了流程梳理
![](../../../../attachment/images-uuid/be68042791134b489a189c9e07ffdd0a.png)
# 流程图
[关于网状网Token问题-ProcessOn](https://www.processon.com/diagraming/65672a9722ad8076ebd813ef)
@@ -0,0 +1,99 @@
# 时长到期
修改的 `start_time``test_duration` 字段,今天到期:保证 `start_time` + `test_duration` (时长)是今天。
```sql
SELECT id,
order_num,
dev_req,
start_time,
actual_start_time,
test_duration,
DATE_SUB(start_time, INTERVAL test_duration DAY) AS
FROM testorder_info
WHERE order_num = '试用工单号!!!';
```
**TestOrderTimeMonitorJob**:监控试用工单试用时长定时任务,修改工单处理结果。(注册时间为:开始时间 + 试用时长,工单到期当天的 23:59。)
```sql
select *
from qrtz_triggers
where TRIGGER_NAME like '%试用工单号!!!%';
```
**TestOrderEmailAlarmJob**:试用工单到期邮件提醒。(注册时间为:每天 09:00:00 扫描符合条件的 1、2、4、9 天的,只发邮件提醒。还有一天是明天的 23:59。)
```sql
select *
from qrtz_triggers
where TRIGGER_NAME like '%TestOrderEmailAlarmJob%';
```
**TestOrderCloseDomainJob**:试用工单域名关停。(注册时间为:每天 02:00:00。规则:未开通商用单, 仍挂有生效域名, 且创建于 6.5.0 及之后的试用工单。关停时间=开始时间 + 试用时长 + 1, 即到期后的第二天凌晨两点)
```sql
select *
from qrtz_triggers
where TRIGGER_NAME like '%TestOrderCloseDomainJob%';
```
**TestOrderCloseOrderJob**:监控试用工单下的域名状态,若均已删除(域名不存在)或已停用,则关闭工单,流量和时长均监控。(注册时间:每 10 分钟执行一次。)
```sql
select *
from qrtz_triggers
where TRIGGER_NAME like '%TestOrderCloseOrderJob%';
```
## 例子
一个工单到期前 1、2、4、9 天提醒,收到最后一次提醒的第二天的 23:59 修改工单结果,两小时后 02:00:00 关停域名,如果域名都关了或者删除了,关闭试用单。
# 流量耗尽
大数据表中插入数据
```sql
select *
from t_cdn_trial_dataflow_record;
INSERT INTO bss.t_cdn_trial_dataflow_record (job_id, domain, dataflow_history, dataflow_delta, base_time, update_time,
create_time)
VALUES ('1218_1427_57', 'DevReq1734503329A.komect.com', 10995116277760, 10995116277760, '20241218143213',
'20241218143213', '20241218143213')
```
**TestOrderFlowMonitorJob**:流量监控定时任务(注册时间:每 10 分钟。)
提醒:0.6-0.8、0.8-0.95
耗尽:1
注意:`flowConsumeMarkTime` 和 `sendMail` 标记。
改工单结果、取消时长定时任务。
**TestOrderFlowMonitorJob**T + 2 关停。例如:2023 年 4 月 1 日 + 2 天 = 2023 年 4 月 3 日。
```sql
select *
from qrtz_triggers
where TRIGGER_NAME like '%TestOrderFlowMonitorJob%';
```
**TestOrderCloseOrderJob**:监控试用工单下的域名状态,若均已删除(域名不存在)或已停用,则关闭工单,流量和时长均监控。(注册时间:每 10 分钟执行一次。)
```sql
select *
from qrtz_triggers
where TRIGGER_NAME like '%TestOrderCloseOrderJob%';
```
## 例子
一个工单 2024-12-01 11:00:00 检测到流量耗尽,改工单状态。遵循 T + 2,在 2024-12-03 11:00:00 那一轮(大概率是下一轮因为标记位多几秒)的定时任务会关停域名。域名停用后 10 分钟关单。
# 域名删除
**TestOrderDeleteDomainJob**:域名停用 60 天后可删除,现网未开启。(注册时间为:每天 02:00:00。)
@@ -0,0 +1,9 @@
# 联调准备
```
联调环境(172.21.145.113)和 BBOSS、BPM 联调需要
关闭 172.21.16.40 Bss 服务的 bboss.mock
系统配置文件 BPM_URL 改为 http://172.21.16.223:50087
删除 bpm_interactive_auth_key (开mock 可能获取错的鉴权)
删除 BBOSS_AUTH_INFO_KEY (开mock 可能获取错的鉴权)
```