diff --git a/pkg/service/cast/work.go b/pkg/service/cast/work.go index 8d2ed15..e5887c4 100644 --- a/pkg/service/cast/work.go +++ b/pkg/service/cast/work.go @@ -11,7 +11,9 @@ import ( "fonchain-fiee/pkg/e" modelCast "fonchain-fiee/pkg/model/cast" "fonchain-fiee/pkg/service" + "fonchain-fiee/pkg/utils/stime" "strconv" + "time" "github.com/gin-gonic/gin" "go.uber.org/zap" @@ -188,6 +190,14 @@ func WorkList(ctx *gin.Context) { approvalID, _ := strconv.ParseUint(v.ApprovalID, 10, 64) workUuidApprovalIDMap[int(approvalID)] = v.WorkUuid } + statusUpdateDate, _ := stime.DatetimeToTimes(v.StatusUpdateTime, "2006-01-02 15:04:05") + if v.WorkStatus == 6 && (time.Now().Unix()-int64(statusUpdateDate) < 300) { + go func() { + _, _ = service.CastProvider.PublishMediaInfo(context.Background(), &cast.PublishMediaInfoReq{ + WorkUuid: v.WorkUuid, + }) + }() + } } if len(workUuidApprovalIDMap) > 0 { _ = RefreshWorkApprovalStatus(ctx, workUuidApprovalIDMap) diff --git a/pkg/utils/stime/common.go b/pkg/utils/stime/common.go index 21930d8..36bfa4c 100644 --- a/pkg/utils/stime/common.go +++ b/pkg/utils/stime/common.go @@ -7,6 +7,9 @@ package stime import ( + "errors" + "fonchain-fiee/pkg/e" + "go.uber.org/zap" "time" ) @@ -88,3 +91,19 @@ var WeekStrMap = map[string]string{ "Saturday": "六", "Sunday": "日", } + +func DatetimeToTimes(datetime string, dateFormat string) (times int32, err error) { + if datetime == "" { + times = 0 + return + } + loc, _ := time.LoadLocation("Asia/Shanghai") + t, err := time.ParseInLocation(dateFormat, datetime, loc) + if err != nil { + zap.L().Error("DatetimeToTimes err:"+datetime+":", zap.Error(err)) + err = errors.New(e.GetCodeMsg(e.InvalidParams)) + return + } + times = int32(t.Unix()) + return +}