123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- package youngee_task_service
- import (
- "github.com/gogf/gf/frame/g"
- "github.com/gogf/gf/net/ghttp"
- "github.com/gogf/gf/os/gtime"
- "strings"
- "youngmini_server/app/model/youngee_talent_model"
- )
- // 提交探店时间
- func AddLocalTaskBook(r *ghttp.Request) *TalentHttpResult {
- var bookInfoReq *youngee_talent_model.AddLocalTaskBookRequest
- //解析添加初稿的图文
- err := r.ParseForm(&bookInfoReq)
- if err != nil {
- return &TalentHttpResult{Code: -1, Msg: err.Error()}
- }
- taskbookInfo := []youngee_talent_model.LocalTaskBookInfo{}
- err = g.DB().Model("younggee_book_info").Where("task_id = ? ", bookInfoReq.TaskId).OrderDesc("create_at").Scan(&taskbookInfo)
- if err != nil {
- return &TalentHttpResult{Code: -2, Msg: "YounggeeSketchInfo find failed"}
- }
- //上传过但是被拒了
- var condition1 bool = len(taskbookInfo) != 0 && taskbookInfo[0].IsReview == 1 && taskbookInfo[0].IsOk == 0
- //没有上传过初稿
- var condition2 bool = len(taskbookInfo) == 0
- bookInfo := youngee_talent_model.LocalTaskBookInfo{
- TaskId: bookInfoReq.TaskId,
- Day: bookInfoReq.Day,
- Time: bookInfoReq.Time,
- CreateAt: gtime.Now(),
- IsReview: 0,
- IsSubmit: 0, //忽略
- IsOk: 0,
- }
- //只有这两种情况才能上传探店时间
- if condition1 || condition2 {
- //插入新数据
- _, err := g.DB().Model("younggee_book_info").Data(bookInfo).InsertAndGetId()
- if err != nil {
- return &TalentHttpResult{Code: -3, Msg: "YounggeeSketchInfo insert failed"}
- }
- }
- //修改task表中的字段待添加变成已添加,待修改变成已修改
- bookStatus, err := g.DB().Model("youngee_local_task_info").Fields("book_status").Where("task_id = ?", bookInfoReq.TaskId).Value()
- if err != nil {
- return &TalentHttpResult{Code: -5, Msg: "Get task info failed"}
- }
- if bookStatus.Int64() == 1 {
- _, err = g.Model("youngee_local_task_info").Where("task_id = ?", bookInfoReq.TaskId).Update(g.Map{"book_status": 2})
- if err != nil {
- return &TalentHttpResult{Code: -6, Msg: "YoungeeTaskInfo update failed"}
- }
- } else if bookStatus.Int64() == 3 {
- _, err = g.Model("youngee_local_task_info").Where("task_id = ?", bookInfoReq.TaskId).Update(g.Map{"book_status": 4})
- if err != nil {
- return &TalentHttpResult{Code: -6, Msg: "YoungeeTaskInfo update failed"}
- }
- }
- //task设置为预约确认中
- _, err = g.DB().Model("youngee_local_task_info").Data(g.Map{"task_stage": "5"}).Where("task_id = ?", bookInfoReq.TaskId).Update()
- //修改reserve_time
- bookTime, err := gtime.StrToTime(bookInfoReq.Day + " " + bookInfoReq.Time)
- if err != nil {
- return &TalentHttpResult{Code: -7, Msg: "Convert time failed"}
- }
- _, err = g.DB().Model("youngee_local_task_info").Data(g.Map{"reserve_time": bookTime}).Where("task_id = ?", bookInfoReq.TaskId).Update()
- if err != nil {
- return &TalentHttpResult{Code: -8, Msg: err.Error()}
- }
- return &TalentHttpResult{Code: 0, Msg: "success"}
- }
- // // 预约探店审核历史
- func GetLocalTaskBook(r *ghttp.Request) *TalentHttpResult {
- taskId := r.Get("task_id")
- res, err := g.DB().Model("younggee_book_info").Where("is_review = 1 and task_id = ?", taskId).OrderDesc("create_at").All()
- if err != nil {
- return &TalentHttpResult{Code: -1, Msg: err.Error()}
- }
- return &TalentHttpResult{Code: 0, Msg: "success", Data: res}
- }
- // 提交探店图片
- func AddLocalTaskPhoto(r *ghttp.Request) *TalentHttpResult {
- var bookInfoReq *youngee_talent_model.AddLocalTaskPhotoRequest
- //解析添加初稿的图文
- err := r.ParseForm(&bookInfoReq)
- if err != nil {
- return &TalentHttpResult{Code: -1, Msg: err.Error()}
- }
- photoUrl := strings.Split(bookInfoReq.PhotoUrl, ",")
- //插入新图片
- for _, v := range photoUrl {
- _, err := g.DB().Model("younggee_book_photo").Data(g.Map{"task_id": bookInfoReq.TaskId, "photo_url": v, "create_at": gtime.Now()}).Insert()
- if err != nil {
- return &TalentHttpResult{Code: -3, Msg: err.Error()}
- }
- }
- if err != nil {
- return &TalentHttpResult{Code: -5, Msg: "Get task info failed", Data: err.Error()}
- }
- //task_stage设置成待传初稿
- _, err = g.DB().Model("youngee_local_task_info").Where("task_id = ?", bookInfoReq.TaskId).Data(g.Map{"task_stage": 9}).Update()
- //设置成已经探店
- _, err = g.DB().Model("youngee_local_task_info").Where("task_id = ?", bookInfoReq.TaskId).Data(g.Map{"book_status": 6}).Update()
- // 更新task表中finish_explore_time
- _, err = g.DB().Model("youngee_local_task_info").Where("task_id = ?", bookInfoReq.TaskId).Data(g.Map{"finish_explore_time": gtime.Now()}).Update()
- if err != nil {
- return &TalentHttpResult{Code: -5, Msg: err.Error()}
- }
- return &TalentHttpResult{Code: 0, Msg: "success"}
- }
- // 还未被审核过的探店时间,如果有的话,返回,没有
- func GetUnSubmitLocalTaskBook(r *ghttp.Request) *TalentHttpResult {
- taskId := r.Get("task_id")
- var unSubmitSketch []*youngee_talent_model.LocalTaskBookInfo
- // 获取当前任务的最新,未审核的初稿
- err := g.DB().Model("younggee_book_info").Where("task_id = ?", taskId).OrderDesc("create_at").Scan(&unSubmitSketch)
- if err != nil {
- return &TalentHttpResult{Code: -1, Msg: err.Error()}
- }
- if len(unSubmitSketch) == 0 {
- return &TalentHttpResult{Code: 0, Msg: "从未提交过初稿", Data: nil}
- } else {
- // 如果是初稿已提交,且被驳回,则可以编辑
- if unSubmitSketch[0].IsReview == 1 && unSubmitSketch[0].IsOk == 0 { //最新一条是提交但被驳回
- unSubmitSketch[0].ISEditable = 1
- } else {
- unSubmitSketch[0].ISEditable = 0
- }
- return &TalentHttpResult{Code: 0, Msg: "返回最新一条初稿,", Data: unSubmitSketch[0]}
- }
- }
|