| | |
| | | package test |
| | | |
| | | import ( |
| | | "context" |
| | | "github.com/gin-gonic/gin" |
| | | "go.uber.org/zap" |
| | | "google.golang.org/grpc" |
| | | "google.golang.org/grpc/credentials/insecure" |
| | | "google.golang.org/grpc/metadata" |
| | | "srm/constvar" |
| | | "srm/global" |
| | | "srm/model/common/request" |
| | | "srm/model/common/response" |
| | | "srm/model/test" |
| | | testReq "srm/model/test/request" |
| | | "srm/pkg/contextx" |
| | | "srm/pkg/ecode" |
| | | "srm/proto/user" |
| | | "srm/service" |
| | | "strings" |
| | | "time" |
| | | ) |
| | | |
| | | type MemberApi struct { |
| | |
| | | defer CloseUserConn() |
| | | |
| | | cli := user.NewUserServiceClient(userConn) |
| | | var users []*user.User |
| | | getMemberListResponse, err := cli.SyncUser(c, &user.UserRequest{Users: users}) |
| | | |
| | | ctx, cancel := context.WithTimeout(context.Background(), time.Second*5) |
| | | defer cancel() |
| | | slices := strings.Split(c.GetHeader("Authorization"), " ") |
| | | if len(slices) != 2 { |
| | | ctx := new(contextx.Context).SetCtx(c) |
| | | ctx.Fail(ecode.JWTEmpty) |
| | | return |
| | | } |
| | | token := slices[1] |
| | | // 创建一个自定义的 metadata |
| | | md := metadata.Pairs("token", token) |
| | | // 将 metadata 添加到 context 中 |
| | | ctx = metadata.NewOutgoingContext(ctx, md) |
| | | getMemberListResponse, err := cli.SyncAllUser(ctx, &user.AllUserRequest{SystemType: constvar.SystemTypeSrm}) |
| | | if err != nil { |
| | | global.GVA_LOG.Error("user.AllUserRequest fail:", zap.Error(err)) |
| | | response.FailWithMessage("获取失败", c) |
| | | return |
| | | } |
| | | rawMemberList := getMemberListResponse.List |
| | | memberList := make([]*test.Member, len(rawMemberList)) |
| | | |
| | |
| | | if err != nil || len(memberList) == 0 { |
| | | global.GVA_LOG.Error("获取失败!", zap.Error(err)) |
| | | response.FailWithMessage("获取失败", c) |
| | | } else { |
| | | response.OkWithDetailed(response.PageResult{ |
| | | List: memberList, |
| | | Total: int64(len(memberList)), |
| | | Page: pageInfo.Page, |
| | | PageSize: pageInfo.PageSize, |
| | | }, "获取成功", c) |
| | | return |
| | | } |
| | | response.OkWithDetailed(response.PageResult{ |
| | | List: memberList, |
| | | Total: getMemberListResponse.Total, |
| | | Page: pageInfo.Page, |
| | | PageSize: pageInfo.PageSize, |
| | | }, "获取成功", c) |
| | | |
| | | } |