feat: 更新CC码监管方案业务版文档,新增摘要、UGC专项、直播专项、存量处置、误判申诉、水印嵌入、CC码生命周期、组织保障等章节;同步macode到cccode重命名及其他代码变更
This commit is contained in:
@@ -6,7 +6,7 @@ import "time"
|
||||
|
||||
// Authorization 信息网络传播权授权(需求25-AC1)。
|
||||
type Authorization struct {
|
||||
MACode string `json:"ma_code"`
|
||||
CCCode string `json:"ma_code"`
|
||||
Regions []string `json:"regions"` // 授权地域(省码),空=全国
|
||||
Platforms []string `json:"platforms"` // 授权平台/运营商,空=不限
|
||||
ExpiryAt time.Time `json:"expiry_at"` // 授权到期;零值=长期
|
||||
@@ -22,7 +22,7 @@ type AuthCheckResult struct {
|
||||
// CrossProvinceResult 跨省复用准入结果(需求13)。
|
||||
type CrossProvinceResult struct {
|
||||
Admitted bool `json:"admitted"`
|
||||
MACodeValid bool `json:"ma_code_valid"`
|
||||
CCCodeValid bool `json:"ma_code_valid"`
|
||||
HashConsistent bool `json:"hash_consistent"`
|
||||
NotBlacklisted bool `json:"not_blacklisted"`
|
||||
ProvinceFlowNo string `json:"province_flow_no"` // 本省审核流水号
|
||||
|
||||
@@ -16,7 +16,7 @@ const (
|
||||
// Content 内容主表(Content Registry)。
|
||||
type Content struct {
|
||||
ContentTwinID string `json:"content_twin_id"`
|
||||
MACode string `json:"ma_code"`
|
||||
CCCode string `json:"ma_code"`
|
||||
MAType string `json:"ma_type"`
|
||||
Title string `json:"title"`
|
||||
EpisodeCount int `json:"episode_count"`
|
||||
@@ -95,8 +95,8 @@ const (
|
||||
StatusInLibrary = "in_library" // 已入媒资库
|
||||
StatusPublished = "published" // 已发布
|
||||
StatusRevoked = "revoked" // 已下架
|
||||
StatusMerged = "merged" // 已合并入其他MA码
|
||||
StatusSplit = "split" // 已拆分为多个MA码
|
||||
StatusMerged = "merged" // 已合并入其他CC码
|
||||
StatusSplit = "split" // 已拆分为多个CC码
|
||||
)
|
||||
|
||||
// ContentQueryResult 多维度标识查询的统一返回结果。
|
||||
@@ -110,16 +110,16 @@ type ContentQueryResult struct {
|
||||
|
||||
// MergeRequest MA 合并请求(将多个 MA 码合并为一个主 MA 码)。
|
||||
type MergeRequest struct {
|
||||
PrimaryMACode string `json:"primary_ma_code"` // 合并后保留的主 MA 码
|
||||
SecondaryMACodes []string `json:"secondary_ma_codes"` // 被合并的 MA 码列表(合并后标记为 merged)
|
||||
PrimaryCCCode string `json:"primary_ma_code"` // 合并后保留的主 MA 码
|
||||
SecondaryCCCodes []string `json:"secondary_ma_codes"` // 被合并的 MA 码列表(合并后标记为 merged)
|
||||
Reason string `json:"reason"` // 合并原因
|
||||
Operator string `json:"operator"` // 操作人
|
||||
}
|
||||
|
||||
// MergeResult MA 合并结果。
|
||||
type MergeResult struct {
|
||||
PrimaryMACode string `json:"primary_ma_code"` // 主 MA 码
|
||||
MergedMACodes []string `json:"merged_ma_codes"` // 已合并的 MA 码列表
|
||||
PrimaryCCCode string `json:"primary_ma_code"` // 主 MA 码
|
||||
MergedCCCodes []string `json:"merged_ma_codes"` // 已合并的 MA 码列表
|
||||
MigratedBindings int `json:"migrated_bindings"` // 迁移的哈希绑定数
|
||||
MigratedMappings int `json:"migrated_mappings"` // 迁移的映射数
|
||||
TxID string `json:"tx_id"` // 链上交易 ID
|
||||
@@ -127,7 +127,7 @@ type MergeResult struct {
|
||||
|
||||
// SplitRequest MA 拆分请求(将一个 MA 码拆分为多个独立 MA 码)。
|
||||
type SplitRequest struct {
|
||||
SourceMACode string `json:"source_ma_code"` // 被拆分的源 MA 码
|
||||
SourceCCCode string `json:"source_ma_code"` // 被拆分的源 MA 码
|
||||
Splits []SplitTarget `json:"splits"` // 拆分目标列表
|
||||
Reason string `json:"reason"` // 拆分原因
|
||||
Operator string `json:"operator"` // 操作人
|
||||
@@ -135,15 +135,15 @@ type SplitRequest struct {
|
||||
|
||||
// SplitTarget 拆分目标:每集或每组内容拆分后的新 MA 码信息。
|
||||
type SplitTarget struct {
|
||||
NewMACode string `json:"new_ma_code"` // 拆分后新分配的 MA 码
|
||||
NewCCCode string `json:"new_ma_code"` // 拆分后新分配的 MA 码
|
||||
Title string `json:"title"` // 拆分后内容标题
|
||||
Episodes []int `json:"episodes"` // 关联的集号列表(空表示整剧拆分)
|
||||
}
|
||||
|
||||
// SplitResult MA 拆分结果。
|
||||
type SplitResult struct {
|
||||
SourceMACode string `json:"source_ma_code"` // 源 MA 码
|
||||
NewMACodes []string `json:"new_ma_codes"` // 拆分后生成的新 MA 码列表
|
||||
SourceCCCode string `json:"source_ma_code"` // 源 MA 码
|
||||
NewCCCodes []string `json:"new_ma_codes"` // 拆分后生成的新 MA 码列表
|
||||
MigratedBindings int `json:"migrated_bindings"` // 迁移的哈希绑定数
|
||||
MigratedMappings int `json:"migrated_mappings"` // 迁移的映射数
|
||||
TxID string `json:"tx_id"` // 链上交易 ID
|
||||
|
||||
@@ -15,7 +15,7 @@ const (
|
||||
|
||||
// PlaybackEvent 运营商以 MA 码为维度回传的播放/消费事件(需求9-AC1)。
|
||||
type PlaybackEvent struct {
|
||||
MACode string `json:"ma_code"`
|
||||
CCCode string `json:"ma_code"`
|
||||
Episode int `json:"episode"` // 0=整剧/单体
|
||||
PlatformID string `json:"platform_id"` // 运营商节点
|
||||
UserHash string `json:"user_hash"` // 用户标识哈希(隐私保护)
|
||||
@@ -27,7 +27,7 @@ type PlaybackEvent struct {
|
||||
|
||||
// PlaybackSummary 按 MA 码聚合的可信播放数据(需求9-AC2、需求21-AC1)。
|
||||
type PlaybackSummary struct {
|
||||
MACode string `json:"ma_code"`
|
||||
CCCode string `json:"ma_code"`
|
||||
TotalPlays int64 `json:"total_plays"`
|
||||
TotalComplete int64 `json:"total_complete"`
|
||||
TotalRevenue int64 `json:"total_revenue_cent"`
|
||||
@@ -55,7 +55,7 @@ func DefaultShareConfig() RevenueShareConfig {
|
||||
|
||||
// Settlement 基于可信播放数据的分账结算结果(需求21-AC3)。
|
||||
type Settlement struct {
|
||||
MACode string `json:"ma_code"`
|
||||
CCCode string `json:"ma_code"`
|
||||
Period string `json:"period"`
|
||||
TotalRevenue int64 `json:"total_revenue_cent"`
|
||||
CPShare int64 `json:"cp_share_cent"`
|
||||
|
||||
@@ -18,7 +18,7 @@ const (
|
||||
|
||||
// ProvenanceEvent 全链路存证事件(需求22-AC1/AC3):带时间戳、操作方、不可篡改。
|
||||
type ProvenanceEvent struct {
|
||||
MACode string `json:"ma_code"`
|
||||
CCCode string `json:"ma_code"`
|
||||
Node ProvenanceNode `json:"node"`
|
||||
HashValue string `json:"hash_value"` // 该节点经手的内容哈希(可空,如纯审核结论)
|
||||
Operator string `json:"operator"` // 操作方标识
|
||||
@@ -28,7 +28,7 @@ type ProvenanceEvent struct {
|
||||
|
||||
// AccountabilityReport 责任界定取证报告(需求22-AC2/AC4)。
|
||||
type AccountabilityReport struct {
|
||||
MACode string `json:"ma_code"`
|
||||
CCCode string `json:"ma_code"`
|
||||
Trail []ProvenanceEvent `json:"trail"`
|
||||
BaselineHash string `json:"baseline_hash"` // 发码时绑定的基准哈希
|
||||
FirstChange *ProvenanceEvent `json:"first_change"` // 首次发生哈希变化的节点(nil=全程一致)
|
||||
@@ -38,7 +38,7 @@ type AccountabilityReport struct {
|
||||
|
||||
// CopyrightEvidence 版权确权证据链(需求23-AC1/AC2)。
|
||||
type CopyrightEvidence struct {
|
||||
MACode string `json:"ma_code"`
|
||||
CCCode string `json:"ma_code"`
|
||||
Title string `json:"title"`
|
||||
ContentHash string `json:"content_hash"`
|
||||
Issuer string `json:"issuer"`
|
||||
@@ -51,7 +51,7 @@ type CopyrightEvidence struct {
|
||||
|
||||
// InfringeMatch 疑似侵权命中(需求23-AC3)。
|
||||
type InfringeMatch struct {
|
||||
MACode string `json:"ma_code"`
|
||||
CCCode string `json:"ma_code"`
|
||||
Title string `json:"title"`
|
||||
Distance int `json:"hamming_distance"` // 感知哈希汉明距离,越小越相似
|
||||
Similarity string `json:"similarity"` // high/medium
|
||||
|
||||
@@ -4,7 +4,7 @@ package model
|
||||
|
||||
// FilingRecord 备案/网标关联(三期 A.1,对接广电总局备案/发行许可证系统)。
|
||||
type FilingRecord struct {
|
||||
MACode string `json:"ma_code"`
|
||||
CCCode string `json:"ma_code"`
|
||||
LicenseNo string `json:"license_no"` // 网络剧片发行许可证号(网标号)
|
||||
FilingNo string `json:"filing_no"` // 重点网络影视剧备案号
|
||||
BoundAt string `json:"bound_at"`
|
||||
|
||||
@@ -44,7 +44,7 @@ type ParsedMA struct {
|
||||
|
||||
// ResolveResult 跨域解析网关返回(四期 C.1/C.2,大小屏统一解析)。
|
||||
type ResolveResult struct {
|
||||
MACode string `json:"ma_code"`
|
||||
CCCode string `json:"ma_code"`
|
||||
Parsed ParsedMA `json:"parsed"`
|
||||
Title string `json:"title"`
|
||||
Status string `json:"status"` // 流通状态(published/revoked/...)
|
||||
@@ -58,7 +58,7 @@ type ResolveResult struct {
|
||||
|
||||
// ScanVerifyResult 用户扫码验真返回(四期 B.2)。
|
||||
type ScanVerifyResult struct {
|
||||
MACode string `json:"ma_code"`
|
||||
CCCode string `json:"ma_code"`
|
||||
Authentic bool `json:"authentic"` // MA 码真伪(链上存在且结构合法)
|
||||
Compliant bool `json:"compliant"` // 是否合规流通(未下架)
|
||||
Status string `json:"status"`
|
||||
@@ -70,7 +70,7 @@ type ScanVerifyResult struct {
|
||||
|
||||
// PurchaseRecord 用户一次购买记录(四期 D.1)。
|
||||
type PurchaseRecord struct {
|
||||
MACode string `json:"ma_code"`
|
||||
CCCode string `json:"ma_code"`
|
||||
UserHash string `json:"user_hash"`
|
||||
Screen ScreenType `json:"screen"` // 购买时所在屏
|
||||
PurchasedAt time.Time `json:"purchased_at"`
|
||||
@@ -79,12 +79,12 @@ type PurchaseRecord struct {
|
||||
// UserRights 用户跨屏权益账户:以 MA 码为维度记录购买,任一屏购买即全屏通看。
|
||||
type UserRights struct {
|
||||
UserHash string `json:"user_hash"`
|
||||
Purchases map[string]PurchaseRecord `json:"purchases"` // maCode -> record
|
||||
Purchases map[string]PurchaseRecord `json:"purchases"` // ccCode -> record
|
||||
}
|
||||
|
||||
// CrossScreenRightsResult 跨屏权益核验返回(四期 D.1)。
|
||||
type CrossScreenRightsResult struct {
|
||||
MACode string `json:"ma_code"`
|
||||
CCCode string `json:"ma_code"`
|
||||
UserHash string `json:"user_hash"`
|
||||
Entitled bool `json:"entitled"` // 是否有权益(任一屏购买即全屏通看)
|
||||
RequestScreen ScreenType `json:"request_screen"` // 当前请求屏
|
||||
|
||||
Reference in New Issue
Block a user