From 2b8544084eff9c00bc5c0a6239cf613c764ca5f2 Mon Sep 17 00:00:00 2001 From: chy <2463300564@qq.com> Date: Mon, 16 Jun 2025 19:27:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=94=A8=E6=88=B7=E6=9C=AA?= =?UTF-8?q?=E7=99=BB=E5=BD=95=EF=BC=8C=E7=99=BB=E5=BD=95=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=B8=B8=E6=88=8F=E4=BB=BB=E5=8A=A1=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/task/v1/task.go | 23 +++--- .../task/task_v1_get_login_task_list.go | 6 +- internal/logic/task/task.go | 2 +- internal/model/task.go | 20 +++-- utility/myCasbin/casbin.go | 6 +- utility/tencent/tencent.go | 82 ++++++------------- 6 files changed, 53 insertions(+), 86 deletions(-) diff --git a/api/task/v1/task.go b/api/task/v1/task.go index a7dd226..82b4874 100644 --- a/api/task/v1/task.go +++ b/api/task/v1/task.go @@ -22,13 +22,11 @@ type RankingRes struct { type NonLoginTaskListReq struct { g.Meta `path:"/task/getNonLoginTaskList" method:"get" tags:"Task" summary:"(PC)网吧未登录任务列表"` NetBarAccount string `json:"netBarAccount" v:"required#网关账号不能为空" dc:"网关账号"` - //Page int `json:"page" v:"required#分页索引不能为空" dc:"分页索引"` - //Size int `json:"size" v:"required#分页大小不能为空" dc:"分页大小"` - Gid int `json:"gid" v:"required#游戏唯一id不能为空" dc:"游戏唯一id"` - Num int `json:"num" v:"required#不能为空" dc:""` - Pageidx string `json:"pageidx" dc:"分页索引"` - Source string `json:"source" v:"required#不能为空" dc:""` - BrandId string `json:"brandId" dc:"品牌id(可选)"` + Gid int `json:"gid" v:"required#游戏唯一id不能为空" dc:"游戏唯一id"` + Num int `json:"num" v:"required#不能为空" dc:""` + Pageidx string `json:"pageidx" dc:"分页索引"` + Source string `json:"source" v:"required#不能为空" dc:""` + BrandId string `json:"brandId" dc:"品牌id(可选)"` } type NonLoginTaskListRes struct { @@ -40,12 +38,11 @@ type NonLoginTaskListRes struct { type GetLoginTaskListReq struct { g.Meta `path:"/task/getLoginTaskList" method:"get" tags:"Task" summary:"(PC)网吧未登录任务列表"` NetBarAccount string `json:"netBarAccount" v:"required#网关账号不能为空" dc:"网关账号"` - //Page int `json:"page" v:"required#分页索引不能为空" dc:"分页索引"` - //Size int `json:"size" v:"required#分页大小不能为空" dc:"分页大小"` - Num int `json:"num" v:"required#不能为空" dc:""` - Pageidx string `json:"pageidx" dc:"分页索引"` - Gid int `json:"gid" v:"required#游戏唯一id不能为空" dc:"游戏唯一id"` - BrandId string `json:"brandId" dc:"品牌id(可选)"` + //Num int `json:"num" v:"required#不能为空" dc:""` + //Pageidx string `json:"pageidx" dc:"分页索引"` + Gid int `json:"gid" v:"required#游戏唯一id不能为空" dc:"游戏唯一id"` + //BrandId string `json:"brandId" dc:"品牌id(可选)"` + PopenId string `json:"popenId" v:"required#popenId不能为空" dc:"用户详情接口返回的 wxPopenId 或者是 qqPopenId"` } type GetLoginTaskListRes struct { diff --git a/internal/controller/task/task_v1_get_login_task_list.go b/internal/controller/task/task_v1_get_login_task_list.go index 8ab794b..690a323 100644 --- a/internal/controller/task/task_v1_get_login_task_list.go +++ b/internal/controller/task/task_v1_get_login_task_list.go @@ -10,11 +10,9 @@ import ( func (c *ControllerV1) GetLoginTaskList(ctx context.Context, req *v1.GetLoginTaskListReq) (res *v1.GetLoginTaskListRes, err error) { out, err := service.Task().GetLoginTaskList(ctx, &model.GetLoginTaskListIn{ - NetBarAccount: req.NetBarAccount, - Num: req.Num, - Pageidx: req.Pageidx, Gid: req.Gid, - BrandId: req.BrandId, + NetBarAccount: req.NetBarAccount, + POpenId: req.PopenId, }) if err != nil { diff --git a/internal/logic/task/task.go b/internal/logic/task/task.go index 8aeaa7d..f3268fc 100644 --- a/internal/logic/task/task.go +++ b/internal/logic/task/task.go @@ -157,7 +157,7 @@ func (s *sTask) GetLoginTaskList(ctx context.Context, in *model.GetLoginTaskList // 调用外部接口 data, err := tencent.GetLoginTaskList(ctx, in) if err != nil { - return nil, ecode.Fail.Sub("调用接口异常") + return nil, err } // TODO 任务列表数据处理 diff --git a/internal/model/task.go b/internal/model/task.go index f63428b..79065bb 100644 --- a/internal/model/task.go +++ b/internal/model/task.go @@ -18,14 +18,18 @@ type GetNonLoginTaskListOut struct { } type GetLoginTaskListIn struct { - NetBarAccount string `json:"netBarAccount"` //网关账号 - //Page int `json:"page"` // 分页索引 - //Size int `json:"size"` // 分页大小 - Pageidx string `json:"pageidx"` // 分页索引 - Num int `json:"num"` // - Gid int `json:"gid"` // 游戏唯一id - Source string `json:"source"` // 不能为空 - BrandId string `json:"brandId"` // 品牌id(可选) + NetBarAccount string `json:"netbar_account"` //网关账号 + Gid int `json:"gid"` // 游戏唯一id + POpenId string `json:"POpenId"` //POpenId +} + +// 获取腾讯游戏任务列表已登录入参 +type GetTenCentLoginTaskListIn struct { + NetBarAccount string `json:"netbar_account"` //网关账号 + Pageidx string `json:"pageidx"` // 分页索引 + Num int `json:"num"` // + Gid int `json:"gid"` // 游戏唯一id + BrandId string `json:"brand_id"` // 品牌id(可选) } type GetLoginTaskListOut struct { diff --git a/utility/myCasbin/casbin.go b/utility/myCasbin/casbin.go index a61e1c2..ccd88da 100644 --- a/utility/myCasbin/casbin.go +++ b/utility/myCasbin/casbin.go @@ -73,6 +73,9 @@ func init() { //enforcer.AddPolicy("user", "/x/feedback/*", "DELETE", "删除反馈信息")* enforcer.AddPolicy("user", "/x/feedback/*", "GET", "查询反馈详情") + // 任务 + enforcer.AddPolicy("user", "/x/task/getLoginTaskList", "GET", "获取任务列表(已登录)") + } // 门店 { @@ -84,9 +87,6 @@ func init() { enforcer.AddPolicy("store", "/x/rewardType", "PUT", "更新奖励类型") enforcer.AddPolicy("store", "/x/rewardType/*", "DELETE", "删除奖励类型") - // 任务 - enforcer.AddPolicy("user", "/x/task/getNonLoginTaskList", "GET", "获取任务列表(已登录)") - // 门店角色 enforcer.AddPolicy("store", "/x/store/role", "GET", "获取门店角色列表") enforcer.AddPolicy("store", "/x/store/role", "POST", "添加门店角色") diff --git a/utility/tencent/tencent.go b/utility/tencent/tencent.go index f050d63..c41c272 100644 --- a/utility/tencent/tencent.go +++ b/utility/tencent/tencent.go @@ -4,6 +4,8 @@ import ( "bytes" "context" "encoding/json" + "fmt" + "github.com/gogf/gf/v2/frame/g" "golang.org/x/net/context/ctxhttp" "io" "net/http" @@ -15,35 +17,6 @@ import ( // GetNonLoginTaskList 获取下发到指定网吧的任务列表(未登录) func GetNonLoginTaskList(ctx context.Context, in *model.GetNonLoginTaskListIn) (data interface{}, err error) { - //client := &http.Client{} - //// 请求参数 - //jsonStr, err := json.Marshal(in) - //if err != nil { - // return nil, ecode.Fail.Sub("参数序列化失败") - //} - // - //req, err := http.NewRequest("POST", consts.TestAddr+"GetNonloginTaskList", bytes.NewBuffer(jsonStr)) - //if err != nil { - // return nil, ecode.Fail.Sub("创建请求失败") - //} - //req.Header.Set("Content-Type", "application/json") - // - //resp, err := client.Do(req) - //if err != nil { - // return nil, ecode.Fail.Sub("请求失败") - //} - //defer resp.Body.Close() - // - //body, err := io.ReadAll(resp.Body) // 推荐用法 - //if err != nil { - // return nil, ecode.Fail.Sub("读取响应失败") - //} - //err = json.Unmarshal(body, &data) - //if err != nil { - // return nil, ecode.Fail.Sub("解析响应失败") - //} - //return data, err - // 请求参数 jsonStr, err := json.Marshal(in) if err != nil { @@ -70,41 +43,36 @@ func GetNonLoginTaskList(ctx context.Context, in *model.GetNonLoginTaskListIn) ( // GetLoginTaskList 获取下发到指定网吧的任务列表(已登录) func GetLoginTaskList(ctx context.Context, in *model.GetLoginTaskListIn) (data interface{}, err error) { + value, err := g.Redis().Get(ctx, fmt.Sprintf(consts.GameLifeUserKey, in.POpenId)) - //client := &http.Client{} - //// 请求参数 - //jsonStr, err := json.Marshal(in) - //if err != nil { - // return nil, ecode.Fail.Sub("参数序列化失败") - //} - // - //req, err := http.NewRequest("POST", consts.TestAddr+"GetTaskList", bytes.NewBuffer(jsonStr)) - //if err != nil { - // return nil, ecode.Fail.Sub("创建请求失败") - //} - //req.Header.Set("Content-Type", "application/json") - ////req.Header.Set("Authorization", "Bearer 你的Token") - // - //resp, err := client.Do(req) - //if err != nil { - // return nil, ecode.Fail.Sub("请求失败") - //} - //defer resp.Body.Close() - // - //body, err := io.ReadAll(resp.Body) // 推荐用法 - //if err != nil { - // return nil, ecode.Fail.Sub("读取响应失败") - //} - //fmt.Println("响应内容:", string(body)) - //return nil, err + if value.IsEmpty() { + return nil, ecode.Fail.Sub("从redis获取值异常") + } + if err != nil { + return nil, ecode.Fail.Sub("从redis读取数据失败") + } + + var cache model.UserGamelifeCache + err = json.Unmarshal(value.Bytes(), &cache) + if err != nil { + return nil, ecode.Fail.Sub("获取用户信息失败") + } + + req := &model.GetTenCentLoginTaskListIn{ + Gid: in.Gid, + NetBarAccount: in.NetBarAccount, + Num: 10, + Pageidx: "", + BrandId: "", + } // 请求参数 - jsonStr, err := json.Marshal(in) + jsonStr, err := json.Marshal(req) if err != nil { return nil, ecode.Fail.Sub("参数序列化失败") } - resp, err := ctxhttp.Post(ctx, http.DefaultClient, consts.TestAddr+"GetTaskList", "application/json", bytes.NewBuffer(jsonStr)) + resp, err := ctxhttp.Post(ctx, http.DefaultClient, consts.TestAddr+"GetTaskList"+"?"+cache.Params, "application/json", bytes.NewBuffer(jsonStr)) if err != nil { return nil, ecode.Fail.Sub("请求失败") }