123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- package youngee_sectask_service
- import (
- "fmt"
- "github.com/gogf/gf/frame/g"
- "github.com/gogf/gf/net/ghttp"
- "youngmini_server/app/dao"
- "youngmini_server/app/model"
- "youngmini_server/app/model/youngee_talent_model"
- "youngmini_server/app/utils"
- )
- // 获取执行中选品任务列表service
- func GetExeSecTaskList(r *ghttp.Request) *TalentHttpResult {
- tid, err := utils.SessionTalentInfo.GetTalentIdFromSession(r)
- if err != nil {
- return &TalentHttpResult{Code: -1, Msg: "Get talent info failed"}
- }
- taskStageKey := r.GetQueryInt("taskStage", 0)
- var whereStr string
- switch taskStageKey {
- case 4:
- // 返回指定talentId的所有数据
- whereStr = fmt.Sprintf("talent_id='%s'", tid)
- case 5:
- // 返回待领悬赏
- whereStr = fmt.Sprintf("talent_id='%s' AND reward_stage = 1", tid)
- default:
- return &TalentHttpResult{Code: -2, Msg: "parse param error"}
- }
- //查task表全部数据
- var secTaskInfoList []youngee_talent_model.SecTaskInfoDetail
- err = g.DB().Model(youngee_talent_model.SecTaskInfoDetail{}).WithAll().
- Where(whereStr).
- Order("task_ddl DESC").
- Scan(&secTaskInfoList)
- if err != nil {
- return &TalentHttpResult{Code: -1, Msg: err.Error()}
- }
- return &TalentHttpResult{Code: 0, Msg: "success", Data: secTaskInfoList}
- }
- // 获取选品任务详情
- func GetSecTaskDetail(r *ghttp.Request) *TalentHttpResult {
- taskId := r.GetQueryInt("task_id", -1)
- var secTask *youngee_talent_model.SecTaskInfoDetail
- err := g.DB().Model("younggee_sec_task_info").WithAll().Where("task_id = ?", taskId).Scan(&secTask)
- if err != nil {
- g.Log().Error("Get selection task info failed: " + err.Error())
- return &TalentHttpResult{Code: -1, Msg: "Get task info failed"}
- }
- if secTask == nil {
- g.Log().Error("Get selection task info failed, The task does not exist.")
- return &TalentHttpResult{Code: -2, Msg: "Task Miss"}
- }
- var selectionDetail *youngee_talent_model.SelectionDetail
- err = g.Model(youngee_talent_model.SelectionDetail{}).WithAll().Where("selection_id", secTask.SelectionId).Scan(&selectionDetail)
- if err != nil {
- g.Log().Error("Get selection detail failed.")
- return &TalentHttpResult{Code: -3, Msg: "Get selection detail failed."}
- }
- var withdrawStatus = 1
- if secTask.SampleMode == 2 {
- var taskIncome *model.YounggeeTalentIncome
- err = g.Model(dao.YounggeeTalentIncome.Table).Where("sectask_id = ? and income_type = 3", taskId).Scan(&taskIncome)
- if err != nil {
- return &TalentHttpResult{Code: -3, Msg: "Get return income detail failed."}
- }
- if taskIncome != nil {
- withdrawStatus = taskIncome.WithdrawStatus + 1
- }
- }
- if secTask.TaskMode == 1 {
- var taskIncome *model.YounggeeTalentIncome
- err = g.Model(dao.YounggeeTalentIncome.Table).Where("sectask_id = ? and income_type = 4", taskId).Scan(&taskIncome)
- if err != nil {
- return &TalentHttpResult{Code: -3, Msg: "Get reward income detail failed."}
- }
- if taskIncome != nil && taskIncome.WithdrawStatus == 1 {
- withdrawStatus = 2
- }
- }
- taskDetail := &youngee_talent_model.SecTaskDetailResp{
- SecTaskInfo: secTask,
- SelectionDetail: selectionDetail,
- WithdrawStatus: withdrawStatus,
- }
- return &TalentHttpResult{Code: 0, Msg: "success", Data: taskDetail}
- }
- // 带货是否满足悬赏条件 if 满足 更新状态
- func UpdateRewardStage(r *ghttp.Request) *TalentHttpResult {
- //达人id获取
- tid, err := utils.SessionTalentInfo.GetTalentIdFromSession(r)
- sid := r.GetQueryString("selection_id")
- if err != nil {
- return &TalentHttpResult{Code: -1, Msg: "Get talent id failed"}
- }
- SecTaskInfo := &youngee_talent_model.SecTaskInfoDetail{}
- _, err = g.DB().Model(SecTaskInfo).Data("reward_stage", 1).Where("talent_id =? and selection_id =?", tid, sid).Update()
- if err != nil {
- // 查询失败(未找到结果),返回失败结果
- return &TalentHttpResult{Code: -1, Msg: "update failed", Data: nil}
- }
- // 查询成功,返回成功结果和数据
- return &TalentHttpResult{Code: 0, Msg: "success", Data: SecTaskInfo}
- }
|