Files
notes/work/移动杭研/开发记录/7.8.0/开发笔记.md
T
Docker7530 7f14056210 1778682052
2026-05-13 22:20:54 +08:00

8.4 KiB
Raw Blame History

相同CPID下冲突域名兼容

5 人天

需求评审

需求备注

重点完成:2、5、7。

需求开发

Warning

注意企业子账号。

企业客户账号:

http://dev.p.cdn.10086.cn:8080/sso/login/sso_login?token=3075&env=test

第一版企业客户证书管理代码:

        if (RoleEnum.CP.getRole().equals(currentRole)) {
            Object domainObject = selectResult.get("bindDomains");
            List<String> domains = CollectionUtils.emptyIfNull(domainObject instanceof List<?> ? (List<?>) domainObject : null)
                    .stream()
                    .filter(Objects::nonNull)
                    .map(Object::toString)
                    .collect(Collectors.toList());
            if (CollectionUtils.isNotEmpty(domains)) {
                List<SelfServiceDomainConfigPO> bindDomains = selfServiceDomainConfigDao.findByDomainIn(domains);
                List<String> bindDomainList = new ArrayList<>();
                for (SelfServiceDomainConfigPO s : bindDomains) {
                    if (StringUtils.isEmpty(s.getCpDomain())) {
                        // 当前域名为真实配置。
                        bindDomainList.add(s.getDomain());
                    } else {
                        // 当前域名为冲突配置。
                        Long configCount = selfServiceDomainConfigDao.countByTenantIdAndDomainOrCpDomain(s.getTenantId(), s.getCpDomain());
                        // 关于 configCount 的相关场景在 countByTenantIdAndDomainOrCpDomain 中有说明。
                        bindDomainList.add(configCount == 1 ? s.getCpDomain() : s.getDomain());
                    }
                }
                selectResult.put("bindDomains", bindDomainList);
            }
        }
    private void replaceDomainForCP(List<CertDomainDeployVO> vos) {
        SecurityUser user = SecurityUserUtil.getCurrentUser();
        if (CollectionUtils.isEmpty(vos) || user == null || !RoleEnum.CP.getRole().equals(user.getRole().getRole())) {
            return;
        }
        for (CertDomainDeployVO vo : vos) {
            if (StringUtils.isEmpty(vo.getDomain())) {
                continue;
            }
            List<SelfServiceDomainConfigPO> bindDomains = selfServiceDomainConfigDao.findByDomainIn(Lists.newArrayList(vo.getDomain()));
            List<String> bindDomainList = new ArrayList<>();
            for (SelfServiceDomainConfigPO s : bindDomains) {
                if (StringUtils.isEmpty(s.getCpDomain())) {
                    // 当前域名为真实配置。
                    bindDomainList.add(s.getDomain());
                } else {
                    // 当前域名为冲突配置。
                    Long configCount = selfServiceDomainConfigDao.countByTenantIdAndDomainOrCpDomain(s.getTenantId(), s.getCpDomain());
                    // 关于 configCount 的相关场景在 countByTenantIdAndDomainOrCpDomain 中有说明。
                    bindDomainList.add(configCount == 1 ? s.getCpDomain() : s.getDomain());
                }
            }
            if (CollectionUtils.isEmpty(bindDomainList)) {
                continue;
            }
            vo.setDomain(bindDomainList.get(0));
        }
    }

证书相关

已完成。
/crt/statis
?_=1740447840405
bindDomains

已完成。
/crt/list
?pageNum=1&pageSize=10&name=&domain=&search=&_=1740447469844
bindDomain

已完成。
/crt/detail
?uniqueId=20250224172158--c551-4982-8a35-a4ca3c5acaac&_=1740447537010
bindDomain

已完成。
/crt/list/unbindDomain
?enterpriseId=oe6cljyn-8xkwymbxps0pednz&certUniqueId=20250224172158--c551-4982-8a35-a4ca3c5acaac&_=1740447602214
bindDomain
unBindDomain

已完成。
/crt/domain/deploy/list
?crtUniqueId=20250224172158--c551-4982-8a35-a4ca3c5acaac&_=1740447680951
domain

信息准备。

ECName1740554572

15700197926

PRODUCTID1740554900

DevReq1740554572A.komect.com

http://dev.p.cdn.10086.cn:8080/sso/login/sso_login?token=3075&env=test

20250226154158--dc67-4225-bd2a-b17413dd9b13

3075-企业子账号
    private List<String> transformDomainForCP(List<String> domains) {
        String enterpriseId = SecurityUserUtil.getEnterpriseId();
        List<String> list = new ArrayList<>();
        for (String domain : domains) {

            Long l = selfServiceDomainConfigDao.countByTenantIdAndDomainOrCpDomain(enterpriseId, domain);
            if (l == 1){ // 这必然是一个冲突配置或者真实配置
                Optional<SelfServiceDomainConfigPO> tenantIdAndDomain = selfServiceDomainConfigDao.findByTenantIdAndDomain(enterpriseId, domain);
                if (tenantIdAndDomain.isPresent()) {
                    // 非冲突域名
                    list.add(domain);
                }else {
                    // 冲突域名
                    Optional<SelfServiceDomainConfigPO> tenantIdAndCpDomain = selfServiceDomainConfigDao.findByTenantIdAndCpDomain(enterpriseId, domain);
                    tenantIdAndCpDomain.ifPresent(domainConfigPO -> list.add(domainConfigPO.getDomain()));
                }
            }else { // 由于不是唯一的前端传过来的肯定是域名表 domain 字段,直接用。
                list.add(domain);
            }
        }
        return list;
    }

增加黑名单联合惩戒需求,不允许惩戒客户新增域名

2 人天

需求评审

需求备注

queryJointPunishFromBBoss

JointPunishContentVO

JointPunishVO

JointPunishFeedbackVO

JointPunishFeedbackResultVO

需求开发

月统计报表中平面筛选项变更为后端控制

0.5 人天

需求评审

(1)IBS-运营管理-月统计报表-企业月流量,

(2)IBS-运营管理-月统计报表-试商用客户峰值带宽

需求备注

企业月流量

华为平面:1

中兴平面:2

HCDN3

自研2.08

试商用客户峰值带宽

华为平面:1

中兴平面:2

HCDN3

自研2.04

需求开发

{
    "企业月流量": {
        "华为平面": "1",
        "中兴平面": "2",
        "HCDN": "3",
        "自研2.0": "8"
    },
    "试商用客户峰值带宽": {
        "华为平面": "1",
        "中兴平面": "2",
        "HCDN": "3",
        "自研2.0": "4"
    }
}

企业白名单审批人员变更需求

0.5 人天

需求评审

1、二级域名白名单工单审批,审批人从政企客户经理管理员换成集团客户经理管理员。

2、企业白名单企业管理-企业白名单-TOP55企业&二级域名白名单,新增集团客户经理管理员编辑查看权限。

需求备注

需求开发

登录集团超级管理员,进入账户管理-角色权限管理,在企业管理下增加权限。

权限关键字:NEW_QYGL_TAB_WHITELISTING
权限名称:企业白名单

进入账户管理-角色管理,找到集团客户经理管理员、政企客户经理管理员。

进行编辑,勾选企业白名单。

用例评审

冒烟自测

(完成)月统计报表中平面筛选项变更为后端控制

企业月流量

这个从芳造好数据后需要触发后端数据写入。

xcftest2025010403.com
xcftest2025010401.com

试商用

xcftest1119esop01.komect.com,gpnxknoh-mqewujpo0ofulamk,[1],2024-11-19 08:47:57,彭的企业,政企分公司,83526154

(完成)企业白名单审批人员变更需求

确认白名单权限显示问题。

1、前提的 关闭惩戒功能。

2、第二部中的(2)调用esop企业客户调用新增自助域名接口,这一步除了 CMCDN-Auth-Token 还有一个 Accept 参数的。

验证点文案:

{
	"err_desc":"请求校验通过,域名正在审核中,请等待集团客户经理管理员审核,审核通过后请在域名管理列表里查看域名信息。",
	"status":"under_review",
	"task_id":"7abc1faa3f324589a49380fdd1f12ea2"
}

3、第二步验证点 2.邮件提醒集团客户经理管理员审批【ESOP自助域名新增工单】

1.已存在esop企业:esop测试企业,企业中已存在点播域名

2.已在后台配置开启,域名列表页存在“新建域名”按钮

3.esop测试企业 配置为惩戒黑名单企业

4.开启惩戒功能

(完成)相同CPID下冲突域名兼容

前提:1.已存在企业:xcf海外点播,企业下已存在域名test.com和冲突域名test.com.01.cdnhwcqir15.com

(完成)增加黑名单联合惩戒需求,不允许惩戒客户新增域名