# 2.1 试用工单优化 - 同类型试用工单逻辑变更(P0) **需求背景** 针对试用工单流程存在的问题,计划建议 CDN 平台与 BOSS 的信息同步机制,CDN 平台和 BOSS 基于同步的信息判断各试用阶段可以进行的操作、限制等。本期做新增试用单状态接口及同类型试用工单逻辑变更。 **具体描述** 1. 分发范围(==产品类型。==)相同且业务类型相同的试用工单,视为“同类型”,其中网内和三网视为**同一种**分发范围。该条件**在集客大厅侧进行限制**,IBS 不对同一企业同一产品的试用次数进行限制。 2. 企业开户时序调整,当 ibs 接到集客大厅试用工单并校验通过后,创建相关企业信息。在流程中的试用单做开户的数据割接。(开户所用到的手机号、邮箱等信息若校验失败,先做拒收处理,待二期做退单处理)。企业信息以第一次为准。第一次试用驳回删除企业信息。下发业务适配单带 CPID,跟 bpm 联调。 3. 同一客户每种产品的同一种业务类型(以下简称“同一类型”)最多只能有 1 个在途试用工单。同一类型的试用工单转正式商用后,则此类型试用在途工单归 0。此时如因客户业务/计费需要,需开通新的订购将独立计费,则同一类型方可再发起新一次的试用以验证业务功能,但仍需保持同一类型最多只能有 1 个在途试用工单。该判定逻辑放在集客大厅,IBS 不限制试用单数量,集客大厅给工单接受即可。 4. 每次发起的试用工单相互独立(独立的 ProductID),分别计算试用时长和累计流量。可以针对试用单进行多次变更,变更工单与试用工单共用一个 ProductID,基于试用的多次试用变更视为同 1 次试用。其中域名为增量变更,时长和累计流量为全量变更,多次变更的工单试用时长和试用流量取变更单中的最大值。若遇到 22 年之前试用单无订购 ID 信息的报错处理,线上若出问题时通过后台补订购 ID 规避处理。 5. 后端企业与产品订购表结构修改,同一产品下支持多个订购。企业管理页面调整详见 3.6 章节。 6. 试用工单转商后就不能再进行试用相关操作。如:试用暂停/恢复、变更、删除。若接到集客大厅对该试用单进行操作,本期做拒收处理,下期做退单处理。 ## 需求评审 1. 注意取消开户失败邮件。(开户时成功发成功,失败发失败) 2. 停启用删除下发 CpId 问题。 3. 驳回的时候如何确认的企业是否是第一次试用逻辑。 4. 处理试用单前置校验。 5. 接口创单校验。 6. 试用变更单验收无对应试用单要报错。 测试提问: ![](../../../../attachment/images-uuid/720cb9e456ef40f5ba72088fdf84fb44.png) ## 需求备注 ## 需求开发 1. ~~创单开户校验。~~(已完成,使用历史手机号、邮箱校验格式。) 2. ~~下发 BPM 携带 CpId,目前逻辑已支持。~~(已完成,注意测试及联调 BPM 接收情况。) 3. ~~开户:异步开户。~~(已完成) 4. ~~阶段反馈逻辑缩减。~~(已完成。) 5. ~~开户失败是不是要处理受理按钮呀。~~(沿用验收反馈限制。) 6. ~~开户成功和成功发送邮件范围确认。~~(原开户成功和失败会发送给运营经理,现在无法发送。已同步产品。不发运营经理、失败发刘霞等抄送) 7. ~~处理试用单前置校验。~~ 8. ~~接口创单校验。~~ 9. ~~试用变更单验收无对应试用单要报错。~~ 10. ~~验收反馈:补充 productChargeModeDao (改)数据,存在性补充。~~ 11. ~~验收反馈:productChargeModeDao 改为试用中。创单设置为 配置中~~ 12. 开户逻辑异常重试,及数据割接接口。(沿用之前的运营经理点击配置按钮,待验证。) 13. 驳回的时候如何确认的企业是否是第一次试用逻辑。(ecId 下其他试用单,改判断条件) 这段代码的核心逻辑可以总结为以下步骤: 1. **从数据库中获取相关信息**: - 通过 `orderInfo.getEcId()` 从 `productIdInfoDao` 和 `preOrderDao` 中分别获取企业客户的 `ProductIdInfo` 列表和 `PreOrderInfo` 列表。 2. **过滤和映射预订单号**: - 对 `preOrders` 中的每个元素,过滤掉与当前 `orderNum` 相同的订单号,并提取剩下的订单号集合。 3. **从 `testOrderDao` 获取测试订单**: - 使用过滤后的订单号列表以及企业配置状态 `EnterpriseConfigEnum.CONFIGSUCCESS.getCode()` 作为条件,从 `testOrderDao` 中获取符合条件的 `TestOrderInfo` 列表。 - 进一步过滤这些 `TestOrderInfo`,确保它们的 `TestType` 与当前 `testOrderInfo` 的 `TestType` 一致。 4. **判断测试订单列表是否为空**: - 使用 `CommonUtil.listIsNullOrSizeEqualZero` 检查 `testOrders` 列表是否为空。 - 如果为空,表示这是企业客户的首次试用,执行同步删除企业信息的操作,并记录日志。 总结: - 该逻辑通过客户 ID 获取多个相关信息,对其中部分信息进行过滤和映射,最终判断是否是企业客户的首次试用。若是首次试用,执行特定操作。 # 2.4 与 BPM 下发的域名删除任务中增加运营经理信息(P0) 1、当客户点击删除按钮时,触发的域名删除任务(域名删除、cache+ 域名删除),下发给 BPM 的字段内容增加运营经理信息。**如果 bpm 不传 sa 信息**,需补充运营经理字段信息。 2、与 BPM 接口交互中,当 9.1.2 章节 task_second_class 字段为 2 和 7 时,user_id 为必填字段。 3、去除原有的限制条件:“任务二级分类”为域名删除且“派发 BPM 工单方式”为到期自动触发时,IBS 必须传此字段,BPM 用于给对应运营经理发起 IBS 通用运维待办工单(用于进行域名删除审核)。 4、同步支持直播域名的删除。 9.1.2 章节 task_second_class 字段 cache+:停用 8 启用 10 删除 7 esop/移动云 :停用 3 启用 4 删除 2 Esop 取值顺序: 1. BPM 回传值; 2. 企业省份的 SA;(取第一个。) 3. 保底配置项 GLOBAL_AREA_MANAGER_ID。 Cache+ 取值规则: 1. 省侧:区域经理;(随机一个。) 2. 集团:企业对应运营经理;(取第一个。) 3. 保底配置项 GLOBAL_AREA_MANAGER_ID; 关于配置项:GLOBAL_AREA_MANAGER_ID(目前现网配置的 徐娜 id:1649 角色为运营经理) “任务二级分类”为 2、3、4、7、8、10 时此字段为必填。 ## 需求评审 ## 需求备注 1. 更新接口文档。 2. 是否只有域名删除,停启用?(更新需求文档。) 3. cache+ 的兜底是否也设置一个徐娜。 4. cache+ 的集团侧逻辑方案(1. 企业对应的运营经理。2. 直接兜底。) 9.1.2 章节 task_second_class 字段为 2(域名删除) 和 7(cache+ 域名删除) 时,user_id 为必填字段。 同步支持直播域名的删除。 cache+:停用 8 启用 10 删除 7 esop/移动云 :停用 3 启用 4 删除 2 ## 需求开发 # 用例评审 # 冒烟自测 ## 删除定制化域名 - 点播 -ESOP(试用单引入) 这一步,点击删除按钮 后会有提示框,需点击确认后观察日志。 ![](../../../../attachment/images-uuid/691212da0c2949e18ad35b9dc1b3ce75.png) 验证点中:日志展示这个会严格比对字符吗? 现在日志打的是:点播域名操作下发 BPM 有个空格,我怕你们用用例的字眼去筛选日志筛选不到。 ## 解除试用次数限制 - 同一企业、业务类型、产品类型 前提中: 产品类型:移动网内 CDN ## 浙江省份企业首次订购试用单(退回)- 验证下发业务适 前提中直接就是 1.浙江企业:测试企业,首次提交试用单 已存在 怪怪的本来就是首次。 最后一步,这个页面不能通过 cpid 查企业。 ![](../../../../attachment/images-paste/image-20240926171614938.png) ![](../../../../attachment/images-paste/image-20240926171646407.png) ## 试用变更单(新增域名 - 点播):试用 - 变更时长 - 变更 前提中、六、七、十、十一、十二 的 产品类型:移动网内 CDN 第四步:4.阶段反馈决策通过,刷新页面,IBS 页面弹出 6 项配置项 “刷新页面”建议改为“重新进入工单页面”刷新页面会直接回到工单列表。 第五步:5.调用验收反馈接口,验收反馈通过 接口和报文粘贴的是阶段反馈 第五步:验证点 工单状态 已完成 第九步:验证点 工单状态 已完成 --- 第五步: ![](../../../../attachment/images-paste/image-20240927125317119.png) ![](../../../../attachment/images-paste/image-20240927130949211.png) 去掉端口。 第六、七、十、十一、十二步,验证点都有两个域名,我看着最后一个是可以的,中间那个看看可以删了。 这用例算是走不完了。 哈哈。 第六步: ![](../../../../attachment/images-paste/image-20240927131138856.png) 第七步: ![](../../../../attachment/images-paste/image-20240927125846497.png) 重复了。留最后一个就行。 第十步: ![](../../../../attachment/images-paste/image-20240927130519270.png) 留最后一个就行。 第十一步: ![](../../../../attachment/images-paste/image-20240927130624868.png) 第十二步: ![](../../../../attachment/images-paste/image-20240927130735366.png) ### 流程备注 商机与试用订单号:0927_0937_20 第一次变更单:0927_0941_04