Merge remote-tracking branch 'origin/v2.3.0release' into v2.3.0release

pull/351/head
skiffer-git 2 years ago
commit 6af9d3129e

@ -137,6 +137,7 @@ func main() {
thirdGroup.POST("/get_rtc_invitation_start_app", apiThird.GetRTCInvitationInfoStartApp)
thirdGroup.POST("/fcm_update_token", apiThird.FcmUpdateToken)
thirdGroup.POST("/aws_storage_credential", apiThird.AwsStorageCredential)
thirdGroup.POST("/set_app_badge", apiThird.SetAppBadge)
}
//Message
chatGroup := r.Group("/msg")

@ -0,0 +1,50 @@
package apiThird
import (
api "Open_IM/pkg/base_info"
"Open_IM/pkg/common/db"
"Open_IM/pkg/common/log"
"Open_IM/pkg/common/token_verify"
"Open_IM/pkg/utils"
"github.com/gin-gonic/gin"
"net/http"
)
func SetAppBadge(c *gin.Context) {
var (
req api.SetAppBadgeReq
resp api.SetAppBadgeResp
)
if err := c.Bind(&req); err != nil {
log.NewError("0", utils.GetSelfFuncName(), "BindJSON failed ", err.Error())
c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()})
return
}
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req)
var ok bool
var errInfo, opUserID string
ok, opUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID)
if !ok {
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
log.NewError(req.OperationID, errMsg)
c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": errMsg})
return
}
if !token_verify.CheckAccess(opUserID, req.FromUserID) {
log.NewError(req.OperationID, "CheckAccess false ", opUserID, req.FromUserID)
c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "no permission"})
}
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req, opUserID)
err := db.DB.SetUserBadgeUnreadCountSum(req.FromUserID, int(req.AppUnreadCount))
if err != nil {
errMsg := req.OperationID + " " + "SetUserBadgeUnreadCountSum failed " + err.Error() + " token:" + c.Request.Header.Get("token")
log.NewError(req.OperationID, errMsg)
resp.ErrCode = 500
resp.ErrMsg = errMsg
c.JSON(http.StatusInternalServerError, resp)
return
}
c.JSON(http.StatusOK, resp)
return
}

@ -90,6 +90,7 @@ func (f *Fcm) Push(accounts []string, title, detailContent, operationID string,
}
for _, token := range personTokens {
temp := &messaging.Message{
Data: map[string]string{"ex": opts.Data},
Token: token,
Notification: notification,
APNS: apns,

@ -300,6 +300,7 @@ func GetOfflinePushOpts(pushMsg *pbPush.PushMsgReq) (opts push.PushOpts, err err
if pushMsg.MsgData.OfflinePushInfo != nil {
opts.IOSBadgeCount = pushMsg.MsgData.OfflinePushInfo.IOSBadgeCount
opts.IOSPushSound = pushMsg.MsgData.OfflinePushInfo.IOSPushSound
opts.Data = pushMsg.MsgData.OfflinePushInfo.Ex
}
return opts, nil

@ -12,6 +12,7 @@ type PushOpts struct {
Signal Signal
IOSPushSound string
IOSBadgeCount bool
Data string
}
type Signal struct {

@ -75,14 +75,6 @@ func (rpc *rpcConversation) ModifyConversationField(c context.Context, req *pbCo
case constant.FieldUnread:
isSyncConversation = false
err = imdb.UpdateColumnsConversations(haveUserID, req.Conversation.ConversationID, map[string]interface{}{"update_unread_count_time": conversation.UpdateUnreadCountTime})
for _, v := range req.UserIDList {
if err = db.DB.SetUserBadgeUnreadCountSum(v, int(req.BadgeUnreadCountSum)); err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetUserBadgeUnreadCountSum, rpc return", err.Error())
resp.CommonResp = &pbConversation.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}
return resp, nil
}
}
}
if err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), "UpdateColumnsConversations error", err.Error())

@ -61,10 +61,9 @@ type SetConversationResp struct {
}
type ModifyConversationFieldReq struct {
Conversation
FieldType int32 `json:"fieldType" binding:"required"`
UserIDList []string `json:"userIDList" binding:"required"`
BadgeUnreadCountSum int32 `json:"badgeUnreadCountSum"`
OperationID string `json:"operationID" binding:"required"`
FieldType int32 `json:"fieldType" binding:"required"`
UserIDList []string `json:"userIDList" binding:"required"`
OperationID string `json:"operationID" binding:"required"`
}
type ModifyConversationFieldResp struct {
CommResp

@ -112,3 +112,12 @@ type FcmUpdateTokenReq struct {
type FcmUpdateTokenResp struct {
CommResp
}
type SetAppBadgeReq struct {
OperationID string `json:"operationID" binding:"required"`
FromUserID string `json:"fromUserID" binding:"required"`
AppUnreadCount int32 `json:"appUnreadCount"`
}
type SetAppBadgeResp struct {
CommResp
}

@ -35,7 +35,7 @@ func (m *CommonResp) Reset() { *m = CommonResp{} }
func (m *CommonResp) String() string { return proto.CompactTextString(m) }
func (*CommonResp) ProtoMessage() {}
func (*CommonResp) Descriptor() ([]byte, []int) {
return fileDescriptor_conversation_f01d9caff8d16987, []int{0}
return fileDescriptor_conversation_ac55165355a1b6e6, []int{0}
}
func (m *CommonResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CommonResp.Unmarshal(m, b)
@ -94,7 +94,7 @@ func (m *Conversation) Reset() { *m = Conversation{} }
func (m *Conversation) String() string { return proto.CompactTextString(m) }
func (*Conversation) ProtoMessage() {}
func (*Conversation) Descriptor() ([]byte, []int) {
return fileDescriptor_conversation_f01d9caff8d16987, []int{1}
return fileDescriptor_conversation_ac55165355a1b6e6, []int{1}
}
func (m *Conversation) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Conversation.Unmarshal(m, b)
@ -224,7 +224,6 @@ type ModifyConversationFieldReq struct {
FieldType int32 `protobuf:"varint,2,opt,name=fieldType" json:"fieldType,omitempty"`
UserIDList []string `protobuf:"bytes,3,rep,name=userIDList" json:"userIDList,omitempty"`
OperationID string `protobuf:"bytes,4,opt,name=operationID" json:"operationID,omitempty"`
BadgeUnreadCountSum int32 `protobuf:"varint,5,opt,name=badgeUnreadCountSum" json:"badgeUnreadCountSum,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -234,7 +233,7 @@ func (m *ModifyConversationFieldReq) Reset() { *m = ModifyConversationFi
func (m *ModifyConversationFieldReq) String() string { return proto.CompactTextString(m) }
func (*ModifyConversationFieldReq) ProtoMessage() {}
func (*ModifyConversationFieldReq) Descriptor() ([]byte, []int) {
return fileDescriptor_conversation_f01d9caff8d16987, []int{2}
return fileDescriptor_conversation_ac55165355a1b6e6, []int{2}
}
func (m *ModifyConversationFieldReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ModifyConversationFieldReq.Unmarshal(m, b)
@ -282,13 +281,6 @@ func (m *ModifyConversationFieldReq) GetOperationID() string {
return ""
}
func (m *ModifyConversationFieldReq) GetBadgeUnreadCountSum() int32 {
if m != nil {
return m.BadgeUnreadCountSum
}
return 0
}
type ModifyConversationFieldResp struct {
CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -300,7 +292,7 @@ func (m *ModifyConversationFieldResp) Reset() { *m = ModifyConversationF
func (m *ModifyConversationFieldResp) String() string { return proto.CompactTextString(m) }
func (*ModifyConversationFieldResp) ProtoMessage() {}
func (*ModifyConversationFieldResp) Descriptor() ([]byte, []int) {
return fileDescriptor_conversation_f01d9caff8d16987, []int{3}
return fileDescriptor_conversation_ac55165355a1b6e6, []int{3}
}
func (m *ModifyConversationFieldResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ModifyConversationFieldResp.Unmarshal(m, b)
@ -407,42 +399,40 @@ var _Conversation_serviceDesc = grpc.ServiceDesc{
}
func init() {
proto.RegisterFile("conversation/conversation.proto", fileDescriptor_conversation_f01d9caff8d16987)
}
var fileDescriptor_conversation_f01d9caff8d16987 = []byte{
// 513 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0x5d, 0x8b, 0x13, 0x3f,
0x18, 0xc5, 0x99, 0xbe, 0x6d, 0xfb, 0xb4, 0xdb, 0xff, 0x9f, 0x88, 0x1a, 0xba, 0xbe, 0x94, 0x22,
0x32, 0x7a, 0x51, 0x65, 0xf5, 0x42, 0x10, 0x16, 0xb4, 0x45, 0x19, 0xb0, 0xba, 0xc4, 0x2e, 0x82,
0x77, 0xb3, 0x9d, 0xa7, 0xdd, 0x80, 0x4d, 0xc6, 0x24, 0x53, 0xbb, 0x37, 0x7e, 0x06, 0x3f, 0xa9,
0x9f, 0x41, 0x92, 0x69, 0xb7, 0xc9, 0xba, 0x05, 0x2f, 0x9f, 0x5f, 0x32, 0x27, 0xe7, 0xa4, 0xa7,
0x81, 0x87, 0x33, 0x29, 0x56, 0xa8, 0x74, 0x6a, 0xb8, 0x14, 0xcf, 0xfc, 0x61, 0x98, 0x2b, 0x69,
0x24, 0xe9, 0xf8, 0x6c, 0x70, 0x02, 0x30, 0x92, 0xcb, 0xa5, 0x14, 0x0c, 0x75, 0x4e, 0x28, 0x1c,
0xa0, 0x52, 0x23, 0x99, 0x21, 0x8d, 0xfa, 0x51, 0x5c, 0x67, 0xdb, 0x91, 0xdc, 0x81, 0x06, 0x2a,
0x35, 0xd1, 0x0b, 0x5a, 0xe9, 0x47, 0x71, 0x8b, 0x6d, 0xa6, 0xc1, 0xaf, 0x1a, 0x74, 0x46, 0x9e,
0x20, 0xe9, 0x43, 0x5b, 0xfe, 0x10, 0xa8, 0xce, 0x34, 0xaa, 0x64, 0xec, 0x64, 0x5a, 0xcc, 0x47,
0xe4, 0x31, 0x74, 0x7d, 0x0b, 0xc9, 0x78, 0x23, 0x79, 0x8d, 0x92, 0x07, 0x00, 0x0a, 0x67, 0xab,
0x89, 0x5e, 0x7c, 0xca, 0x0d, 0xad, 0x3a, 0x3f, 0x1e, 0x21, 0x4f, 0xe1, 0x7f, 0xff, 0x8b, 0xe9,
0x65, 0x8e, 0xb4, 0xe6, 0x76, 0xfd, 0xc5, 0xad, 0xfd, 0xa2, 0x34, 0x54, 0x2f, 0xed, 0x97, 0x93,
0x0d, 0xbc, 0x50, 0xb2, 0xc8, 0x93, 0x31, 0x6d, 0xb8, 0x85, 0xed, 0x68, 0x73, 0x14, 0x42, 0x61,
0x9a, 0x8d, 0x64, 0x21, 0x0c, 0x3d, 0x70, 0xc2, 0x3e, 0x22, 0x8f, 0xe0, 0x30, 0x53, 0xe9, 0xdc,
0x4c, 0x71, 0x6d, 0xa6, 0x7c, 0x89, 0xb4, 0xd9, 0x8f, 0xe2, 0x2a, 0x0b, 0x21, 0xe9, 0x41, 0x93,
0xeb, 0x53, 0x2e, 0x04, 0x66, 0xb4, 0xd5, 0x8f, 0xe2, 0x26, 0xbb, 0x9a, 0xc9, 0x00, 0x3a, 0xa9,
0x31, 0xe9, 0xec, 0x02, 0xb3, 0x44, 0xcc, 0x25, 0x05, 0x67, 0x21, 0x60, 0xf6, 0x14, 0xae, 0x4f,
0x15, 0x5f, 0xa5, 0x06, 0x47, 0x17, 0xa9, 0xa1, 0x6d, 0x27, 0x12, 0x42, 0xeb, 0xd6, 0x19, 0x7f,
0x63, 0xdc, 0x35, 0x74, 0x4a, 0xb7, 0x1e, 0xb2, 0x67, 0x71, 0xfd, 0x51, 0x9a, 0x44, 0xbc, 0xb7,
0x94, 0x1e, 0x3a, 0x99, 0x80, 0x91, 0x2e, 0x54, 0x70, 0x4d, 0xbb, 0xce, 0x45, 0x05, 0xd7, 0xe4,
0x25, 0xdc, 0x2e, 0xf2, 0x2c, 0x35, 0x78, 0xb6, 0x8b, 0xed, 0x92, 0xfe, 0xe7, 0x92, 0xde, 0xbc,
0x38, 0xf8, 0x1d, 0x41, 0x6f, 0x22, 0x33, 0x3e, 0xbf, 0xf4, 0x8b, 0xf1, 0x8e, 0xe3, 0xb7, 0x8c,
0xe1, 0x77, 0x72, 0x02, 0x41, 0x03, 0x5d, 0x43, 0xda, 0xc7, 0xbd, 0x61, 0x50, 0x55, 0xff, 0x4b,
0x16, 0xec, 0x27, 0xf7, 0xa0, 0x35, 0xb7, 0x5a, 0x2e, 0x68, 0xc5, 0x05, 0xdd, 0x01, 0x5b, 0x9a,
0xf2, 0xa7, 0xfd, 0xc0, 0xb5, 0x2d, 0x4d, 0x35, 0x6e, 0x31, 0x8f, 0xb8, 0x7a, 0xe6, 0xa8, 0xb6,
0xcd, 0xab, 0x6d, 0xea, 0xb9, 0x43, 0xe4, 0x39, 0xdc, 0x3a, 0x4f, 0xb3, 0x85, 0x1f, 0xeb, 0x73,
0xb1, 0x74, 0xbd, 0xa9, 0xb3, 0x9b, 0x96, 0x06, 0x5f, 0xe0, 0x68, 0x6f, 0x5e, 0x9d, 0x93, 0x57,
0x00, 0xb3, 0xab, 0xbf, 0xd8, 0x26, 0x2e, 0xbd, 0x1e, 0x77, 0xbb, 0xce, 0xbc, 0xbd, 0xc7, 0x3f,
0xc3, 0xab, 0x22, 0x02, 0xee, 0xee, 0x39, 0x88, 0xc4, 0xa1, 0xe0, 0xfe, 0xfb, 0xef, 0x3d, 0xf9,
0xc7, 0x9d, 0x3a, 0x7f, 0x7b, 0xff, 0xeb, 0xd1, 0x30, 0x78, 0x42, 0x5e, 0xfb, 0xc3, 0x79, 0xc3,
0x3d, 0x28, 0x2f, 0xfe, 0x04, 0x00, 0x00, 0xff, 0xff, 0x9a, 0xf4, 0x2a, 0xa6, 0x73, 0x04, 0x00,
0x00,
proto.RegisterFile("conversation/conversation.proto", fileDescriptor_conversation_ac55165355a1b6e6)
}
var fileDescriptor_conversation_ac55165355a1b6e6 = []byte{
// 494 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0x5f, 0x8b, 0x13, 0x31,
0x14, 0xc5, 0x99, 0x6e, 0xb7, 0xdb, 0xde, 0x76, 0xab, 0x04, 0xd4, 0xd0, 0xf5, 0x4f, 0x19, 0x44,
0x46, 0x1f, 0x2a, 0xac, 0x3e, 0x08, 0xc2, 0x82, 0x4e, 0x51, 0x06, 0xac, 0x2e, 0xa1, 0x8b, 0xe0,
0xdb, 0xd8, 0xb9, 0xed, 0x06, 0x6c, 0x32, 0x26, 0x99, 0xda, 0x7d, 0xf1, 0x33, 0xf8, 0x81, 0xfc,
0x70, 0x92, 0x4c, 0xbb, 0x4d, 0x56, 0x0b, 0x3e, 0xde, 0x5f, 0xee, 0x9c, 0x9c, 0x33, 0x3d, 0x1d,
0x78, 0x34, 0x93, 0x62, 0x85, 0x4a, 0xe7, 0x86, 0x4b, 0xf1, 0xdc, 0x1f, 0x46, 0xa5, 0x92, 0x46,
0x92, 0x9e, 0xcf, 0xe2, 0x33, 0x80, 0x54, 0x2e, 0x97, 0x52, 0x30, 0xd4, 0x25, 0xa1, 0x70, 0x84,
0x4a, 0xa5, 0xb2, 0x40, 0x1a, 0x0d, 0xa3, 0xe4, 0x90, 0x6d, 0x47, 0x72, 0x17, 0x5a, 0xa8, 0xd4,
0x44, 0x2f, 0x68, 0x63, 0x18, 0x25, 0x1d, 0xb6, 0x99, 0xe2, 0x5f, 0x4d, 0xe8, 0xa5, 0x9e, 0x20,
0x19, 0x42, 0x57, 0xfe, 0x10, 0xa8, 0x2e, 0x34, 0xaa, 0x6c, 0xec, 0x64, 0x3a, 0xcc, 0x47, 0xe4,
0x09, 0xf4, 0x7d, 0x0b, 0xd9, 0x78, 0x23, 0x79, 0x83, 0x92, 0x87, 0x00, 0x0a, 0x67, 0xab, 0x89,
0x5e, 0x7c, 0x2a, 0x0d, 0x3d, 0x70, 0x7e, 0x3c, 0x42, 0x9e, 0xc1, 0x6d, 0xff, 0x89, 0xe9, 0x55,
0x89, 0xb4, 0xe9, 0xb6, 0xfe, 0xe2, 0xd6, 0x7e, 0x55, 0x1b, 0x3a, 0xac, 0xed, 0xd7, 0x93, 0x0d,
0xbc, 0x50, 0xb2, 0x2a, 0xb3, 0x31, 0x6d, 0xb9, 0x83, 0xed, 0x68, 0x73, 0x54, 0x42, 0x61, 0x5e,
0xa4, 0xb2, 0x12, 0x86, 0x1e, 0x39, 0x61, 0x1f, 0x91, 0xc7, 0x70, 0x5c, 0xa8, 0x7c, 0x6e, 0xa6,
0xb8, 0x36, 0x53, 0xbe, 0x44, 0xda, 0x1e, 0x46, 0xc9, 0x01, 0x0b, 0x21, 0x19, 0x40, 0x9b, 0xeb,
0x73, 0x2e, 0x04, 0x16, 0xb4, 0x33, 0x8c, 0x92, 0x36, 0xbb, 0x9e, 0x49, 0x0c, 0xbd, 0xdc, 0x98,
0x7c, 0x76, 0x89, 0x45, 0x26, 0xe6, 0x92, 0x82, 0xb3, 0x10, 0x30, 0x7b, 0x0b, 0xd7, 0xe7, 0x8a,
0xaf, 0x72, 0x83, 0xe9, 0x65, 0x6e, 0x68, 0xd7, 0x89, 0x84, 0xd0, 0xba, 0x75, 0xc6, 0xdf, 0x18,
0xf7, 0x1a, 0x7a, 0xb5, 0x5b, 0x0f, 0xd9, 0xbb, 0xb8, 0xfe, 0x28, 0x4d, 0x26, 0xde, 0x5b, 0x4a,
0x8f, 0x9d, 0x4c, 0xc0, 0x48, 0x1f, 0x1a, 0xb8, 0xa6, 0x7d, 0xe7, 0xa2, 0x81, 0x6b, 0xf2, 0x12,
0xee, 0x54, 0x65, 0x91, 0x1b, 0xbc, 0xd8, 0xc5, 0x76, 0x49, 0x6f, 0xb9, 0xa4, 0xff, 0x3e, 0x8c,
0x7f, 0x47, 0x30, 0x98, 0xc8, 0x82, 0xcf, 0xaf, 0xfc, 0x62, 0xbc, 0xe3, 0xf8, 0xad, 0x60, 0xf8,
0x9d, 0x9c, 0x41, 0xd0, 0x40, 0xd7, 0x90, 0xee, 0xe9, 0x60, 0x14, 0x54, 0xd5, 0x7f, 0x92, 0x05,
0xfb, 0xe4, 0x3e, 0x74, 0xe6, 0x56, 0xcb, 0x05, 0x6d, 0xb8, 0xa0, 0x3b, 0x60, 0x4b, 0x53, 0xff,
0xb4, 0x1f, 0xb8, 0xb6, 0xa5, 0x39, 0x48, 0x3a, 0xcc, 0x23, 0xae, 0x9e, 0x25, 0xaa, 0x6d, 0xf3,
0x9a, 0x9b, 0x7a, 0xee, 0x50, 0xfc, 0x19, 0x4e, 0xf6, 0xba, 0xd7, 0x25, 0x79, 0x05, 0x30, 0xbb,
0xfe, 0xc3, 0x6c, 0xcc, 0xd3, 0x9b, 0xe6, 0xb7, 0xe7, 0xcc, 0xdb, 0x3d, 0xfd, 0x19, 0x06, 0x27,
0x02, 0xee, 0xed, 0xb9, 0x88, 0x24, 0xa1, 0xe0, 0xfe, 0xb7, 0x39, 0x78, 0xfa, 0x9f, 0x9b, 0xba,
0x7c, 0xfb, 0xe0, 0xcb, 0xc9, 0x28, 0xf8, 0x20, 0xbc, 0xf6, 0x87, 0xaf, 0x2d, 0xf7, 0x79, 0x78,
0xf1, 0x27, 0x00, 0x00, 0xff, 0xff, 0x12, 0x56, 0xaa, 0x7b, 0x41, 0x04, 0x00, 0x00,
}

@ -29,7 +29,6 @@ message ModifyConversationFieldReq{
int32 fieldType = 2;
repeated string userIDList = 3;
string operationID = 4;
int32 badgeUnreadCountSum = 5;
}
message ModifyConversationFieldResp{

Loading…
Cancel
Save