فهرست منبع

Merge branch 'feature/v1.2.6' into dev/v1.2.6_rjj

renjiaojiao 2 سال پیش
والد
کامیت
c102219ea1

+ 0 - 1
api/messagecenter/messagecenter.api

@@ -111,7 +111,6 @@ type OneUserPositionReq {
 	EntId      int64  `header:"entId,optional"`
 	Appid      string `header:"appId"`
 }
-
 service messagecenter-api {
 	@handler messageCount
 	post /message/messageCount (CountReq) returns (CommonRes);

+ 1 - 2
go.mod

@@ -6,14 +6,13 @@ require (
 	app.yhyue.com/moapp/jybase v0.0.0-20230117032034-ad7c00ffe11a
 	bp.jydev.jianyu360.cn/BaseService/gateway v1.3.4
 	github.com/go-sql-driver/mysql v1.7.0
-	github.com/gomodule/redigo v2.0.0+incompatible // indirect
 	github.com/gogf/gf/v2 v2.0.6
+	github.com/gomodule/redigo v2.0.0+incompatible // indirect
 	github.com/microcosm-cc/bluemonday v1.0.23
 	github.com/zeromicro/go-zero v1.4.4
 	go.opentelemetry.io/otel/exporters/jaeger v1.11.0 // indirect
 	go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.11.0 // indirect
 	go.opentelemetry.io/otel/exporters/zipkin v1.11.0 // indirect
-	golang.org/x/text v0.8.0
 	google.golang.org/grpc v1.53.0
 	google.golang.org/protobuf v1.28.1
 

+ 10 - 10
rpc/messagecenter/internal/server/messagecenterserver.go

@@ -22,37 +22,37 @@ func NewMessageCenterServer(svcCtx *svc.ServiceContext) *MessageCenterServer {
 	}
 }
 
-//  查询数量
+// 查询数量
 func (s *MessageCenterServer) Count(ctx context.Context, in *messagecenter.CountReq) (*messagecenter.CountResp, error) {
 	l := logic.NewCountLogic(ctx, s.svcCtx)
 	return l.Count(in)
 }
 
-//  用户列表查询
+// 用户列表查询
 func (s *MessageCenterServer) UserList(ctx context.Context, in *messagecenter.UserReq) (*messagecenter.UserResp, error) {
 	l := logic.NewUserListLogic(ctx, s.svcCtx)
 	return l.UserList(in)
 }
 
-//  聊天内容查询
+// 聊天内容查询
 func (s *MessageCenterServer) FindMessage(ctx context.Context, in *messagecenter.MessageReq) (*messagecenter.MessageResp, error) {
 	l := logic.NewFindMessageLogic(ctx, s.svcCtx)
 	return l.FindMessage(in)
 }
 
-//  聊天保存
+// 聊天保存
 func (s *MessageCenterServer) SaveMessage(ctx context.Context, in *messagecenter.MessageEntity) (*messagecenter.SaveMessageResp, error) {
 	l := logic.NewSaveMessageLogic(ctx, s.svcCtx)
 	return l.SaveMessage(in)
 }
 
-//  会话创建
+// 会话创建
 func (s *MessageCenterServer) CreateChatSession(ctx context.Context, in *messagecenter.ChatSessionReq) (*messagecenter.ChatSessionResp, error) {
 	l := logic.NewCreateChatSessionLogic(ctx, s.svcCtx)
 	return l.CreateChatSession(in)
 }
 
-//  会话关闭
+// 会话关闭
 func (s *MessageCenterServer) CloseChatSession(ctx context.Context, in *messagecenter.CloseSessionReq) (*messagecenter.ChatSessionResp, error) {
 	l := logic.NewCloseChatSessionLogic(ctx, s.svcCtx)
 	return l.CloseChatSession(in)
@@ -76,25 +76,25 @@ func (s *MessageCenterServer) WithdrawMessage(ctx context.Context, in *messagece
 	return l.WithdrawMessage(in)
 }
 
-//  用户评价回复
+// 用户评价回复
 func (s *MessageCenterServer) AppraiseMessage(ctx context.Context, in *messagecenter.AppraiseReq) (*messagecenter.CurrencyResp, error) {
 	l := logic.NewAppraiseMessageLogic(ctx, s.svcCtx)
 	return l.AppraiseMessage(in)
 }
 
-//  客服列表查询
+// 客服列表查询
 func (s *MessageCenterServer) ConversationList(ctx context.Context, in *messagecenter.ConversationReq) (*messagecenter.UserResp, error) {
 	l := logic.NewConversationListLogic(ctx, s.svcCtx)
 	return l.ConversationList(in)
 }
 
-//  群聊
+// 群聊
 func (s *MessageCenterServer) GroupChat(ctx context.Context, in *messagecenter.MessageSaveReq) (*messagecenter.CommonReq, error) {
 	l := logic.NewGroupChatLogic(ctx, s.svcCtx)
 	return l.GroupChat(in)
 }
 
-//  1v1会话职位
+// 1v1会话职位
 func (s *MessageCenterServer) OneUserPosition(ctx context.Context, in *messagecenter.OneUserPositionReq) (*messagecenter.OneUserPositionResp, error) {
 	l := logic.NewOneUserPositionLogic(ctx, s.svcCtx)
 	return l.OneUserPosition(in)

+ 10 - 10
rpc/messagecenter/messagecenter/messagecenter.go

@@ -51,37 +51,37 @@ func NewMessageCenter(cli zrpc.Client) MessageCenter {
 	}
 }
 
-//  查询数量
+// 查询数量
 func (m *defaultMessageCenter) Count(ctx context.Context, in *CountReq, opts ...grpc.CallOption) (*CountResp, error) {
 	client := NewMessageCenterClient(m.cli.Conn())
 	return client.Count(ctx, in, opts...)
 }
 
-//  用户列表查询
+// 用户列表查询
 func (m *defaultMessageCenter) UserList(ctx context.Context, in *UserReq, opts ...grpc.CallOption) (*UserResp, error) {
 	client := NewMessageCenterClient(m.cli.Conn())
 	return client.UserList(ctx, in, opts...)
 }
 
-//  聊天内容查询
+// 聊天内容查询
 func (m *defaultMessageCenter) FindMessage(ctx context.Context, in *MessageReq, opts ...grpc.CallOption) (*MessageResp, error) {
 	client := NewMessageCenterClient(m.cli.Conn())
 	return client.FindMessage(ctx, in, opts...)
 }
 
-//  聊天保存
+// 聊天保存
 func (m *defaultMessageCenter) SaveMessage(ctx context.Context, in *MessageEntity, opts ...grpc.CallOption) (*SaveMessageResp, error) {
 	client := NewMessageCenterClient(m.cli.Conn())
 	return client.SaveMessage(ctx, in, opts...)
 }
 
-//  会话创建
+// 会话创建
 func (m *defaultMessageCenter) CreateChatSession(ctx context.Context, in *ChatSessionReq, opts ...grpc.CallOption) (*ChatSessionResp, error) {
 	client := NewMessageCenterClient(m.cli.Conn())
 	return client.CreateChatSession(ctx, in, opts...)
 }
 
-//  会话关闭
+// 会话关闭
 func (m *defaultMessageCenter) CloseChatSession(ctx context.Context, in *CloseSessionReq, opts ...grpc.CallOption) (*ChatSessionResp, error) {
 	client := NewMessageCenterClient(m.cli.Conn())
 	return client.CloseChatSession(ctx, in, opts...)
@@ -105,25 +105,25 @@ func (m *defaultMessageCenter) WithdrawMessage(ctx context.Context, in *ReadWith
 	return client.WithdrawMessage(ctx, in, opts...)
 }
 
-//  用户评价回复
+// 用户评价回复
 func (m *defaultMessageCenter) AppraiseMessage(ctx context.Context, in *AppraiseReq, opts ...grpc.CallOption) (*CurrencyResp, error) {
 	client := NewMessageCenterClient(m.cli.Conn())
 	return client.AppraiseMessage(ctx, in, opts...)
 }
 
-//  客服列表查询
+// 客服列表查询
 func (m *defaultMessageCenter) ConversationList(ctx context.Context, in *ConversationReq, opts ...grpc.CallOption) (*UserResp, error) {
 	client := NewMessageCenterClient(m.cli.Conn())
 	return client.ConversationList(ctx, in, opts...)
 }
 
-//  群聊
+// 群聊
 func (m *defaultMessageCenter) GroupChat(ctx context.Context, in *MessageSaveReq, opts ...grpc.CallOption) (*CommonReq, error) {
 	client := NewMessageCenterClient(m.cli.Conn())
 	return client.GroupChat(ctx, in, opts...)
 }
 
-//  1v1会话职位
+// 1v1会话职位
 func (m *defaultMessageCenter) OneUserPosition(ctx context.Context, in *OneUserPositionReq, opts ...grpc.CallOption) (*OneUserPositionResp, error) {
 	client := NewMessageCenterClient(m.cli.Conn())
 	return client.OneUserPosition(ctx, in, opts...)

+ 3 - 3
rpc/messagecenter/messagecenter/messagecenter.pb.go

@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.28.0
+// 	protoc-gen-go v1.28.1
 // 	protoc        v3.19.4
 // source: messagecenter.proto
 
@@ -1666,7 +1666,7 @@ func (x *ConversationReq) GetFiltrationId() string {
 	return ""
 }
 
-//聊天保存
+// 聊天保存
 type MessageSaveReq struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -1849,7 +1849,7 @@ func (x *CommonReq) GetErrorMsg() string {
 	return ""
 }
 
-//聊天保存
+// 聊天保存
 type OneUserPositionReq struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache

+ 6 - 6
rpc/messagecenter/messagecenter/messagecenter_grpc.pb.go

@@ -34,11 +34,11 @@ type MessageCenterClient interface {
 	CreateChatSession(ctx context.Context, in *ChatSessionReq, opts ...grpc.CallOption) (*ChatSessionResp, error)
 	// 会话关闭
 	CloseChatSession(ctx context.Context, in *CloseSessionReq, opts ...grpc.CallOption) (*ChatSessionResp, error)
-	//创建会话并且保存信息
+	// 创建会话并且保存信息
 	SaveAutoReplyMsg(ctx context.Context, in *SaveAutoReplyReq, opts ...grpc.CallOption) (*MessageResp, error)
-	//根据消息修改已读状态
+	// 根据消息修改已读状态
 	UpdateReadById(ctx context.Context, in *ReadStateReq, opts ...grpc.CallOption) (*CurrencyResp, error)
-	//用户撤回消息
+	// 用户撤回消息
 	WithdrawMessage(ctx context.Context, in *ReadWithdrawReq, opts ...grpc.CallOption) (*CurrencyResp, error)
 	// 用户评价回复
 	AppraiseMessage(ctx context.Context, in *AppraiseReq, opts ...grpc.CallOption) (*CurrencyResp, error)
@@ -191,11 +191,11 @@ type MessageCenterServer interface {
 	CreateChatSession(context.Context, *ChatSessionReq) (*ChatSessionResp, error)
 	// 会话关闭
 	CloseChatSession(context.Context, *CloseSessionReq) (*ChatSessionResp, error)
-	//创建会话并且保存信息
+	// 创建会话并且保存信息
 	SaveAutoReplyMsg(context.Context, *SaveAutoReplyReq) (*MessageResp, error)
-	//根据消息修改已读状态
+	// 根据消息修改已读状态
 	UpdateReadById(context.Context, *ReadStateReq) (*CurrencyResp, error)
-	//用户撤回消息
+	// 用户撤回消息
 	WithdrawMessage(context.Context, *ReadWithdrawReq) (*CurrencyResp, error)
 	// 用户评价回复
 	AppraiseMessage(context.Context, *AppraiseReq) (*CurrencyResp, error)

+ 19 - 20
service/message_mail_box.go

@@ -556,7 +556,7 @@ func (b MessaggeService) SaveMessage(in *messagecenter.MessageEntity) (fool bool
 }
 
 // 客服 用户聊天消息列表同步
-//sendUserType 发送人类型 1客服 2用户
+// sendUserType 发送人类型 1客服 2用户
 func UserSynchronousList(customerServiceId, userId, entId, messageId int64, createTime string, sendUserType int64) {
 	log.Printf("同步最后消息参数customerServiceId:%d,userId:%d,entId%d,messageId:%d", customerServiceId, userId, entId, messageId)
 	/*	rwLock.Lock()
@@ -1031,15 +1031,15 @@ func (this *MessaggeService) Chat(in *messagecenter.MessageEntity) (fool bool, e
 			fieids := []string{"appid", "messag_id", "type", "send_user_id", "send_user_type", "receive_user_id", "receive_user_type", "own_type", "own_id", "create_time", "chat_group_id", "isread"}
 			for _, v := range in.GroupIds {
 				args := []interface{}{}
-				//发送人自己
-				if !isWithdrawByOthers {
-					args = append(args, in.Appid, messageId, in.ItemType, in.SendId, 2, in.SendId, 2, 2, in.SendId, nowTime, v, 1)
-					//最后一次聊天
-					SocializeSummaryAddOrUpdate(tx, v, in.SendId, 0, messageId, isCustomerServiceAccess, nowTime)
-				}
-				if !isWithdrawByMyself {
-					groupUser := GetUserByGroupId(tx, v, in.SendId)
-					for _, vv := range groupUser {
+				groupUser := GetUserByGroupId(tx, v, in.SendId)
+				for _, vv := range groupUser {
+					//发送人自己
+					if !isWithdrawByOthers {
+						args = append(args, in.Appid, messageId, in.ItemType, in.SendId, 2, vv, 2, 2, in.SendId, nowTime, v, 1)
+						//最后一次聊天
+						SocializeSummaryAddOrUpdate(tx, v, in.SendId, 0, messageId, isCustomerServiceAccess, nowTime)
+					}
+					if !isWithdrawByMyself {
 						log.Println("获取到群组下员工:", vv)
 						//接收人其他用户
 						args = append(args, in.Appid, messageId, in.ItemType, in.SendId, 2, vv, 2, 2, vv, nowTime, v, 0)
@@ -1058,19 +1058,18 @@ func (this *MessaggeService) Chat(in *messagecenter.MessageEntity) (fool bool, e
 			}
 			fieids := []string{"appid", "messag_id", "type", "send_user_id", "send_user_type", "receive_user_id", "receive_user_type", "own_type", "own_id", "create_time", "isread"}
 			args := []interface{}{}
-			if !isWithdrawByOthers {
-				args = append(args, in.Appid, messageId, in.ItemType, in.SendId, 2, in.SendId, 2, 2, in.SendId, nowTime, 1)
-			}
-			if !isWithdrawByMyself {
-				for _, v := range in.ReceiverIds {
-					args = append(args, in.Appid, messageId, in.ItemType, in.SendId, 2, v, 2, 2, v, nowTime, 0)
 
+			for _, v := range in.ReceiverIds {
+				if !isWithdrawByOthers {
+					args = append(args, in.Appid, messageId, in.ItemType, in.SendId, 2, v, 2, 2, in.SendId, nowTime, 1)
+				}
+				if !isWithdrawByMyself {
+					args = append(args, in.Appid, messageId, in.ItemType, in.SendId, 2, v, 2, 2, v, nowTime, 0)
 					//最后一次聊天
 					SocializeSummaryAddOrUpdate(tx, 0, in.SendId, v, messageId, isCustomerServiceAccess, nowTime)
-					// SocializeSummaryAddOrUpdate(tx, 0, v, in.SendId, messageId, isCustomerServiceAccess, nowTime)
 				}
-				MessageMailBoxAdd(tx, fieids, args)
 			}
+			MessageMailBoxAdd(tx, fieids, args)
 		}
 		return true
 	})
@@ -1120,8 +1119,8 @@ func GetUserByGroupId(tx *sql.Tx, groupId, sendId int64) []int64 {
 }
 
 // 最后一次聊天存储
-//1v1是双方的
-//群聊是发送人和其他人的
+// 1v1是双方的
+// 群聊是发送人和其他人的
 func SocializeSummaryAddOrUpdate(tx *sql.Tx, groupId, myPositionId, yourPositionId, messageId int64, isCustomerServiceAccess int, timestamp string) bool {
 	//判断是否存在
 	if groupId > 0 {