From d20acf38c36c11ee4428c3e74a17f5870dc61b51 Mon Sep 17 00:00:00 2001 From: liujiandao <274878379@qq.com> Date: 星期四, 16 十一月 2023 09:51:00 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/aps/SRM --- api/v1/test/member.go | 235 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 235 insertions(+), 0 deletions(-) diff --git a/api/v1/test/member.go b/api/v1/test/member.go new file mode 100644 index 0000000..f0af64d --- /dev/null +++ b/api/v1/test/member.go @@ -0,0 +1,235 @@ +package test + +import ( + "github.com/gin-gonic/gin" + "go.uber.org/zap" + "google.golang.org/grpc" + "google.golang.org/grpc/credentials/insecure" + "srm/global" + "srm/model/common/request" + "srm/model/common/response" + "srm/model/test" + testReq "srm/model/test/request" + "srm/proto/user" + "srm/service" +) + +type MemberApi struct { +} + +var mService = service.ServiceGroupApp.TestServiceGroup.MemberService + +// CreateMember 鍒涘缓Member +// @Tags Member +// @Summary 鍒涘缓Member +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data body test.Member true "鍒涘缓Member" +// @Success 200 {string} string "{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}" +// @Router /m/createMember [post] +func (mApi *MemberApi) CreateMember(c *gin.Context) { + var m test.Member + err := c.ShouldBindJSON(&m) + if err != nil { + response.FailWithMessage(err.Error(), c) + return + } + if err := mService.CreateMember(&m); err != nil { + global.GVA_LOG.Error("鍒涘缓澶辫触!", zap.Error(err)) + response.FailWithMessage("鍒涘缓澶辫触", c) + } else { + response.OkWithMessage("鍒涘缓鎴愬姛", c) + } +} + +// DeleteMember 鍒犻櫎Member +// @Tags Member +// @Summary 鍒犻櫎Member +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data body test.Member true "鍒犻櫎Member" +// @Success 200 {string} string "{"success":true,"data":{},"msg":"鍒犻櫎鎴愬姛"}" +// @Router /m/deleteMember [delete] +func (mApi *MemberApi) DeleteMember(c *gin.Context) { + var m test.Member + err := c.ShouldBindJSON(&m) + if err != nil { + response.FailWithMessage(err.Error(), c) + return + } + if err := mService.DeleteMember(m); err != nil { + global.GVA_LOG.Error("鍒犻櫎澶辫触!", zap.Error(err)) + response.FailWithMessage("鍒犻櫎澶辫触", c) + } else { + response.OkWithMessage("鍒犻櫎鎴愬姛", c) + } +} + +// DeleteMemberByIds 鎵归噺鍒犻櫎Member +// @Tags Member +// @Summary 鎵归噺鍒犻櫎Member +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data body request.IdsReq true "鎵归噺鍒犻櫎Member" +// @Success 200 {string} string "{"success":true,"data":{},"msg":"鎵归噺鍒犻櫎鎴愬姛"}" +// @Router /m/deleteMemberByIds [delete] +func (mApi *MemberApi) DeleteMemberByIds(c *gin.Context) { + var IDS request.IdsReq + err := c.ShouldBindJSON(&IDS) + if err != nil { + response.FailWithMessage(err.Error(), c) + return + } + if err := mService.DeleteMemberByIds(IDS); err != nil { + global.GVA_LOG.Error("鎵归噺鍒犻櫎澶辫触!", zap.Error(err)) + response.FailWithMessage("鎵归噺鍒犻櫎澶辫触", c) + } else { + response.OkWithMessage("鎵归噺鍒犻櫎鎴愬姛", c) + } +} + +// UpdateMember 鏇存柊Member +// @Tags Member +// @Summary 鏇存柊Member +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data body test.Member true "鏇存柊Member" +// @Success 200 {string} string "{"success":true,"data":{},"msg":"鏇存柊鎴愬姛"}" +// @Router /m/updateMember [put] +func (mApi *MemberApi) UpdateMember(c *gin.Context) { + var m test.Member + err := c.ShouldBindJSON(&m) + if err != nil { + response.FailWithMessage(err.Error(), c) + return + } + if err := mService.UpdateMember(m); err != nil { + global.GVA_LOG.Error("鏇存柊澶辫触!", zap.Error(err)) + response.FailWithMessage("鏇存柊澶辫触", c) + } else { + response.OkWithMessage("鏇存柊鎴愬姛", c) + } +} + +// FindMember 鐢╥d鏌ヨMember +// @Tags Member +// @Summary 鐢╥d鏌ヨMember +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data query test.Member true "鐢╥d鏌ヨMember" +// @Success 200 {string} string "{"success":true,"data":{},"msg":"鏌ヨ鎴愬姛"}" +// @Router /m/findMember [get] +func (mApi *MemberApi) FindMember(c *gin.Context) { + var m test.Member + err := c.ShouldBindQuery(&m) + if err != nil { + response.FailWithMessage(err.Error(), c) + return + } + if rem, err := mService.GetMember(m.ID); err != nil { + global.GVA_LOG.Error("鏌ヨ澶辫触!", zap.Error(err)) + response.FailWithMessage("鏌ヨ澶辫触", c) + } else { + response.OkWithData(gin.H{"rem": rem}, c) + } +} + +// GetMemberList 鍒嗛〉鑾峰彇Member鍒楄〃 +// @Tags Member +// @Summary 鍒嗛〉鑾峰彇Member鍒楄〃 +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data query testReq.MemberSearch true "鍒嗛〉鑾峰彇Member鍒楄〃" +// @Success 200 {string} string "{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}" +// @Router /m/getMemberList [get] +func (mApi *MemberApi) GetMemberList(c *gin.Context) { + var pageInfo testReq.MemberSearch + err := c.ShouldBindQuery(&pageInfo) + if err != nil { + response.FailWithMessage(err.Error(), c) + return + } + if list, total, err := mService.GetMemberInfoList(pageInfo); err != nil { + global.GVA_LOG.Error("鑾峰彇澶辫触!", zap.Error(err)) + response.FailWithMessage("鑾峰彇澶辫触", c) + } else { + response.OkWithDetailed(response.PageResult{ + List: list, + Total: total, + Page: pageInfo.Page, + PageSize: pageInfo.PageSize, + }, "鑾峰彇鎴愬姛", c) + } +} + +var ( + userConn *grpc.ClientConn +) + +func InitUserConn() { + var err error + userConn, err = grpc.Dial(global.GVA_CONFIG.System.GrpcAdminUrl, grpc.WithTransportCredentials(insecure.NewCredentials())) + if err != nil { + //logx.Errorf("grpc dial user service error: %v", err.Error()) + return + } +} + +func CloseUserConn() { + if userConn != nil { + userConn.Close() + } +} + +// GetMemberListFromGrpc 鍒嗛〉鑾峰彇Member鍒楄〃 +// @Tags Member +// @Summary 鍒嗛〉鑾峰彇Member鍒楄〃 +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data query testReq.MemberSearch true "鍒嗛〉鑾峰彇Member鍒楄〃" +// @Success 200 {string} string "{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}" +// @Router /m/getMemberListFromGrpc [get] +func (mApi *MemberApi) GetMemberListFromGrpc(c *gin.Context) { + var pageInfo testReq.MemberSearch + err := c.ShouldBindQuery(&pageInfo) + if err != nil { + response.FailWithMessage(err.Error(), c) + return + } + InitUserConn() + defer CloseUserConn() + + cli := user.NewUserServiceClient(userConn) + var users []*user.User + getMemberListResponse, err := cli.SyncUser(c, &user.UserRequest{Users: users}) + + rawMemberList := getMemberListResponse.List + memberList := make([]*test.Member, len(rawMemberList)) + + for i, member := range rawMemberList { + memberList[i] = &test.Member{ + Uuid: member.Uuid, + UserName: member.Username, + Nickname: member.Nickname, + } + } + + 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) + } +} -- Gitblit v1.8.0