feat: 更新CC码监管方案业务版文档,新增摘要、UGC专项、直播专项、存量处置、误判申诉、水印嵌入、CC码生命周期、组织保障等章节;同步macode到cccode重命名及其他代码变更

This commit is contained in:
freedakgmail
2026-07-20 22:25:40 +08:00
parent 9f1e2d0a21
commit eb4a82a877
76 changed files with 2600 additions and 2122 deletions
+16 -16
View File
@@ -23,16 +23,16 @@ import (
// SyncSource 标识同步数据源接口。
type SyncSource interface {
ListContents(status string) ([]model.Content, error)
QueryContent(maCode string) (model.Content, error)
QueryMappings(maCode string) (chain.MappingsResult, error)
ListEpisodes(maCode string) ([]model.HashBinding, error)
QueryContent(ccCode string) (model.Content, error)
QueryMappings(ccCode string) (chain.MappingsResult, error)
ListEpisodes(ccCode string) ([]model.HashBinding, error)
}
// SyncSink 标识同步数据汇接口(远端节点实现)。
type SyncSink interface {
UpsertContent(c model.Content) error
UpsertBinding(maCode string, b model.HashBinding) error
UpsertMapping(maCode string, m model.Mapping) error
UpsertBinding(ccCode string, b model.HashBinding) error
UpsertMapping(ccCode string, m model.Mapping) error
}
// ConflictResolver 同步冲突解决策略。
@@ -103,7 +103,7 @@ func (s *SyncService) Sync(req SyncRequest) (SyncResult, error) {
} else {
if err := s.sink.UpsertContent(c); err != nil {
if errors.Is(err, ErrConflict) && req.Resolver == ConflictFail {
return result, fmt.Errorf("sync: 冲突 MA 码 %s: %w", c.MACode, err)
return result, fmt.Errorf("sync: 冲突 MA 码 %s: %w", c.CCCode, err)
}
result.Failed++
continue
@@ -112,9 +112,9 @@ func (s *SyncService) Sync(req SyncRequest) (SyncResult, error) {
result.TotalContents++
// 同步哈希绑定
eps, _ := s.source.ListEpisodes(c.MACode)
eps, _ := s.source.ListEpisodes(c.CCCode)
for _, b := range eps {
if err := s.sink.UpsertBinding(c.MACode, b); err != nil {
if err := s.sink.UpsertBinding(c.CCCode, b); err != nil {
result.Failed++
continue
}
@@ -122,9 +122,9 @@ func (s *SyncService) Sync(req SyncRequest) (SyncResult, error) {
}
// 同步映射
mr, _ := s.source.QueryMappings(c.MACode)
mr, _ := s.source.QueryMappings(c.CCCode)
for _, m := range mr.Mappings {
if err := s.sink.UpsertMapping(c.MACode, m); err != nil {
if err := s.sink.UpsertMapping(c.CCCode, m); err != nil {
result.Failed++
continue
}
@@ -151,16 +151,16 @@ func (cs *ChainSource) ListContents(status string) ([]model.Content, error) {
}
// QueryContent 查询内容主记录。
func (cs *ChainSource) QueryContent(maCode string) (model.Content, error) {
return cs.Client.QueryContent(maCode)
func (cs *ChainSource) QueryContent(ccCode string) (model.Content, error) {
return cs.Client.QueryContent(ccCode)
}
// QueryMappings 查询映射。
func (cs *ChainSource) QueryMappings(maCode string) (chain.MappingsResult, error) {
return cs.Client.QueryMappings(maCode)
func (cs *ChainSource) QueryMappings(ccCode string) (chain.MappingsResult, error) {
return cs.Client.QueryMappings(ccCode)
}
// ListEpisodes 列出集级哈希。
func (cs *ChainSource) ListEpisodes(maCode string) ([]model.HashBinding, error) {
return cs.Client.ListEpisodes(maCode)
func (cs *ChainSource) ListEpisodes(ccCode string) ([]model.HashBinding, error) {
return cs.Client.ListEpisodes(ccCode)
}