Browse Source

wip:消息总数

wangshan 11 tháng trước cách đây
mục cha
commit
3442d91a06

+ 17 - 13
.idea/workspace.xml

@@ -5,19 +5,10 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" id="8ae7f6f2-adc5-4a6a-b6f0-2ff3221f7b1f" name="变更" comment="">
-      <change afterPath="$PROJECT_DIR$/api/messagecenter/util/util.go" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/api/messagecenter/etc/messagecenter-api.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/api/messagecenter/etc/messagecenter-api.yaml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/api/messagecenter/internal/config/config.go" beforeDir="false" afterPath="$PROJECT_DIR$/api/messagecenter/internal/config/config.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/api/messagecenter/internal/handler/findmessagehandler.go" beforeDir="false" afterPath="$PROJECT_DIR$/api/messagecenter/internal/handler/findmessagehandler.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/api/messagecenter/internal/handler/routes.go" beforeDir="false" afterPath="$PROJECT_DIR$/api/messagecenter/internal/handler/routes.go" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/api/messagecenter/internal/handler/messagecounthandler.go" beforeDir="false" afterPath="$PROJECT_DIR$/api/messagecenter/internal/handler/messagecounthandler.go" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/api/messagecenter/internal/logic/findmessagelogic.go" beforeDir="false" afterPath="$PROJECT_DIR$/api/messagecenter/internal/logic/findmessagelogic.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/api/messagecenter/internal/svc/servicecontext.go" beforeDir="false" afterPath="$PROJECT_DIR$/api/messagecenter/internal/svc/servicecontext.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/api/messagecenter/internal/types/types.go" beforeDir="false" afterPath="$PROJECT_DIR$/api/messagecenter/internal/types/types.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/api/messagecenter/messagecenter.api" beforeDir="false" afterPath="$PROJECT_DIR$/api/messagecenter/messagecenter.api" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/entity/util.go" beforeDir="false" afterPath="$PROJECT_DIR$/entity/util.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/go.mod" beforeDir="false" afterPath="$PROJECT_DIR$/go.mod" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/go.sum" beforeDir="false" afterPath="$PROJECT_DIR$/go.sum" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/api/messagecenter/internal/logic/messagecountlogic.go" beforeDir="false" afterPath="$PROJECT_DIR$/api/messagecenter/internal/logic/messagecountlogic.go" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -55,7 +46,7 @@
     <property name="go.modules.go.list.on.any.changes.was.set" value="true" />
     <property name="go.sdk.automatically.set" value="true" />
     <property name="go.watchers.conflict.with.on.save.actions.check.performed" value="true" />
-    <property name="last_opened_file_path" value="$PROJECT_DIR$/api/messagecenter/util" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/api/messagecenter/messagecenter.go" />
     <property name="settings.editor.selected.configurable" value="go.vgo" />
     <property name="vue.rearranger.settings.migration" value="true" />
   </component>
@@ -64,7 +55,7 @@
       <recent name="F:\go-zero\messageCenter\api\messagecenter\util" />
     </key>
   </component>
-  <component name="RunManager">
+  <component name="RunManager" selected="Go 构建.api">
     <configuration default="true" type="GoApplicationRunConfiguration" factoryName="Go Application">
       <module name="messageCenter" />
       <working_directory value="$PROJECT_DIR$" />
@@ -74,6 +65,15 @@
       <filePath value="$PROJECT_DIR$" />
       <method v="2" />
     </configuration>
+    <configuration name="api" type="GoApplicationRunConfiguration" factoryName="Go Application">
+      <module name="messageCenter" />
+      <working_directory value="$PROJECT_DIR$/api/messagecenter/" />
+      <kind value="FILE" />
+      <directory value="$PROJECT_DIR$" />
+      <filePath value="$PROJECT_DIR$/api/messagecenter/messagecenter.go" />
+      <output_directory value="$PROJECT_DIR$/api/messagecenter/" />
+      <method v="2" />
+    </configuration>
     <configuration name="rpc" type="GoApplicationRunConfiguration" factoryName="Go Application">
       <module name="messageCenter" />
       <working_directory value="$PROJECT_DIR$/rpc/messagecenter/" />
@@ -93,6 +93,10 @@
       <framework value="gotest" />
       <method v="2" />
     </configuration>
+    <list>
+      <item itemvalue="Go 构建.api" />
+      <item itemvalue="Go 构建.rpc" />
+    </list>
   </component>
   <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="应用程序级" UseSingleDictionary="true" transferred="true" />
   <component name="TypeScriptGeneratedFilesManager">

+ 1 - 1
api/messagecenter/internal/handler/messagecounthandler.go

@@ -17,7 +17,7 @@ func messageCountHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
 			return
 		}
 
-		l := logic.NewMessageCountLogic(r.Context(), svcCtx)
+		l := logic.NewMessageCountLogic(r.Context(), svcCtx, r)
 		resp, err := l.MessageCount(&req)
 		if err != nil {
 			httpx.Error(w, err)

+ 1 - 1
api/messagecenter/internal/logic/findmessagelogic.go

@@ -45,7 +45,7 @@ func (l *FindMessageLogic) FindMessage(req *types.MessageReq) (resp *types.Commo
 			Ip:        entity.GetIp(l.r),
 			TrustedId: trustedId,
 		})
-		if rErr != nil {
+		if rErr != nil || req.NewUserId == 0 {
 			resp.Error_code = 1
 			resp.Error_msg = "当用户信息有误"
 			logx.Error("获取当前游客信息有误:", rErr.Error())

+ 36 - 9
api/messagecenter/internal/logic/messagecountlogic.go

@@ -1,8 +1,12 @@
 package logic
 
 import (
+	"bp.jydev.jianyu360.cn/SocialPlatform/messageCenter/api/messagecenter/util"
 	"bp.jydev.jianyu360.cn/SocialPlatform/messageCenter/rpc/messagecenter/messagecenter"
+	"bp.jydev.jianyu360.cn/SocialPlatform/socialPlatform/entity"
+	"bp.jydev.jianyu360.cn/SocialPlatform/socialPlatform/rpc/social/social"
 	"context"
+	"net/http"
 
 	"bp.jydev.jianyu360.cn/SocialPlatform/messageCenter/api/messagecenter/internal/svc"
 	"bp.jydev.jianyu360.cn/SocialPlatform/messageCenter/api/messagecenter/internal/types"
@@ -14,18 +18,40 @@ type MessageCountLogic struct {
 	logx.Logger
 	ctx    context.Context
 	svcCtx *svc.ServiceContext
+	r      *http.Request
 }
 
-func NewMessageCountLogic(ctx context.Context, svcCtx *svc.ServiceContext) *MessageCountLogic {
+func NewMessageCountLogic(ctx context.Context, svcCtx *svc.ServiceContext, r *http.Request) *MessageCountLogic {
 	return &MessageCountLogic{
 		Logger: logx.WithContext(ctx),
 		ctx:    ctx,
 		svcCtx: svcCtx,
+		r:      r,
 	}
 }
 
-func (l *MessageCountLogic) MessageCount(req *types.CountReq) (*types.CommonRes, error) {
-	resp, err := l.svcCtx.Message.Count(l.ctx, &messagecenter.CountReq{
+func (l *MessageCountLogic) MessageCount(req *types.CountReq) (resp *types.CommonRes, err error) {
+	if req.NewUserId == 0 {
+		sessionId, trustedId, stErr := util.GetTouristCookieInfo(l.r)
+		if stErr != nil {
+			resp.Error_code = 1
+			resp.Error_msg = stErr.Error()
+			return resp, nil
+		}
+		result, rErr := l.svcCtx.Social.TouristInfo(l.ctx, &social.TouristInfoReq{
+			SessionId: sessionId,
+			Ip:        entity.GetIp(l.r),
+			TrustedId: trustedId,
+		})
+		if rErr != nil || req.NewUserId == 0 {
+			resp.Error_code = 1
+			resp.Error_msg = "当用户信息有误"
+			logx.Error("获取当前游客信息有误:", rErr.Error())
+			return resp, rErr
+		}
+		req.NewUserId = result.Data.BaseUserId
+	}
+	res, err := l.svcCtx.Message.Count(l.ctx, &messagecenter.CountReq{
 		UserType:   req.UserType,
 		EntUserId:  req.EntUserId,
 		NewUserId:  req.NewUserId,
@@ -34,10 +60,11 @@ func (l *MessageCountLogic) MessageCount(req *types.CountReq) (*types.CommonRes,
 	if err != nil {
 		return nil, err
 	}
-	return &types.CommonRes{
-		Error_msg:  resp.ErrorMsg,
-		Error_code: int(resp.ErrorCode),
-		Count:      resp.Count,
-		Data:       resp.LastMessage,
-	}, nil
+	resp = &types.CommonRes{
+		Error_msg:  res.ErrorMsg,
+		Error_code: int(res.ErrorCode),
+		Count:      res.Count,
+		Data:       res.LastMessage,
+	}
+	return resp, nil
 }