Browse Source

v0.0.1开发:添加jaeger链路追踪

#Suyghur 2 years ago
parent
commit
824e2f1a34
41 changed files with 609 additions and 309 deletions
  1. 30 0
      bff/authbff/api/Dockerfile
  2. 7 0
      bff/authbff/api/etc/authbff.yaml
  3. 30 0
      bff/cmdbff/api/Dockerfile
  4. 49 57
      bff/cmdbff/api/desc/cmdbff.api
  5. 7 1
      bff/cmdbff/api/etc/cmdbff.yaml
  6. 5 5
      bff/cmdbff/api/internal/handler/csconnectplayerhandler.go
  7. 5 5
      bff/cmdbff/api/internal/handler/csfetchhistorylisthandler.go
  8. 5 5
      bff/cmdbff/api/internal/handler/csfetchhistorymsghandler.go
  9. 5 5
      bff/cmdbff/api/internal/handler/csfetchmsghandler.go
  10. 5 5
      bff/cmdbff/api/internal/handler/csfetchplayerqueuehandler.go
  11. 5 5
      bff/cmdbff/api/internal/handler/cssendmsghandler.go
  12. 0 17
      bff/cmdbff/api/internal/handler/player/disconnecthandler.go
  13. 0 17
      bff/cmdbff/api/internal/handler/player/fetchmsghandler.go
  14. 17 0
      bff/cmdbff/api/internal/handler/playerdisconnecthandler.go
  15. 5 5
      bff/cmdbff/api/internal/handler/playerfetchcsinfohandler.go
  16. 5 5
      bff/cmdbff/api/internal/handler/playerfetchhistorymsghandler.go
  17. 17 0
      bff/cmdbff/api/internal/handler/playerfetchmsghandler.go
  18. 5 5
      bff/cmdbff/api/internal/handler/playersendmsghandler.go
  19. 11 13
      bff/cmdbff/api/internal/handler/routes.go
  20. 0 30
      bff/cmdbff/api/internal/logic/cs/fetchhistorymsglogic.go
  21. 0 30
      bff/cmdbff/api/internal/logic/cs/fetchmsglogic.go
  22. 0 30
      bff/cmdbff/api/internal/logic/cs/fetchplayerqueuelogic.go
  23. 0 30
      bff/cmdbff/api/internal/logic/cs/sendmsglogic.go
  24. 8 7
      bff/cmdbff/api/internal/logic/csconnectplayerlogic.go
  25. 5 5
      bff/cmdbff/api/internal/logic/csfetchhistorylistlogic.go
  26. 45 0
      bff/cmdbff/api/internal/logic/csfetchhistorymsglogic.go
  27. 41 0
      bff/cmdbff/api/internal/logic/csfetchmsglogic.go
  28. 37 0
      bff/cmdbff/api/internal/logic/csfetchplayerqueuelogic.go
  29. 38 0
      bff/cmdbff/api/internal/logic/cssendmsglogic.go
  30. 5 5
      bff/cmdbff/api/internal/logic/playerdisconnectlogic.go
  31. 5 5
      bff/cmdbff/api/internal/logic/playerfetchcsinfologic.go
  32. 5 5
      bff/cmdbff/api/internal/logic/playerfetchhistorymsglogic.go
  33. 5 5
      bff/cmdbff/api/internal/logic/playerfetchmsglogic.go
  34. 5 5
      bff/cmdbff/api/internal/logic/playersendmsglogic.go
  35. 30 0
      bff/rpcbff/rpc/Dockerfile
  36. 6 0
      bff/rpcbff/rpc/etc/rpcbff.yaml
  37. 30 0
      core/auth/rpc/Dockerfile
  38. 8 1
      core/auth/rpc/etc/auth.yaml
  39. 30 0
      core/cmd/rpc/Dockerfile
  40. 7 1
      core/cmd/rpc/etc/cmd.yaml
  41. 86 0
      docker-compose-env.yml

+ 30 - 0
bff/authbff/api/Dockerfile

@@ -0,0 +1,30 @@
+FROM golang:alpine AS builder
+
+LABEL stage=gobuilder
+
+ENV CGO_ENABLED 0
+ENV GOPROXY https://goproxy.cn,direct
+
+RUN apk update --no-cache && apk add --no-cache tzdata
+
+WORKDIR /build
+
+ADD go.mod .
+ADD go.sum .
+RUN go mod download
+COPY . .
+COPY bff/authbff/api/etc /app/etc
+RUN go build -ldflags="-s -w" -o /app/authbff bff/authbff/api/authbff.go
+
+
+FROM alpine
+
+RUN apk update --no-cache && apk add --no-cache ca-certificates
+COPY --from=builder /usr/share/zoneinfo/Asia/Shanghai /usr/share/zoneinfo/Asia/Shanghai
+ENV TZ Asia/Shanghai
+
+WORKDIR /app
+COPY --from=builder /app/authbff /app/authbff
+COPY --from=builder /app/etc /app/etc
+
+CMD ["./authbff", "-f", "etc/authbff.yaml"]

+ 7 - 0
bff/authbff/api/etc/authbff.yaml

@@ -2,6 +2,13 @@ Name: Authbff
 Host: 0.0.0.0
 Port: 10000
 
+#链路追踪
+Telemetry:
+  Name: authbff-api
+  Endpoint: http://127.0.0.1:14268/api/traces
+  Sampler: 1.0
+  Batcher: jaeger
+
 AuthRpc:
   Etcd:
     Hosts:

+ 30 - 0
bff/cmdbff/api/Dockerfile

@@ -0,0 +1,30 @@
+FROM golang:alpine AS builder
+
+LABEL stage=gobuilder
+
+ENV CGO_ENABLED 0
+ENV GOPROXY https://goproxy.cn,direct
+
+RUN apk update --no-cache && apk add --no-cache tzdata
+
+WORKDIR /build
+
+ADD go.mod .
+ADD go.sum .
+RUN go mod download
+COPY . .
+COPY bff/cmdbff/api/etc /app/etc
+RUN go build -ldflags="-s -w" -o /app/cmdbff bff/cmdbff/api/cmdbff.go
+
+
+FROM alpine
+
+RUN apk update --no-cache && apk add --no-cache ca-certificates
+COPY --from=builder /usr/share/zoneinfo/Asia/Shanghai /usr/share/zoneinfo/Asia/Shanghai
+ENV TZ Asia/Shanghai
+
+WORKDIR /app
+COPY --from=builder /app/cmdbff /app/cmdbff
+COPY --from=builder /app/etc /app/etc
+
+CMD ["./cmdbff", "-f", "etc/cmdbff.yaml"]

+ 49 - 57
bff/cmdbff/api/desc/cmdbff.api

@@ -1,70 +1,62 @@
 syntax = "v1"
 
 info(
-	title: "api前端服务"
-	desc: "api前端服务 "
-	author: "#Suyghur"
-	version: "v1"
+    title: "api前端服务"
+    desc: "api前端服务 "
+    author: "#Suyghur"
+    version: "v1"
 )
 
 import (
-	"bean.api"
+    "bean.api"
 )
 
 @server(
-	group: player
-	prefix: api/v1/cmd
-	jwt: JwtAuth
+    prefix: api/v1/cmd
+    jwt: JwtAuth
 )
 service cmdbff {
-	@doc "玩家获取客服信息"
-	@handler fetchCsInfo
-	post /player/fetch-cs-info (PlayerFetchCsInfoReq) returns (PlayerFetchCsInfoResp)
-	
-	@doc "玩家获取历史消息"
-	@handler fetchHistoryMsg
-	post /player/fetch-history-msg (PlayerFetchHistoryMsgReq) returns (PlayerFetchHistoryMsgResp)
-	
-	@doc "玩家获取消息"
-	@handler fetchMsg
-	post /player/fetch-msg returns (PlayerFetchMsgResp)
-	
-	@doc "玩家发送消息"
-	@handler sendMsg
-	post /player/send-msg (PlayerSendMsgReq)
-	
-	@doc "玩家断开连接客服"
-	@handler disconnect
-	post /player/disconnect
-}
+    @doc "玩家获取客服信息"
+    @handler playerFetchCsInfo
+    post /player/fetch-cs-info (PlayerFetchCsInfoReq) returns (PlayerFetchCsInfoResp)
 
-@server(
-	group : cs
-	prefix : api/v1/cmd
-	jwt : JwtAuth
-)
-service cmdbff {
-	@doc "客服获取玩家等待队列"
-	@handler fetchPlayerQueue
-	post /cs/fetch-player-queue (CsFetchPlayerQueueReq) returns (CsFetchPlayerQueueResp)
-	
-	@doc "客服连接玩家"
-	@handler connectPlayer
-	post /cs/connect-player (CsConnectPlayerReq)
-	
-	@doc "客服获取历史会话列表"
-	@handler fetchHistoryList
-	post /cs/fetch-history-list (CsFetchHistoryChatReq) returns (CsFetchHistoryChatResp)
-	
-	@doc "客服获取历史消息"
-	@handler fetchHistoryMsg
-	post /cs/fetch-history-msg (CsFetchHistoryMsgReq) returns (CsFetchHistoryMsgResp)
-	
-	@doc "客服获取消息"
-	@handler fetchMsg
-	post /cs/fetch-msg (CsFetchMsgReq) returns (CsFetchMsgResp)
-	
-	@doc "客服发送消息"
-	@handler sendMsg
-	post /cs/send-msg (CsSendMsgReq)
+    @doc "玩家获取历史消息"
+    @handler playerFetchHistoryMsg
+    post /player/fetch-history-msg (PlayerFetchHistoryMsgReq) returns (PlayerFetchHistoryMsgResp)
+
+    @doc "玩家获取消息"
+    @handler playerFetchMsg
+    post /player/fetch-msg returns (PlayerFetchMsgResp)
+
+    @doc "玩家发送消息"
+    @handler playerSendMsg
+    post /player/send-msg (PlayerSendMsgReq)
+
+    @doc "玩家断开连接客服"
+    @handler playerDisconnect
+    post /player/disconnect
+
+    @doc "客服获取玩家等待队列"
+    @handler csFetchPlayerQueue
+    post /cs/fetch-player-queue (CsFetchPlayerQueueReq) returns (CsFetchPlayerQueueResp)
+
+    @doc "客服连接玩家"
+    @handler csConnectPlayer
+    post /cs/connect-player (CsConnectPlayerReq)
+
+    @doc "客服获取历史会话列表"
+    @handler csFetchHistoryList
+    post /cs/fetch-history-list (CsFetchHistoryChatReq) returns (CsFetchHistoryChatResp)
+
+    @doc "客服获取历史消息"
+    @handler csFetchHistoryMsg
+    post /cs/fetch-history-msg (CsFetchHistoryMsgReq) returns (CsFetchHistoryMsgResp)
+
+    @doc "客服获取消息"
+    @handler csFetchMsg
+    post /cs/fetch-msg (CsFetchMsgReq) returns (CsFetchMsgResp)
+
+    @doc "客服发送消息"
+    @handler csSendMsg
+    post /cs/send-msg (CsSendMsgReq)
 }

+ 7 - 1
bff/cmdbff/api/etc/cmdbff.yaml

@@ -1,6 +1,12 @@
 Name: cmdbff
 Host: 0.0.0.0
-Port: 10001
+Port: 10100
+
+Telemetry:
+  Name: cmdbff-api
+  Endpoint: http://127.0.0.1:14268/api/traces
+  Sampler: 1.0
+  Batcher: jaeger
 
 CmdRpc:
   Etcd:

+ 5 - 5
bff/cmdbff/api/internal/handler/cs/connectplayerhandler.go → bff/cmdbff/api/internal/handler/csconnectplayerhandler.go

@@ -1,16 +1,16 @@
-package cs
+package handler
 
 import (
 	"net/http"
 	"ylink/ext/result"
 
 	"github.com/zeromicro/go-zero/rest/httpx"
-	"ylink/bff/cmdbff/api/internal/logic/cs"
+	"ylink/bff/cmdbff/api/internal/logic"
 	"ylink/bff/cmdbff/api/internal/svc"
 	"ylink/bff/cmdbff/api/internal/types"
 )
 
-func ConnectPlayerHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
+func csConnectPlayerHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
 	return func(w http.ResponseWriter, r *http.Request) {
 		var req types.CsConnectPlayerReq
 		if err := httpx.Parse(r, &req); err != nil {
@@ -18,8 +18,8 @@ func ConnectPlayerHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
 			return
 		}
 
-		l := cs.NewConnectPlayerLogic(r.Context(), svcCtx)
-		err := l.ConnectPlayer(&req)
+		l := logic.NewCsConnectPlayerLogic(r.Context(), svcCtx)
+		err := l.CsConnectPlayer(&req)
 		result.HttpResult(r, w, nil, err)
 	}
 }

+ 5 - 5
bff/cmdbff/api/internal/handler/cs/fetchhistorylisthandler.go → bff/cmdbff/api/internal/handler/csfetchhistorylisthandler.go

@@ -1,16 +1,16 @@
-package cs
+package handler
 
 import (
 	"net/http"
 	"ylink/ext/result"
 
 	"github.com/zeromicro/go-zero/rest/httpx"
-	"ylink/bff/cmdbff/api/internal/logic/cs"
+	"ylink/bff/cmdbff/api/internal/logic"
 	"ylink/bff/cmdbff/api/internal/svc"
 	"ylink/bff/cmdbff/api/internal/types"
 )
 
-func FetchHistoryListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
+func csFetchHistoryListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
 	return func(w http.ResponseWriter, r *http.Request) {
 		var req types.CsFetchHistoryChatReq
 		if err := httpx.Parse(r, &req); err != nil {
@@ -18,8 +18,8 @@ func FetchHistoryListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
 			return
 		}
 
-		l := cs.NewFetchHistoryListLogic(r.Context(), svcCtx)
-		resp, err := l.FetchHistoryList(&req)
+		l := logic.NewCsFetchHistoryListLogic(r.Context(), svcCtx)
+		resp, err := l.CsFetchHistoryList(&req)
 		result.HttpResult(r, w, resp, err)
 	}
 }

+ 5 - 5
bff/cmdbff/api/internal/handler/cs/fetchhistorymsghandler.go → bff/cmdbff/api/internal/handler/csfetchhistorymsghandler.go

@@ -1,16 +1,16 @@
-package cs
+package handler
 
 import (
 	"net/http"
 	"ylink/ext/result"
 
 	"github.com/zeromicro/go-zero/rest/httpx"
-	"ylink/bff/cmdbff/api/internal/logic/cs"
+	"ylink/bff/cmdbff/api/internal/logic"
 	"ylink/bff/cmdbff/api/internal/svc"
 	"ylink/bff/cmdbff/api/internal/types"
 )
 
-func FetchHistoryMsgHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
+func csFetchHistoryMsgHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
 	return func(w http.ResponseWriter, r *http.Request) {
 		var req types.CsFetchHistoryMsgReq
 		if err := httpx.Parse(r, &req); err != nil {
@@ -18,8 +18,8 @@ func FetchHistoryMsgHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
 			return
 		}
 
-		l := cs.NewFetchHistoryMsgLogic(r.Context(), svcCtx)
-		resp, err := l.FetchHistoryMsg(&req)
+		l := logic.NewCsFetchHistoryMsgLogic(r.Context(), svcCtx)
+		resp, err := l.CsFetchHistoryMsg(&req)
 		result.HttpResult(r, w, resp, err)
 	}
 }

+ 5 - 5
bff/cmdbff/api/internal/handler/cs/fetchmsghandler.go → bff/cmdbff/api/internal/handler/csfetchmsghandler.go

@@ -1,16 +1,16 @@
-package cs
+package handler
 
 import (
 	"net/http"
 	"ylink/ext/result"
 
 	"github.com/zeromicro/go-zero/rest/httpx"
-	"ylink/bff/cmdbff/api/internal/logic/cs"
+	"ylink/bff/cmdbff/api/internal/logic"
 	"ylink/bff/cmdbff/api/internal/svc"
 	"ylink/bff/cmdbff/api/internal/types"
 )
 
-func FetchMsgHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
+func csFetchMsgHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
 	return func(w http.ResponseWriter, r *http.Request) {
 		var req types.CsFetchMsgReq
 		if err := httpx.Parse(r, &req); err != nil {
@@ -18,8 +18,8 @@ func FetchMsgHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
 			return
 		}
 
-		l := cs.NewFetchMsgLogic(r.Context(), svcCtx)
-		resp, err := l.FetchMsg(&req)
+		l := logic.NewCsFetchMsgLogic(r.Context(), svcCtx)
+		resp, err := l.CsFetchMsg(&req)
 		result.HttpResult(r, w, resp, err)
 	}
 }

+ 5 - 5
bff/cmdbff/api/internal/handler/cs/fetchplayerqueuehandler.go → bff/cmdbff/api/internal/handler/csfetchplayerqueuehandler.go

@@ -1,16 +1,16 @@
-package cs
+package handler
 
 import (
 	"net/http"
 	"ylink/ext/result"
 
 	"github.com/zeromicro/go-zero/rest/httpx"
-	"ylink/bff/cmdbff/api/internal/logic/cs"
+	"ylink/bff/cmdbff/api/internal/logic"
 	"ylink/bff/cmdbff/api/internal/svc"
 	"ylink/bff/cmdbff/api/internal/types"
 )
 
-func FetchPlayerQueueHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
+func csFetchPlayerQueueHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
 	return func(w http.ResponseWriter, r *http.Request) {
 		var req types.CsFetchPlayerQueueReq
 		if err := httpx.Parse(r, &req); err != nil {
@@ -18,8 +18,8 @@ func FetchPlayerQueueHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
 			return
 		}
 
-		l := cs.NewFetchPlayerQueueLogic(r.Context(), svcCtx)
-		resp, err := l.FetchPlayerQueue(&req)
+		l := logic.NewCsFetchPlayerQueueLogic(r.Context(), svcCtx)
+		resp, err := l.CsFetchPlayerQueue(&req)
 		result.HttpResult(r, w, resp, err)
 	}
 }

+ 5 - 5
bff/cmdbff/api/internal/handler/cs/sendmsghandler.go → bff/cmdbff/api/internal/handler/cssendmsghandler.go

@@ -1,16 +1,16 @@
-package cs
+package handler
 
 import (
 	"net/http"
 	"ylink/ext/result"
 
 	"github.com/zeromicro/go-zero/rest/httpx"
-	"ylink/bff/cmdbff/api/internal/logic/cs"
+	"ylink/bff/cmdbff/api/internal/logic"
 	"ylink/bff/cmdbff/api/internal/svc"
 	"ylink/bff/cmdbff/api/internal/types"
 )
 
-func SendMsgHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
+func csSendMsgHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
 	return func(w http.ResponseWriter, r *http.Request) {
 		var req types.CsSendMsgReq
 		if err := httpx.Parse(r, &req); err != nil {
@@ -18,8 +18,8 @@ func SendMsgHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
 			return
 		}
 
-		l := cs.NewSendMsgLogic(r.Context(), svcCtx)
-		err := l.SendMsg(&req)
+		l := logic.NewCsSendMsgLogic(r.Context(), svcCtx)
+		err := l.CsSendMsg(&req)
 		result.HttpResult(r, w, nil, err)
 	}
 }

+ 0 - 17
bff/cmdbff/api/internal/handler/player/disconnecthandler.go

@@ -1,17 +0,0 @@
-package player
-
-import (
-	"net/http"
-	"ylink/ext/result"
-
-	"ylink/bff/cmdbff/api/internal/logic/player"
-	"ylink/bff/cmdbff/api/internal/svc"
-)
-
-func DisconnectHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
-	return func(w http.ResponseWriter, r *http.Request) {
-		l := player.NewDisconnectLogic(r.Context(), svcCtx)
-		err := l.Disconnect()
-		result.HttpResult(r, w, nil, err)
-	}
-}

+ 0 - 17
bff/cmdbff/api/internal/handler/player/fetchmsghandler.go

@@ -1,17 +0,0 @@
-package player
-
-import (
-	"net/http"
-	"ylink/ext/result"
-
-	"ylink/bff/cmdbff/api/internal/logic/player"
-	"ylink/bff/cmdbff/api/internal/svc"
-)
-
-func FetchMsgHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
-	return func(w http.ResponseWriter, r *http.Request) {
-		l := player.NewFetchMsgLogic(r.Context(), svcCtx)
-		resp, err := l.FetchMsg()
-		result.HttpResult(r, w, resp, err)
-	}
-}

+ 17 - 0
bff/cmdbff/api/internal/handler/playerdisconnecthandler.go

@@ -0,0 +1,17 @@
+package handler
+
+import (
+	"net/http"
+	"ylink/ext/result"
+
+	"ylink/bff/cmdbff/api/internal/logic"
+	"ylink/bff/cmdbff/api/internal/svc"
+)
+
+func playerDisconnectHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
+	return func(w http.ResponseWriter, r *http.Request) {
+		l := logic.NewPlayerDisconnectLogic(r.Context(), svcCtx)
+		err := l.PlayerDisconnect()
+		result.HttpResult(r, w, nil, err)
+	}
+}

+ 5 - 5
bff/cmdbff/api/internal/handler/player/fetchcsinfohandler.go → bff/cmdbff/api/internal/handler/playerfetchcsinfohandler.go

@@ -1,16 +1,16 @@
-package player
+package handler
 
 import (
 	"net/http"
 	"ylink/ext/result"
 
 	"github.com/zeromicro/go-zero/rest/httpx"
-	"ylink/bff/cmdbff/api/internal/logic/player"
+	"ylink/bff/cmdbff/api/internal/logic"
 	"ylink/bff/cmdbff/api/internal/svc"
 	"ylink/bff/cmdbff/api/internal/types"
 )
 
-func FetchCsInfoHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
+func playerFetchCsInfoHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
 	return func(w http.ResponseWriter, r *http.Request) {
 		var req types.PlayerFetchCsInfoReq
 		if err := httpx.Parse(r, &req); err != nil {
@@ -18,8 +18,8 @@ func FetchCsInfoHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
 			return
 		}
 
-		l := player.NewFetchCsInfoLogic(r.Context(), svcCtx)
-		resp, err := l.FetchCsInfo(&req)
+		l := logic.NewPlayerFetchCsInfoLogic(r.Context(), svcCtx)
+		resp, err := l.PlayerFetchCsInfo(&req)
 		result.HttpResult(r, w, resp, err)
 	}
 }

+ 5 - 5
bff/cmdbff/api/internal/handler/player/fetchhistorymsghandler.go → bff/cmdbff/api/internal/handler/playerfetchhistorymsghandler.go

@@ -1,16 +1,16 @@
-package player
+package handler
 
 import (
 	"net/http"
 	"ylink/ext/result"
 
 	"github.com/zeromicro/go-zero/rest/httpx"
-	"ylink/bff/cmdbff/api/internal/logic/player"
+	"ylink/bff/cmdbff/api/internal/logic"
 	"ylink/bff/cmdbff/api/internal/svc"
 	"ylink/bff/cmdbff/api/internal/types"
 )
 
-func FetchHistoryMsgHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
+func playerFetchHistoryMsgHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
 	return func(w http.ResponseWriter, r *http.Request) {
 		var req types.PlayerFetchHistoryMsgReq
 		if err := httpx.Parse(r, &req); err != nil {
@@ -18,8 +18,8 @@ func FetchHistoryMsgHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
 			return
 		}
 
-		l := player.NewFetchHistoryMsgLogic(r.Context(), svcCtx)
-		resp, err := l.FetchHistoryMsg(&req)
+		l := logic.NewPlayerFetchHistoryMsgLogic(r.Context(), svcCtx)
+		resp, err := l.PlayerFetchHistoryMsg(&req)
 		result.HttpResult(r, w, resp, err)
 	}
 }

+ 17 - 0
bff/cmdbff/api/internal/handler/playerfetchmsghandler.go

@@ -0,0 +1,17 @@
+package handler
+
+import (
+	"net/http"
+	"ylink/ext/result"
+
+	"ylink/bff/cmdbff/api/internal/logic"
+	"ylink/bff/cmdbff/api/internal/svc"
+)
+
+func playerFetchMsgHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
+	return func(w http.ResponseWriter, r *http.Request) {
+		l := logic.NewPlayerFetchMsgLogic(r.Context(), svcCtx)
+		resp, err := l.PlayerFetchMsg()
+		result.HttpResult(r, w, resp, err)
+	}
+}

+ 5 - 5
bff/cmdbff/api/internal/handler/player/sendmsghandler.go → bff/cmdbff/api/internal/handler/playersendmsghandler.go

@@ -1,16 +1,16 @@
-package player
+package handler
 
 import (
 	"net/http"
 	"ylink/ext/result"
 
 	"github.com/zeromicro/go-zero/rest/httpx"
-	"ylink/bff/cmdbff/api/internal/logic/player"
+	"ylink/bff/cmdbff/api/internal/logic"
 	"ylink/bff/cmdbff/api/internal/svc"
 	"ylink/bff/cmdbff/api/internal/types"
 )
 
-func SendMsgHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
+func playerSendMsgHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
 	return func(w http.ResponseWriter, r *http.Request) {
 		var req types.PlayerSendMsgReq
 		if err := httpx.Parse(r, &req); err != nil {
@@ -18,8 +18,8 @@ func SendMsgHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
 			return
 		}
 
-		l := player.NewSendMsgLogic(r.Context(), svcCtx)
-		err := l.SendMsg(&req)
+		l := logic.NewPlayerSendMsgLogic(r.Context(), svcCtx)
+		err := l.PlayerSendMsg(&req)
 		result.HttpResult(r, w, nil, err)
 	}
 }

+ 11 - 13
bff/cmdbff/api/internal/handler/routes.go

@@ -4,8 +4,6 @@ package handler
 import (
 	"net/http"
 
-	cs "ylink/bff/cmdbff/api/internal/handler/cs"
-	player "ylink/bff/cmdbff/api/internal/handler/player"
 	"ylink/bff/cmdbff/api/internal/svc"
 
 	"github.com/zeromicro/go-zero/rest"
@@ -17,27 +15,27 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
 			{
 				Method:  http.MethodPost,
 				Path:    "/player/fetch-cs-info",
-				Handler: player.FetchCsInfoHandler(serverCtx),
+				Handler: playerFetchCsInfoHandler(serverCtx),
 			},
 			{
 				Method:  http.MethodPost,
 				Path:    "/player/fetch-history-msg",
-				Handler: player.FetchHistoryMsgHandler(serverCtx),
+				Handler: playerFetchHistoryMsgHandler(serverCtx),
 			},
 			{
 				Method:  http.MethodPost,
 				Path:    "/player/fetch-msg",
-				Handler: player.FetchMsgHandler(serverCtx),
+				Handler: playerFetchMsgHandler(serverCtx),
 			},
 			{
 				Method:  http.MethodPost,
 				Path:    "/player/send-msg",
-				Handler: player.SendMsgHandler(serverCtx),
+				Handler: playerSendMsgHandler(serverCtx),
 			},
 			{
 				Method:  http.MethodPost,
 				Path:    "/player/disconnect",
-				Handler: player.DisconnectHandler(serverCtx),
+				Handler: playerDisconnectHandler(serverCtx),
 			},
 		},
 		rest.WithJwt(serverCtx.Config.JwtAuth.AccessSecret),
@@ -49,32 +47,32 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
 			{
 				Method:  http.MethodPost,
 				Path:    "/cs/fetch-player-queue",
-				Handler: cs.FetchPlayerQueueHandler(serverCtx),
+				Handler: csFetchPlayerQueueHandler(serverCtx),
 			},
 			{
 				Method:  http.MethodPost,
 				Path:    "/cs/connect-player",
-				Handler: cs.ConnectPlayerHandler(serverCtx),
+				Handler: csConnectPlayerHandler(serverCtx),
 			},
 			{
 				Method:  http.MethodPost,
 				Path:    "/cs/fetch-history-list",
-				Handler: cs.FetchHistoryListHandler(serverCtx),
+				Handler: csFetchHistoryListHandler(serverCtx),
 			},
 			{
 				Method:  http.MethodPost,
 				Path:    "/cs/fetch-history-msg",
-				Handler: cs.FetchHistoryMsgHandler(serverCtx),
+				Handler: csFetchHistoryMsgHandler(serverCtx),
 			},
 			{
 				Method:  http.MethodPost,
 				Path:    "/cs/fetch-msg",
-				Handler: cs.FetchMsgHandler(serverCtx),
+				Handler: csFetchMsgHandler(serverCtx),
 			},
 			{
 				Method:  http.MethodPost,
 				Path:    "/cs/send-msg",
-				Handler: cs.SendMsgHandler(serverCtx),
+				Handler: csSendMsgHandler(serverCtx),
 			},
 		},
 		rest.WithJwt(serverCtx.Config.JwtAuth.AccessSecret),

+ 0 - 30
bff/cmdbff/api/internal/logic/cs/fetchhistorymsglogic.go

@@ -1,30 +0,0 @@
-package cs
-
-import (
-	"context"
-
-	"ylink/bff/cmdbff/api/internal/svc"
-	"ylink/bff/cmdbff/api/internal/types"
-
-	"github.com/zeromicro/go-zero/core/logx"
-)
-
-type FetchHistoryMsgLogic struct {
-	logx.Logger
-	ctx    context.Context
-	svcCtx *svc.ServiceContext
-}
-
-func NewFetchHistoryMsgLogic(ctx context.Context, svcCtx *svc.ServiceContext) *FetchHistoryMsgLogic {
-	return &FetchHistoryMsgLogic{
-		Logger: logx.WithContext(ctx),
-		ctx:    ctx,
-		svcCtx: svcCtx,
-	}
-}
-
-func (l *FetchHistoryMsgLogic) FetchHistoryMsg(req *types.CsFetchHistoryMsgReq) (resp *types.CsFetchHistoryMsgResp, err error) {
-	// todo: add your logic here and delete this line
-
-	return
-}

+ 0 - 30
bff/cmdbff/api/internal/logic/cs/fetchmsglogic.go

@@ -1,30 +0,0 @@
-package cs
-
-import (
-	"context"
-
-	"ylink/bff/cmdbff/api/internal/svc"
-	"ylink/bff/cmdbff/api/internal/types"
-
-	"github.com/zeromicro/go-zero/core/logx"
-)
-
-type FetchMsgLogic struct {
-	logx.Logger
-	ctx    context.Context
-	svcCtx *svc.ServiceContext
-}
-
-func NewFetchMsgLogic(ctx context.Context, svcCtx *svc.ServiceContext) *FetchMsgLogic {
-	return &FetchMsgLogic{
-		Logger: logx.WithContext(ctx),
-		ctx:    ctx,
-		svcCtx: svcCtx,
-	}
-}
-
-func (l *FetchMsgLogic) FetchMsg(req *types.CsFetchMsgReq) (resp *types.CsFetchMsgResp, err error) {
-	// todo: add your logic here and delete this line
-
-	return
-}

+ 0 - 30
bff/cmdbff/api/internal/logic/cs/fetchplayerqueuelogic.go

@@ -1,30 +0,0 @@
-package cs
-
-import (
-	"context"
-
-	"ylink/bff/cmdbff/api/internal/svc"
-	"ylink/bff/cmdbff/api/internal/types"
-
-	"github.com/zeromicro/go-zero/core/logx"
-)
-
-type FetchPlayerQueueLogic struct {
-	logx.Logger
-	ctx    context.Context
-	svcCtx *svc.ServiceContext
-}
-
-func NewFetchPlayerQueueLogic(ctx context.Context, svcCtx *svc.ServiceContext) *FetchPlayerQueueLogic {
-	return &FetchPlayerQueueLogic{
-		Logger: logx.WithContext(ctx),
-		ctx:    ctx,
-		svcCtx: svcCtx,
-	}
-}
-
-func (l *FetchPlayerQueueLogic) FetchPlayerQueue(req *types.CsFetchPlayerQueueReq) (resp *types.CsFetchPlayerQueueResp, err error) {
-	// todo: add your logic here and delete this line
-
-	return
-}

+ 0 - 30
bff/cmdbff/api/internal/logic/cs/sendmsglogic.go

@@ -1,30 +0,0 @@
-package cs
-
-import (
-	"context"
-
-	"ylink/bff/cmdbff/api/internal/svc"
-	"ylink/bff/cmdbff/api/internal/types"
-
-	"github.com/zeromicro/go-zero/core/logx"
-)
-
-type SendMsgLogic struct {
-	logx.Logger
-	ctx    context.Context
-	svcCtx *svc.ServiceContext
-}
-
-func NewSendMsgLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SendMsgLogic {
-	return &SendMsgLogic{
-		Logger: logx.WithContext(ctx),
-		ctx:    ctx,
-		svcCtx: svcCtx,
-	}
-}
-
-func (l *SendMsgLogic) SendMsg(req *types.CsSendMsgReq) error {
-	// todo: add your logic here and delete this line
-
-	return nil
-}

+ 8 - 7
bff/cmdbff/api/internal/logic/cs/connectplayerlogic.go → bff/cmdbff/api/internal/logic/csconnectplayerlogic.go

@@ -1,30 +1,31 @@
-package cs
+package logic
 
 import (
 	"context"
-	"ylink/bff/cmdbff/api/internal/svc"
-	"ylink/bff/cmdbff/api/internal/types"
 	"ylink/core/cmd/rpc/cmd"
 	"ylink/ext/ctxdata"
 
+	"ylink/bff/cmdbff/api/internal/svc"
+	"ylink/bff/cmdbff/api/internal/types"
+
 	"github.com/zeromicro/go-zero/core/logx"
 )
 
-type ConnectPlayerLogic struct {
+type CsConnectPlayerLogic struct {
 	logx.Logger
 	ctx    context.Context
 	svcCtx *svc.ServiceContext
 }
 
-func NewConnectPlayerLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ConnectPlayerLogic {
-	return &ConnectPlayerLogic{
+func NewCsConnectPlayerLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CsConnectPlayerLogic {
+	return &CsConnectPlayerLogic{
 		Logger: logx.WithContext(ctx),
 		ctx:    ctx,
 		svcCtx: svcCtx,
 	}
 }
 
-func (l *ConnectPlayerLogic) ConnectPlayer(req *types.CsConnectPlayerReq) error {
+func (l *CsConnectPlayerLogic) CsConnectPlayer(req *types.CsConnectPlayerReq) error {
 	csId := ctxdata.GetCsIdFromCtx(l.ctx)
 	_, err := l.svcCtx.CmdRpc.CsConnectPlayer(l.ctx, &cmd.CsConnectPlayerReq{
 		CsId:     csId,

+ 5 - 5
bff/cmdbff/api/internal/logic/cs/fetchhistorylistlogic.go → bff/cmdbff/api/internal/logic/csfetchhistorylistlogic.go

@@ -1,4 +1,4 @@
-package cs
+package logic
 
 import (
 	"context"
@@ -11,21 +11,21 @@ import (
 	"github.com/zeromicro/go-zero/core/logx"
 )
 
-type FetchHistoryListLogic struct {
+type CsFetchHistoryListLogic struct {
 	logx.Logger
 	ctx    context.Context
 	svcCtx *svc.ServiceContext
 }
 
-func NewFetchHistoryListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *FetchHistoryListLogic {
-	return &FetchHistoryListLogic{
+func NewCsFetchHistoryListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CsFetchHistoryListLogic {
+	return &CsFetchHistoryListLogic{
 		Logger: logx.WithContext(ctx),
 		ctx:    ctx,
 		svcCtx: svcCtx,
 	}
 }
 
-func (l *FetchHistoryListLogic) FetchHistoryList(req *types.CsFetchHistoryChatReq) (resp *types.CsFetchHistoryChatResp, err error) {
+func (l *CsFetchHistoryListLogic) CsFetchHistoryList(req *types.CsFetchHistoryChatReq) (resp *types.CsFetchHistoryChatResp, err error) {
 	csId := ctxdata.GetCsIdFromCtx(l.ctx)
 	cmdResp, err := l.svcCtx.CmdRpc.CsFetchHistoryChat(l.ctx, &cmd.CsFetchHistoryChatReq{
 		CsId:  csId,

+ 45 - 0
bff/cmdbff/api/internal/logic/csfetchhistorymsglogic.go

@@ -0,0 +1,45 @@
+package logic
+
+import (
+	"context"
+	"ylink/core/cmd/rpc/cmd"
+	"ylink/ext/ctxdata"
+
+	"ylink/bff/cmdbff/api/internal/svc"
+	"ylink/bff/cmdbff/api/internal/types"
+
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type CsFetchHistoryMsgLogic struct {
+	logx.Logger
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+}
+
+func NewCsFetchHistoryMsgLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CsFetchHistoryMsgLogic {
+	return &CsFetchHistoryMsgLogic{
+		Logger: logx.WithContext(ctx),
+		ctx:    ctx,
+		svcCtx: svcCtx,
+	}
+}
+
+func (l *CsFetchHistoryMsgLogic) CsFetchHistoryMsg(req *types.CsFetchHistoryMsgReq) (resp *types.CsFetchHistoryMsgResp, err error) {
+	csId := ctxdata.GetCsIdFromCtx(l.ctx)
+	cmdResp, err := l.svcCtx.CmdRpc.CsFetchHistoryMsg(l.ctx, &cmd.CsFetchHistoryMsgReq{
+		CsId:     csId,
+		PlayerId: req.PlayerId,
+		GameId:   req.GameId,
+		Page:     req.Page,
+		Limit:    req.Limit,
+	})
+	if err != nil {
+		return nil, err
+	}
+	return &types.CsFetchHistoryMsgResp{
+		TotalPage:   cmdResp.TotalPage,
+		CurrentPage: cmdResp.CurrentPage,
+		List:        cmdResp.List.AsSlice(),
+	}, nil
+}

+ 41 - 0
bff/cmdbff/api/internal/logic/csfetchmsglogic.go

@@ -0,0 +1,41 @@
+package logic
+
+import (
+	"context"
+	"ylink/core/cmd/rpc/cmd"
+	"ylink/ext/ctxdata"
+
+	"ylink/bff/cmdbff/api/internal/svc"
+	"ylink/bff/cmdbff/api/internal/types"
+
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type CsFetchMsgLogic struct {
+	logx.Logger
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+}
+
+func NewCsFetchMsgLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CsFetchMsgLogic {
+	return &CsFetchMsgLogic{
+		Logger: logx.WithContext(ctx),
+		ctx:    ctx,
+		svcCtx: svcCtx,
+	}
+}
+
+func (l *CsFetchMsgLogic) CsFetchMsg(req *types.CsFetchMsgReq) (resp *types.CsFetchMsgResp, err error) {
+	csId := ctxdata.GetCsIdFromCtx(l.ctx)
+	cmdResp, err := l.svcCtx.CmdRpc.CsFetchMsg(l.ctx, &cmd.CsFetchMsgReq{
+		CsId:     csId,
+		PlayerId: req.PlayerId,
+		GameId:   req.GameId,
+	})
+	if err != nil {
+		return nil, err
+	}
+	return &types.CsFetchMsgResp{
+		List: cmdResp.List.AsSlice(),
+	}, nil
+}

+ 37 - 0
bff/cmdbff/api/internal/logic/csfetchplayerqueuelogic.go

@@ -0,0 +1,37 @@
+package logic
+
+import (
+	"context"
+	"ylink/core/cmd/rpc/cmd"
+
+	"ylink/bff/cmdbff/api/internal/svc"
+	"ylink/bff/cmdbff/api/internal/types"
+
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type CsFetchPlayerQueueLogic struct {
+	logx.Logger
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+}
+
+func NewCsFetchPlayerQueueLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CsFetchPlayerQueueLogic {
+	return &CsFetchPlayerQueueLogic{
+		Logger: logx.WithContext(ctx),
+		ctx:    ctx,
+		svcCtx: svcCtx,
+	}
+}
+
+func (l *CsFetchPlayerQueueLogic) CsFetchPlayerQueue(req *types.CsFetchPlayerQueueReq) (resp *types.CsFetchPlayerQueueResp, err error) {
+	cmdResp, err := l.svcCtx.CmdRpc.CsFetchPlayerQueue(l.ctx, &cmd.CsFetchPlayerQueueReq{
+		Limit: req.Limit,
+	})
+	if err != nil {
+		return nil, err
+	}
+	return &types.CsFetchPlayerQueueResp{
+		List: cmdResp.List.AsSlice(),
+	}, nil
+}

+ 38 - 0
bff/cmdbff/api/internal/logic/cssendmsglogic.go

@@ -0,0 +1,38 @@
+package logic
+
+import (
+	"context"
+	"ylink/core/cmd/rpc/cmd"
+	"ylink/ext/ctxdata"
+
+	"ylink/bff/cmdbff/api/internal/svc"
+	"ylink/bff/cmdbff/api/internal/types"
+
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type CsSendMsgLogic struct {
+	logx.Logger
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+}
+
+func NewCsSendMsgLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CsSendMsgLogic {
+	return &CsSendMsgLogic{
+		Logger: logx.WithContext(ctx),
+		ctx:    ctx,
+		svcCtx: svcCtx,
+	}
+}
+
+func (l *CsSendMsgLogic) CsSendMsg(req *types.CsSendMsgReq) error {
+	csId := ctxdata.GetCsIdFromCtx(l.ctx)
+	_, err := l.svcCtx.CmdRpc.CsSendMsg(l.ctx, &cmd.CsSendMsgReq{
+		CsId:     csId,
+		PlayerId: req.PlayerId,
+		GameId:   req.GameId,
+		Content:  req.Content,
+		Pic:      req.Pic,
+	})
+	return err
+}

+ 5 - 5
bff/cmdbff/api/internal/logic/player/disconnectlogic.go → bff/cmdbff/api/internal/logic/playerdisconnectlogic.go

@@ -1,4 +1,4 @@
-package player
+package logic
 
 import (
 	"context"
@@ -9,21 +9,21 @@ import (
 	"ylink/bff/cmdbff/api/internal/svc"
 )
 
-type DisconnectLogic struct {
+type PlayerDisconnectLogic struct {
 	logx.Logger
 	ctx    context.Context
 	svcCtx *svc.ServiceContext
 }
 
-func NewDisconnectLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DisconnectLogic {
-	return &DisconnectLogic{
+func NewPlayerDisconnectLogic(ctx context.Context, svcCtx *svc.ServiceContext) *PlayerDisconnectLogic {
+	return &PlayerDisconnectLogic{
 		Logger: logx.WithContext(ctx),
 		ctx:    ctx,
 		svcCtx: svcCtx,
 	}
 }
 
-func (l *DisconnectLogic) Disconnect() error {
+func (l *PlayerDisconnectLogic) PlayerDisconnect() error {
 	playerId := ctxdata.GetPlayerIdFromCtx(l.ctx)
 	gameId := ctxdata.GetGameIdFromCtx(l.ctx)
 	_, err := l.svcCtx.CmdRpc.PlayerDisconnect(l.ctx, &cmd.PlayerDisconnectReq{

+ 5 - 5
bff/cmdbff/api/internal/logic/player/fetchcsinfologic.go → bff/cmdbff/api/internal/logic/playerfetchcsinfologic.go

@@ -1,4 +1,4 @@
-package player
+package logic
 
 import (
 	"context"
@@ -11,21 +11,21 @@ import (
 	"github.com/zeromicro/go-zero/core/logx"
 )
 
-type FetchCsInfoLogic struct {
+type PlayerFetchCsInfoLogic struct {
 	logx.Logger
 	ctx    context.Context
 	svcCtx *svc.ServiceContext
 }
 
-func NewFetchCsInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *FetchCsInfoLogic {
-	return &FetchCsInfoLogic{
+func NewPlayerFetchCsInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *PlayerFetchCsInfoLogic {
+	return &PlayerFetchCsInfoLogic{
 		Logger: logx.WithContext(ctx),
 		ctx:    ctx,
 		svcCtx: svcCtx,
 	}
 }
 
-func (l *FetchCsInfoLogic) FetchCsInfo(req *types.PlayerFetchCsInfoReq) (resp *types.PlayerFetchCsInfoResp, err error) {
+func (l *PlayerFetchCsInfoLogic) PlayerFetchCsInfo(req *types.PlayerFetchCsInfoReq) (resp *types.PlayerFetchCsInfoResp, err error) {
 	playerId := ctxdata.GetPlayerIdFromCtx(l.ctx)
 	gameId := ctxdata.GetGameIdFromCtx(l.ctx)
 	l.Logger.Infof("player id: %s", playerId)

+ 5 - 5
bff/cmdbff/api/internal/logic/player/fetchhistorymsglogic.go → bff/cmdbff/api/internal/logic/playerfetchhistorymsglogic.go

@@ -1,4 +1,4 @@
-package player
+package logic
 
 import (
 	"context"
@@ -11,21 +11,21 @@ import (
 	"github.com/zeromicro/go-zero/core/logx"
 )
 
-type FetchHistoryMsgLogic struct {
+type PlayerFetchHistoryMsgLogic struct {
 	logx.Logger
 	ctx    context.Context
 	svcCtx *svc.ServiceContext
 }
 
-func NewFetchHistoryMsgLogic(ctx context.Context, svcCtx *svc.ServiceContext) *FetchHistoryMsgLogic {
-	return &FetchHistoryMsgLogic{
+func NewPlayerFetchHistoryMsgLogic(ctx context.Context, svcCtx *svc.ServiceContext) *PlayerFetchHistoryMsgLogic {
+	return &PlayerFetchHistoryMsgLogic{
 		Logger: logx.WithContext(ctx),
 		ctx:    ctx,
 		svcCtx: svcCtx,
 	}
 }
 
-func (l *FetchHistoryMsgLogic) FetchHistoryMsg(req *types.PlayerFetchHistoryMsgReq) (resp *types.PlayerFetchHistoryMsgResp, err error) {
+func (l *PlayerFetchHistoryMsgLogic) PlayerFetchHistoryMsg(req *types.PlayerFetchHistoryMsgReq) (resp *types.PlayerFetchHistoryMsgResp, err error) {
 	playerId := ctxdata.GetPlayerIdFromCtx(l.ctx)
 	gameId := ctxdata.GetGameIdFromCtx(l.ctx)
 	cmdResp, err := l.svcCtx.CmdRpc.PlayerFetchHistoryMsg(l.ctx, &pb.PlayerFetchHistoryMsgReq{

+ 5 - 5
bff/cmdbff/api/internal/logic/player/fetchmsglogic.go → bff/cmdbff/api/internal/logic/playerfetchmsglogic.go

@@ -1,4 +1,4 @@
-package player
+package logic
 
 import (
 	"context"
@@ -11,21 +11,21 @@ import (
 	"github.com/zeromicro/go-zero/core/logx"
 )
 
-type FetchMsgLogic struct {
+type PlayerFetchMsgLogic struct {
 	logx.Logger
 	ctx    context.Context
 	svcCtx *svc.ServiceContext
 }
 
-func NewFetchMsgLogic(ctx context.Context, svcCtx *svc.ServiceContext) *FetchMsgLogic {
-	return &FetchMsgLogic{
+func NewPlayerFetchMsgLogic(ctx context.Context, svcCtx *svc.ServiceContext) *PlayerFetchMsgLogic {
+	return &PlayerFetchMsgLogic{
 		Logger: logx.WithContext(ctx),
 		ctx:    ctx,
 		svcCtx: svcCtx,
 	}
 }
 
-func (l *FetchMsgLogic) FetchMsg() (resp *types.PlayerFetchMsgResp, err error) {
+func (l *PlayerFetchMsgLogic) PlayerFetchMsg() (resp *types.PlayerFetchMsgResp, err error) {
 	playerId := ctxdata.GetGameIdFromCtx(l.ctx)
 	gameId := ctxdata.GetGameIdFromCtx(l.ctx)
 	cmdResp, err := l.svcCtx.CmdRpc.PlayerFetchMsg(l.ctx, &pb.PlayerFetchMsgReq{

+ 5 - 5
bff/cmdbff/api/internal/logic/player/sendmsglogic.go → bff/cmdbff/api/internal/logic/playersendmsglogic.go

@@ -1,4 +1,4 @@
-package player
+package logic
 
 import (
 	"context"
@@ -11,21 +11,21 @@ import (
 	"github.com/zeromicro/go-zero/core/logx"
 )
 
-type SendMsgLogic struct {
+type PlayerSendMsgLogic struct {
 	logx.Logger
 	ctx    context.Context
 	svcCtx *svc.ServiceContext
 }
 
-func NewSendMsgLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SendMsgLogic {
-	return &SendMsgLogic{
+func NewPlayerSendMsgLogic(ctx context.Context, svcCtx *svc.ServiceContext) *PlayerSendMsgLogic {
+	return &PlayerSendMsgLogic{
 		Logger: logx.WithContext(ctx),
 		ctx:    ctx,
 		svcCtx: svcCtx,
 	}
 }
 
-func (l *SendMsgLogic) SendMsg(req *types.PlayerSendMsgReq) error {
+func (l *PlayerSendMsgLogic) PlayerSendMsg(req *types.PlayerSendMsgReq) error {
 	playerId := ctxdata.GetPlayerIdFromCtx(l.ctx)
 	gameId := ctxdata.GetGameIdFromCtx(l.ctx)
 	_, err := l.svcCtx.CmdRpc.PlayerSendMsg(l.ctx, &pb.PlayerSendMsgReq{

+ 30 - 0
bff/rpcbff/rpc/Dockerfile

@@ -0,0 +1,30 @@
+FROM golang:alpine AS builder
+
+LABEL stage=gobuilder
+
+ENV CGO_ENABLED 0
+ENV GOPROXY https://goproxy.cn,direct
+
+RUN apk update --no-cache && apk add --no-cache tzdata
+
+WORKDIR /build
+
+ADD go.mod .
+ADD go.sum .
+RUN go mod download
+COPY . .
+COPY bff/rpcbff/rpc/etc /app/etc
+RUN go build -ldflags="-s -w" -o /app/rpcbff bff/rpcbff/rpc/rpcbff.go
+
+
+FROM alpine
+
+RUN apk update --no-cache && apk add --no-cache ca-certificates
+COPY --from=builder /usr/share/zoneinfo/Asia/Shanghai /usr/share/zoneinfo/Asia/Shanghai
+ENV TZ Asia/Shanghai
+
+WORKDIR /app
+COPY --from=builder /app/rpcbff /app/rpcbff
+COPY --from=builder /app/etc /app/etc
+
+CMD ["./rpcbff", "-f", "etc/rpcbff.yaml"]

+ 6 - 0
bff/rpcbff/rpc/etc/rpcbff.yaml

@@ -6,6 +6,12 @@ Etcd:
     - 127.0.0.1:2379
   Key: rpcbff.rpc
 
+Telemetry:
+  Name: rpcbff-rpc
+  Endpoint: http://127.0.0.1:14268/api/traces
+  Sampler: 1.0
+  Batcher: jaeger
+
 AuthRpcConf:
   Etcd:
     Hosts:

+ 30 - 0
core/auth/rpc/Dockerfile

@@ -0,0 +1,30 @@
+FROM golang:alpine AS builder
+
+LABEL stage=gobuilder
+
+ENV CGO_ENABLED 0
+ENV GOPROXY https://goproxy.cn,direct
+
+RUN apk update --no-cache && apk add --no-cache tzdata
+
+WORKDIR /build
+
+ADD go.mod .
+ADD go.sum .
+RUN go mod download
+COPY . .
+COPY core/auth/rpc/etc /app/etc
+RUN go build -ldflags="-s -w" -o /app/auth core/auth/rpc/auth.go
+
+
+FROM alpine
+
+RUN apk update --no-cache && apk add --no-cache ca-certificates
+COPY --from=builder /usr/share/zoneinfo/Asia/Shanghai /usr/share/zoneinfo/Asia/Shanghai
+ENV TZ Asia/Shanghai
+
+WORKDIR /app
+COPY --from=builder /app/auth /app/auth
+COPY --from=builder /app/etc /app/etc
+
+CMD ["./auth", "-f", "etc/auth.yaml"]

+ 8 - 1
core/auth/rpc/etc/auth.yaml

@@ -1,11 +1,18 @@
 Name: auth.rpc
-ListenOn: 0.0.0.0:11000
+ListenOn: 0.0.0.0:10400
 
 Etcd:
   Hosts:
     - 127.0.0.1:2379
   Key: auth.rpc
 
+
+Telemetry:
+  Name: auth-rpc
+  Endpoint: http://127.0.0.1:14268/api/traces
+  Sampler: 1.0
+  Batcher: jaeger
+
 JwtAuth:
   AccessSecret: ylink2022
   AccessExpire: 604800

+ 30 - 0
core/cmd/rpc/Dockerfile

@@ -0,0 +1,30 @@
+FROM golang:alpine AS builder
+
+LABEL stage=gobuilder
+
+ENV CGO_ENABLED 0
+ENV GOPROXY https://goproxy.cn,direct
+
+RUN apk update --no-cache && apk add --no-cache tzdata
+
+WORKDIR /build
+
+ADD go.mod .
+ADD go.sum .
+RUN go mod download
+COPY . .
+COPY core/cmd/rpc/etc /app/etc
+RUN go build -ldflags="-s -w" -o /app/cmd core/cmd/rpc/cmd.go
+
+
+FROM alpine
+
+RUN apk update --no-cache && apk add --no-cache ca-certificates
+COPY --from=builder /usr/share/zoneinfo/Asia/Shanghai /usr/share/zoneinfo/Asia/Shanghai
+ENV TZ Asia/Shanghai
+
+WORKDIR /app
+COPY --from=builder /app/cmd /app/cmd
+COPY --from=builder /app/etc /app/etc
+
+CMD ["./cmd", "-f", "etc/cmd.yaml"]

+ 7 - 1
core/cmd/rpc/etc/cmd.yaml

@@ -1,7 +1,13 @@
 Name: cmd.rpc
-ListenOn: 0.0.0.0:12000
+ListenOn: 0.0.0.0:10300
 
 Etcd:
   Hosts:
     - 127.0.0.1:2379
   Key: cmd.rpc
+
+Telemetry:
+  Name: cmd-rpc
+  Endpoint: http://127.0.0.1:14268/api/traces
+  Sampler: 1.0
+  Batcher: jaeger

+ 86 - 0
docker-compose-env.yml

@@ -0,0 +1,86 @@
+version: '3.5'
+
+######## 项目依赖的环境,启动项目之前要先启动此环境 #######
+
+services:
+  #jaeger链路追踪
+  jaeger:
+    image: jaegertracing/all-in-one:latest
+    container_name: jaeger
+    restart: always
+    ports:
+      - "5775:5775/udp"
+      - "6831:6831/udp"
+      - "6832:6832/udp"
+      - "5778:5778"
+      - "16686:16686"
+      - "14268:14268"
+      - "9411:9411"
+    environment:
+      - "SPAN_STORAGE_TYPE=elasticsearch"
+      - "ES_SERVER_URLS=http://elasticsearch:9200"
+      - "LOG_LEVEL=debug"
+    networks:
+      - ylinknet
+
+  #  #搜集kafka业务日志、存储prometheus监控数据
+  elasticsearch:
+    image: docker.elastic.co/elasticsearch/elasticsearch:7.13.4
+    container_name: elasticsearch
+    user: root
+    environment:
+      - "discovery.type=single-node"
+      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
+      - "TZ=Asia/Shanghai"
+    volumes:
+      - "/data/docker_mount/elasticsearch/data:/usr/share/elasticsearch/data"
+    restart: always
+    ports:
+      - "9200:9200"
+      - "9300:9300"
+    networks:
+      - ylinknet
+
+  #查看elasticsearch数据
+  kibana:
+    image: docker.elastic.co/kibana/kibana:7.13.4
+    container_name: kibana
+    environment:
+      - "elasticsearch.hosts=http://elasticsearch:9200"
+      - "TZ=Asia/Shanghai"
+    restart: always
+    networks:
+      - ylinknet
+    ports:
+      - "5601:5601"
+    depends_on:
+      - elasticsearch
+
+  etcd:
+    hostname: etcd
+    image: bitnami/etcd:3
+    privileged: true
+    volumes:
+      - "/data/docker_mount/etcd/data:/opt/bitnami/etcd/data"
+    environment:
+      - "ETCD_ADVERTISE_CLIENT_URLS=http://0.0.0.0:2379"
+      - "ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379"
+      - "ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380"
+      - "ETCD_INITIAL_ADVERTISE_PEER_URLS=http://0.0.0.0:2380"
+      - "ALLOW_NONE_AUTHENTICATION=yes"
+      - "ETCD_INITIAL_CLUSTER=node1=http://0.0.0.0:2380"
+      - "ETCD_NAME=node1"
+      - "ETCD_DATA_DIR=/opt/bitnami/etcd/data"
+    ports:
+      - "2379:2379"
+      - "2380:2380"
+    networks:
+      - ylinknet
+
+networks:
+  ylinknet:
+    driver: bridge
+    ipam:
+      config:
+        - subnet: 172.20.0.0/16
+