调整已登录任务列表接口

This commit is contained in:
chy
2025-06-27 15:00:59 +08:00
parent ae19e9917e
commit ba28d0621a
6 changed files with 34 additions and 6 deletions

View File

@ -3,7 +3,7 @@ package v1
import "github.com/gogf/gf/v2/frame/g" import "github.com/gogf/gf/v2/frame/g"
type AdminInfoReq struct { type AdminInfoReq struct {
g.Meta `path:"/admin/info" method:"get" tags:"Admin" summary:"(系统后台)获取管理员信息"` g.Meta `path:"/admin/info" method:"get" tags:"Backend/Admin" summary:"(系统后台)获取管理员信息"`
} }
type AdminInfoRes struct { type AdminInfoRes struct {
g.Meta `mime:"application/json"` g.Meta `mime:"application/json"`

View File

@ -3,7 +3,7 @@ package v1
import "github.com/gogf/gf/v2/frame/g" import "github.com/gogf/gf/v2/frame/g"
type AdminLoginReq struct { type AdminLoginReq struct {
g.Meta `path:"/admin/login" method:"post" tags:"Admin" summary:"(系统后台)管理员登录"` g.Meta `path:"/admin/login" method:"post" tags:"Backend/Admin" summary:"(系统后台)管理员登录"`
Username string `json:"username" v:"required" dc:"用户名"` Username string `json:"username" v:"required" dc:"用户名"`
Password string `json:"password" v:"required" dc:"密码"` Password string `json:"password" v:"required" dc:"密码"`
} }
@ -14,7 +14,7 @@ type AdminLoginRes struct {
} }
type MerchantLoginReq struct { type MerchantLoginReq struct {
g.Meta `path:"/merchant/login" method:"post" tags:"Merchant" summary:"(商户门店后台)商户登录"` g.Meta `path:"/merchant/login" method:"post" tags:"Backend/Merchant" summary:"(商户门店后台)商户登录"`
Username string `json:"username" dc:"用户名"` Username string `json:"username" dc:"用户名"`
Phone string `json:"phone" v:"regex:^1[3-9]\\d{9}$" dc:"手机号"` Phone string `json:"phone" v:"regex:^1[3-9]\\d{9}$" dc:"手机号"`
Code string `json:"code" dc:"验证码"` Code string `json:"code" dc:"验证码"`

View File

@ -2,6 +2,7 @@ package task
import ( import (
"context" "context"
"github.com/gogf/gf/v2/frame/g"
"server/internal/model" "server/internal/model"
"server/internal/service" "server/internal/service"
@ -9,6 +10,7 @@ import (
) )
func (c *ControllerV1) GetLoginTaskList(ctx context.Context, req *v1.GetLoginTaskListReq) (res *v1.GetLoginTaskListRes, err error) { func (c *ControllerV1) GetLoginTaskList(ctx context.Context, req *v1.GetLoginTaskListReq) (res *v1.GetLoginTaskListRes, err error) {
userId := g.RequestFromCtx(ctx).Get("id")
out, err := service.Task().GetLoginTaskList(ctx, &model.GetTaskListIn{ out, err := service.Task().GetLoginTaskList(ctx, &model.GetTaskListIn{
Gid: req.Gid, Gid: req.Gid,
NetBarAccount: req.NetBarAccount, NetBarAccount: req.NetBarAccount,
@ -16,6 +18,7 @@ func (c *ControllerV1) GetLoginTaskList(ctx context.Context, req *v1.GetLoginTas
Num: req.Num, Num: req.Num,
Pageidx: req.Pageidx, Pageidx: req.Pageidx,
BindType: req.BindType, BindType: req.BindType,
UserId: userId.Int64(),
}) })
if err != nil { if err != nil {

View File

@ -429,8 +429,6 @@ func (s *sReward) GetLift(ctx context.Context, in *model.GetRewardIn) (out *mode
if err != nil { if err != nil {
return ecode.Fail.Sub("修改用户任务奖励记录状态异常") return ecode.Fail.Sub("修改用户任务奖励记录状态异常")
} }
return
} else if item.Result == 2 || item.Result == 3 { } else if item.Result == 2 || item.Result == 3 {
// 发放背包成功,修改状态 // 发放背包成功,修改状态
_, err = dao.UserTaskRewards.Ctx(ctx).Data(do.UserTaskRewards{ _, err = dao.UserTaskRewards.Ctx(ctx).Data(do.UserTaskRewards{

View File

@ -229,7 +229,7 @@ func (s *sTask) GetLoginTaskList(ctx context.Context, in *model.GetTaskListIn) (
QqNetbarTargetTime: task.TargetTimes, QqNetbarTargetTime: task.TargetTimes,
StartTime: task.CycleStart, StartTime: task.CycleStart,
EndTime: task.CycleEnd, EndTime: task.CycleEnd,
Status: task.Status, //Status: task.Status,
} }
data.UserTaskResult.Usertimes = task.UserTimes data.UserTaskResult.Usertimes = task.UserTimes
// 组装门店奖励数据 // 组装门店奖励数据
@ -252,7 +252,33 @@ func (s *sTask) GetLoginTaskList(ctx context.Context, in *model.GetTaskListIn) (
if err != nil { if err != nil {
return nil, err return nil, err
} }
// 任务状态=1或者2不做操作其他查询门店奖励是否全部领取
if task.Status != 1 && task.Status != 2 {
count, err := dao.UserTasks.Ctx(ctx).Where(dao.UserTasks.Columns().TaskId, task.TaskID).Where(dao.UserTasks.Columns().UserId, in.UserId).LeftJoin(dao.UserTaskRewards.Table(),
fmt.Sprintf("%s.user_tasks_id = %s.id", dao.UserTaskRewards.Table(), dao.UserTasks.Table())).LeftJoin(dao.Rewards.Table(), fmt.Sprintf("%s.id = %s.reward_id",
dao.Rewards.Table(), dao.UserTaskRewards.Table())).Where(dao.Rewards.Columns().Source, 2).Where(dao.UserTaskRewards.Columns().Status, 2).Count()
if err != nil {
return nil, ecode.Fail.Sub("查询用户门店任务奖励失败")
}
if count > 0 {
data.Status = 2
} else {
data.Status = 3
}
} else {
data.Status = task.Status
}
tasks = append(tasks, data) tasks = append(tasks, data)
// 根据用户完成次数和任务指标次数判任务是否完成,修改任务记录状态为 3
if int(task.UserTimes) >= task.TargetTimes {
_, err := dao.UserTasks.Ctx(ctx).Where(do.UserTasks{TaskId: task.TaskID}).Where(do.UserTasks{UserId: in.UserId}).Data(do.UserTasks{Status: 3}).Update()
if err != nil {
return nil, ecode.Fail.Sub("更新用户任务记录状态异常")
}
}
} }
return &model.GetTaskListOut{ return &model.GetTaskListOut{

View File

@ -39,6 +39,7 @@ type GetTaskListIn struct {
BrandId string `json:"brand_id"` // 品牌id(可选) BrandId string `json:"brand_id"` // 品牌id(可选)
PopenId string `json:"POpenId"` PopenId string `json:"POpenId"`
BindType int `json:"bindType"` // 1:QQ 2:微信 BindType int `json:"bindType"` // 1:QQ 2:微信
UserId int64 `json:"user_id"`
} }
type GetNonLoginTaskListOut struct { type GetNonLoginTaskListOut struct {