123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232 |
- package youngee_talent_service
- import (
- "fmt"
- "log"
- "time"
- "youngmini_server/app/dao"
- "youngmini_server/app/model"
- "youngmini_server/app/model/youngee_talent_model"
- "github.com/gogf/gf/frame/g"
- "github.com/gogf/gf/net/ghttp"
- "github.com/gogf/gf/os/gtime"
- )
- func GetAutoTime(r *ghttp.Request) *TalentHttpResult {
- var getAutoTimeReq *youngee_talent_model.GetAutoTimeReq
- err := r.ParseForm(&getAutoTimeReq)
- if err != nil {
- return &TalentHttpResult{Code: -1, Msg: "params error"}
- }
- // 查询任务
- var taskInfo model.YoungeeTaskInfo
- err = g.Model(dao.YoungeeTaskInfo.Table).Where("task_id = ?", getAutoTimeReq.TaskId).Scan(&taskInfo)
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- // 查询项目
- var projectIndo model.ProjectInfo
- err = g.Model(dao.ProjectInfo.Table).Where("project_id = ?", taskInfo.ProjectId).Scan(&projectIndo)
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- // 查询项目对应的违约规则
- var autoInfo model.InfoAutoTask
- err = g.Model(dao.InfoAutoTask.Table).Where("auto_task_id = ?", projectIndo.AutoTaskId).Scan(&autoInfo)
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- t := gtime.Now()
- // 更新违约时间
- switch getAutoTimeReq.Type {
- case 1: // 脚本首次提交
- var taskLogisticInfo model.YoungeeTaskLogistics
- err = g.Model(dao.YoungeeTaskLogistics.Table).Where("task_id = ?", getAutoTimeReq.TaskId).Scan(&taskLogisticInfo)
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- dd, _ := time.ParseDuration(fmt.Sprintf("%d", autoInfo.ScriptDefault) + "h")
- t = taskLogisticInfo.SignedTime.Add(dd)
- _, err = g.Model(dao.YoungeeTaskLogistics.Table).Where("logistics_id = ?", taskLogisticInfo.LogisticsId).Update(g.Map{"auto_script_break_at": t})
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- break
- case 2: // 脚本修改后提交
- var scriptInfoList []*model.YounggeeScriptInfo
- var scriptInfo model.YounggeeScriptInfo
- err = g.Model(dao.YounggeeScriptInfo.Table).Where("task_id = ? and is_review = 1", getAutoTimeReq.TaskId).Order("script_id").Scan(&scriptInfoList)
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- for _, v := range scriptInfoList {
- scriptInfo = *v
- }
- dd, _ := time.ParseDuration(fmt.Sprintf("%d", autoInfo.ScriptDefault) + "h")
- t = scriptInfo.RejectAt.Add(dd)
- _, err = g.Model(dao.YounggeeScriptInfo.Table).Where("script_id = ?", scriptInfo.ScriptId).Update(g.Map{"auto_script_break_at": t})
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- break
- case 3: // 初稿首次提交-视频
- var scriptInfo model.YounggeeScriptInfo
- err = g.Model(dao.YounggeeScriptInfo.Table).Where("task_id = ? and is_ok = 1", getAutoTimeReq.TaskId).Scan(&scriptInfo)
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- dd, _ := time.ParseDuration(fmt.Sprintf("%d", autoInfo.DraftDefaultInMv) + "h")
- t = scriptInfo.AgreeAt.Add(dd)
- _, err = g.Model(dao.YounggeeScriptInfo.Table).Where("script_id = ?", scriptInfo.ScriptId).Update(g.Map{"auto_sketch_break_at": t})
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- break
- case 4: // 初稿首次提交-图文
- var taskLogisticInfo model.YoungeeTaskLogistics
- err = g.Model(dao.YoungeeTaskLogistics.Table).Where("task_id = ?", getAutoTimeReq.TaskId).Scan(&taskLogisticInfo)
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- dd, _ := time.ParseDuration(fmt.Sprintf("%d", autoInfo.DraftDefaultInPic) + "h")
- t = taskLogisticInfo.SignedTime.Add(dd)
- _, err = g.Model(dao.YoungeeTaskLogistics.Table).Where("logistics_id = ?", taskLogisticInfo.LogisticsId).Update(g.Map{"auto_sketch_break_at": t})
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- break
- case 5: // 初稿修改后提交-视频
- var sketchInfoList []*model.YounggeeSketchInfo
- var sketchInfo model.YounggeeSketchInfo
- err = g.Model(dao.YounggeeSketchInfo.Table).Where("task_id = ? and is_review = 1", getAutoTimeReq.TaskId).Order("sketch_id").Scan(&sketchInfoList)
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- for _, v := range sketchInfoList {
- sketchInfo = *v
- }
- dd, _ := time.ParseDuration(fmt.Sprintf("%d", autoInfo.DraftDefaultInMv) + "h")
- t = sketchInfo.RejectAt.Add(dd)
- _, err = g.Model(dao.YounggeeSketchInfo.Table).Where("sketch_id = ?", sketchInfo.SketchId).Update(g.Map{"auto_sketch_break_at": t})
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- break
- case 6: // 初稿修改后提交-图片
- var sketchInfoList []*model.YounggeeSketchInfo
- var sketchInfo model.YounggeeSketchInfo
- err = g.Model(dao.YounggeeSketchInfo.Table).Where("task_id = ? and is_review = 1", getAutoTimeReq.TaskId).Order("sketch_id").Scan(&sketchInfoList)
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- for _, v := range sketchInfoList {
- sketchInfo = *v
- }
- dd, _ := time.ParseDuration(fmt.Sprintf("%d", autoInfo.DraftDefaultInPic) + "h")
- t = sketchInfo.RejectAt.Add(dd)
- _, err = g.Model(dao.YounggeeSketchInfo.Table).Where("sketch_id = ?", sketchInfo.SketchId).Update(g.Map{"auto_sketch_break_at": t})
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- break
- case 7: // 链接首次提交
- var sketchInfo model.YounggeeSketchInfo
- err = g.Model(dao.YounggeeSketchInfo.Table).Where("task_id = ? and is_ok = 1", getAutoTimeReq.TaskId).Scan(&sketchInfo)
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- dd, _ := time.ParseDuration(fmt.Sprintf("%d", autoInfo.LinkBreach) + "h")
- t = sketchInfo.AgreeAt.Add(dd)
- _, err = g.Model(dao.YounggeeSketchInfo.Table).Where("sketch_id = ?", sketchInfo.SketchId).Update(g.Map{"auto_link_break_at": t})
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- break
- case 8: // 链接修改后提交
- var linkInfoList []*model.YounggeeLinkInfo
- var linkInfo model.YounggeeLinkInfo
- err = g.Model(dao.YounggeeLinkInfo.Table).Where("task_id = ? and is_review = 1", getAutoTimeReq.TaskId).Order("link_id").Scan(&linkInfoList)
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- for _, v := range linkInfoList {
- linkInfo = *v
- }
- dd, _ := time.ParseDuration(fmt.Sprintf("%d", autoInfo.LinkBreach) + "h")
- t = linkInfo.RejectAt.Add(dd)
- _, err = g.Model(dao.YounggeeLinkInfo.Table).Where("link_id = ?", linkInfo.LinkId).Update(g.Map{"auto_link_break_at": t})
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- break
- case 9: // 数据首次提交
- var linkInfo model.YounggeeLinkInfo
- err = g.Model(dao.YounggeeLinkInfo.Table).Where("task_id = ? and is_ok = 1", getAutoTimeReq.TaskId).Scan(&linkInfo)
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- dd, _ := time.ParseDuration(fmt.Sprintf("%d", autoInfo.CaseCloseDefault) + "h")
- t = linkInfo.AgreeAt.Add(dd)
- _, err = g.Model(dao.YounggeeLinkInfo.Table).Where("link_id = ?", linkInfo.LinkId).Update(g.Map{"auto_data_break_at": t})
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- break
- case 10: // 数据修改后提交
- var dataInfoList []*model.YounggeeDataInfo
- var dataInfo model.YounggeeDataInfo
- err = g.Model(dao.YounggeeDataInfo.Table).Where("task_id = ? and is_review = 1", getAutoTimeReq.TaskId).Order("data_id").Scan(&dataInfoList)
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- for _, v := range dataInfoList {
- dataInfo = *v
- }
- dd, _ := time.ParseDuration(fmt.Sprintf("%d", autoInfo.CaseCloseDefault) + "h")
- t = dataInfo.RejectAt.Add(dd)
- _, err = g.Model(dao.YounggeeDataInfo.Table).Where("data_id = ?", dataInfo.DataId).Update(g.Map{"auto_data_break_at": t})
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- break
- }
- return &TalentHttpResult{Code: 0, Msg: "success", Data: t}
- }
|