Files
notes/work/移动杭研/开发记录/7.11.0/自动化统计展示各类客户数据 AI 提示词.md
T
2026-03-01 01:43:46 +08:00

14 KiB
Raw Blame History

提示词 1

开发语言:JDK8

产品:页面、视频、下载、直播、超低时延直播、全站四层加速、全站七层加速

工单:试用单(试用开始时间、试用结束时间)、试用删除工单、开通单(开通时间)、非首次开通单(开通时间)、注销单(注销时间)。

对应两个概念:

试用:试用单、试用删除工单。

商用:开通单、非首次开通单、注销单。

一个企业必须要经过首次开通后才能进行非首次开通。

试用的时候会创建企业。

企业可以试用或商用多个产品,每个产品,也可以多个,用订购ID来进行区分。

工单也可能被驳回。

现在有一个需求,要统计客户数。

客户数定义:esop企业(cpid)+产品类型(点播(页面、下载、视频)、直播、超低时延直播、全站四层加速、全站七层加速)

也就是,cpid+点播 算一个数,点播包含了页面、下载、视频。cpid+直播算一个。cpid+超低时延直播算一个。cpid+全站四层加速算一个。cpid+全站七层加速算一个。

比如客户有两个订购是页面和1个订购是下载算一个企业数。

比如客户有两个订购是页面和1个订购是下载和1个订购是直播算两个企业数。

指标1CDN存量商用客户数,如果产品下有多个订购已开通,开通时间为最早的开通时间。

指标2CDN注销客户数业务订购均已注销,则定义为已注销。如果cpid+产品类型相同,但订购不同,都注销了才算注销。如果cpid+直播注销了,点播未注销,则统计直播的数据。

页面会传一个开始时间,一个结束时间,针对这两个指标只需要取结束时间进行计算。

有什么好的算法思维。


提示词 2

你是一位资深的算法工程师,精通数据统计和业务逻辑分析。我有一个需求,需要设计一种算法思维或逻辑来统计CDN服务的客户数,具体包括两个指标:CDN存量商用客户数CDN注销客户数。以下是相关的业务背景和定义,请根据这些信息提供详细的算法思路或伪代码,使用JDK8相关的数据结构和逻辑。

业务背景

  • 开发语言JDK8
  • 产品类型:页面、视频、下载、直播、超低时延直播、全站四层加速、全站七层加速
  • 工单类型
    • 试用:试用单(可获取试用开始时间、试用结束时间)
    • 商用:开通单(包含开通时间)、非首次开通单(包含开通时间)、注销单(包含注销时间)
  • 概念
    • 试用:试用单
    • 商用:开通单、非首次开通单、注销单
    • 注:企业必须首次开通后才能进行非首次开通;试用时会创建企业
  • 企业与产品:一个企业可以试用或商用多个产品,每个产品的订购用订购ID区分
  • 工单状态:工单可能被驳回
  • 客户数定义:以企业ID(cpid)+产品类型组合为单位计数,其中:
    • 点播(包含页面、下载、视频)算一个类型
    • 直播、超低时延直播、全站四层加速、全站七层加速各自算一个类型
    • 示例:cpid+点播(无论有几个订购)算1个客户数;cpid+点播+直播算2个客户数

指标定义

  1. CDN存量商用客户数:对于某一企业(cpid)+产品类型组合,如果该组合下有多个订购已开通,则以最早的开通时间为准,判定为存量商用客户。
  2. CDN注销客户数:对于某一企业(cpid)+产品类型组合,如果该组合下的所有订购均已注销,则判定为已注销客户。如果同一cpid下,某产品类型(如直播)已注销,但另一类型(如点播)未注销,则只统计直播的注销数据。
  • 时间范围:页面会传入一个开始时间和结束时间,但这两个指标仅基于结束时间进行计算。

任务

请提供一种算法思维或逻辑,用于计算上述两个指标。输出应包含:

  • 数据处理步骤(如何分组、筛选、计算)
  • 如何处理产品类型分组(如点播包含页面、下载、视频)
  • 如何判定存量商用客户和注销客户
  • 可能用到的数据结构(如Map、List等,基于JDK8
  • 对工单驳回等特殊情况的处理建议
  • 最终输出结果的格式建议(例如,按cpid和产品类型组合的统计结果)

输出格式

  • 使用结构化的文本或伪代码,清晰展示每一步逻辑。
  • 如果可能,提供一个简单的示例,说明如何根据输入数据计算两个指标。
  • 语言:中文

请按上述要求,提供详细的算法设计思路。

for (EnterpriseInfoDTO enterpriseInfo : enterpriseInfos) 的逻辑实现了获取每个企业下有多少产品,每个产品有多少订购,每个订购的,试用开始时间、试用结束时间、商用开始时间、商用结束时间、业务暂停时间、业务恢复时间。请用 List<EnterpriseProduct> enterpriseProducts 帮我收集。


enterpriseProducts结构为:
public class EnterpriseProduct {  
  
    private String enterpriseId;  
    private List<ProductDTO> products;  
  
}
public class ProductDTO {  
  
    private String product;  
    private List<ProductDetailsDTO> details;  
  
}
public class ProductDetailsDTO {  
  
    private String productId;  
    private String productType;  
    @Builder.Default  
    private List<TrialPeriodDTO> trialPeriods = new ArrayList<>(); // 试用周期  
    private LocalDateTime businessStartTime; // 商用开始时间。  
    private LocalDateTime businessCancelTime; // 商用注销时间。  
    @Builder.Default  
    private List<BusinessPeriodDTO> businessPeriods = new ArrayList<>(); // 商用暂停恢复周期  
  
  
}
public class TrialPeriodDTO {  
    private LocalDateTime startTime;  
    private LocalDateTime endTime;  
}
public class BusinessPeriodDTO {  
    private LocalDateTime pauseTime; // 商用暂停时间  
    private LocalDateTime restoreTime; // 商用恢复时间  
}

提示词 3

你是一位资深的算法工程师,精通数据统计和业务逻辑分析。我有一个需求,需要设计一种算法思维或逻辑来统计CDN服务的客户数,具体包括两个指标:CDN存量商用客户数CDN注销客户数。以下是相关的业务背景和定义,请根据这些信息提供详细的算法思路或伪代码,使用JDK8相关的数据结构和逻辑。

业务背景

  • 开发语言JDK8
  • 产品类型:点播、直播、超低时延直播、全站四层加速、全站七层加速
  • 企业与产品:一个企业可以试用或商用多个产品,每个产品的订购用订购ID区分
  • 客户数定义:以企业ID(cpid)+产品类型组合为单位计数,其中:
    • 示例:cpid+点播(无论有几个订购)算1个客户数;
    • 有cpid+点播(无论有几个订购),cpid+直播(无论有几个订购)算2个客户数

指标定义

  1. CDN存量商用客户数:对于某一企业(cpid)+产品类型组合,改查询时间是否在商用订购时间段内。
  2. CDN注销客户数:对于某一企业(cpid)+产品类型组合,如果该组合下的所有订购均已注销(也就是查询时间前所有订购均有商用开始时间和结束时间),则判定为已注销客户,但是如果该查询时间存在试用也不算注销。
  • 时间取值:页面会传入一个开始时间和结束时间,但这两个指标仅基于结束时间进行计算(LocalDateTime requestEndTime = request.getEndTime();)。

任务

请提供一种算法思维逻辑,用于计算上述两个指标。输出应包含:

  • 数据处理步骤(如何分组、筛选、计算)
  • 如何处理产品类型分组(如点播包含页面、下载、视频)
  • 如何判定存量商用客户和注销客户
  • 可能用到的数据结构(如Map、List等,基于JDK8

输出格式

  • 清晰展示每一步逻辑代码。
  • 语言:中文

请按上述要求,提供详细的算法设计思路。


提示词 4

你是一位资深的算法工程师,精通数据统计和业务逻辑分析。我有一个需求,需要设计一种算法思维或逻辑来统计CDN服务的客户数,具体包括两个指标:CDN存量商用客户数CDN注销客户数。以下是相关的业务背景和定义,请根据这些信息提供详细的算法思路或伪代码,使用JDK8相关的数据结构和逻辑。

我现在有一个结构体 EnterpriseProduct

@Data  
@NoArgsConstructor  
@AllArgsConstructor  
public class EnterpriseProduct {  
  
    private String enterpriseId;  
  
    private List<ProductDTO> products;  
  
}

@Data  
@Builder  
@NoArgsConstructor  
@AllArgsConstructor  
public class ProductDTO {  
  
    private String product;  
  
    private List<ProductDetailsDTO> details;  
  
}

@Data  
@Builder  
@NoArgsConstructor  
@AllArgsConstructor  
public class ProductDetailsDTO {  
  
    private String productId;  
  
    private String productType;  
  
    @Builder.Default  
    private List<TrialPeriodDTO> trialPeriods = new ArrayList<>(); // 试用周期  
  
    private LocalDateTime businessStartTime; // 商用开始时间。  
  
    private LocalDateTime businessCancelTime; // 商用注销时间。  
  
    @Builder.Default  
    private List<BusinessPeriodDTO> businessPeriods = new ArrayList<>(); // 商用暂停恢复周期  
  
}

@Data  
@Builder  
@NoArgsConstructor  
@AllArgsConstructor  
public class TrialPeriodDTO {  
  
    private LocalDateTime startTime;  
  
    private LocalDateTime endTime;  
  
}

@Data  
@Builder  
@NoArgsConstructor  
@AllArgsConstructor  
public class BusinessPeriodDTO {  
  
    /**  
     * 商用暂停时间.  
     */    private LocalDateTime pauseTime;  
  
    /**  
     * 商用恢复时间  
     */  
    private LocalDateTime restoreTime;  
  
}

相当于一个企业下有多个产品,每个产品有多个订购。每个订购又有商用开始时间和结束时间(商用中的结束时间可能为空)和多段的试用开始结束周期(试用中的结束时间可能为空)。和商用暂停恢复周期(暂停中的恢复时间可能为空)。

业务背景

  • 开发语言JDK8
  • 产品类型:点播、直播、超低时延直播、全站四层加速、全站七层加速
  • 企业与产品:一个企业可以试用或商用多个产品,每个产品的订购用订购ID区分
  • 客户数定义:以企业ID(cpid)+产品类型组合为单位计数,其中:
    • 示例:cpid+点播(无论有几个订购)算1个客户数;
    • 有cpid+点播(无论有几个订购),cpid+直播(无论有几个订购)算2个客户数

指标定义

  1. CDN存量商用客户数:对于某一企业(cpid)+产品类型组合,改查询时间是否在商用订购时间段内。
  2. CDN注销客户数:对于某一企业(cpid)+产品类型组合,如果该组合下的所有订购均已注销(也就是查询时间前所有订购均有商用开始时间和结束时间),则判定为已注销客户,但是如果该查询时间存在试用也不算注销。
  • 时间取值:页面会传入一个开始时间和结束时间,但这两个指标仅基于结束时间进行计算(LocalDateTime requestEndTime = request.getEndTime();)。

任务

请提供一种算法思维逻辑,用于计算上述两个指标。输出应包含:

  • 数据处理步骤(如何分组、筛选、计算)
  • 如何处理产品类型分组(如点播包含页面、下载、视频)
  • 如何判定存量商用客户和注销客户
  • 可能用到的数据结构(如Map、List等,基于JDK8

输出格式

  • 清晰展示每一步逻辑代码。
  • 语言:中文

请按上述要求,提供详细的算法设计思路。


提示词 5

你是一位资深的算法工程师,精通数据统计和业务逻辑分析。我有一个需求,需要设计一种算法思维或逻辑来统计CDN服务的客户数对应详情列表,具体包括两个指标:CDN存量商用客户数CDN注销客户数。以下是相关的业务背景和定义,请根据这些信息提供详细的算法思路和代码,使用 JDK8 相关的数据结构、逻辑和语法。

业务背景

  • 开发语言JDK8
  • 产品类型:点播、直播、超低时延直播、全站四层加速、全站七层加速
  • 企业与产品:一个企业可以试用或商用多个产品,每个产品可以订购多个,用订购用订购ID区分
  • 客户数定义:以企业ID(cpid)+产品类型组合为单位计数,其中:
    • cpid+点播(无论有几个订购)算1个客户数;
    • 有cpid+点播(无论有几个订购),cpid+直播(无论有几个订购)算2个客户数,相当于企业产品维度。

指标定义

  1. CDN存量商用客户数:对于某一企业(cpid)+产品类型组合,改查询时间是否在商用订购时间段内。
  2. CDN注销客户数:对于某一企业(cpid)+产品类型组合,如果该组合下的所有订购均已注销(也就是查询时间前所有订购均有商用开始时间和结束时间),则判定为已注销客户,但是如果该查询时间存在试用也不算注销。
  • 时间取值:页面会传入一个开始时间和结束时间,但这两个指标仅基于结束时间进行计算(LocalDateTime requestEndTime = request.getEndTime();)。

任务

请提供一种算法思维逻辑,用于根据现有计算路基,提供方案实现为前端提供上述两个指标详情列表(分页)。输出应包含:

CDN存量商用客户数:序号、CPID、企业名称、引入省份、状态、商用开通时间、类型

CDN注销客户数:序号、CPID、企业名称、引入省份、状态、注销时间、类型

关于状态:只要有开通就是已开通;全都注销是已注销;有已开通,对应的开通订购都处于暂停时间,算已暂停。

当前已有的逻辑时计算CDN存量商用客户数、CDN注销客户数的逻辑。是否可以抽出来一些公共方法。

输出格式

  • 清晰展示每一步逻辑代码。
  • 语言:中文

请按上述要求,提供详细的算法设计和实现。