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