From de4bcd1dead50b05f716bc5718be5540bdb96783 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期日, 28 四月 2024 17:23:29 +0800
Subject: [PATCH] fix
---
api/v1/test/member.go | 259 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 259 insertions(+), 0 deletions(-)
diff --git a/api/v1/test/member.go b/api/v1/test/member.go
new file mode 100644
index 0000000..a8bd70a
--- /dev/null
+++ b/api/v1/test/member.go
@@ -0,0 +1,259 @@
+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 {
+}
+
+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)
+ 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))
+
+ 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)
+ return
+ }
+ response.OkWithDetailed(response.PageResult{
+ List: memberList,
+ Total: getMemberListResponse.Total,
+ Page: pageInfo.Page,
+ PageSize: pageInfo.PageSize,
+ }, "鑾峰彇鎴愬姛", c)
+
+}
--
Gitblit v1.8.0