新增系统管理员获取任务列表选择下拉

This commit is contained in:
chy
2025-06-17 13:45:05 +08:00
parent ba2e44fb21
commit 00024acea2
7 changed files with 70 additions and 4 deletions

View File

@ -15,4 +15,5 @@ type ITaskV1 interface {
NonLoginTaskList(ctx context.Context, req *v1.NonLoginTaskListReq) (res *v1.NonLoginTaskListRes, err error) NonLoginTaskList(ctx context.Context, req *v1.NonLoginTaskListReq) (res *v1.NonLoginTaskListRes, err error)
GetLoginTaskList(ctx context.Context, req *v1.GetLoginTaskListReq) (res *v1.GetLoginTaskListRes, err error) GetLoginTaskList(ctx context.Context, req *v1.GetLoginTaskListReq) (res *v1.GetLoginTaskListRes, err error)
List(ctx context.Context, req *v1.ListReq) (res *v1.ListRes, err error) List(ctx context.Context, req *v1.ListReq) (res *v1.ListRes, err error)
Selector(ctx context.Context, req *v1.SelectorReq) (res *v1.SelectorRes, err error)
} }

View File

@ -48,7 +48,8 @@ type GetLoginTaskListRes struct {
} }
type ListReq struct { type ListReq struct {
g.Meta `path:"/task/list" method:"get" tags:"Task" summary:"(PC)任务列表"` g.Meta `path:"/task/list" method:"get" tags:"Task" summary:"(PC)任务列表"`
//StoreId int `json:"storeId" dc:"门店 id"`
StoreId int `json:"storeId" v:"required#门店 id不能为空" dc:"门店 id"` StoreId int `json:"storeId" v:"required#门店 id不能为空" dc:"门店 id"`
Gid int `json:"gid" v:"required#游戏唯一id不能为空" dc:"游戏唯一id"` Gid int `json:"gid" v:"required#游戏唯一id不能为空" dc:"游戏唯一id"`
Page int `json:"page" dc:"页数"` Page int `json:"page" dc:"页数"`
@ -59,3 +60,12 @@ type ListRes struct {
List interface{} `json:"list"` List interface{} `json:"list"`
Total int `json:"total"` Total int `json:"total"`
} }
// SelectorReq 系统管理员任务列表二级选择器
type SelectorReq struct {
g.Meta `path:"/task/selector" method:"get" tags:"Task" summary:"(PC)系统管理员任务列表二级选择器"`
}
type SelectorRes struct {
List interface{} `json:"list"`
}

View File

@ -0,0 +1,18 @@
package task
import (
"context"
"server/internal/model"
"server/internal/service"
"server/api/task/v1"
)
func (c *ControllerV1) Selector(ctx context.Context, req *v1.SelectorReq) (res *v1.SelectorRes, err error) {
out, err := service.Task().GetSelectorList(ctx, &model.SelectorIn{})
if err != nil {
return nil, err
}
return &v1.SelectorRes{List: out}, nil
}

View File

@ -231,3 +231,14 @@ func (s *sTask) GetTaskList(ctx context.Context, in *model.TaskListIn) (out *mod
Total: total, Total: total,
}, nil }, nil
} }
func (s *sTask) GetSelectorList(ctx context.Context, in *model.SelectorIn) (out *[]model.SelectorOut, err error) {
data := make([]model.SelectorOut, 0)
err = dao.Merchants.Ctx(ctx).WithAll().Scan(&data)
if err != nil {
return nil, ecode.Fail.Sub("获取选择列表失败")
}
return &data, nil
}

View File

@ -1,6 +1,9 @@
package model package model
import "github.com/gogf/gf/v2/os/gtime" import (
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gtime"
)
type Tasks struct { type Tasks struct {
Id int64 `json:"id" orm:"id" description:"任务唯一标识符"` // 任务唯一标识符 Id int64 `json:"id" orm:"id" description:"任务唯一标识符"` // 任务唯一标识符
@ -39,7 +42,7 @@ type GetLoginTaskListIn struct {
POpenId string `json:"POpenId"` //POpenId POpenId string `json:"POpenId"` //POpenId
} }
// 获取腾讯游戏任务列表已登录入参 // GetTenCentLoginTaskListIn 获取腾讯游戏任务列表已登录入参
type GetTenCentLoginTaskListIn struct { type GetTenCentLoginTaskListIn struct {
NetBarAccount string `json:"netbar_account"` //网关账号 NetBarAccount string `json:"netbar_account"` //网关账号
Pageidx string `json:"pageidx"` // 分页索引 Pageidx string `json:"pageidx"` // 分页索引
@ -54,7 +57,7 @@ type GetLoginTaskListOut struct {
Data interface{} `json:"data"` Data interface{} `json:"data"`
} }
// 定义一个与 JSON 结构匹配的结构体 // MyData 定义一个与 JSON 结构匹配的结构体
type MyData struct { type MyData struct {
TaskId string `json:"task_id"` TaskId string `json:"task_id"`
//GameId int `json:"game_id"` //GameId int `json:"game_id"`
@ -76,3 +79,22 @@ type TaskListOut struct {
List interface{} `json:"list"` List interface{} `json:"list"`
Total int `json:"total"` Total int `json:"total"`
} }
// SelectorIn 系统管理员任务列表二级选择器
type SelectorIn struct {
}
type SelectorOut struct {
g.Meta `orm:"table:merchants"`
Id int `json:"id" orm:"id"`
MerchantName string `json:"merchantName" orm:"name"`
StoreDatas []StoreData `json:"StoreDatas" orm:"with:merchant_id=id"`
//StoreData []StoreData `json:"storeData"`
}
type StoreData struct {
g.Meta `orm:"table:stores"`
Id int `json:"id" orm:"id"`
MerchantId int `json:"merchantId" orm:"merchant_id"`
StoreName string `json:"storeName" orm:"name"`
}

View File

@ -17,6 +17,7 @@ type (
GetNonLoginTaskList(ctx context.Context, in *model.GetNonLoginTaskListIn) (out *model.GetNonLoginTaskListOut, err error) GetNonLoginTaskList(ctx context.Context, in *model.GetNonLoginTaskListIn) (out *model.GetNonLoginTaskListOut, err error)
GetLoginTaskList(ctx context.Context, in *model.GetLoginTaskListIn) (out *model.GetLoginTaskListOut, err error) GetLoginTaskList(ctx context.Context, in *model.GetLoginTaskListIn) (out *model.GetLoginTaskListOut, err error)
GetTaskList(ctx context.Context, in *model.TaskListIn) (out *model.TaskListOut, err error) GetTaskList(ctx context.Context, in *model.TaskListIn) (out *model.TaskListOut, err error)
GetSelectorList(ctx context.Context, in *model.SelectorIn) (out *[]model.SelectorOut, err error)
} }
) )

View File

@ -135,6 +135,9 @@ func init() {
enforcer.AddPolicy("admin", "/x/game", "POST", "管理员创建门店奖励") enforcer.AddPolicy("admin", "/x/game", "POST", "管理员创建门店奖励")
enforcer.AddPolicy("admin", "/x/game/*", "DELETE", "管理员删除门店单个奖励") enforcer.AddPolicy("admin", "/x/game/*", "DELETE", "管理员删除门店单个奖励")
enforcer.AddPolicy("admin", "/x/game", "PUT", "管理员修改单个门店奖励") enforcer.AddPolicy("admin", "/x/game", "PUT", "管理员修改单个门店奖励")
// 任务
enforcer.AddPolicy("admin", "/x/task/selector", "GET", "管理员获取任务列表二级选择器")
} }
instance = &myCasbin{Enforcer: enforcer} instance = &myCasbin{Enforcer: enforcer}