123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671 |
- package schedule
- //
- //import (
- // "github.com/robfig/cron/v3"
- // "log"
- // "strings"
- // "time"
- // "youngee_m_api/app/dao"
- // "youngee_m_api/app/entity"
- // "youngee_m_api/app/service/review_service"
- //)
- //
- //func AutoTaskReview() error {
- // // 新建一个定时任务对象
- // crontab := cron.New(cron.WithSeconds()) // 精确到秒
- // spec := "0 */1 * * * ?" //cron表达式,每5分钟一次
- // // "0 0 12 * * ?" 每天中午12点执行
- //
- // // 添加定时任务
- // // 定时任务1 品牌种草API自动审核
- // _, err1 := crontab.AddFunc(spec, AutoProjectReviewTask)
- // if err1 != nil {
- // return err1
- // }
- // // 定时任务2 电商带货API自动审核
- // _, err2 := crontab.AddFunc(spec, AutoSelectionReviewTask)
- // if err2 != nil {
- // return err2
- // }
- // // 定时任务3 本地生活API自动审核
- // _, err3 := crontab.AddFunc(spec, AutoLocalLifeReviewTask)
- // if err3 != nil {
- // return err3
- // }
- //
- // // 启动定时器
- // crontab.Start()
- // // 定时任务是另起协程执行的,这里使用 select 简单阻塞.需要根据实际情况进行控制
- // //select {} //阻塞主线程停止
- // return nil
- //}
- //
- //// 定时任务1 品牌种草API自动审核
- //func AutoProjectReviewTask() {
- // log.Println("AutoProjectReviewTask running Start, Time :", time.Now())
- //
- // var reviewProjects []*entity.ReviewProject
- // reviewProjects, _ = dao.ProjectReviewDao{}.GetProjectReviewByStatus(1)
- // reviewService := review_service.GetConfig()
- // for _, reviewProject := range reviewProjects {
- //
- // if reviewProject.TaskName != "" {
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // suggestion, reviewErr = reviewService.CheckContent(reviewProject.TaskName)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr != nil || "pass" != *suggestion {
- // // 交给人工审核
- // _ = dao.ProjectReviewDao{}.UpdateProjectReview(&entity.ReviewProject{ID: reviewProject.ID, Status: 3})
- // continue
- // }
- // }
- //
- // if reviewProject.TaskDetail != "" {
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // suggestion, reviewErr = reviewService.CheckContent(reviewProject.TaskDetail)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr != nil || "pass" != *suggestion {
- // // 交给人工审核
- // _ = dao.ProjectReviewDao{}.UpdateProjectReview(&entity.ReviewProject{ID: reviewProject.ID, Status: 3})
- // continue
- // }
- // }
- //
- // if reviewProject.ProductName != "" {
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // suggestion, reviewErr = reviewService.CheckContent(reviewProject.ProductName)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr != nil || "pass" != *suggestion {
- // // 交给人工审核
- // _ = dao.ProjectReviewDao{}.UpdateProjectReview(&entity.ReviewProject{ID: reviewProject.ID, Status: 3})
- // continue
- // }
- // }
- //
- // if reviewProject.ProductDetail != "" {
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // suggestion, reviewErr = reviewService.CheckContent(reviewProject.ProductDetail)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr != nil || "pass" != *suggestion {
- // // 交给人工审核
- // dao.ProjectReviewDao{}.UpdateProjectReview(&entity.ReviewProject{ID: reviewProject.ID, Status: 3})
- // continue
- // }
- // }
- //
- // if reviewProject.MainPhoto != "" {
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // suggestion, reviewErr = reviewService.CheckImage(reviewProject.MainPhoto)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr != nil || "pass" != *suggestion {
- // // 交给人工审核
- // _ = dao.ProjectReviewDao{}.UpdateProjectReview(&entity.ReviewProject{ID: reviewProject.ID, Status: 3})
- // continue
- // }
- // }
- //
- // images := strings.Split(reviewProject.Images, ",")
- // imageFlag := false
- // for _, image := range images {
- // if image != "" {
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // suggestion, reviewErr = reviewService.CheckImage(image)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr != nil || "pass" != *suggestion {
- // imageFlag = true
- // break
- // }
- // }
- // }
- // if imageFlag {
- // // 交给人工审核
- // _ = dao.ProjectReviewDao{}.UpdateProjectReview(&entity.ReviewProject{ID: reviewProject.ID, Status: 3})
- // continue
- // }
- //
- // documentJobIds := strings.Split(reviewProject.DocumentJobIds, ",")
- // documentFlag := 0 // 0通过 1未通过 2正在运行
- // for _, documentJobId := range documentJobIds {
- // if documentJobId != "" {
- // var status *string
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // status, suggestion, reviewErr = reviewService.CheckDocumentInfo(documentJobId)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr == nil && "running" == *status {
- // documentFlag = 2
- // break
- // }
- // if reviewErr != nil || "failed" == *status || "pass" != *suggestion {
- // documentFlag = 1
- // break
- // }
- // }
- // }
- // if documentFlag == 2 {
- // continue
- // } else if documentFlag == 1 {
- // // 交给人工审核
- // _ = dao.ProjectReviewDao{}.UpdateProjectReview(&entity.ReviewProject{ID: reviewProject.ID, Status: 3})
- // continue
- // }
- //
- // videoJobIds := strings.Split(reviewProject.VideoJobIds, ",")
- // videoFlag := 0 // 0通过 1未通过 2正在运行
- // for _, videoJobId := range videoJobIds {
- // if videoJobId != "" {
- // var status *string
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // status, suggestion, reviewErr = reviewService.CheckVideoInfo(videoJobId)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr == nil && "running" == *status {
- // videoFlag = 2
- // break
- // }
- // if reviewErr != nil || "failed" == *status || "pass" != *suggestion {
- // videoFlag = 1
- // break
- // }
- // }
- // }
- // if videoFlag == 2 {
- // continue
- // } else if videoFlag == 1 {
- // // 交给人工审核
- // _ = dao.ProjectReviewDao{}.UpdateProjectReview(&entity.ReviewProject{ID: reviewProject.ID, Status: 3})
- // continue
- // }
- //
- // // 审核通过
- // _ = dao.ProjectReviewDao{}.UpdateProjectReview(&entity.ReviewProject{ID: reviewProject.ID, Status: 2})
- // _ = dao.ProjectDAO{}.UpdateProject(entity.Project{ProjectId: reviewProject.ProjectID, ProjectStatus: 4})
- // }
- //
- // log.Println("AutoProjectReviewTask running End, Time :", time.Now())
- //}
- //
- //// 定时任务2 电商带货API自动审核
- //func AutoSelectionReviewTask() {
- // log.Println("AutoSelectionInvalidTask running Start, Time :", time.Now())
- //
- // var reviewSelections []*entity.ReviewSelection
- // reviewSelections, _ = dao.SelectionReviewDao{}.GetSelectionReviewByStatus(1)
- // reviewService := review_service.GetConfig()
- // for _, reviewSelection := range reviewSelections {
- //
- // if reviewSelection.TaskName != "" {
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // suggestion, reviewErr = reviewService.CheckContent(reviewSelection.TaskName)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr != nil || "pass" != *suggestion {
- // // 交给人工审核
- // _ = dao.SelectionReviewDao{}.UpdateSelectionReview(&entity.ReviewSelection{ID: reviewSelection.ID, Status: 3})
- // continue
- // }
- // }
- //
- // if reviewSelection.ProductName != "" {
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // suggestion, reviewErr = reviewService.CheckContent(reviewSelection.ProductName)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr != nil || "pass" != *suggestion {
- // // 交给人工审核
- // _ = dao.SelectionReviewDao{}.UpdateSelectionReview(&entity.ReviewSelection{ID: reviewSelection.ID, Status: 3})
- // continue
- // }
- // }
- //
- // if reviewSelection.ProductDetail != "" {
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // suggestion, reviewErr = reviewService.CheckContent(reviewSelection.ProductDetail)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr != nil || "pass" != *suggestion {
- // // 交给人工审核
- // dao.SelectionReviewDao{}.UpdateSelectionReview(&entity.ReviewSelection{ID: reviewSelection.ID, Status: 3})
- // continue
- // }
- // }
- //
- // if reviewSelection.MainPhoto != "" {
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // suggestion, reviewErr = reviewService.CheckImage(reviewSelection.MainPhoto)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr != nil || "pass" != *suggestion {
- // // 交给人工审核
- // _ = dao.SelectionReviewDao{}.UpdateSelectionReview(&entity.ReviewSelection{ID: reviewSelection.ID, Status: 3})
- // continue
- // }
- // }
- //
- // images := strings.Split(reviewSelection.Images, ",")
- // imageFlag := false
- // for _, image := range images {
- // if image != "" {
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // suggestion, reviewErr = reviewService.CheckImage(image)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr != nil || "pass" != *suggestion {
- // imageFlag = true
- // break
- // }
- // }
- // }
- // if imageFlag {
- // // 交给人工审核
- // _ = dao.SelectionReviewDao{}.UpdateSelectionReview(&entity.ReviewSelection{ID: reviewSelection.ID, Status: 3})
- // continue
- // }
- //
- // documentJobIds := strings.Split(reviewSelection.DocumentJobIds, ",")
- // documentFlag := 0 // 0通过 1未通过 2正在运行
- // for _, documentJobId := range documentJobIds {
- // if documentJobId != "" {
- // var status *string
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // status, suggestion, reviewErr = reviewService.CheckDocumentInfo(documentJobId)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr == nil && "running" == *status {
- // documentFlag = 2
- // break
- // }
- // if reviewErr != nil || "failed" == *status || "pass" != *suggestion {
- // documentFlag = 1
- // break
- // }
- // }
- // }
- // if documentFlag == 2 {
- // continue
- // } else if documentFlag == 1 {
- // // 交给人工审核
- // _ = dao.SelectionReviewDao{}.UpdateSelectionReview(&entity.ReviewSelection{ID: reviewSelection.ID, Status: 3})
- // continue
- // }
- //
- // videoJobIds := strings.Split(reviewSelection.VideoJobIds, ",")
- // videoFlag := 0 // 0通过 1未通过 2正在运行
- // for _, videoJobId := range videoJobIds {
- // if videoJobId != "" {
- // var status *string
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // status, suggestion, reviewErr = reviewService.CheckVideoInfo(videoJobId)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr == nil && "running" == *status {
- // videoFlag = 2
- // break
- // }
- // if reviewErr != nil || "failed" == *status || "pass" != *suggestion {
- // videoFlag = 1
- // break
- // }
- // }
- // }
- // if videoFlag == 2 {
- // continue
- // } else if videoFlag == 1 {
- // // 交给人工审核
- // _ = dao.SelectionReviewDao{}.UpdateSelectionReview(&entity.ReviewSelection{ID: reviewSelection.ID, Status: 3})
- // continue
- // }
- //
- // // 审核通过
- // _ = dao.SelectionReviewDao{}.UpdateSelectionReview(&entity.ReviewSelection{ID: reviewSelection.ID, Status: 2})
- // _ = dao.SelectionInfoDAO{}.UpdateSelectionInfo(entity.SelectionInfo{SelectionID: reviewSelection.SelectionID, SelectionStatus: 4})
- // }
- //
- // log.Println("AutoSelectionInvalidTask running End, Time :", time.Now())
- //}
- //
- //// 定时任务3 本地生活API自动审核
- //func AutoLocalLifeReviewTask() {
- // log.Println("AutoLocalLifeInvalidTask running Start, Time :", time.Now())
- //
- // var reviewLocalLifes []*entity.ReviewLocalLife
- // reviewLocalLifes, _ = dao.LocalLifeReviewDao{}.GetLocalReviewByStatus(1)
- // reviewService := review_service.GetConfig()
- // for _, reviewLocalLife := range reviewLocalLifes {
- //
- // if reviewLocalLife.TaskName != "" {
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // suggestion, reviewErr = reviewService.CheckContent(reviewLocalLife.TaskName)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr != nil || "pass" != *suggestion {
- // // 交给人工审核
- // _ = dao.LocalLifeReviewDao{}.UpdateLocalReview(&entity.ReviewLocalLife{ID: reviewLocalLife.ID, Status: 3})
- // continue
- // }
- // }
- //
- // if reviewLocalLife.TaskDetail != "" {
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // suggestion, reviewErr = reviewService.CheckContent(reviewLocalLife.TaskDetail)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr != nil || "pass" != *suggestion {
- // // 交给人工审核
- // _ = dao.LocalLifeReviewDao{}.UpdateLocalReview(&entity.ReviewLocalLife{ID: reviewLocalLife.ID, Status: 3})
- // continue
- // }
- // }
- //
- // if reviewLocalLife.StoreName != "" {
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // suggestion, reviewErr = reviewService.CheckContent(reviewLocalLife.StoreName)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr != nil || "pass" != *suggestion {
- // // 交给人工审核
- // _ = dao.LocalLifeReviewDao{}.UpdateLocalReview(&entity.ReviewLocalLife{ID: reviewLocalLife.ID, Status: 3})
- // continue
- // }
- // }
- // if reviewLocalLife.StoreDetail != "" {
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // suggestion, reviewErr = reviewService.CheckContent(reviewLocalLife.StoreDetail)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr != nil || "pass" != *suggestion {
- // // 交给人工审核
- // dao.LocalLifeReviewDao{}.UpdateLocalReview(&entity.ReviewLocalLife{ID: reviewLocalLife.ID, Status: 3})
- // continue
- // }
- // }
- // if reviewLocalLife.StoreMainPhoto != "" {
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // suggestion, reviewErr = reviewService.CheckImage(reviewLocalLife.StoreMainPhoto)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr != nil || "pass" != *suggestion {
- // // 交给人工审核
- // _ = dao.LocalLifeReviewDao{}.UpdateLocalReview(&entity.ReviewLocalLife{ID: reviewLocalLife.ID, Status: 3})
- // continue
- // }
- // }
- //
- // if reviewLocalLife.TeamBuyingName != "" {
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // suggestion, reviewErr = reviewService.CheckContent(reviewLocalLife.TeamBuyingName)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr != nil || "pass" != *suggestion {
- // // 交给人工审核
- // _ = dao.LocalLifeReviewDao{}.UpdateLocalReview(&entity.ReviewLocalLife{ID: reviewLocalLife.ID, Status: 3})
- // continue
- // }
- // }
- // if reviewLocalLife.TeamBuyingDetail != "" {
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // suggestion, reviewErr = reviewService.CheckContent(reviewLocalLife.TeamBuyingDetail)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr != nil || "pass" != *suggestion {
- // // 交给人工审核
- // dao.LocalLifeReviewDao{}.UpdateLocalReview(&entity.ReviewLocalLife{ID: reviewLocalLife.ID, Status: 3})
- // continue
- // }
- // }
- // if reviewLocalLife.TeamBuyingMainPhoto != "" {
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // suggestion, reviewErr = reviewService.CheckImage(reviewLocalLife.TeamBuyingMainPhoto)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr != nil || "pass" != *suggestion {
- // // 交给人工审核
- // _ = dao.LocalLifeReviewDao{}.UpdateLocalReview(&entity.ReviewLocalLife{ID: reviewLocalLife.ID, Status: 3})
- // continue
- // }
- // }
- //
- // images := strings.Split(reviewLocalLife.Images, ",")
- // imageFlag := false
- // for _, image := range images {
- // if image != "" {
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // suggestion, reviewErr = reviewService.CheckImage(image)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr != nil || "pass" != *suggestion {
- // imageFlag = true
- // break
- // }
- // }
- // }
- // if imageFlag {
- // // 交给人工审核
- // _ = dao.LocalLifeReviewDao{}.UpdateLocalReview(&entity.ReviewLocalLife{ID: reviewLocalLife.ID, Status: 3})
- // continue
- // }
- //
- // documentJobIds := strings.Split(reviewLocalLife.DocumentJobIds, ",")
- // documentFlag := 0 // 0通过 1未通过 2正在运行
- // for _, documentJobId := range documentJobIds {
- // if documentJobId != "" {
- // var status *string
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // status, suggestion, reviewErr = reviewService.CheckDocumentInfo(documentJobId)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr == nil && "running" == *status {
- // documentFlag = 2
- // break
- // }
- // if reviewErr != nil || "failed" == *status || "pass" != *suggestion {
- // documentFlag = 1
- // break
- // }
- // }
- // }
- // if documentFlag == 2 {
- // continue
- // } else if documentFlag == 1 {
- // // 交给人工审核
- // _ = dao.LocalLifeReviewDao{}.UpdateLocalReview(&entity.ReviewLocalLife{ID: reviewLocalLife.ID, Status: 3})
- // continue
- // }
- //
- // videoJobIds := strings.Split(reviewLocalLife.VideoJobIds, ",")
- // videoFlag := 0 // 0通过 1未通过 2正在运行
- // for _, videoJobId := range videoJobIds {
- // if videoJobId != "" {
- // var status *string
- // var suggestion *string
- // var reviewErr error
- // i := 3
- // for {
- // status, suggestion, reviewErr = reviewService.CheckVideoInfo(videoJobId)
- // if reviewErr == nil || i == 0 {
- // break
- // }
- // i -= 1
- // }
- // if reviewErr == nil && "running" == *status {
- // videoFlag = 2
- // break
- // }
- // if reviewErr != nil || "failed" == *status || "pass" != *suggestion {
- // videoFlag = 1
- // break
- // }
- // }
- // }
- // if videoFlag == 2 {
- // continue
- // } else if videoFlag == 1 {
- // // 交给人工审核
- // _ = dao.LocalLifeReviewDao{}.UpdateLocalReview(&entity.ReviewLocalLife{ID: reviewLocalLife.ID, Status: 3})
- // continue
- // }
- //
- // // 审核通过
- // _ = dao.LocalLifeReviewDao{}.UpdateLocalReview(&entity.ReviewLocalLife{ID: reviewLocalLife.ID, Status: 2})
- // _ = dao.LocalLifeDao{}.UpdateLocal(entity.LocalLifeInfo{LocalID: reviewLocalLife.LocalID, TaskStatus: 4})
- // }
- //
- // log.Println("AutoLocalLifeInvalidTask running End, Time :", time.Now())
- //}
|