package tencent import ( "bytes" "context" "encoding/json" "fmt" "github.com/gogf/gf/v2/frame/g" "golang.org/x/net/context/ctxhttp" "io" "net/http" "server/internal/consts" "server/internal/model" "server/utility/ecode" ) // GetNonLoginTaskList 获取下发到指定网吧的任务列表(未登录) func GetNonLoginTaskList(ctx context.Context, in *model.GetNonLoginTaskListIn) (data interface{}, err error) { // 请求参数 jsonStr, err := json.Marshal(in) if err != nil { return nil, ecode.Fail.Sub("参数序列化失败") } resp, err := ctxhttp.Post(ctx, http.DefaultClient, consts.TestAddr+"GetNonloginTaskList", "application/json", bytes.NewBuffer(jsonStr)) 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 } // 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)) 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(req) if err != nil { return nil, ecode.Fail.Sub("参数序列化失败") } 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("请求失败") } 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 }