# 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 ## 需求评审 1. 文件大小,1w 域名加上备注是 百K 左右。这个地方如果限制加个三五兆是不是比较合适。 2. 根据导入时间倒序排序,对导入时间一致的不做排序要求。这个东西是不是看客户想删除的是哪一类型的? 3. 这个功能如果做成持久化,有一些问题。 1. 客户导入当时可能不处理。但是后期可能存在删除又通过别的企业引入。造成歧义。 2. 随着时间的增长,这里数据肯定会越来越多。越来越重。 3. 关于平台不存在的域名是否直接不渲染。或者怎么定期清楚。 4. 删除操作需进行校验,只允许删除当前客户经理名下企业的域名,不可删除其他。(腾讯的客户经理只能删腾讯的域名,不能删华为的),是否可以放到上传附件的时候,这样有利于数据干净。 5. 删除最好说清楚域名删除还是记录删除。 6. 关于 cache+ 和 esop。 ## 需求备注 1. 政企客户经理账号,运营管理一级菜单下新增域名批量删除二级菜单 项目是 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 domainNames; // 域名列表 (最多100个) private String areas = "all"; // 默认"all" private String isps = "all"; // 默认"all" private String ipProtocol = "all"; // 默认"all" private Integer seconds = 86400; // 默认86400(天粒度) private List 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 findDomainIdProductIdByIds(@Param("domainIds") List domainIds); /** * 域名基本信息 DTO 类。 */ @Getter @AllArgsConstructor public class DomainBasicInfoDTO implements Serializable { private final Long id; private final String domain; private final ProductsEnums product; } ``` ## 需求开发 # 用例评审 # 冒烟自测