5.7 KiB
2.2 直播流程改造-域名配置变更的工单改成增量修改
NRWLXT-30027
需求评审
需求备注
√修改引导机制:scheduleType
√cname:dnsCname
√修改回源host:convergentDomain
√httpSelection
√configCrt
√loopDomain
√provinces
√sourceProtocol
√domainPlain
√state
√绑定证书生效
关于 cache+ :chargeProcessFlag
httpPort
httpsPort
需求开发
2.3 直播流程改造-直播流程支持退回
NRWLXT-30028
需求评审
需求备注
涉及接口
驳回接口:/api/bpm/bpmDrawBack
试用单
试用变更工单
非首次开通
域名配置需求
需求变更工单
需求开发
2.5 针对IBS发起的工单支持现网部署验收环节退回
NRWLXT-30029
需求评审
1、针对ibs发起的,域名配置需求(新增)、需求变更工单、cache+域名配置工单、Cache+需求变更工单,当bpm现网部署验收环节退回时,ibs直接同步关闭这四种类型的工单。
2、与bpm交互10.4章节新增is_acceptance_returned字段,是否现网部署验收环节退回,0:是1:否,为0时表示BPM现网部署验收环节因业务结束回滚调用此接口;其他场景退回不受理BPM传1。
当bpm传0时,这四种类型的工单直接同步关闭,不再打回给创建人,当bpm传0时,仍保持现有逻辑不变。
需求备注
需求开发
3.5 IBS支持批量域名删除功能
NRWLXT-30019
需求评审
- 文件大小,1w 域名加上备注是 百K 左右。这个地方如果限制加个三五兆是不是比较合适。
- 根据导入时间倒序排序,对导入时间一致的不做排序要求。这个东西是不是看客户想删除的是哪一类型的?
- 这个功能如果做成持久化,有一些问题。
- 客户导入当时可能不处理。但是后期可能存在删除又通过别的企业引入。造成歧义。
- 随着时间的增长,这里数据肯定会越来越多。越来越重。
- 关于平台不存在的域名是否直接不渲染。或者怎么定期清楚。
- 删除操作需进行校验,只允许删除当前客户经理名下企业的域名,不可删除其他。(腾讯的客户经理只能删腾讯的域名,不能删华为的),是否可以放到上传附件的时候,这样有利于数据干净。
- 删除最好说清楚域名删除还是记录删除。
- 关于 cache+ 和 esop。
需求备注
- 政企客户经理账号,运营管理一级菜单下新增域名批量删除二级菜单
项目是 JDK8
在当前 DomainBatchDeletionController 中增加一个批量删除模板下载功能。模板只有一列,第一行第一个单元格是 "域名"此单元格绿色背景(#00B050),第一列前 30 行有框线,文件名称:批量删除域名模板。
项目新引入了 D:\MyCode\Work\yd-hy\ibs-portal\cdn-service\src\main\java\com\cmcc\cdn\platform\common\util\EasyExcelUtil.java。
实现尽可能优雅,标准,健壮。不需要参考项目其他附件模板下载实现,用你认为最合适的方式。
大数据交互接口:
http://172.21.16.30:8511
/analyzer/bandwidth/statistics
?startTime=2025-06-01T00%3A00%3A00%2B08%3A00 // 开始时间 2025-08-13T02:15:30+08:00
&endTime=2025-06-30T00%3A00%3A00%2B08%3A00 // 结束时间 2025-08-13T02:15:30+08:00
&cpIds=9dtzcfhn-o5qam4hr6xvd4hiy // 企业 ID
&productId=2 // 产品 ID ProductsEnums
&domainNames=xcftestf.052025030501.com // 域名
&areas=all // 默认 all
&isps=all // 默认 all
&ipProtocol=all // 默认 all
&seconds=86400 // 天粒度都是这个
&provider=1 // 所有就是这个四个平面自动转换
&provider=2
&provider=3
&provider=crs-4
&provider=8
[
{
"domain": "baidu.com",
"peakBandwidth": "123456789.12",
"peakTime": "20250813100132"
},
{
"domain": "baid.com",
"peakBandwidth": "123456789.12",
"peakTime": "20250813100132"
}
]
public class PeakBandwidthRequest {
private String startTime; // 格式: "2025-06-01T00:00:00+08:00"
private String endTime; // 格式: "2025-06-30T00:00:00+08:00"
private String cpIds; // 例如: "9dtzcfhn-o5qam4hr6xvd4hiy"
private Integer productId; // 产品ID (如2)
private List<String> domainNames; // 域名列表 (最多100个)
private String areas = "all"; // 默认"all"
private String isps = "all"; // 默认"all"
private String ipProtocol = "all"; // 默认"all"
private Integer seconds = 86400; // 默认86400(天粒度)
private List<String> providers; // 值示例: ["1","2","3","crs-4","8"]
}
批量删除-点播
/configManage/batch/operate
{
"domainIds": [
35349,
35351
],
"operate": "DELETE"
}
批量删除-直播
/live/order/batchDelete
{
"domainIds": [
34490,
34496
],
"operate": "DELETE"
}
停用-直播
/live/order/disable
遗留代码
/**
* 根据域名ID列表查询域名基本信息(ID、域名名称、产品ID)
*
* @param domainIds 域名ID列表
* @return 域名基本信息列表
*/
@Query("SELECT new com.cmcc.cdn.platform.selfservice.entity.jpa.DomainBasicInfoDTO("
+ "ssdc.id, "
+ "ssdc.domain, "
+ "ssdc.product) "
+ "FROM SelfServiceDomainConfigPO ssdc "
+ "WHERE ssdc.id IN :domainIds")
List<DomainBasicInfoDTO> findDomainIdProductIdByIds(@Param("domainIds") List<Long> domainIds);
/**
* 域名基本信息 DTO 类。
*/
@Getter
@AllArgsConstructor
public class DomainBasicInfoDTO
implements Serializable {
private final Long id;
private final String domain;
private final ProductsEnums product;
}