Merge branch 'feature-four-daiyb' into jng

This commit is contained in:
JNG 2026-02-03 16:24:16 +08:00
commit bb9c22e1aa
6 changed files with 1284 additions and 588 deletions

File diff suppressed because it is too large Load Diff

View File

@ -5487,6 +5487,8 @@ func (m *PlatformInfo) validate(all bool) error {
// no validation rules for PlatformUuid
// no validation rules for PublishSource
if len(errors) > 0 {
return PlatformInfoMultiError(errors)
}
@ -5832,6 +5834,8 @@ func (m *UpdateWorkPublishLogReq) validate(all bool) error {
// no validation rules for Action
// no validation rules for PublishSource
if len(errors) > 0 {
return UpdateWorkPublishLogReqMultiError(errors)
}
@ -24881,6 +24885,330 @@ var _ interface {
ErrorName() string
} = UpdateMediaAccStatusRespValidationError{}
// Validate checks the field values on UnbindMediaAuthReq with the rules
// defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
func (m *UnbindMediaAuthReq) Validate() error {
return m.validate(false)
}
// ValidateAll checks the field values on UnbindMediaAuthReq with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
// UnbindMediaAuthReqMultiError, or nil if none found.
func (m *UnbindMediaAuthReq) ValidateAll() error {
return m.validate(true)
}
func (m *UnbindMediaAuthReq) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
// no validation rules for MediaAccountUuid
// no validation rules for Remark
if len(errors) > 0 {
return UnbindMediaAuthReqMultiError(errors)
}
return nil
}
// UnbindMediaAuthReqMultiError is an error wrapping multiple validation errors
// returned by UnbindMediaAuthReq.ValidateAll() if the designated constraints
// aren't met.
type UnbindMediaAuthReqMultiError []error
// Error returns a concatenation of all the error messages it wraps.
func (m UnbindMediaAuthReqMultiError) Error() string {
msgs := make([]string, 0, len(m))
for _, err := range m {
msgs = append(msgs, err.Error())
}
return strings.Join(msgs, "; ")
}
// AllErrors returns a list of validation violation errors.
func (m UnbindMediaAuthReqMultiError) AllErrors() []error { return m }
// UnbindMediaAuthReqValidationError is the validation error returned by
// UnbindMediaAuthReq.Validate if the designated constraints aren't met.
type UnbindMediaAuthReqValidationError struct {
field string
reason string
cause error
key bool
}
// Field function returns field value.
func (e UnbindMediaAuthReqValidationError) Field() string { return e.field }
// Reason function returns reason value.
func (e UnbindMediaAuthReqValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
func (e UnbindMediaAuthReqValidationError) Cause() error { return e.cause }
// Key function returns key value.
func (e UnbindMediaAuthReqValidationError) Key() bool { return e.key }
// ErrorName returns error name.
func (e UnbindMediaAuthReqValidationError) ErrorName() string {
return "UnbindMediaAuthReqValidationError"
}
// Error satisfies the builtin error interface
func (e UnbindMediaAuthReqValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
}
key := ""
if e.key {
key = "key for "
}
return fmt.Sprintf(
"invalid %sUnbindMediaAuthReq.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
var _ error = UnbindMediaAuthReqValidationError{}
var _ interface {
Field() string
Reason() string
Key() bool
Cause() error
ErrorName() string
} = UnbindMediaAuthReqValidationError{}
// Validate checks the field values on UnbindMediaAuthResp with the rules
// defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
func (m *UnbindMediaAuthResp) Validate() error {
return m.validate(false)
}
// ValidateAll checks the field values on UnbindMediaAuthResp with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
// UnbindMediaAuthRespMultiError, or nil if none found.
func (m *UnbindMediaAuthResp) ValidateAll() error {
return m.validate(true)
}
func (m *UnbindMediaAuthResp) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
// no validation rules for Success
// no validation rules for Message
if len(errors) > 0 {
return UnbindMediaAuthRespMultiError(errors)
}
return nil
}
// UnbindMediaAuthRespMultiError is an error wrapping multiple validation
// errors returned by UnbindMediaAuthResp.ValidateAll() if the designated
// constraints aren't met.
type UnbindMediaAuthRespMultiError []error
// Error returns a concatenation of all the error messages it wraps.
func (m UnbindMediaAuthRespMultiError) Error() string {
msgs := make([]string, 0, len(m))
for _, err := range m {
msgs = append(msgs, err.Error())
}
return strings.Join(msgs, "; ")
}
// AllErrors returns a list of validation violation errors.
func (m UnbindMediaAuthRespMultiError) AllErrors() []error { return m }
// UnbindMediaAuthRespValidationError is the validation error returned by
// UnbindMediaAuthResp.Validate if the designated constraints aren't met.
type UnbindMediaAuthRespValidationError struct {
field string
reason string
cause error
key bool
}
// Field function returns field value.
func (e UnbindMediaAuthRespValidationError) Field() string { return e.field }
// Reason function returns reason value.
func (e UnbindMediaAuthRespValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
func (e UnbindMediaAuthRespValidationError) Cause() error { return e.cause }
// Key function returns key value.
func (e UnbindMediaAuthRespValidationError) Key() bool { return e.key }
// ErrorName returns error name.
func (e UnbindMediaAuthRespValidationError) ErrorName() string {
return "UnbindMediaAuthRespValidationError"
}
// Error satisfies the builtin error interface
func (e UnbindMediaAuthRespValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
}
key := ""
if e.key {
key = "key for "
}
return fmt.Sprintf(
"invalid %sUnbindMediaAuthResp.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
var _ error = UnbindMediaAuthRespValidationError{}
var _ interface {
Field() string
Reason() string
Key() bool
Cause() error
ErrorName() string
} = UnbindMediaAuthRespValidationError{}
// Validate checks the field values on UpdateMediaAccInfoReq with the rules
// defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
func (m *UpdateMediaAccInfoReq) Validate() error {
return m.validate(false)
}
// ValidateAll checks the field values on UpdateMediaAccInfoReq with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
// UpdateMediaAccInfoReqMultiError, or nil if none found.
func (m *UpdateMediaAccInfoReq) ValidateAll() error {
return m.validate(true)
}
func (m *UpdateMediaAccInfoReq) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
// no validation rules for MediaAccountUuid
// no validation rules for ExceptionStatus
// no validation rules for Expired
// no validation rules for ExpiredSource
// no validation rules for Remark
if len(errors) > 0 {
return UpdateMediaAccInfoReqMultiError(errors)
}
return nil
}
// UpdateMediaAccInfoReqMultiError is an error wrapping multiple validation
// errors returned by UpdateMediaAccInfoReq.ValidateAll() if the designated
// constraints aren't met.
type UpdateMediaAccInfoReqMultiError []error
// Error returns a concatenation of all the error messages it wraps.
func (m UpdateMediaAccInfoReqMultiError) Error() string {
msgs := make([]string, 0, len(m))
for _, err := range m {
msgs = append(msgs, err.Error())
}
return strings.Join(msgs, "; ")
}
// AllErrors returns a list of validation violation errors.
func (m UpdateMediaAccInfoReqMultiError) AllErrors() []error { return m }
// UpdateMediaAccInfoReqValidationError is the validation error returned by
// UpdateMediaAccInfoReq.Validate if the designated constraints aren't met.
type UpdateMediaAccInfoReqValidationError struct {
field string
reason string
cause error
key bool
}
// Field function returns field value.
func (e UpdateMediaAccInfoReqValidationError) Field() string { return e.field }
// Reason function returns reason value.
func (e UpdateMediaAccInfoReqValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
func (e UpdateMediaAccInfoReqValidationError) Cause() error { return e.cause }
// Key function returns key value.
func (e UpdateMediaAccInfoReqValidationError) Key() bool { return e.key }
// ErrorName returns error name.
func (e UpdateMediaAccInfoReqValidationError) ErrorName() string {
return "UpdateMediaAccInfoReqValidationError"
}
// Error satisfies the builtin error interface
func (e UpdateMediaAccInfoReqValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
}
key := ""
if e.key {
key = "key for "
}
return fmt.Sprintf(
"invalid %sUpdateMediaAccInfoReq.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
var _ error = UpdateMediaAccInfoReqValidationError{}
var _ interface {
Field() string
Reason() string
Key() bool
Cause() error
ErrorName() string
} = UpdateMediaAccInfoReqValidationError{}
// Validate checks the field values on WorkListResp_Info with the rules defined
// in the proto definition for this message. If any rules are violated, the
// first error encountered is returned, or nil if there are no violations.

View File

@ -56,6 +56,8 @@ type CastClient interface {
UpdateWorkResource(ctx context.Context, in *UpdateWorkResourceReq, opts ...grpc_go.CallOption) (*UpdateWorkResourceResp, common.ErrorWithAttachment)
UpdateMediaAccStatus(ctx context.Context, in *UpdateMediaAccStatusReq, opts ...grpc_go.CallOption) (*UpdateMediaAccStatusResp, common.ErrorWithAttachment)
OAuthAccount(ctx context.Context, in *OAuthAccountReq, opts ...grpc_go.CallOption) (*OAuthAccountResp, common.ErrorWithAttachment)
UnbindMediaAuth(ctx context.Context, in *UnbindMediaAuthReq, opts ...grpc_go.CallOption) (*UnbindMediaAuthResp, common.ErrorWithAttachment)
UpdateMediaAccInfo(ctx context.Context, in *UpdateMediaAccInfoReq, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment)
OAuthAccountV2(ctx context.Context, in *OAuthAccountV2Req, opts ...grpc_go.CallOption) (*OAuthAccountV2Resp, common.ErrorWithAttachment)
OAuthCodeToToken(ctx context.Context, in *OAuthCodeToTokenReq, opts ...grpc_go.CallOption) (*OAuthCodeToTokenResp, common.ErrorWithAttachment)
UpdateOAuth(ctx context.Context, in *UpdateOAuthReq, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment)
@ -167,6 +169,8 @@ type CastClientImpl struct {
UpdateWorkResource func(ctx context.Context, in *UpdateWorkResourceReq) (*UpdateWorkResourceResp, error)
UpdateMediaAccStatus func(ctx context.Context, in *UpdateMediaAccStatusReq) (*UpdateMediaAccStatusResp, error)
OAuthAccount func(ctx context.Context, in *OAuthAccountReq) (*OAuthAccountResp, error)
UnbindMediaAuth func(ctx context.Context, in *UnbindMediaAuthReq) (*UnbindMediaAuthResp, error)
UpdateMediaAccInfo func(ctx context.Context, in *UpdateMediaAccInfoReq) (*emptypb.Empty, error)
OAuthAccountV2 func(ctx context.Context, in *OAuthAccountV2Req) (*OAuthAccountV2Resp, error)
OAuthCodeToToken func(ctx context.Context, in *OAuthCodeToTokenReq) (*OAuthCodeToTokenResp, error)
UpdateOAuth func(ctx context.Context, in *UpdateOAuthReq) (*emptypb.Empty, error)
@ -405,6 +409,18 @@ func (c *castClient) OAuthAccount(ctx context.Context, in *OAuthAccountReq, opts
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/OAuthAccount", in, out)
}
func (c *castClient) UnbindMediaAuth(ctx context.Context, in *UnbindMediaAuthReq, opts ...grpc_go.CallOption) (*UnbindMediaAuthResp, common.ErrorWithAttachment) {
out := new(UnbindMediaAuthResp)
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UnbindMediaAuth", in, out)
}
func (c *castClient) UpdateMediaAccInfo(ctx context.Context, in *UpdateMediaAccInfoReq, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) {
out := new(emptypb.Empty)
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateMediaAccInfo", in, out)
}
func (c *castClient) OAuthAccountV2(ctx context.Context, in *OAuthAccountV2Req, opts ...grpc_go.CallOption) (*OAuthAccountV2Resp, common.ErrorWithAttachment) {
out := new(OAuthAccountV2Resp)
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
@ -808,6 +824,8 @@ type CastServer interface {
UpdateWorkResource(context.Context, *UpdateWorkResourceReq) (*UpdateWorkResourceResp, error)
UpdateMediaAccStatus(context.Context, *UpdateMediaAccStatusReq) (*UpdateMediaAccStatusResp, error)
OAuthAccount(context.Context, *OAuthAccountReq) (*OAuthAccountResp, error)
UnbindMediaAuth(context.Context, *UnbindMediaAuthReq) (*UnbindMediaAuthResp, error)
UpdateMediaAccInfo(context.Context, *UpdateMediaAccInfoReq) (*emptypb.Empty, error)
OAuthAccountV2(context.Context, *OAuthAccountV2Req) (*OAuthAccountV2Resp, error)
OAuthCodeToToken(context.Context, *OAuthCodeToTokenReq) (*OAuthCodeToTokenResp, error)
UpdateOAuth(context.Context, *UpdateOAuthReq) (*emptypb.Empty, error)
@ -974,6 +992,12 @@ func (UnimplementedCastServer) UpdateMediaAccStatus(context.Context, *UpdateMedi
func (UnimplementedCastServer) OAuthAccount(context.Context, *OAuthAccountReq) (*OAuthAccountResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method OAuthAccount not implemented")
}
func (UnimplementedCastServer) UnbindMediaAuth(context.Context, *UnbindMediaAuthReq) (*UnbindMediaAuthResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method UnbindMediaAuth not implemented")
}
func (UnimplementedCastServer) UpdateMediaAccInfo(context.Context, *UpdateMediaAccInfoReq) (*emptypb.Empty, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateMediaAccInfo not implemented")
}
func (UnimplementedCastServer) OAuthAccountV2(context.Context, *OAuthAccountV2Req) (*OAuthAccountV2Resp, error) {
return nil, status.Errorf(codes.Unimplemented, "method OAuthAccountV2 not implemented")
}
@ -1971,6 +1995,64 @@ func _Cast_OAuthAccount_Handler(srv interface{}, ctx context.Context, dec func(i
return interceptor(ctx, in, info, handler)
}
func _Cast_UnbindMediaAuth_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
in := new(UnbindMediaAuthReq)
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("UnbindMediaAuth", 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 _Cast_UpdateMediaAccInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateMediaAccInfoReq)
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("UpdateMediaAccInfo", 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 _Cast_OAuthAccountV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
in := new(OAuthAccountV2Req)
if err := dec(in); err != nil {
@ -3884,6 +3966,14 @@ var Cast_ServiceDesc = grpc_go.ServiceDesc{
MethodName: "OAuthAccount",
Handler: _Cast_OAuthAccount_Handler,
},
{
MethodName: "UnbindMediaAuth",
Handler: _Cast_UnbindMediaAuth_Handler,
},
{
MethodName: "UpdateMediaAccInfo",
Handler: _Cast_UpdateMediaAccInfo_Handler,
},
{
MethodName: "OAuthAccountV2",
Handler: _Cast_OAuthAccountV2_Handler,

View File

@ -27,10 +27,10 @@ import (
// InitTasks 初始化定时任务
func InitTasks() error {
cm := GetCronManager()
err := cm.AddTask("refreshWorkApprovalStatus", "0 */1 * * * *", RefreshWorkApprovalStatusTask)
err := cm.AddTask("refreshWorkApprovalStatus", "0 */5 * * * *", RefreshWorkApprovalStatusTask)
err = cm.AddTask("artistAutoConfirm", "0 */1 * * * *", ArtistAutoConfirmTask)
err = cm.AddTask("refreshPublishStatus", "0 */1 * * * *", PublishTask)
err = cm.AddTask("scheduledPublish", "0 */10 * * * *", ScheduledPublishTask)
err = cm.AddTask("refreshPublishStatus", "0 */5 * * * *", PublishTask)
err = cm.AddTask("scheduledPublish", "0 */30 * * * *", ScheduledPublishTask)
err = cm.AddTask("artistAutoConfirmAnalysis", "0 */1 * * * *", ArtistAutoConfirmAnalysisTask)
err = cm.AddTask("refreshWorkAnalysisApprovalStatus", "0 */1 * * * *", RefreshWorkAnalysisApprovalStatusTask)
@ -238,6 +238,7 @@ func RefreshWorkAnalysisApprovalStatusTask() {
}
func ArtistAutoConfirmTask() {
//FIXME 再加一个定时确认 不完全依赖于队列
now := float64(time.Now().Unix())
opt := redis.ZRangeBy{
Min: fmt.Sprintf("%d", 0),
@ -386,7 +387,8 @@ func ScheduledPublishTask() {
if len(publishBatch) > 0 {
zap.L().Info("批量发布剩余作品", zap.Int("batch_size", len(publishBatch)), zap.Strings("work_uuids", publishBatch))
_ = serverCast.PublishWork(context.Background(), &cast.PublishReq{
WorkUuids: publishBatch,
WorkUuids: publishBatch,
PublishSource: cast.PublishSourceENUM_RePublishType_SCHEDULED,
})
zap.L().Info("剩余批次发布完成", zap.Int("published", len(publishBatch)))
}

View File

@ -17,20 +17,6 @@ import (
func Test(ctx *gin.Context) {
action := ctx.PostForm("action")
if action == "" {
numKey := map[string]string{}
for _, v := range numKey {
resp, err := service.AyrshareProvider.UnlinkSocialNetwork(context.Background(), &aryshare.UnlinkSocialNetworkRequest{
Platform: "bluesky",
ProfileKey: v,
})
if err != nil {
service.Error(ctx, err)
return
}
fmt.Println(v)
fmt.Println(resp)
}
return
}
if action == "getPost" {

View File

@ -618,7 +618,7 @@ func PublishWork(ctx context.Context, req *cast.PublishReq) error {
go func() {
defer wg.Done()
for workUuid := range jobs {
if err := PostAS(ctx, workUuid); err != nil {
if err := PostAS(ctx, workUuid, req.PublishSource); err != nil {
errsMu.Lock()
errs = append(errs, err)
errsMu.Unlock()
@ -657,7 +657,7 @@ func PublishWork(ctx context.Context, req *cast.PublishReq) error {
return nil
}
func PostAS(ctx context.Context, workUuid string) error {
func PostAS(ctx context.Context, workUuid string, publishSource cast.PublishSourceENUM) error {
var err error
//检查封面
_ = CheckImage(workUuid)
@ -845,10 +845,11 @@ func PostAS(ctx context.Context, workUuid string) error {
}
if _err != nil {
_, errS := service.CastProvider.UpdateWorkPublishLog(context.Background(), &cast.UpdateWorkPublishLogReq{
WorkUuid: workUuid,
PlatformID: cast.PlatformIDENUM(platformID),
Action: "post",
Detail: _err.Error(),
WorkUuid: workUuid,
PlatformID: cast.PlatformIDENUM(platformID),
Action: "post",
Detail: _err.Error(),
PublishSource: publishSource,
})
if errS != nil {
zap.L().Error("PostAs UpdateWorkPublishLog err", zap.Error(errS), zap.Any("WorkUuid", workDetail.WorkUuid))
@ -863,6 +864,7 @@ func PostAS(ctx context.Context, workUuid string) error {
PublishMediaId: "",
PublishMediaStatus: cast.PublishStatusENUM_PublishMediaStatus_EXCEPTION,
Remark: "",
PublishSource: publishSource,
})
zap.L().Info("UpdateWorkPlatformInfo", zap.Any("infoReq", infoReq))
_, errS = service.CastProvider.UpdateWorkPlatformInfo(context.Background(), infoReq)
@ -878,10 +880,11 @@ func PostAS(ctx context.Context, workUuid string) error {
zap.L().Info("post 8", zap.Any("workUuid", workUuid), zap.Any("platformID", platformID))
postBytes, _ := json.Marshal(postResp)
_, _ = service.CastProvider.UpdateWorkPublishLog(context.Background(), &cast.UpdateWorkPublishLogReq{
PlatformID: cast.PlatformIDENUM(platformID),
WorkUuid: workUuid,
Action: "post",
Detail: string(postBytes),
PlatformID: cast.PlatformIDENUM(platformID),
WorkUuid: workUuid,
Action: "post",
Detail: string(postBytes),
PublishSource: publishSource,
})
zap.L().Info("post 9", zap.Any("workUuid", workUuid), zap.Any("platformID", platformID))
zap.L().Info("PostAs", zap.Any("postResp", postResp), zap.Any("workDetail", workDetail))
@ -925,6 +928,7 @@ func PostAS(ctx context.Context, workUuid string) error {
PublishMediaId: postResp.Posts[0].Id,
PublishMediaStatus: publishStatus,
Remark: string(postData),
PublishSource: publishSource,
})
}
zap.L().Info("post 10", zap.Any("workUuid", workUuid), zap.Any("platformID", platformID))