Compare commits

..

No commits in common. "feature-userinfo-daiyb" and "main" have entirely different histories.

13 changed files with 407 additions and 1876 deletions

View File

@ -653,7 +653,6 @@ type UpdateMediaAccountReq struct {
ManagerUuid string `protobuf:"bytes,8,opt,name=managerUuid,proto3" json:"managerUuid"` ManagerUuid string `protobuf:"bytes,8,opt,name=managerUuid,proto3" json:"managerUuid"`
ManagerUserName string `protobuf:"bytes,9,opt,name=managerUserName,proto3" json:"managerUserName"` ManagerUserName string `protobuf:"bytes,9,opt,name=managerUserName,proto3" json:"managerUserName"`
ArtistPhoneAreaCode string `protobuf:"bytes,10,opt,name=artistPhoneAreaCode,proto3" json:"artistPhoneAreaCode"` ArtistPhoneAreaCode string `protobuf:"bytes,10,opt,name=artistPhoneAreaCode,proto3" json:"artistPhoneAreaCode"`
ArtistSubNum string `protobuf:"bytes,11,opt,name=artistSubNum,proto3" json:"artistSubNum"`
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
} }
@ -758,13 +757,6 @@ func (x *UpdateMediaAccountReq) GetArtistPhoneAreaCode() string {
return "" return ""
} }
func (x *UpdateMediaAccountReq) GetArtistSubNum() string {
if x != nil {
return x.ArtistSubNum
}
return ""
}
type UpdateMediaAccountResp struct { type UpdateMediaAccountResp struct {
state protoimpl.MessageState `protogen:"open.v1"` state protoimpl.MessageState `protogen:"open.v1"`
MediaAccountUuid string `protobuf:"bytes,1,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` MediaAccountUuid string `protobuf:"bytes,1,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"`
@ -981,9 +973,6 @@ type UpdateWorkImageReq struct {
LineNo uint32 `protobuf:"varint,18,opt,name=lineNo,proto3" json:"lineNo"` LineNo uint32 `protobuf:"varint,18,opt,name=lineNo,proto3" json:"lineNo"`
Remark string `protobuf:"bytes,19,opt,name=remark,proto3" json:"remark"` Remark string `protobuf:"bytes,19,opt,name=remark,proto3" json:"remark"`
Success bool `protobuf:"varint,20,opt,name=success,proto3" json:"success"` Success bool `protobuf:"varint,20,opt,name=success,proto3" json:"success"`
ArtistSubNum string `protobuf:"bytes,21,opt,name=artistSubNum,proto3" json:"artistSubNum"`
ScriptUuid string `protobuf:"bytes,22,opt,name=scriptUuid,proto3" json:"scriptUuid"`
PromptUuids []string `protobuf:"bytes,23,rep,name=promptUuids,proto3" json:"promptUuids"`
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
} }
@ -1158,27 +1147,6 @@ func (x *UpdateWorkImageReq) GetSuccess() bool {
return false return false
} }
func (x *UpdateWorkImageReq) GetArtistSubNum() string {
if x != nil {
return x.ArtistSubNum
}
return ""
}
func (x *UpdateWorkImageReq) GetScriptUuid() string {
if x != nil {
return x.ScriptUuid
}
return ""
}
func (x *UpdateWorkImageReq) GetPromptUuids() []string {
if x != nil {
return x.PromptUuids
}
return nil
}
type UpdateWorkImageResp struct { type UpdateWorkImageResp struct {
state protoimpl.MessageState `protogen:"open.v1"` state protoimpl.MessageState `protogen:"open.v1"`
WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"`
@ -1331,7 +1299,6 @@ type UpdateWorkVideoReq struct {
CoverTimestampMs uint64 `protobuf:"varint,19,opt,name=coverTimestampMs,proto3" json:"coverTimestampMs"` CoverTimestampMs uint64 `protobuf:"varint,19,opt,name=coverTimestampMs,proto3" json:"coverTimestampMs"`
AutoPublish AutoPublishENUM `protobuf:"varint,20,opt,name=autoPublish,proto3,enum=Cast.AutoPublishENUM" json:"autoPublish"` AutoPublish AutoPublishENUM `protobuf:"varint,20,opt,name=autoPublish,proto3,enum=Cast.AutoPublishENUM" json:"autoPublish"`
ScriptUuid string `protobuf:"bytes,21,opt,name=scriptUuid,proto3" json:"scriptUuid"` ScriptUuid string `protobuf:"bytes,21,opt,name=scriptUuid,proto3" json:"scriptUuid"`
ArtistSubNum string `protobuf:"bytes,22,opt,name=artistSubNum,proto3" json:"artistSubNum"`
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
} }
@ -1513,13 +1480,6 @@ func (x *UpdateWorkVideoReq) GetScriptUuid() string {
return "" return ""
} }
func (x *UpdateWorkVideoReq) GetArtistSubNum() string {
if x != nil {
return x.ArtistSubNum
}
return ""
}
type UpdateWorkVideoResp struct { type UpdateWorkVideoResp struct {
state protoimpl.MessageState `protogen:"open.v1"` state protoimpl.MessageState `protogen:"open.v1"`
WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"`
@ -1686,10 +1646,6 @@ type WorkListReq struct {
MediaAccountUuids []string `protobuf:"bytes,14,rep,name=mediaAccountUuids,proto3" json:"mediaAccountUuids"` MediaAccountUuids []string `protobuf:"bytes,14,rep,name=mediaAccountUuids,proto3" json:"mediaAccountUuids"`
CostType int32 `protobuf:"varint,15,opt,name=costType,proto3" json:"costType"` CostType int32 `protobuf:"varint,15,opt,name=costType,proto3" json:"costType"`
ScriptUuid string `protobuf:"bytes,16,opt,name=scriptUuid,proto3" json:"scriptUuid"` ScriptUuid string `protobuf:"bytes,16,opt,name=scriptUuid,proto3" json:"scriptUuid"`
ArtistSubNum string `protobuf:"bytes,17,opt,name=artistSubNum,proto3" json:"artistSubNum"`
TiktokStatus uint32 `protobuf:"varint,18,opt,name=tiktokStatus,proto3" json:"tiktokStatus"`
InsStatus uint32 `protobuf:"varint,19,opt,name=insStatus,proto3" json:"insStatus"`
DmStatus uint32 `protobuf:"varint,20,opt,name=dmStatus,proto3" json:"dmStatus"`
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
} }
@ -1836,34 +1792,6 @@ func (x *WorkListReq) GetScriptUuid() string {
return "" return ""
} }
func (x *WorkListReq) GetArtistSubNum() string {
if x != nil {
return x.ArtistSubNum
}
return ""
}
func (x *WorkListReq) GetTiktokStatus() uint32 {
if x != nil {
return x.TiktokStatus
}
return 0
}
func (x *WorkListReq) GetInsStatus() uint32 {
if x != nil {
return x.InsStatus
}
return 0
}
func (x *WorkListReq) GetDmStatus() uint32 {
if x != nil {
return x.DmStatus
}
return 0
}
type WorkListResp struct { type WorkListResp struct {
state protoimpl.MessageState `protogen:"open.v1"` state protoimpl.MessageState `protogen:"open.v1"`
Data []*WorkListResp_Info `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` Data []*WorkListResp_Info `protobuf:"bytes,1,rep,name=data,proto3" json:"data"`
@ -2083,11 +2011,10 @@ type WorkDetailResp struct {
CoverTimestampMs uint64 `protobuf:"varint,19,opt,name=coverTimestampMs,proto3" json:"coverTimestampMs"` CoverTimestampMs uint64 `protobuf:"varint,19,opt,name=coverTimestampMs,proto3" json:"coverTimestampMs"`
ScriptUuid string `protobuf:"bytes,20,opt,name=scriptUuid,proto3" json:"scriptUuid"` ScriptUuid string `protobuf:"bytes,20,opt,name=scriptUuid,proto3" json:"scriptUuid"`
ArtistUuid string `protobuf:"bytes,21,opt,name=artistUuid,proto3" json:"artistUuid"` ArtistUuid string `protobuf:"bytes,21,opt,name=artistUuid,proto3" json:"artistUuid"`
// uint32 tiktokStatus = 22; TiktokStatus uint32 `protobuf:"varint,22,opt,name=tiktokStatus,proto3" json:"tiktokStatus"`
// uint32 insStatus = 23; InsStatus uint32 `protobuf:"varint,23,opt,name=insStatus,proto3" json:"insStatus"`
// uint32 dmStatus = 24; DmStatus uint32 `protobuf:"varint,24,opt,name=dmStatus,proto3" json:"dmStatus"`
NeedPlatformIDs []int32 `protobuf:"varint,25,rep,packed,name=needPlatformIDs,proto3" json:"needPlatformIDs"` NeedPlatformIDs []int32 `protobuf:"varint,25,rep,packed,name=needPlatformIDs,proto3" json:"needPlatformIDs"`
ArtistSubNum string `protobuf:"bytes,26,opt,name=artistSubNum,proto3" json:"artistSubNum"`
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
} }
@ -2269,6 +2196,27 @@ func (x *WorkDetailResp) GetArtistUuid() string {
return "" return ""
} }
func (x *WorkDetailResp) GetTiktokStatus() uint32 {
if x != nil {
return x.TiktokStatus
}
return 0
}
func (x *WorkDetailResp) GetInsStatus() uint32 {
if x != nil {
return x.InsStatus
}
return 0
}
func (x *WorkDetailResp) GetDmStatus() uint32 {
if x != nil {
return x.DmStatus
}
return 0
}
func (x *WorkDetailResp) GetNeedPlatformIDs() []int32 { func (x *WorkDetailResp) GetNeedPlatformIDs() []int32 {
if x != nil { if x != nil {
return x.NeedPlatformIDs return x.NeedPlatformIDs
@ -2276,13 +2224,6 @@ func (x *WorkDetailResp) GetNeedPlatformIDs() []int32 {
return nil return nil
} }
func (x *WorkDetailResp) GetArtistSubNum() string {
if x != nil {
return x.ArtistSubNum
}
return ""
}
type UpdateStatusReq struct { type UpdateStatusReq struct {
state protoimpl.MessageState `protogen:"open.v1"` state protoimpl.MessageState `protogen:"open.v1"`
WorkAction WorkActionENUM `protobuf:"varint,1,opt,name=workAction,proto3,enum=Cast.WorkActionENUM" json:"workAction"` WorkAction WorkActionENUM `protobuf:"varint,1,opt,name=workAction,proto3,enum=Cast.WorkActionENUM" json:"workAction"`
@ -5469,8 +5410,6 @@ type ListPromptsReq struct {
Page int32 `protobuf:"varint,3,opt,name=page,proto3" json:"page"` // 页码 Page int32 `protobuf:"varint,3,opt,name=page,proto3" json:"page"` // 页码
PageSize int32 `protobuf:"varint,4,opt,name=pageSize,proto3" json:"pageSize"` // 每页数量 PageSize int32 `protobuf:"varint,4,opt,name=pageSize,proto3" json:"pageSize"` // 每页数量
Rand bool `protobuf:"varint,5,opt,name=rand,proto3" json:"rand"` Rand bool `protobuf:"varint,5,opt,name=rand,proto3" json:"rand"`
StartUseCount uint32 `protobuf:"varint,6,opt,name=startUseCount,proto3" json:"startUseCount"`
EndUseCount uint32 `protobuf:"varint,7,opt,name=endUseCount,proto3" json:"endUseCount"`
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
} }
@ -5540,20 +5479,6 @@ func (x *ListPromptsReq) GetRand() bool {
return false return false
} }
func (x *ListPromptsReq) GetStartUseCount() uint32 {
if x != nil {
return x.StartUseCount
}
return 0
}
func (x *ListPromptsReq) GetEndUseCount() uint32 {
if x != nil {
return x.EndUseCount
}
return 0
}
type PromptInfo struct { type PromptInfo struct {
state protoimpl.MessageState `protogen:"open.v1"` state protoimpl.MessageState `protogen:"open.v1"`
PromptUuid string `protobuf:"bytes,1,opt,name=promptUuid,proto3" json:"promptUuid"` // 关键词UUID PromptUuid string `protobuf:"bytes,1,opt,name=promptUuid,proto3" json:"promptUuid"` // 关键词UUID
@ -11246,12 +11171,6 @@ type WorkPlatformInfo struct {
Remark string `protobuf:"bytes,8,opt,name=remark,proto3" json:"remark"` // 备注 Remark string `protobuf:"bytes,8,opt,name=remark,proto3" json:"remark"` // 备注
CreatedAt int32 `protobuf:"varint,9,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 CreatedAt int32 `protobuf:"varint,9,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间
UpdatedAt int32 `protobuf:"varint,10,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 UpdatedAt int32 `protobuf:"varint,10,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间
ArtistUuid string `protobuf:"bytes,11,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人UUID
// 关联自媒体账号字段通过artist_uuid关联cast_media_account表
PlatformUserName string `protobuf:"bytes,12,opt,name=platformUserName,proto3" json:"platformUserName"` // 平台用户名
PlatformUserID string `protobuf:"bytes,13,opt,name=platformUserID,proto3" json:"platformUserID"` // 平台用户ID
ArtistName string `protobuf:"bytes,14,opt,name=artistName,proto3" json:"artistName"` // 自媒体账号艺人名字
ArtistPhone string `protobuf:"bytes,15,opt,name=artistPhone,proto3" json:"artistPhone"` // 自媒体账号艺人手机号
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
} }
@ -11356,41 +11275,6 @@ func (x *WorkPlatformInfo) GetUpdatedAt() int32 {
return 0 return 0
} }
func (x *WorkPlatformInfo) GetArtistUuid() string {
if x != nil {
return x.ArtistUuid
}
return ""
}
func (x *WorkPlatformInfo) GetPlatformUserName() string {
if x != nil {
return x.PlatformUserName
}
return ""
}
func (x *WorkPlatformInfo) GetPlatformUserID() string {
if x != nil {
return x.PlatformUserID
}
return ""
}
func (x *WorkPlatformInfo) GetArtistName() string {
if x != nil {
return x.ArtistName
}
return ""
}
func (x *WorkPlatformInfo) GetArtistPhone() string {
if x != nil {
return x.ArtistPhone
}
return ""
}
// 获取作品平台信息列表响应 // 获取作品平台信息列表响应
type ListWorkPlatformInfoResp struct { type ListWorkPlatformInfoResp struct {
state protoimpl.MessageState `protogen:"open.v1"` state protoimpl.MessageState `protogen:"open.v1"`
@ -11463,11 +11347,6 @@ type WorkListResp_Info struct {
CostType uint32 `protobuf:"varint,15,opt,name=costType,proto3" json:"costType"` CostType uint32 `protobuf:"varint,15,opt,name=costType,proto3" json:"costType"`
ScriptUuid string `protobuf:"bytes,16,opt,name=scriptUuid,proto3" json:"scriptUuid"` ScriptUuid string `protobuf:"bytes,16,opt,name=scriptUuid,proto3" json:"scriptUuid"`
ScriptTitle string `protobuf:"bytes,17,opt,name=scriptTitle,proto3" json:"scriptTitle"` ScriptTitle string `protobuf:"bytes,17,opt,name=scriptTitle,proto3" json:"scriptTitle"`
ArtistSubNum string `protobuf:"bytes,18,opt,name=artistSubNum,proto3" json:"artistSubNum"`
TiktokStatus uint32 `protobuf:"varint,19,opt,name=tiktokStatus,proto3" json:"tiktokStatus"`
InsStatus uint32 `protobuf:"varint,20,opt,name=insStatus,proto3" json:"insStatus"`
DmStatus uint32 `protobuf:"varint,21,opt,name=dmStatus,proto3" json:"dmStatus"`
ConfirmType uint32 `protobuf:"varint,22,opt,name=confirmType,proto3" json:"confirmType"`
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
} }
@ -11621,41 +11500,6 @@ func (x *WorkListResp_Info) GetScriptTitle() string {
return "" return ""
} }
func (x *WorkListResp_Info) GetArtistSubNum() string {
if x != nil {
return x.ArtistSubNum
}
return ""
}
func (x *WorkListResp_Info) GetTiktokStatus() uint32 {
if x != nil {
return x.TiktokStatus
}
return 0
}
func (x *WorkListResp_Info) GetInsStatus() uint32 {
if x != nil {
return x.InsStatus
}
return 0
}
func (x *WorkListResp_Info) GetDmStatus() uint32 {
if x != nil {
return x.DmStatus
}
return 0
}
func (x *WorkListResp_Info) GetConfirmType() uint32 {
if x != nil {
return x.ConfirmType
}
return 0
}
type MediaAccountsResp_Info struct { type MediaAccountsResp_Info struct {
state protoimpl.MessageState `protogen:"open.v1"` state protoimpl.MessageState `protogen:"open.v1"`
PlatformID uint32 `protobuf:"varint,1,opt,name=platformID,proto3" json:"platformID"` PlatformID uint32 `protobuf:"varint,1,opt,name=platformID,proto3" json:"platformID"`
@ -12176,7 +12020,7 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
"authStatus\"R\n" + "authStatus\"R\n" +
"\x11MediaUserListResp\x12'\n" + "\x11MediaUserListResp\x12'\n" +
"\x04data\x18\x01 \x03(\v2\x13.Cast.MediaUserInfoR\x04data\x12\x14\n" + "\x04data\x18\x01 \x03(\v2\x13.Cast.MediaUserInfoR\x04data\x12\x14\n" +
"\x05count\x18\x02 \x01(\x03R\x05count\"\xd1\x03\n" + "\x05count\x18\x02 \x01(\x03R\x05count\"\xad\x03\n" +
"\x15UpdateMediaAccountReq\x124\n" + "\x15UpdateMediaAccountReq\x124\n" +
"\n" + "\n" +
"platformID\x18\x01 \x01(\x0e2\x14.Cast.PlatformIDENUMR\n" + "platformID\x18\x01 \x01(\x0e2\x14.Cast.PlatformIDENUMR\n" +
@ -12194,8 +12038,7 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
"\vmanagerUuid\x18\b \x01(\tR\vmanagerUuid\x12(\n" + "\vmanagerUuid\x18\b \x01(\tR\vmanagerUuid\x12(\n" +
"\x0fmanagerUserName\x18\t \x01(\tR\x0fmanagerUserName\x120\n" + "\x0fmanagerUserName\x18\t \x01(\tR\x0fmanagerUserName\x120\n" +
"\x13artistPhoneAreaCode\x18\n" + "\x13artistPhoneAreaCode\x18\n" +
" \x01(\tR\x13artistPhoneAreaCode\x12\"\n" + " \x01(\tR\x13artistPhoneAreaCode\"D\n" +
"\fartistSubNum\x18\v \x01(\tR\fartistSubNum\"D\n" +
"\x16UpdateMediaAccountResp\x12*\n" + "\x16UpdateMediaAccountResp\x12*\n" +
"\x10mediaAccountUuid\x18\x01 \x01(\tR\x10mediaAccountUuid\">\n" + "\x10mediaAccountUuid\x18\x01 \x01(\tR\x10mediaAccountUuid\">\n" +
"\x10UnbindManagerReq\x12*\n" + "\x10UnbindManagerReq\x12*\n" +
@ -12205,7 +12048,7 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
"\x0eBindManagerReq\x12*\n" + "\x0eBindManagerReq\x12*\n" +
"\x10mediaAccountUuid\x18\x01 \x01(\tR\x10mediaAccountUuid\x12 \n" + "\x10mediaAccountUuid\x18\x01 \x01(\tR\x10mediaAccountUuid\x12 \n" +
"\vmanagerUuid\x18\x02 \x01(\tR\vmanagerUuid\x12(\n" + "\vmanagerUuid\x18\x02 \x01(\tR\vmanagerUuid\x12(\n" +
"\x0fmanagerUserName\x18\x03 \x01(\tR\x0fmanagerUserName\"\xf4\x06\n" + "\x0fmanagerUserName\x18\x03 \x01(\tR\x0fmanagerUserName\"\x8e\x06\n" +
"\x12UpdateWorkImageReq\x12\x14\n" + "\x12UpdateWorkImageReq\x12\x14\n" +
"\x05title\x18\x01 \x01(\tR\x05title\x12\x18\n" + "\x05title\x18\x01 \x01(\tR\x05title\x12\x18\n" +
"\acontent\x18\x02 \x01(\tR\acontent\x12\x16\n" + "\acontent\x18\x02 \x01(\tR\acontent\x12\x16\n" +
@ -12231,12 +12074,7 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
"\x06source\x18\x11 \x01(\rR\x06source\x12\x16\n" + "\x06source\x18\x11 \x01(\rR\x06source\x12\x16\n" +
"\x06lineNo\x18\x12 \x01(\rR\x06lineNo\x12\x16\n" + "\x06lineNo\x18\x12 \x01(\rR\x06lineNo\x12\x16\n" +
"\x06remark\x18\x13 \x01(\tR\x06remark\x12\x18\n" + "\x06remark\x18\x13 \x01(\tR\x06remark\x12\x18\n" +
"\asuccess\x18\x14 \x01(\bR\asuccess\x12\"\n" + "\asuccess\x18\x14 \x01(\bR\asuccess\"1\n" +
"\fartistSubNum\x18\x15 \x01(\tR\fartistSubNum\x12\x1e\n" +
"\n" +
"scriptUuid\x18\x16 \x01(\tR\n" +
"scriptUuid\x12 \n" +
"\vpromptUuids\x18\x17 \x03(\tR\vpromptUuids\"1\n" +
"\x13UpdateWorkImageResp\x12\x1a\n" + "\x13UpdateWorkImageResp\x12\x1a\n" +
"\bworkUuid\x18\x01 \x01(\tR\bworkUuid\"\xbf\x01\n" + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\"\xbf\x01\n" +
"\rPublishConfig\x12$\n" + "\rPublishConfig\x12$\n" +
@ -12249,7 +12087,7 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
"\n" + "\n" +
"canComment\x18\x05 \x01(\rR\n" + "canComment\x18\x05 \x01(\rR\n" +
"canComment\x12\x12\n" + "canComment\x12\x12\n" +
"\x04isAI\x18\x06 \x01(\rR\x04isAI\"\x8d\a\n" + "\x04isAI\x18\x06 \x01(\rR\x04isAI\"\xe9\x06\n" +
"\x12UpdateWorkVideoReq\x12\x14\n" + "\x12UpdateWorkVideoReq\x12\x14\n" +
"\x05title\x18\x01 \x01(\tR\x05title\x12\x18\n" + "\x05title\x18\x01 \x01(\tR\x05title\x12\x18\n" +
"\acontent\x18\x02 \x01(\tR\acontent\x12\x1a\n" + "\acontent\x18\x02 \x01(\tR\acontent\x12\x1a\n" +
@ -12278,8 +12116,7 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
"\vautoPublish\x18\x14 \x01(\x0e2\x15.Cast.AutoPublishENUMR\vautoPublish\x12\x1e\n" + "\vautoPublish\x18\x14 \x01(\x0e2\x15.Cast.AutoPublishENUMR\vautoPublish\x12\x1e\n" +
"\n" + "\n" +
"scriptUuid\x18\x15 \x01(\tR\n" + "scriptUuid\x18\x15 \x01(\tR\n" +
"scriptUuid\x12\"\n" + "scriptUuid\"1\n" +
"\fartistSubNum\x18\x16 \x01(\tR\fartistSubNum\"1\n" +
"\x13UpdateWorkVideoResp\x12\x1a\n" + "\x13UpdateWorkVideoResp\x12\x1a\n" +
"\bworkUuid\x18\x01 \x01(\tR\bworkUuid\"\x90\x01\n" + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\"\x90\x01\n" +
"\fMediaInfoReq\x12\x1e\n" + "\fMediaInfoReq\x12\x1e\n" +
@ -12291,7 +12128,7 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
"platformID\x12*\n" + "platformID\x12*\n" +
"\x10platformUserName\x18\x03 \x01(\tR\x10platformUserName\"8\n" + "\x10platformUserName\x18\x03 \x01(\tR\x10platformUserName\"8\n" +
"\rMediaInfoResp\x12'\n" + "\rMediaInfoResp\x12'\n" +
"\x04info\x18\x01 \x01(\v2\x13.Cast.MediaUserInfoR\x04info\"\xcd\x05\n" + "\x04info\x18\x01 \x01(\v2\x13.Cast.MediaUserInfoR\x04info\"\xcb\x04\n" +
"\vWorkListReq\x12\x1c\n" + "\vWorkListReq\x12\x1c\n" +
"\tartistVal\x18\x01 \x01(\tR\tartistVal\x12\x1e\n" + "\tartistVal\x18\x01 \x01(\tR\tartistVal\x12\x1e\n" +
"\n" + "\n" +
@ -12315,14 +12152,10 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
"\bcostType\x18\x0f \x01(\x05R\bcostType\x12\x1e\n" + "\bcostType\x18\x0f \x01(\x05R\bcostType\x12\x1e\n" +
"\n" + "\n" +
"scriptUuid\x18\x10 \x01(\tR\n" + "scriptUuid\x18\x10 \x01(\tR\n" +
"scriptUuid\x12\"\n" + "scriptUuid\"\xaa\x05\n" +
"\fartistSubNum\x18\x11 \x01(\tR\fartistSubNum\x12\"\n" +
"\ftiktokStatus\x18\x12 \x01(\rR\ftiktokStatus\x12\x1c\n" +
"\tinsStatus\x18\x13 \x01(\rR\tinsStatus\x12\x1a\n" +
"\bdmStatus\x18\x14 \x01(\rR\bdmStatus\"\xce\x06\n" +
"\fWorkListResp\x12+\n" + "\fWorkListResp\x12+\n" +
"\x04data\x18\x01 \x03(\v2\x17.Cast.WorkListResp.InfoR\x04data\x12\x14\n" + "\x04data\x18\x01 \x03(\v2\x17.Cast.WorkListResp.InfoR\x04data\x12\x14\n" +
"\x05count\x18\x02 \x01(\x03R\x05count\x1a\xfa\x05\n" + "\x05count\x18\x02 \x01(\x03R\x05count\x1a\xd6\x04\n" +
"\x04Info\x12\x1a\n" + "\x04Info\x12\x1a\n" +
"\bworkUuid\x18\x01 \x01(\tR\bworkUuid\x12\x1e\n" + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\x12\x1e\n" +
"\n" + "\n" +
@ -12351,12 +12184,7 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
"\n" + "\n" +
"scriptUuid\x18\x10 \x01(\tR\n" + "scriptUuid\x18\x10 \x01(\tR\n" +
"scriptUuid\x12 \n" + "scriptUuid\x12 \n" +
"\vscriptTitle\x18\x11 \x01(\tR\vscriptTitle\x12\"\n" + "\vscriptTitle\x18\x11 \x01(\tR\vscriptTitle\"+\n" +
"\fartistSubNum\x18\x12 \x01(\tR\fartistSubNum\x12\"\n" +
"\ftiktokStatus\x18\x13 \x01(\rR\ftiktokStatus\x12\x1c\n" +
"\tinsStatus\x18\x14 \x01(\rR\tinsStatus\x12\x1a\n" +
"\bdmStatus\x18\x15 \x01(\rR\bdmStatus\x12 \n" +
"\vconfirmType\x18\x16 \x01(\rR\vconfirmType\"+\n" +
"\rWorkDetailReq\x12\x1a\n" + "\rWorkDetailReq\x12\x1a\n" +
"\bworkUuid\x18\x01 \x01(\tR\bworkUuid\"\xfb\x01\n" + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\"\xfb\x01\n" +
"\vWorkLogInfo\x12\x1a\n" + "\vWorkLogInfo\x12\x1a\n" +
@ -12373,7 +12201,7 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
"\textraData\x18\a \x01(\tR\textraData\x12\x1e\n" + "\textraData\x18\a \x01(\tR\textraData\x12\x1e\n" +
"\n" + "\n" +
"workStatus\x18\b \x01(\rR\n" + "workStatus\x18\b \x01(\rR\n" +
"workStatus\"\x93\b\n" + "workStatus\"\xcd\b\n" +
"\x0eWorkDetailResp\x12\x1a\n" + "\x0eWorkDetailResp\x12\x1a\n" +
"\bworkUuid\x18\x01 \x01(\tR\bworkUuid\x12\x14\n" + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\x12\x14\n" +
"\x05title\x18\x02 \x01(\tR\x05title\x12\x18\n" + "\x05title\x18\x02 \x01(\tR\x05title\x12\x18\n" +
@ -12404,9 +12232,11 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
"scriptUuid\x12\x1e\n" + "scriptUuid\x12\x1e\n" +
"\n" + "\n" +
"artistUuid\x18\x15 \x01(\tR\n" + "artistUuid\x18\x15 \x01(\tR\n" +
"artistUuid\x12(\n" + "artistUuid\x12\"\n" +
"\x0fneedPlatformIDs\x18\x19 \x03(\x05R\x0fneedPlatformIDs\x12\"\n" + "\ftiktokStatus\x18\x16 \x01(\rR\ftiktokStatus\x12\x1c\n" +
"\fartistSubNum\x18\x1a \x01(\tR\fartistSubNum\x1aT\n" + "\tinsStatus\x18\x17 \x01(\rR\tinsStatus\x12\x1a\n" +
"\bdmStatus\x18\x18 \x01(\rR\bdmStatus\x12(\n" +
"\x0fneedPlatformIDs\x18\x19 \x03(\x05R\x0fneedPlatformIDs\x1aT\n" +
"\x11MediaAccDataEntry\x12\x10\n" + "\x11MediaAccDataEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12)\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12)\n" +
"\x05value\x18\x02 \x01(\v2\x13.Cast.MediaUserInfoR\x05value:\x028\x01\"\xca\x02\n" + "\x05value\x18\x02 \x01(\v2\x13.Cast.MediaUserInfoR\x05value:\x028\x01\"\xca\x02\n" +
@ -12753,15 +12583,13 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
"promptUuid\x12\x16\n" + "promptUuid\x12\x16\n" +
"\x06prompt\x18\x02 \x01(\tR\x06prompt\x12.\n" + "\x06prompt\x18\x02 \x01(\tR\x06prompt\x12.\n" +
"\bcategory\x18\x03 \x01(\x0e2\x12.Cast.CategoryENUMR\bcategory\x12\x1a\n" + "\bcategory\x18\x03 \x01(\x0e2\x12.Cast.CategoryENUMR\bcategory\x12\x1a\n" +
"\buseCount\x18\x04 \x01(\rR\buseCount\"\xe4\x01\n" + "\buseCount\x18\x04 \x01(\rR\buseCount\"\x9c\x01\n" +
"\x0eListPromptsReq\x12\x16\n" + "\x0eListPromptsReq\x12\x16\n" +
"\x06prompt\x18\x01 \x01(\tR\x06prompt\x12.\n" + "\x06prompt\x18\x01 \x01(\tR\x06prompt\x12.\n" +
"\bcategory\x18\x02 \x01(\x0e2\x12.Cast.CategoryENUMR\bcategory\x12\x12\n" + "\bcategory\x18\x02 \x01(\x0e2\x12.Cast.CategoryENUMR\bcategory\x12\x12\n" +
"\x04page\x18\x03 \x01(\x05R\x04page\x12\x1a\n" + "\x04page\x18\x03 \x01(\x05R\x04page\x12\x1a\n" +
"\bpageSize\x18\x04 \x01(\x05R\bpageSize\x12\x12\n" + "\bpageSize\x18\x04 \x01(\x05R\bpageSize\x12\x12\n" +
"\x04rand\x18\x05 \x01(\bR\x04rand\x12$\n" + "\x04rand\x18\x05 \x01(\bR\x04rand\"\xfc\x01\n" +
"\rstartUseCount\x18\x06 \x01(\rR\rstartUseCount\x12 \n" +
"\vendUseCount\x18\a \x01(\rR\vendUseCount\"\xfc\x01\n" +
"\n" + "\n" +
"PromptInfo\x12\x1e\n" + "PromptInfo\x12\x1e\n" +
"\n" + "\n" +
@ -13463,7 +13291,7 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
"\vplatformIDs\x18\x01 \x03(\rR\vplatformIDs\x12.\n" + "\vplatformIDs\x18\x01 \x03(\rR\vplatformIDs\x12.\n" +
"\x12publishMediaStatus\x18\x02 \x01(\x05R\x12publishMediaStatus\x12\x12\n" + "\x12publishMediaStatus\x18\x02 \x01(\x05R\x12publishMediaStatus\x12\x12\n" +
"\x04page\x18\x03 \x01(\x05R\x04page\x12\x1a\n" + "\x04page\x18\x03 \x01(\x05R\x04page\x12\x1a\n" +
"\bpageSize\x18\x04 \x01(\x05R\bpageSize\"\x88\x04\n" + "\bpageSize\x18\x04 \x01(\x05R\bpageSize\"\xd2\x02\n" +
"\x10WorkPlatformInfo\x12\x12\n" + "\x10WorkPlatformInfo\x12\x12\n" +
"\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x1a\n" + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x1a\n" +
"\bworkUuid\x18\x02 \x01(\tR\bworkUuid\x12 \n" + "\bworkUuid\x18\x02 \x01(\tR\bworkUuid\x12 \n" +
@ -13477,16 +13305,7 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
"\x06remark\x18\b \x01(\tR\x06remark\x12\x1c\n" + "\x06remark\x18\b \x01(\tR\x06remark\x12\x1c\n" +
"\tcreatedAt\x18\t \x01(\x05R\tcreatedAt\x12\x1c\n" + "\tcreatedAt\x18\t \x01(\x05R\tcreatedAt\x12\x1c\n" +
"\tupdatedAt\x18\n" + "\tupdatedAt\x18\n" +
" \x01(\x05R\tupdatedAt\x12\x1e\n" + " \x01(\x05R\tupdatedAt\"\\\n" +
"\n" +
"artistUuid\x18\v \x01(\tR\n" +
"artistUuid\x12*\n" +
"\x10platformUserName\x18\f \x01(\tR\x10platformUserName\x12&\n" +
"\x0eplatformUserID\x18\r \x01(\tR\x0eplatformUserID\x12\x1e\n" +
"\n" +
"artistName\x18\x0e \x01(\tR\n" +
"artistName\x12 \n" +
"\vartistPhone\x18\x0f \x01(\tR\vartistPhone\"\\\n" +
"\x18ListWorkPlatformInfoResp\x12*\n" + "\x18ListWorkPlatformInfoResp\x12*\n" +
"\x04data\x18\x01 \x03(\v2\x16.Cast.WorkPlatformInfoR\x04data\x12\x14\n" + "\x04data\x18\x01 \x03(\v2\x16.Cast.WorkPlatformInfoR\x04data\x12\x14\n" +
"\x05count\x18\x02 \x01(\x03R\x05count*G\n" + "\x05count\x18\x02 \x01(\x03R\x05count*G\n" +

View File

@ -457,8 +457,6 @@ func (m *UpdateMediaAccountReq) validate(all bool) error {
// no validation rules for ArtistPhoneAreaCode // no validation rules for ArtistPhoneAreaCode
// no validation rules for ArtistSubNum
if len(errors) > 0 { if len(errors) > 0 {
return UpdateMediaAccountReqMultiError(errors) return UpdateMediaAccountReqMultiError(errors)
} }
@ -1117,10 +1115,6 @@ func (m *UpdateWorkImageReq) validate(all bool) error {
// no validation rules for Success // no validation rules for Success
// no validation rules for ArtistSubNum
// no validation rules for ScriptUuid
if len(errors) > 0 { if len(errors) > 0 {
return UpdateWorkImageReqMultiError(errors) return UpdateWorkImageReqMultiError(errors)
} }
@ -1583,8 +1577,6 @@ func (m *UpdateWorkVideoReq) validate(all bool) error {
// no validation rules for ScriptUuid // no validation rules for ScriptUuid
// no validation rules for ArtistSubNum
if len(errors) > 0 { if len(errors) > 0 {
return UpdateWorkVideoReqMultiError(errors) return UpdateWorkVideoReqMultiError(errors)
} }
@ -2055,14 +2047,6 @@ func (m *WorkListReq) validate(all bool) error {
// no validation rules for ScriptUuid // no validation rules for ScriptUuid
// no validation rules for ArtistSubNum
// no validation rules for TiktokStatus
// no validation rules for InsStatus
// no validation rules for DmStatus
if len(errors) > 0 { if len(errors) > 0 {
return WorkListReqMultiError(errors) return WorkListReqMultiError(errors)
} }
@ -2732,7 +2716,11 @@ func (m *WorkDetailResp) validate(all bool) error {
// no validation rules for ArtistUuid // no validation rules for ArtistUuid
// no validation rules for ArtistSubNum // no validation rules for TiktokStatus
// no validation rules for InsStatus
// no validation rules for DmStatus
if len(errors) > 0 { if len(errors) > 0 {
return WorkDetailRespMultiError(errors) return WorkDetailRespMultiError(errors)
@ -8846,10 +8834,6 @@ func (m *ListPromptsReq) validate(all bool) error {
// no validation rules for Rand // no validation rules for Rand
// no validation rules for StartUseCount
// no validation rules for EndUseCount
if len(errors) > 0 { if len(errors) > 0 {
return ListPromptsReqMultiError(errors) return ListPromptsReqMultiError(errors)
} }
@ -17214,16 +17198,6 @@ func (m *WorkPlatformInfo) validate(all bool) error {
// no validation rules for UpdatedAt // no validation rules for UpdatedAt
// no validation rules for ArtistUuid
// no validation rules for PlatformUserName
// no validation rules for PlatformUserID
// no validation rules for ArtistName
// no validation rules for ArtistPhone
if len(errors) > 0 { if len(errors) > 0 {
return WorkPlatformInfoMultiError(errors) return WorkPlatformInfoMultiError(errors)
} }
@ -17486,16 +17460,6 @@ func (m *WorkListResp_Info) validate(all bool) error {
// no validation rules for ScriptTitle // no validation rules for ScriptTitle
// no validation rules for ArtistSubNum
// no validation rules for TiktokStatus
// no validation rules for InsStatus
// no validation rules for DmStatus
// no validation rules for ConfirmType
if len(errors) > 0 { if len(errors) > 0 {
return WorkListResp_InfoMultiError(errors) return WorkListResp_InfoMultiError(errors)
} }

File diff suppressed because it is too large Load Diff

View File

@ -126,44 +126,3 @@ func (this *UsageReq) Validate() error {
func (this *UsageResp) Validate() error { func (this *UsageResp) Validate() error {
return nil return nil
} }
func (this *SecurityStatusData) Validate() error {
return nil
}
func (this *SecurityScanReq) Validate() error {
return nil
}
func (this *SecurityScanResp) Validate() error {
return nil
}
func (this *UpdateFileSecurityStatusReq) Validate() error {
for _, item := range this.SecurityStatusData {
if item != nil {
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
return github_com_mwitkow_go_proto_validators.FieldError("SecurityStatusData", err)
}
}
}
return nil
}
func (this *UpdateFileSecurityStatusResp) Validate() error {
return nil
}
func (this *ManualAntiReq) Validate() error {
for _, item := range this.SecurityStatusData {
if item != nil {
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
return github_com_mwitkow_go_proto_validators.FieldError("SecurityStatusData", err)
}
}
}
return nil
}
func (this *ManualAntiResp) Validate() error {
return nil
}
func (this *GetFileSecurityStatusReq) Validate() error {
return nil
}
func (this *GetFileSecurityStatusResp) Validate() error {
return nil
}

View File

@ -42,10 +42,6 @@ type FileClient interface {
Action(ctx context.Context, in *ActionReq, opts ...grpc_go.CallOption) (*ActionResp, common.ErrorWithAttachment) Action(ctx context.Context, in *ActionReq, opts ...grpc_go.CallOption) (*ActionResp, common.ErrorWithAttachment)
DirDownload(ctx context.Context, in *DirDownloadReq, opts ...grpc_go.CallOption) (File_DirDownloadClient, error) DirDownload(ctx context.Context, in *DirDownloadReq, opts ...grpc_go.CallOption) (File_DirDownloadClient, error)
Usage(ctx context.Context, in *UsageReq, opts ...grpc_go.CallOption) (*UsageResp, common.ErrorWithAttachment) Usage(ctx context.Context, in *UsageReq, opts ...grpc_go.CallOption) (*UsageResp, common.ErrorWithAttachment)
SecurityScan(ctx context.Context, in *SecurityScanReq, opts ...grpc_go.CallOption) (*SecurityScanResp, common.ErrorWithAttachment)
UpdateFileSecurityStatus(ctx context.Context, in *UpdateFileSecurityStatusReq, opts ...grpc_go.CallOption) (*UpdateFileSecurityStatusResp, common.ErrorWithAttachment)
ManualAnti(ctx context.Context, in *ManualAntiReq, opts ...grpc_go.CallOption) (*ManualAntiResp, common.ErrorWithAttachment)
GetFileSecurityStatus(ctx context.Context, in *GetFileSecurityStatusReq, opts ...grpc_go.CallOption) (*GetFileSecurityStatusResp, common.ErrorWithAttachment)
} }
type fileClient struct { type fileClient struct {
@ -66,10 +62,6 @@ type FileClientImpl struct {
Action func(ctx context.Context, in *ActionReq) (*ActionResp, error) Action func(ctx context.Context, in *ActionReq) (*ActionResp, error)
DirDownload func(ctx context.Context, in *DirDownloadReq) (File_DirDownloadClient, error) DirDownload func(ctx context.Context, in *DirDownloadReq) (File_DirDownloadClient, error)
Usage func(ctx context.Context, in *UsageReq) (*UsageResp, error) Usage func(ctx context.Context, in *UsageReq) (*UsageResp, error)
SecurityScan func(ctx context.Context, in *SecurityScanReq) (*SecurityScanResp, error)
UpdateFileSecurityStatus func(ctx context.Context, in *UpdateFileSecurityStatusReq) (*UpdateFileSecurityStatusResp, error)
ManualAnti func(ctx context.Context, in *ManualAntiReq) (*ManualAntiResp, error)
GetFileSecurityStatus func(ctx context.Context, in *GetFileSecurityStatusReq) (*GetFileSecurityStatusResp, error)
} }
func (c *FileClientImpl) GetDubboStub(cc *triple.TripleConn) FileClient { func (c *FileClientImpl) GetDubboStub(cc *triple.TripleConn) FileClient {
@ -189,30 +181,6 @@ func (c *fileClient) Usage(ctx context.Context, in *UsageReq, opts ...grpc_go.Ca
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Usage", in, out) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Usage", in, out)
} }
func (c *fileClient) SecurityScan(ctx context.Context, in *SecurityScanReq, opts ...grpc_go.CallOption) (*SecurityScanResp, common.ErrorWithAttachment) {
out := new(SecurityScanResp)
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SecurityScan", in, out)
}
func (c *fileClient) UpdateFileSecurityStatus(ctx context.Context, in *UpdateFileSecurityStatusReq, opts ...grpc_go.CallOption) (*UpdateFileSecurityStatusResp, common.ErrorWithAttachment) {
out := new(UpdateFileSecurityStatusResp)
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateFileSecurityStatus", in, out)
}
func (c *fileClient) ManualAnti(ctx context.Context, in *ManualAntiReq, opts ...grpc_go.CallOption) (*ManualAntiResp, common.ErrorWithAttachment) {
out := new(ManualAntiResp)
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ManualAnti", in, out)
}
func (c *fileClient) GetFileSecurityStatus(ctx context.Context, in *GetFileSecurityStatusReq, opts ...grpc_go.CallOption) (*GetFileSecurityStatusResp, common.ErrorWithAttachment) {
out := new(GetFileSecurityStatusResp)
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetFileSecurityStatus", in, out)
}
// FileServer is the server API for File service. // FileServer is the server API for File service.
// All implementations must embed UnimplementedFileServer // All implementations must embed UnimplementedFileServer
// for forward compatibility // for forward compatibility
@ -230,10 +198,6 @@ type FileServer interface {
Action(context.Context, *ActionReq) (*ActionResp, error) Action(context.Context, *ActionReq) (*ActionResp, error)
DirDownload(*DirDownloadReq, File_DirDownloadServer) error DirDownload(*DirDownloadReq, File_DirDownloadServer) error
Usage(context.Context, *UsageReq) (*UsageResp, error) Usage(context.Context, *UsageReq) (*UsageResp, error)
SecurityScan(context.Context, *SecurityScanReq) (*SecurityScanResp, error)
UpdateFileSecurityStatus(context.Context, *UpdateFileSecurityStatusReq) (*UpdateFileSecurityStatusResp, error)
ManualAnti(context.Context, *ManualAntiReq) (*ManualAntiResp, error)
GetFileSecurityStatus(context.Context, *GetFileSecurityStatusReq) (*GetFileSecurityStatusResp, error)
mustEmbedUnimplementedFileServer() mustEmbedUnimplementedFileServer()
} }
@ -281,18 +245,6 @@ func (UnimplementedFileServer) DirDownload(*DirDownloadReq, File_DirDownloadServ
func (UnimplementedFileServer) Usage(context.Context, *UsageReq) (*UsageResp, error) { func (UnimplementedFileServer) Usage(context.Context, *UsageReq) (*UsageResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method Usage not implemented") return nil, status.Errorf(codes.Unimplemented, "method Usage not implemented")
} }
func (UnimplementedFileServer) SecurityScan(context.Context, *SecurityScanReq) (*SecurityScanResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method SecurityScan not implemented")
}
func (UnimplementedFileServer) UpdateFileSecurityStatus(context.Context, *UpdateFileSecurityStatusReq) (*UpdateFileSecurityStatusResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateFileSecurityStatus not implemented")
}
func (UnimplementedFileServer) ManualAnti(context.Context, *ManualAntiReq) (*ManualAntiResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method ManualAnti not implemented")
}
func (UnimplementedFileServer) GetFileSecurityStatus(context.Context, *GetFileSecurityStatusReq) (*GetFileSecurityStatusResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetFileSecurityStatus not implemented")
}
func (s *UnimplementedFileServer) XXX_SetProxyImpl(impl protocol.Invoker) { func (s *UnimplementedFileServer) XXX_SetProxyImpl(impl protocol.Invoker) {
s.proxyImpl = impl s.proxyImpl = impl
} }
@ -696,122 +648,6 @@ func _File_Usage_Handler(srv interface{}, ctx context.Context, dec func(interfac
return interceptor(ctx, in, info, handler) return interceptor(ctx, in, info, handler)
} }
func _File_SecurityScan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
in := new(SecurityScanReq)
if err := dec(in); err != nil {
return nil, err
}
base := srv.(dubbo3.Dubbo3GrpcService)
args := []interface{}{}
args = append(args, in)
md, _ := metadata.FromIncomingContext(ctx)
invAttachment := make(map[string]interface{}, len(md))
for k, v := range md {
invAttachment[k] = v
}
invo := invocation.NewRPCInvocation("SecurityScan", args, invAttachment)
if interceptor == nil {
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
return result, result.Error()
}
info := &grpc_go.UnaryServerInfo{
Server: srv,
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
return result, result.Error()
}
return interceptor(ctx, in, info, handler)
}
func _File_UpdateFileSecurityStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateFileSecurityStatusReq)
if err := dec(in); err != nil {
return nil, err
}
base := srv.(dubbo3.Dubbo3GrpcService)
args := []interface{}{}
args = append(args, in)
md, _ := metadata.FromIncomingContext(ctx)
invAttachment := make(map[string]interface{}, len(md))
for k, v := range md {
invAttachment[k] = v
}
invo := invocation.NewRPCInvocation("UpdateFileSecurityStatus", args, invAttachment)
if interceptor == nil {
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
return result, result.Error()
}
info := &grpc_go.UnaryServerInfo{
Server: srv,
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
return result, result.Error()
}
return interceptor(ctx, in, info, handler)
}
func _File_ManualAnti_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
in := new(ManualAntiReq)
if err := dec(in); err != nil {
return nil, err
}
base := srv.(dubbo3.Dubbo3GrpcService)
args := []interface{}{}
args = append(args, in)
md, _ := metadata.FromIncomingContext(ctx)
invAttachment := make(map[string]interface{}, len(md))
for k, v := range md {
invAttachment[k] = v
}
invo := invocation.NewRPCInvocation("ManualAnti", args, invAttachment)
if interceptor == nil {
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
return result, result.Error()
}
info := &grpc_go.UnaryServerInfo{
Server: srv,
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
return result, result.Error()
}
return interceptor(ctx, in, info, handler)
}
func _File_GetFileSecurityStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
in := new(GetFileSecurityStatusReq)
if err := dec(in); err != nil {
return nil, err
}
base := srv.(dubbo3.Dubbo3GrpcService)
args := []interface{}{}
args = append(args, in)
md, _ := metadata.FromIncomingContext(ctx)
invAttachment := make(map[string]interface{}, len(md))
for k, v := range md {
invAttachment[k] = v
}
invo := invocation.NewRPCInvocation("GetFileSecurityStatus", args, invAttachment)
if interceptor == nil {
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
return result, result.Error()
}
info := &grpc_go.UnaryServerInfo{
Server: srv,
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
return result, result.Error()
}
return interceptor(ctx, in, info, handler)
}
// File_ServiceDesc is the grpc_go.ServiceDesc for File service. // File_ServiceDesc is the grpc_go.ServiceDesc for File service.
// It's only intended for direct use with grpc_go.RegisterService, // It's only intended for direct use with grpc_go.RegisterService,
// and not to be introspected or modified (even as a copy) // and not to be introspected or modified (even as a copy)
@ -867,22 +703,6 @@ var File_ServiceDesc = grpc_go.ServiceDesc{
MethodName: "Usage", MethodName: "Usage",
Handler: _File_Usage_Handler, Handler: _File_Usage_Handler,
}, },
{
MethodName: "SecurityScan",
Handler: _File_SecurityScan_Handler,
},
{
MethodName: "UpdateFileSecurityStatus",
Handler: _File_UpdateFileSecurityStatus_Handler,
},
{
MethodName: "ManualAnti",
Handler: _File_ManualAnti_Handler,
},
{
MethodName: "GetFileSecurityStatus",
Handler: _File_GetFileSecurityStatus_Handler,
},
}, },
Streams: []grpc_go.StreamDesc{ Streams: []grpc_go.StreamDesc{
{ {

View File

@ -1,16 +0,0 @@
#=========== 阿里云内容安全配置 ===========
# STS登录模式配置
# RAM用户AccessKey ID用于获取STS临时凭证
RAM_ACCESS_KEY_ID=LTAI5tNBzbeEbG1yCitvHsMb
# RAM用户AccessKey Secret
RAM_ACCESS_KEY_SECRET=G1xAUB8G6WDVo0SLr6DJaJjNWIlpmO
# 要扮演的RAM角色ARN
RAM_ROLE_ARN=acs:ram::5828544250383902:role/content-secret
# 阿里云区域可选默认为cn-shanghai
ALIBABA_CLOUD_REGION=ap-southeast-1
# 阿里云端点可选默认为green.cn-shanghai.aliyuncs.com
ALIBABA_CLOUD_ENDPOINT=green-cip.ap-southeast-1.aliyuncs.com

View File

@ -1,13 +0,0 @@
package security
import "time"
type FileInfo struct {
SubmitTime time.Time
FileName string
FileUrl string
FileType string
SecurityStatus string
Describe string
ProblemTimeFrame string
}

View File

@ -1,18 +1,11 @@
package security package security
import ( import (
"sync"
"time"
"github.com/fonchain/utils/security" "github.com/fonchain/utils/security"
"go.uber.org/zap" "go.uber.org/zap"
) )
var ( var ImageScanner *security.ImageScanner
ImageScanner *security.ImageScanner
globalConfig *security.Config
configMutex sync.RWMutex
)
func Init() { func Init() {
config, err := security.LoadConfigFromFile("../conf/alibabacloud.env") config, err := security.LoadConfigFromFile("../conf/alibabacloud.env")
@ -32,37 +25,3 @@ func Init() {
panic(err) panic(err)
} }
} }
// GetGlobalConfig 获取全局配置实例(单例模式)
func GetGlobalConfig(configFile string) (*security.Config, error) {
configMutex.RLock()
if globalConfig != nil {
// 检查 token 是否还有效
if !globalConfig.TokenExpiration.IsZero() &&
time.Now().Before(globalConfig.TokenExpiration.Add(-5*time.Minute)) {
configMutex.RUnlock()
return globalConfig, nil
}
}
configMutex.RUnlock()
// 需要重新加载或刷新
configMutex.Lock()
defer configMutex.Unlock()
// 双重检查
if globalConfig != nil &&
!globalConfig.TokenExpiration.IsZero() &&
time.Now().Before(globalConfig.TokenExpiration.Add(-5*time.Minute)) {
return globalConfig, nil
}
// 加载配置
config, err := security.LoadConfigFromFile(configFile)
if err != nil {
return nil, err
}
globalConfig = config
return globalConfig, nil
}

View File

@ -140,6 +140,8 @@ func UpdateMediaAccount(ctx *gin.Context) {
service.Error(ctx, errors.New("用户不存在")) service.Error(ctx, errors.New("用户不存在"))
return return
} }
//TODO 判断是否注册ay
if err = CheckAsProfile(infoResp); err != nil { if err = CheckAsProfile(infoResp); err != nil {
service.Error(ctx, err) service.Error(ctx, err)
return return
@ -147,7 +149,6 @@ func UpdateMediaAccount(ctx *gin.Context) {
req.ArtistName = infoResp.Name req.ArtistName = infoResp.Name
req.ArtistPhone = infoResp.TelNum req.ArtistPhone = infoResp.TelNum
req.ArtistPhoneAreaCode = infoResp.TelAreaCode req.ArtistPhoneAreaCode = infoResp.TelAreaCode
req.ArtistSubNum = infoResp.SubNum
if _, ok := cast.PlatformIDENUM_name[int32(req.PlatformID)]; !ok { if _, ok := cast.PlatformIDENUM_name[int32(req.PlatformID)]; !ok {
service.Error(ctx, errors.New(e.GetMsg(e.InvalidParams))) service.Error(ctx, errors.New(e.GetMsg(e.InvalidParams)))
return return

View File

@ -9,7 +9,6 @@ import (
"fonchain-fiee/api/aryshare" "fonchain-fiee/api/aryshare"
"fonchain-fiee/api/bundle" "fonchain-fiee/api/bundle"
"fonchain-fiee/api/cast" "fonchain-fiee/api/cast"
"fonchain-fiee/api/files"
"fonchain-fiee/cmd/config" "fonchain-fiee/cmd/config"
"fonchain-fiee/pkg/cache" "fonchain-fiee/pkg/cache"
"fonchain-fiee/pkg/e" "fonchain-fiee/pkg/e"
@ -35,51 +34,10 @@ func UpdateWorkImage(ctx *gin.Context) {
var req *cast.UpdateWorkImageReq var req *cast.UpdateWorkImageReq
var infoResp *accountFiee.UserInfoResponse var infoResp *accountFiee.UserInfoResponse
var err error var err error
var ok bool
if err = ctx.ShouldBind(&req); err != nil { if err = ctx.ShouldBind(&req); err != nil {
service.Error(ctx, err) service.Error(ctx, err)
return return
} }
loginInfo := login.GetUserInfoFromC(ctx)
lockKey := fmt.Sprintf("lock_update_work_image_%d", loginInfo.ID)
reply := cache.RedisClient.SetNX(lockKey, time.Now().Format("2006-01-02 15:04:05"), time.Second*5)
if !reply.Val() {
service.Error(ctx, errors.New("请勿重复提交"))
return
}
defer func() {
cache.RedisClient.Del(lockKey)
}()
// 图片鉴定
for _, v := range req.Images {
ok, err = check.SecurityFile(v)
if err != nil {
service.Error(ctx, err)
return
}
if !ok {
service.Error(ctx, errors.New("图片鉴定未通过"))
return
}
}
ok, err = check.SecurityText(req.Title)
if err != nil {
service.Error(ctx, err)
return
}
if !ok {
service.Error(ctx, errors.New("标题鉴定未通过"))
return
}
ok, err = check.SecurityText(req.Content)
if err != nil {
service.Error(ctx, err)
return
}
if !ok {
service.Error(ctx, errors.New("内容鉴定未通过"))
return
}
artistId, _ := strconv.ParseUint(req.ArtistUuid, 10, 64) artistId, _ := strconv.ParseUint(req.ArtistUuid, 10, 64)
infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{ infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{
ID: artistId, ID: artistId,
@ -90,11 +48,9 @@ func UpdateWorkImage(ctx *gin.Context) {
service.Error(ctx, err) service.Error(ctx, err)
return return
} }
req.ArtistName = infoResp.Name req.ArtistName = infoResp.Name
req.ArtistPhone = infoResp.TelNum req.ArtistPhone = infoResp.TelNum
req.ArtistPhoneAreaCode = infoResp.TelAreaCode req.ArtistPhoneAreaCode = infoResp.TelAreaCode
req.ArtistSubNum = infoResp.SubNum
artistID, _ := strconv.ParseUint(req.ArtistUuid, 10, 64) artistID, _ := strconv.ParseUint(req.ArtistUuid, 10, 64)
if err = CheckUserBundleBalance(int32(artistID), modelCast.BalanceTypeImageValue); err != nil { if err = CheckUserBundleBalance(int32(artistID), modelCast.BalanceTypeImageValue); err != nil {
service.Error(ctx, err) service.Error(ctx, err)
@ -138,64 +94,10 @@ func UpdateWorkVideo(ctx *gin.Context) {
var req *cast.UpdateWorkVideoReq var req *cast.UpdateWorkVideoReq
var infoResp *accountFiee.UserInfoResponse var infoResp *accountFiee.UserInfoResponse
var err error var err error
var ok bool
if err = ctx.ShouldBind(&req); err != nil { if err = ctx.ShouldBind(&req); err != nil {
service.Error(ctx, err) service.Error(ctx, err)
return return
} }
loginInfo := login.GetUserInfoFromC(ctx)
lockKey := fmt.Sprintf("lock_update_work_video_%d", loginInfo.ID)
reply := cache.RedisClient.SetNX(lockKey, time.Now().Format("2006-01-02 15:04:05"), time.Second*5)
if !reply.Val() {
service.Error(ctx, errors.New("请勿重复提交"))
return
}
defer func() {
cache.RedisClient.Del(lockKey)
}()
ok, err = check.SecurityText(req.Title)
if err != nil {
service.Error(ctx, err)
return
}
if !ok {
service.Error(ctx, errors.New("标题鉴定未通过"))
return
}
ok, err = check.SecurityText(req.Content)
if err != nil {
service.Error(ctx, err)
return
}
if !ok {
service.Error(ctx, errors.New("内容鉴定未通过"))
return
}
ok, err = check.SecurityFile(req.CoverUrl)
if err != nil {
service.Error(ctx, err)
return
}
if !ok {
service.Error(ctx, errors.New("图片鉴定未通过"))
return
}
if req.VideoUrl != "" {
//请求接口判断
fileResp, errs := service.FilesProvider.GetFileSecurityStatus(ctx, &files.GetFileSecurityStatusReq{
Url: req.VideoUrl,
FileName: "",
})
if errs != nil {
service.Error(ctx, err)
return
}
if fileResp.SecurityStatus != "none" {
service.Error(ctx, errors.New("视频鉴定未通过"))
return
}
}
if config.AppConfig.System.AppMode != "dev" { if config.AppConfig.System.AppMode != "dev" {
artistId, _ := strconv.ParseUint(req.ArtistUuid, 10, 64) artistId, _ := strconv.ParseUint(req.ArtistUuid, 10, 64)
infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{ infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{
@ -222,7 +124,6 @@ func UpdateWorkVideo(ctx *gin.Context) {
req.ArtistName = infoResp.Name req.ArtistName = infoResp.Name
req.ArtistPhone = infoResp.TelNum req.ArtistPhone = infoResp.TelNum
req.ArtistPhoneAreaCode = infoResp.TelAreaCode req.ArtistPhoneAreaCode = infoResp.TelAreaCode
req.ArtistSubNum = infoResp.SubNum
newCtx := NewCtxWithUserInfo(ctx) newCtx := NewCtxWithUserInfo(ctx)
req.Source = 1 req.Source = 1
resp, err := service.CastProvider.UpdateWorkVideo(newCtx, req) resp, err := service.CastProvider.UpdateWorkVideo(newCtx, req)
@ -1093,7 +994,7 @@ func ImportWorkBatch(ctx *gin.Context) {
for i := 8; i <= 18; i++ { for i := 8; i <= 18; i++ {
if len(row) > i { if len(row) > i {
if utils.CleanString(row[i]) != "" { if utils.CleanString(row[i]) != "" {
ok, _err := check.SecurityFile(row[i]) ok, _err := check.ImageCheckUrlValid(row[i])
if _err != nil { if _err != nil {
temp.Remark = _err.Error() temp.Remark = _err.Error()
req.ImageWorks = append(req.ImageWorks, temp) req.ImageWorks = append(req.ImageWorks, temp)

View File

@ -0,0 +1,52 @@
package check
import (
"errors"
"fmt"
"mime/multipart"
"time"
pkgSecurity "fonchain-fiee/pkg/security"
"github.com/fonchain/utils/security"
)
// ImageCheckUrlValid 图片黄疸检测 true 是通过
func ImageCheckUrlValid(imgUrl string) (bool, error) {
resp, err := pkgSecurity.ImageScanner.ScanImageByURL(imgUrl, fmt.Sprint(time.Now().UnixMicro()), security.BaselineCheckGlobal)
if err != nil {
err = errors.New("图片检测请求失败")
return false, err
}
if resp.Code != 200 {
err = errors.New("图片检测失败,错误码")
return false, err
}
if len(resp.Data) == 0 || len(resp.Data[0].Results) == 0 {
return false, errors.New("图片检测结果异常")
}
riskLevel := resp.Data[0].Results[0].RiskLevel
if *riskLevel == "none" {
return true, nil
}
return false, nil
}
func ImageCheckByte(file *multipart.FileHeader) (bool, error) {
//imageScanner, err := security.NewImageScanner(&security.Config{
// RAMAccessKeyID: "LTAI5tNBzbeEbG1yCitvHsMb",
// RAMAccessKeySecret: "G1xAUB8G6WDVo0SLr6DJaJjNWIlpmO",
// RAMRoleArn: "acs:ram::5828544250383902:role/content-secret",
// Region: "ap-southeast-1",
// Endpoint: "green-cip.ap-southeast-1.aliyuncs.com",
// TempAccessKeyID: "",
// TempAccessKeySecret: "",
// SecurityToken: "",
//})
//if err != nil {
// return false, err
//}
//resp, err := imageScanner.ScanImageByFileByte(file, fmt.Sprint(time.Now().UnixMicro()), security.BaselineCheckGlobal)
//fmt.Println(resp)
return false, nil
}

View File

@ -1,236 +0,0 @@
package check
import (
"errors"
"fmt"
"mime/multipart"
"path/filepath"
"strconv"
"time"
modelSecurity "fonchain-fiee/pkg/model/security"
pkgSecurity "fonchain-fiee/pkg/security"
"github.com/fonchain/utils/security"
)
// ImageCheckUrlValid 图片黄疸检测 true 是通过
func ImageCheckUrlValid(imgUrl string) (bool, error) {
resp, err := pkgSecurity.ImageScanner.ScanImageByURL(imgUrl, fmt.Sprint(time.Now().UnixMicro()), security.BaselineCheckGlobal)
if err != nil {
err = errors.New("图片检测请求失败")
return false, err
}
if resp.Code != 200 {
err = errors.New("图片检测失败,错误码")
return false, err
}
if len(resp.Data) == 0 || len(resp.Data[0].Results) == 0 {
return false, errors.New("图片检测结果异常")
}
riskLevel := resp.Data[0].Results[0].RiskLevel
if *riskLevel == "none" {
return true, nil
}
return false, nil
}
func ImageCheckByte(file *multipart.FileHeader) (bool, error) {
//imageScanner, err := security.NewImageScanner(&security.Config{
// RAMAccessKeyID: "LTAI5tNBzbeEbG1yCitvHsMb",
// RAMAccessKeySecret: "G1xAUB8G6WDVo0SLr6DJaJjNWIlpmO",
// RAMRoleArn: "acs:ram::5828544250383902:role/content-secret",
// Region: "ap-southeast-1",
// Endpoint: "green-cip.ap-southeast-1.aliyuncs.com",
// TempAccessKeyID: "",
// TempAccessKeySecret: "",
// SecurityToken: "",
//})
//if err != nil {
// return false, err
//}
//resp, err := imageScanner.ScanImageByFileByte(file, fmt.Sprint(time.Now().UnixMicro()), security.BaselineCheckGlobal)
//fmt.Println(resp)
return false, nil
}
func SecurityFile(textVal string) (bool, error) {
if textVal == "" {
return true, nil
}
var fileInfo modelSecurity.FileInfo
fileInfo.FileName = textVal
fileInfo.FileUrl = textVal
//获取文件名称后缀
extension := filepath.Ext(textVal)
switch extension {
case ".jpg", ".jpeg", ".png", ".gif", ".bmp", ".webp":
fileInfo.FileType = "image"
case ".mp4", ".avi", ".mov", ".wmv", ".flv", ".mkv":
fileInfo.FileType = "video"
default:
return true, nil
}
err := securityScan(&fileInfo)
if err != nil {
return false, err
}
return true, nil
}
func SecurityText(textVal string) (bool, error) {
aliConfig, err := pkgSecurity.GetGlobalConfig("./data/alibabacloud.env")
if err != nil {
return false, err
}
fmt.Println("开始获取STS Token")
err = aliConfig.GetSTSToken()
if err != nil {
return false, errors.New("获取STS Token失败")
}
if err = handleTextScan(aliConfig, textVal); err != nil {
return false, err
}
return true, nil
}
func securityScan(fileInfo *modelSecurity.FileInfo) (err error) {
//加载阿里云配置获取临时token
aliConfig, err := pkgSecurity.GetGlobalConfig("./data/alibabacloud.env")
if err != nil {
return err
}
fmt.Println("开始获取STS Token")
err = aliConfig.GetSTSToken()
if err != nil {
return errors.New("获取STS Token失败")
}
fmt.Println("获取STS Token成功")
switch fileInfo.FileType {
case "image":
return handleImageScan(aliConfig, fileInfo)
case "video":
return handleVideoScan(aliConfig, fileInfo)
default:
return errors.New("不支持的审核类型")
}
}
func handleVideoScan(config *security.Config, fileInfo *modelSecurity.FileInfo) (err error) {
fmt.Println("\n=== 视频内容安全审核 ===")
scanner, err := security.NewVideoScanner(config)
if err != nil {
fmt.Printf("创建视频扫描器失败: %v\n", err)
return errors.New("创建视频扫描器失败")
}
if fileInfo.FileUrl == "" {
fmt.Println("视频不能为空")
return errors.New("视频不能为空")
}
serviceType := security.VideoPostCheckByVLGlobal
dataID := "video_" + time.Now().Format("20060102150405")
fmt.Println("正在扫描视频(这可能需要几分钟)...")
result, err := scanner.ScanVideoAndWait(fileInfo.FileUrl, dataID, serviceType, 10*time.Minute)
if err != nil {
fmt.Printf("扫描失败: %v\n", err)
return errors.New("扫描失败")
}
scanner.PrintResult(result)
for _, v := range result.Data {
fileInfo.SecurityStatus = *v.Results.RiskLevel
if v.Results.FrameResult != nil {
frameResult := *v.Results.FrameResult
if len(frameResult.FrameSummarys) > 0 {
for _, summary := range frameResult.FrameSummarys {
fileInfo.Describe = fileInfo.Describe + *summary.Description + ";"
}
}
if len(frameResult.Frames) > 0 {
for _, frame := range frameResult.Frames {
fileInfo.ProblemTimeFrame = fileInfo.ProblemTimeFrame + strconv.FormatFloat(float64(*frame.Offset), 'f', 2, 64) + "秒;"
}
}
}
if v.Results.RiskLevel != nil {
lv := v.Results.RiskLevel
if *lv == "none" {
return nil
}
return errors.New("图片违规")
}
return errors.New("风险等级检测未成功")
}
return nil
}
func handleImageScan(config *security.Config, fileInfo *modelSecurity.FileInfo) (err error) {
fmt.Println("\n=== 图片内容安全审核 ===")
scanner, err := security.NewImageScanner(config)
if err != nil {
fmt.Printf("创建图片扫描器失败:%v", err)
return errors.New("创建图片扫描器失败")
}
if fileInfo.FileUrl == "" {
fmt.Println("文件不能为空")
return errors.New("文件不能为空")
}
serviceType := security.PostImageCheckByVLGlobal
fmt.Println("正在扫描图片...")
result, err := scanner.ScanImageByURL(fileInfo.FileUrl, "image_"+time.Now().Format("20060102150405"), serviceType)
if err != nil {
fmt.Printf("扫描失败: %v\n", err)
return errors.New("扫描失败")
}
scanner.PrintResult(result)
for _, v := range result.Data {
for _, v2 := range v.Results {
fileInfo.SecurityStatus = *v2.RiskLevel
if v2.RiskLevel != nil {
lv := v2.RiskLevel
if *lv == "none" {
return nil
}
return errors.New("图片违规")
}
return errors.New("风险等级检测未成功")
}
}
return nil
}
func handleTextScan(config *security.Config, textVal string) (err error) {
fmt.Println("\n=== 图片内容安全审核 ===")
scanner, err := security.NewTextScanner(config)
if err != nil {
fmt.Printf("创建扫描器失败:%v", err)
return errors.New("创建扫描器失败")
}
serviceType := security.TextBaselineCheckGlobal
fmt.Println("正在扫描图片...")
result, err := scanner.ScanText(textVal, "image_"+time.Now().Format("20060102150405"), serviceType)
if err != nil {
fmt.Printf("扫描失败: %v\n", err)
return errors.New("扫描失败")
}
scanner.PrintResult(result)
for _, v := range result.Data {
for _, vv := range v.Results {
label := *vv.Label
if label != "nonLabel" {
return errors.New("风险等级过高")
}
}
}
fmt.Println(result)
return nil
}

View File

@ -44,12 +44,8 @@ func init() {
config.SetConsumerService(FilesProvider) config.SetConsumerService(FilesProvider)
config.SetConsumerService(GovernanceProvider) config.SetConsumerService(GovernanceProvider)
config.SetConsumerService(PressReleasesProvider) config.SetConsumerService(PressReleasesProvider)
config.SetConsumerService(SecFilingProvider)
config.SetConsumerService(AyrshareProvider) config.SetConsumerService(AyrshareProvider)
config.SetConsumerService(SecFilingProvider)
config.SetConsumerService(FilesProvider)
config.SetConsumerService(GovernanceProvider)
config.SetConsumerService(PressReleasesProvider)
config.SetConsumerService(SecFilingProvider)
if err := config.Load(); err != nil { if err := config.Load(); err != nil {
panic(err) panic(err)