Ver Fonte

模板消息

wfz há 3 anos atrás
pai
commit
3f7995271e
3 ficheiros alterados com 178 adições e 82 exclusões
  1. 98 82
      api/user/user.pb.go
  2. 4 0
      api/user/user.proto
  3. 76 0
      api/user/user_grpc.pb.go

+ 98 - 82
api/user/user.pb.go

@@ -1798,7 +1798,7 @@ var file_user_proto_rawDesc = []byte{
 	0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x2a, 0x0a, 0x10, 0x50, 0x61, 0x79, 0x43,
 	0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06,
 	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x72, 0x65,
-	0x73, 0x75, 0x6c, 0x74, 0x32, 0x8e, 0x3d, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x54, 0x0a,
+	0x73, 0x75, 0x6c, 0x74, 0x32, 0xc4, 0x3e, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x54, 0x0a,
 	0x0b, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67,
 	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
 	0x6d, 0x70, 0x74, 0x79, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e,
@@ -2287,11 +2287,23 @@ var file_user_proto_rawDesc = []byte{
 	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x52, 0x65, 0x6d, 0x69,
 	0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f,
 	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
-	0x70, 0x74, 0x79, 0x22, 0x00, 0x42, 0x3d, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73, 0x65,
-	0x72, 0x50, 0x01, 0x5a, 0x2f, 0x67, 0x69, 0x74, 0x2e, 0x69, 0x6b, 0x75, 0x62, 0x61, 0x6e, 0x2e,
-	0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x77, 0x2d, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x3b,
-	0x75, 0x73, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+	0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x12, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x63,
+	0x61, 0x6c, 0x6c, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x2d, 0x2e, 0x61, 0x70,
+	0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x65, 0x77, 0x4d, 0x65,
+	0x73, 0x73, 0x61, 0x67, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x52, 0x65, 0x6d, 0x69, 0x6e,
+	0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f,
+	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
+	0x74, 0x79, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x1e, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x65, 0x77, 0x56,
+	0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65,
+	0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
+	0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x50, 0x61, 0x72, 0x61,
+	0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+	0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x42, 0x3d, 0x0a, 0x08, 0x61,
+	0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x50, 0x01, 0x5a, 0x2f, 0x67, 0x69, 0x74, 0x2e, 0x69,
+	0x6b, 0x75, 0x62, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
+	0x2f, 0x70, 0x77, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x70, 0x69,
+	0x2f, 0x75, 0x73, 0x65, 0x72, 0x3b, 0x75, 0x73, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+	0x6f, 0x33,
 }
 
 var (
@@ -2470,82 +2482,86 @@ var file_user_proto_depIdxs = []int32{
 	31, // 76: api.user.User.ReplyScripReduceCredit:input_type -> api.common.PersonParam
 	31, // 77: api.user.User.MatchingCredit:input_type -> api.common.PersonParam
 	0,  // 78: api.user.User.SendNewMessageUnreadReminder:input_type -> api.user.SendNewMessageUnreadReminderRequest
-	16, // 79: api.user.User.GetUserInfo:output_type -> api.user.UserInfo
-	26, // 80: api.user.User.SendPhoneCode:output_type -> google.protobuf.Empty
-	26, // 81: api.user.User.CheckPhoneCode:output_type -> google.protobuf.Empty
-	26, // 82: api.user.User.UpdateUserInformation:output_type -> google.protobuf.Empty
-	51, // 83: api.user.User.CreateUserPersonRoom:output_type -> api.chat.RoomReply
-	13, // 84: api.user.User.GetUserBalance:output_type -> api.user.UserBalance
-	52, // 85: api.user.User.UserGetHomeInfo:output_type -> api.common.HomeInfo
-	53, // 86: api.user.User.UserGetPersonLikedAndLooked:output_type -> api.common.LookedAndLikedNum
-	54, // 87: api.user.User.FindLookList:output_type -> api.statistics.LookAndLikeListReply
-	55, // 88: api.user.User.WxConf:output_type -> api.common.WxConfResponse
-	56, // 89: api.user.User.FindTagListBySex:output_type -> api.common.TagListReply
-	57, // 90: api.user.User.FindOnlineList:output_type -> api.common.RecommendPersonListReply
-	14, // 91: api.user.User.FindWithinSevenDayRoomList:output_type -> api.user.UserFindChatListReply
-	14, // 92: api.user.User.FindOverSevenDayRoomList:output_type -> api.user.UserFindChatListReply
-	58, // 93: api.user.User.FindChatRecordList:output_type -> api.common.ChatRecordListReply
-	59, // 94: api.user.User.FindChatRoomMsg:output_type -> api.common.ChatRoomMsg
-	60, // 95: api.user.User.GetUserIsLike:output_type -> api.common.IsLike
-	61, // 96: api.user.User.FindMemeByType:output_type -> api.common.MemeList
-	62, // 97: api.user.User.FindChatTopic:output_type -> api.common.ChatTopicList
-	63, // 98: api.user.User.RandomMeme:output_type -> api.common.CommonTextList
-	63, // 99: api.user.User.RandomSwiftMessage:output_type -> api.common.CommonTextList
-	64, // 100: api.user.User.FindMemeTitle:output_type -> api.common.MemeTitleList
-	65, // 101: api.user.User.UserGetChatCard:output_type -> api.common.ChatCardInfo
-	64, // 102: api.user.User.FindChatTopicTitle:output_type -> api.common.MemeTitleList
-	26, // 103: api.user.User.UserLike:output_type -> google.protobuf.Empty
-	26, // 104: api.user.User.UserUnLike:output_type -> google.protobuf.Empty
-	26, // 105: api.user.User.Report:output_type -> google.protobuf.Empty
-	66, // 106: api.user.User.FindOverSevenDayAvatar:output_type -> api.common.FindOverSevenDayAvatarReply
-	26, // 107: api.user.User.UpdateLastScripID:output_type -> google.protobuf.Empty
-	67, // 108: api.user.User.CreateScrip:output_type -> api.common.ScripID
-	26, // 109: api.user.User.DeleteScrip:output_type -> google.protobuf.Empty
-	68, // 110: api.user.User.FindMyScrip:output_type -> api.common.ScripReply
-	68, // 111: api.user.User.FindOtherScrip:output_type -> api.common.ScripReply
-	68, // 112: api.user.User.FindRecommendScrip:output_type -> api.common.ScripReply
-	26, // 113: api.user.User.PersonLookScrip:output_type -> google.protobuf.Empty
-	69, // 114: api.user.User.PersonClickLookBack:output_type -> api.common.ScripInfo
-	70, // 115: api.user.User.PersonReplyScrip:output_type -> api.common.ChatRecordInfo
-	26, // 116: api.user.User.UserDeleteChat:output_type -> google.protobuf.Empty
-	71, // 117: api.user.User.GetUserAllUnreadNum:output_type -> api.chat.UnreadNumReply
-	72, // 118: api.user.User.GetUserRoomByPerson:output_type -> api.chat.UserRoomInfo
-	54, // 119: api.user.User.FindLikeList:output_type -> api.statistics.LookAndLikeListReply
-	54, // 120: api.user.User.FindLikedList:output_type -> api.statistics.LookAndLikeListReply
-	26, // 121: api.user.User.UserSetBlackChat:output_type -> google.protobuf.Empty
-	73, // 122: api.user.User.CheckUserPartnerIsRelationship:output_type -> api.chat.CheckUserPartnerIsRelationshipReply
-	74, // 123: api.user.User.GetPartnerCircleInfo:output_type -> api.common.AddFriendMessageInfo
-	75, // 124: api.user.User.GetLookAndLikeStatisticsMessage:output_type -> api.statistics.LookAndLikeMessageReply
-	76, // 125: api.user.User.GetUserLookNum:output_type -> api.statistics.LookMessageReply
-	26, // 126: api.user.User.UserFinishInformation:output_type -> google.protobuf.Empty
-	12, // 127: api.user.User.UserInformationStatus:output_type -> api.user.InformationStatus
-	26, // 128: api.user.User.UserGetInformationAward:output_type -> google.protobuf.Empty
-	26, // 129: api.user.User.UnlockLookRecord:output_type -> google.protobuf.Empty
-	19, // 130: api.user.User.UserRecharge:output_type -> api.user.PayInfo
-	10, // 131: api.user.User.FindRechargeList:output_type -> api.user.RechargeList
-	21, // 132: api.user.User.FindPayList:output_type -> api.user.PayOrderList
-	57, // 133: api.user.User.FindRecommendPersonList:output_type -> api.common.RecommendPersonListReply
-	8,  // 134: api.user.User.FindMatchingAvatarAndNum:output_type -> api.user.FindMatchingAvatarAndNumReply
-	77, // 135: api.user.User.GetWindowInfo:output_type -> api.chat.WindowInfo
-	2,  // 136: api.user.User.GetUserFreeNum:output_type -> api.user.UserFreeNum
-	78, // 137: api.user.User.GetRandomMatching:output_type -> api.chat.GetRandomMatchingReply
-	26, // 138: api.user.User.UnlockVoice:output_type -> google.protobuf.Empty
-	26, // 139: api.user.User.UnlockPicture:output_type -> google.protobuf.Empty
-	26, // 140: api.user.User.UpdateUserIsRegister:output_type -> google.protobuf.Empty
-	51, // 141: api.user.User.CreateUserPartnerRoom:output_type -> api.chat.RoomReply
-	79, // 142: api.user.User.GetUserDBMsg:output_type -> api.common.PersonMsg
-	80, // 143: api.user.User.FindUserDBList:output_type -> api.common.PersonDBReply
-	26, // 144: api.user.User.UpdateLastScripIDDB:output_type -> google.protobuf.Empty
-	80, // 145: api.user.User.FindRecommendUserDBList:output_type -> api.common.PersonDBReply
-	26, // 146: api.user.User.UpdateUserLastLoginTime:output_type -> google.protobuf.Empty
-	26, // 147: api.user.User.SendMsgReduceCredit:output_type -> google.protobuf.Empty
-	26, // 148: api.user.User.LookBackScripReduceCredit:output_type -> google.protobuf.Empty
-	26, // 149: api.user.User.CreateScripReduceCredit:output_type -> google.protobuf.Empty
-	26, // 150: api.user.User.ReplyScripReduceCredit:output_type -> google.protobuf.Empty
-	26, // 151: api.user.User.MatchingCredit:output_type -> google.protobuf.Empty
-	26, // 152: api.user.User.SendNewMessageUnreadReminder:output_type -> google.protobuf.Empty
-	79, // [79:153] is the sub-list for method output_type
-	5,  // [5:79] is the sub-list for method input_type
+	0,  // 79: api.user.User.SendRecallReminder:input_type -> api.user.SendNewMessageUnreadReminderRequest
+	47, // 80: api.user.User.SendNewVisitorTemplateReminder:input_type -> api.common.PersonIDParam
+	16, // 81: api.user.User.GetUserInfo:output_type -> api.user.UserInfo
+	26, // 82: api.user.User.SendPhoneCode:output_type -> google.protobuf.Empty
+	26, // 83: api.user.User.CheckPhoneCode:output_type -> google.protobuf.Empty
+	26, // 84: api.user.User.UpdateUserInformation:output_type -> google.protobuf.Empty
+	51, // 85: api.user.User.CreateUserPersonRoom:output_type -> api.chat.RoomReply
+	13, // 86: api.user.User.GetUserBalance:output_type -> api.user.UserBalance
+	52, // 87: api.user.User.UserGetHomeInfo:output_type -> api.common.HomeInfo
+	53, // 88: api.user.User.UserGetPersonLikedAndLooked:output_type -> api.common.LookedAndLikedNum
+	54, // 89: api.user.User.FindLookList:output_type -> api.statistics.LookAndLikeListReply
+	55, // 90: api.user.User.WxConf:output_type -> api.common.WxConfResponse
+	56, // 91: api.user.User.FindTagListBySex:output_type -> api.common.TagListReply
+	57, // 92: api.user.User.FindOnlineList:output_type -> api.common.RecommendPersonListReply
+	14, // 93: api.user.User.FindWithinSevenDayRoomList:output_type -> api.user.UserFindChatListReply
+	14, // 94: api.user.User.FindOverSevenDayRoomList:output_type -> api.user.UserFindChatListReply
+	58, // 95: api.user.User.FindChatRecordList:output_type -> api.common.ChatRecordListReply
+	59, // 96: api.user.User.FindChatRoomMsg:output_type -> api.common.ChatRoomMsg
+	60, // 97: api.user.User.GetUserIsLike:output_type -> api.common.IsLike
+	61, // 98: api.user.User.FindMemeByType:output_type -> api.common.MemeList
+	62, // 99: api.user.User.FindChatTopic:output_type -> api.common.ChatTopicList
+	63, // 100: api.user.User.RandomMeme:output_type -> api.common.CommonTextList
+	63, // 101: api.user.User.RandomSwiftMessage:output_type -> api.common.CommonTextList
+	64, // 102: api.user.User.FindMemeTitle:output_type -> api.common.MemeTitleList
+	65, // 103: api.user.User.UserGetChatCard:output_type -> api.common.ChatCardInfo
+	64, // 104: api.user.User.FindChatTopicTitle:output_type -> api.common.MemeTitleList
+	26, // 105: api.user.User.UserLike:output_type -> google.protobuf.Empty
+	26, // 106: api.user.User.UserUnLike:output_type -> google.protobuf.Empty
+	26, // 107: api.user.User.Report:output_type -> google.protobuf.Empty
+	66, // 108: api.user.User.FindOverSevenDayAvatar:output_type -> api.common.FindOverSevenDayAvatarReply
+	26, // 109: api.user.User.UpdateLastScripID:output_type -> google.protobuf.Empty
+	67, // 110: api.user.User.CreateScrip:output_type -> api.common.ScripID
+	26, // 111: api.user.User.DeleteScrip:output_type -> google.protobuf.Empty
+	68, // 112: api.user.User.FindMyScrip:output_type -> api.common.ScripReply
+	68, // 113: api.user.User.FindOtherScrip:output_type -> api.common.ScripReply
+	68, // 114: api.user.User.FindRecommendScrip:output_type -> api.common.ScripReply
+	26, // 115: api.user.User.PersonLookScrip:output_type -> google.protobuf.Empty
+	69, // 116: api.user.User.PersonClickLookBack:output_type -> api.common.ScripInfo
+	70, // 117: api.user.User.PersonReplyScrip:output_type -> api.common.ChatRecordInfo
+	26, // 118: api.user.User.UserDeleteChat:output_type -> google.protobuf.Empty
+	71, // 119: api.user.User.GetUserAllUnreadNum:output_type -> api.chat.UnreadNumReply
+	72, // 120: api.user.User.GetUserRoomByPerson:output_type -> api.chat.UserRoomInfo
+	54, // 121: api.user.User.FindLikeList:output_type -> api.statistics.LookAndLikeListReply
+	54, // 122: api.user.User.FindLikedList:output_type -> api.statistics.LookAndLikeListReply
+	26, // 123: api.user.User.UserSetBlackChat:output_type -> google.protobuf.Empty
+	73, // 124: api.user.User.CheckUserPartnerIsRelationship:output_type -> api.chat.CheckUserPartnerIsRelationshipReply
+	74, // 125: api.user.User.GetPartnerCircleInfo:output_type -> api.common.AddFriendMessageInfo
+	75, // 126: api.user.User.GetLookAndLikeStatisticsMessage:output_type -> api.statistics.LookAndLikeMessageReply
+	76, // 127: api.user.User.GetUserLookNum:output_type -> api.statistics.LookMessageReply
+	26, // 128: api.user.User.UserFinishInformation:output_type -> google.protobuf.Empty
+	12, // 129: api.user.User.UserInformationStatus:output_type -> api.user.InformationStatus
+	26, // 130: api.user.User.UserGetInformationAward:output_type -> google.protobuf.Empty
+	26, // 131: api.user.User.UnlockLookRecord:output_type -> google.protobuf.Empty
+	19, // 132: api.user.User.UserRecharge:output_type -> api.user.PayInfo
+	10, // 133: api.user.User.FindRechargeList:output_type -> api.user.RechargeList
+	21, // 134: api.user.User.FindPayList:output_type -> api.user.PayOrderList
+	57, // 135: api.user.User.FindRecommendPersonList:output_type -> api.common.RecommendPersonListReply
+	8,  // 136: api.user.User.FindMatchingAvatarAndNum:output_type -> api.user.FindMatchingAvatarAndNumReply
+	77, // 137: api.user.User.GetWindowInfo:output_type -> api.chat.WindowInfo
+	2,  // 138: api.user.User.GetUserFreeNum:output_type -> api.user.UserFreeNum
+	78, // 139: api.user.User.GetRandomMatching:output_type -> api.chat.GetRandomMatchingReply
+	26, // 140: api.user.User.UnlockVoice:output_type -> google.protobuf.Empty
+	26, // 141: api.user.User.UnlockPicture:output_type -> google.protobuf.Empty
+	26, // 142: api.user.User.UpdateUserIsRegister:output_type -> google.protobuf.Empty
+	51, // 143: api.user.User.CreateUserPartnerRoom:output_type -> api.chat.RoomReply
+	79, // 144: api.user.User.GetUserDBMsg:output_type -> api.common.PersonMsg
+	80, // 145: api.user.User.FindUserDBList:output_type -> api.common.PersonDBReply
+	26, // 146: api.user.User.UpdateLastScripIDDB:output_type -> google.protobuf.Empty
+	80, // 147: api.user.User.FindRecommendUserDBList:output_type -> api.common.PersonDBReply
+	26, // 148: api.user.User.UpdateUserLastLoginTime:output_type -> google.protobuf.Empty
+	26, // 149: api.user.User.SendMsgReduceCredit:output_type -> google.protobuf.Empty
+	26, // 150: api.user.User.LookBackScripReduceCredit:output_type -> google.protobuf.Empty
+	26, // 151: api.user.User.CreateScripReduceCredit:output_type -> google.protobuf.Empty
+	26, // 152: api.user.User.ReplyScripReduceCredit:output_type -> google.protobuf.Empty
+	26, // 153: api.user.User.MatchingCredit:output_type -> google.protobuf.Empty
+	26, // 154: api.user.User.SendNewMessageUnreadReminder:output_type -> google.protobuf.Empty
+	26, // 155: api.user.User.SendRecallReminder:output_type -> google.protobuf.Empty
+	26, // 156: api.user.User.SendNewVisitorTemplateReminder:output_type -> google.protobuf.Empty
+	81, // [81:157] is the sub-list for method output_type
+	5,  // [5:81] is the sub-list for method input_type
 	5,  // [5:5] is the sub-list for extension type_name
 	5,  // [5:5] is the sub-list for extension extendee
 	0,  // [0:5] is the sub-list for field type_name

+ 4 - 0
api/user/user.proto

@@ -486,6 +486,10 @@ service User {
   rpc MatchingCredit (common.PersonParam) returns (google.protobuf.Empty);
   // 未读发送模板消息
   rpc SendNewMessageUnreadReminder (SendNewMessageUnreadReminderRequest) returns (google.protobuf.Empty){};
+  // 召回提醒
+  rpc SendRecallReminder (SendNewMessageUnreadReminderRequest) returns (google.protobuf.Empty){};
+  // 好友访问提醒
+  rpc SendNewVisitorTemplateReminder (common.PersonIDParam) returns (google.protobuf.Empty){};
 }
 
 message SendNewMessageUnreadReminderRequest{

+ 76 - 0
api/user/user_grpc.pb.go

@@ -173,6 +173,10 @@ type UserClient interface {
 	MatchingCredit(ctx context.Context, in *common.PersonParam, opts ...grpc.CallOption) (*emptypb.Empty, error)
 	// 未读发送模板消息
 	SendNewMessageUnreadReminder(ctx context.Context, in *SendNewMessageUnreadReminderRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+	// 召回提醒
+	SendRecallReminder(ctx context.Context, in *SendNewMessageUnreadReminderRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+	// 好友访问提醒
+	SendNewVisitorTemplateReminder(ctx context.Context, in *common.PersonIDParam, opts ...grpc.CallOption) (*emptypb.Empty, error)
 }
 
 type userClient struct {
@@ -849,6 +853,24 @@ func (c *userClient) SendNewMessageUnreadReminder(ctx context.Context, in *SendN
 	return out, nil
 }
 
+func (c *userClient) SendRecallReminder(ctx context.Context, in *SendNewMessageUnreadReminderRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+	out := new(emptypb.Empty)
+	err := c.cc.Invoke(ctx, "/api.user.User/SendRecallReminder", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *userClient) SendNewVisitorTemplateReminder(ctx context.Context, in *common.PersonIDParam, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+	out := new(emptypb.Empty)
+	err := c.cc.Invoke(ctx, "/api.user.User/SendNewVisitorTemplateReminder", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 // UserServer is the server API for User service.
 // All implementations must embed UnimplementedUserServer
 // for forward compatibility
@@ -1004,6 +1026,10 @@ type UserServer interface {
 	MatchingCredit(context.Context, *common.PersonParam) (*emptypb.Empty, error)
 	// 未读发送模板消息
 	SendNewMessageUnreadReminder(context.Context, *SendNewMessageUnreadReminderRequest) (*emptypb.Empty, error)
+	// 召回提醒
+	SendRecallReminder(context.Context, *SendNewMessageUnreadReminderRequest) (*emptypb.Empty, error)
+	// 好友访问提醒
+	SendNewVisitorTemplateReminder(context.Context, *common.PersonIDParam) (*emptypb.Empty, error)
 	mustEmbedUnimplementedUserServer()
 }
 
@@ -1233,6 +1259,12 @@ func (UnimplementedUserServer) MatchingCredit(context.Context, *common.PersonPar
 func (UnimplementedUserServer) SendNewMessageUnreadReminder(context.Context, *SendNewMessageUnreadReminderRequest) (*emptypb.Empty, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method SendNewMessageUnreadReminder not implemented")
 }
+func (UnimplementedUserServer) SendRecallReminder(context.Context, *SendNewMessageUnreadReminderRequest) (*emptypb.Empty, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method SendRecallReminder not implemented")
+}
+func (UnimplementedUserServer) SendNewVisitorTemplateReminder(context.Context, *common.PersonIDParam) (*emptypb.Empty, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method SendNewVisitorTemplateReminder not implemented")
+}
 func (UnimplementedUserServer) mustEmbedUnimplementedUserServer() {}
 
 // UnsafeUserServer may be embedded to opt out of forward compatibility for this service.
@@ -2578,6 +2610,42 @@ func _User_SendNewMessageUnreadReminder_Handler(srv interface{}, ctx context.Con
 	return interceptor(ctx, in, info, handler)
 }
 
+func _User_SendRecallReminder_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(SendNewMessageUnreadReminderRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(UserServer).SendRecallReminder(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/api.user.User/SendRecallReminder",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(UserServer).SendRecallReminder(ctx, req.(*SendNewMessageUnreadReminderRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _User_SendNewVisitorTemplateReminder_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(common.PersonIDParam)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(UserServer).SendNewVisitorTemplateReminder(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/api.user.User/SendNewVisitorTemplateReminder",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(UserServer).SendNewVisitorTemplateReminder(ctx, req.(*common.PersonIDParam))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 // User_ServiceDesc is the grpc.ServiceDesc for User service.
 // It's only intended for direct use with grpc.RegisterService,
 // and not to be introspected or modified (even as a copy)
@@ -2881,6 +2949,14 @@ var User_ServiceDesc = grpc.ServiceDesc{
 			MethodName: "SendNewMessageUnreadReminder",
 			Handler:    _User_SendNewMessageUnreadReminder_Handler,
 		},
+		{
+			MethodName: "SendRecallReminder",
+			Handler:    _User_SendRecallReminder_Handler,
+		},
+		{
+			MethodName: "SendNewVisitorTemplateReminder",
+			Handler:    _User_SendNewVisitorTemplateReminder_Handler,
+		},
 	},
 	Streams:  []grpc.StreamDesc{},
 	Metadata: "user.proto",