From 446b412c563f3c5eb448116fe7c90cc6b5573327 Mon Sep 17 00:00:00 2001 From: richboo111 Date: Mon, 25 Sep 2023 15:08:47 +0800 Subject: [PATCH 1/3] 1 --- business/model/const.go | 5 +++++ business/partner/im/im.go | 8 ++++++++ business/partner/im/im_model.go | 1 + business/partner/partner_im.go | 35 +++++++++++++++++++++++++++++++++ 4 files changed, 49 insertions(+) create mode 100644 business/partner/partner_im.go diff --git a/business/model/const.go b/business/model/const.go index 2df65c8fc..10d67e486 100644 --- a/business/model/const.go +++ b/business/model/const.go @@ -526,6 +526,11 @@ func IsPrinterVendorExist(vendorID int) bool { return ok && vendorID >= VendorIDPrinterBegin && vendorID <= VendorIDPrinterEnd } +func IsImVendorExist(vendorID int) bool { + _, ok := VendorNames[vendorID] + return ok && vendorID >= VendorIDPurchaseBegin && vendorID <= VendorIDPurchaseEnd +} + func IsOrderLockStatus(status int) bool { return status == OrderStatusLocked || status == OrderStatusApplyCancel } diff --git a/business/partner/im/im.go b/business/partner/im/im.go index d91943322..2baa62a17 100644 --- a/business/partner/im/im.go +++ b/business/partner/im/im.go @@ -69,6 +69,10 @@ func ReadMsgFromClient(vendorID int, elmAppID string, msg interface{}) error { UserID: utils.Int2Str(pushContent.OpenUserID), LatestMsg: pushContent.MsgContent, LatestTime: pushContent.Cts, + OrderID: "", + } + if pushContent.OrderID != 0 { + userList.OrderID = utils.Int2Str(pushContent.OrderID) } } if vendorID == VendorIDELM { @@ -127,8 +131,12 @@ func ReadMsgFromVendor(vendorID int, elmAppID string, msg []byte) error { UserID: utils.Int2Str(PushContentReq.OpenUserID), LatestMsg: PushContentReq.MsgContent, LatestTime: PushContentReq.Cts, + OrderID: "", } vendorStoreID = PushContentReq.AppPoiCode + if PushContentReq.OrderID != 0 { + userList.OrderID = utils.Int2Str(PushContentReq.OrderID) + } } if vendorID == VendorIDELM { var ElmData = ebaiapi.ImMessageSend{} diff --git a/business/partner/im/im_model.go b/business/partner/im/im_model.go index f5c9d193c..85acade5f 100644 --- a/business/partner/im/im_model.go +++ b/business/partner/im/im_model.go @@ -22,6 +22,7 @@ type JXMsg struct { type UserMessageList struct { VendorID int `json:"vendorID"` //平台品牌 1-美团 3-饿了么 UserID string `json:"userID"` //用户ID + OrderID string `json:"orderID"` //已下单才有 NewMessageNum int `json:"NewMessageNum"` //新消息数量 LatestMsg string `json:"latestMsg"` //最新一条消息 LatestTime int `json:"latestTime"` //最新一条消息发送时间 diff --git a/business/partner/partner_im.go b/business/partner/partner_im.go new file mode 100644 index 000000000..2ae3c7c6d --- /dev/null +++ b/business/partner/partner_im.go @@ -0,0 +1,35 @@ +package partner + +// +//import ( +// "fmt" +// +// "git.rosy.net.cn/jx-callback/business/model" +//) +// +//type IImHandler interface { +// GetVendorID() int +//} +// +//var ( +// ImPlatformHandlers map[int]IImHandler +//) +// +//func init() { +// ImPlatformHandlers = make(map[int]IImHandler) +//} +// +//func RegisterImPlatform(handler IImHandler) { +// vendorID := handler.GetVendorID() +// if !(model.IsImVendorExist(vendorID)) { +// panic(fmt.Sprintf("Im vendor:%d is illegal", vendorID)) +// } +// if _, ok := ImPlatformHandlers[vendorID]; ok { +// panic(fmt.Sprintf("Im vendor:%d, already exists", vendorID)) +// } +// ImPlatformHandlers[vendorID] = handler +//} +// +//func GetImPlatformFromVendorID(vendorID int) IImHandler { +// return ImPlatformHandlers[vendorID] +//} From 1785c81668f2e8b5c915f1b86fe95ec8146ef48f Mon Sep 17 00:00:00 2001 From: richboo111 Date: Mon, 25 Sep 2023 17:08:57 +0800 Subject: [PATCH 2/3] 1 --- business/partner/im/im.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/business/partner/im/im.go b/business/partner/im/im.go index 2baa62a17..5641bc52a 100644 --- a/business/partner/im/im.go +++ b/business/partner/im/im.go @@ -71,9 +71,11 @@ func ReadMsgFromClient(vendorID int, elmAppID string, msg interface{}) error { LatestTime: pushContent.Cts, OrderID: "", } + globals.SugarLogger.Debugf("ReadMsgFromClient pushContent.OrderID=%d", pushContent.OrderID) if pushContent.OrderID != 0 { userList.OrderID = utils.Int2Str(pushContent.OrderID) } + globals.SugarLogger.Debugf("ReadMsgFromClient userList=%s", utils.Format4Output(userList, false)) } if vendorID == VendorIDELM { var ElmData = ebaiapi.ImMessageSend{} From 147b74aa0d3771b58103666fdabfe0bd78885881 Mon Sep 17 00:00:00 2001 From: richboo111 Date: Mon, 25 Sep 2023 17:31:17 +0800 Subject: [PATCH 3/3] 1 --- controllers/im.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/controllers/im.go b/controllers/im.go index 772f5eb5d..065e8ef84 100644 --- a/controllers/im.go +++ b/controllers/im.go @@ -5,6 +5,8 @@ import ( "encoding/json" "fmt" + "git.rosy.net.cn/jx-callback/globals" + "git.rosy.net.cn/baseapi/platformapi/mtwmapi" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/partner" @@ -101,8 +103,9 @@ func (c *IMController) SendToVendorV2() { // @router /GetPoiIMStatus [get] func (c *IMController) GetPoiIMStatus() { c.callGetPoiIMStatus(func(params *tImGetPoiIMStatusParams) (interface{}, string, error) { - //retVal, err := api.MtwmAPI.GetPoiIMStatus(params.AppPoiCode) - retVal, err := partner.CurAPIManager.GetAPI(model.VendorIDMTWM, params.VendorOrgCode).(*mtwmapi.API).GetPoiIMStatus(params.AppPoiCode) + var api = partner.CurAPIManager.GetAPI(model.VendorIDMTWM, params.VendorOrgCode).(*mtwmapi.API) + globals.SugarLogger.Debugf("GetPoiIMStatus appID=%s", api.GetAppID()) + retVal, err := api.GetPoiIMStatus(params.AppPoiCode) return retVal, "", err }) }