Files
notes/work/移动杭研/开发记录/7.13.0/开发笔记.md
T
2026-03-01 01:43:46 +08:00

5.7 KiB
Raw Blame History

2.2 直播流程改造-域名配置变更的工单改成增量修改

NRWLXT-30027

需求评审

需求备注

√修改引导机制:scheduleType

√cnamednsCname

√修改回源hostconvergentDomain

√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<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;

}

需求开发

用例评审

冒烟自测