1
This commit is contained in:
@@ -851,6 +851,7 @@ func CheckAndReply(req *JXMsg, elmAppID string) (err error) {
|
||||
//}
|
||||
|
||||
// GetIfReply 检查是否已回复
|
||||
// 美团只需要第一条消息在一分钟之内回复就达标了,后面不需要自动回复了
|
||||
func GetIfReply(key string, keyDetail UserRelInfo) (flag bool) {
|
||||
flag = false
|
||||
if n, err := rdb.Exists(key); n > 0 && err == nil {
|
||||
@@ -877,26 +878,48 @@ func GetIfReply(key string, keyDetail UserRelInfo) (flag bool) {
|
||||
if err == nil && detail != nil {
|
||||
tKey := keyDetail.AppID + ":" + keyDetail.VendorStoreID + ":" + keyDetail.VendorID + ":" + keyDetail.UserID
|
||||
if detail[tKey] != nil {
|
||||
tDetail := detail[tKey][len(detail[tKey])-1]
|
||||
b := tDetail.(string)
|
||||
lastMsg := &JXMsg{}
|
||||
err = json.Unmarshal([]byte(b), lastMsg)
|
||||
if err != nil || lastMsg.SendType == SendTypeJx {
|
||||
return false
|
||||
}
|
||||
switch keyDetail.VendorID {
|
||||
case VendorIDMTStr:
|
||||
mt := lastMsg.MsgContent.(map[string]interface{})
|
||||
if mt["msg_source"].(float64) != mtwmapi.MsgSourceUser {
|
||||
for _, v := range detail[tKey] {
|
||||
b := v.(string)
|
||||
lastMsg := &JXMsg{}
|
||||
err = json.Unmarshal([]byte(b), lastMsg)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
case VendorIDELMStr:
|
||||
elm := lastMsg.MsgContent.(map[string]interface{})
|
||||
s := elm["payLoad"].(map[string]interface{})["senderId"].(string)
|
||||
if s == "" || s[:2] != ebaiapi.SenderTypeUser {
|
||||
return false
|
||||
switch keyDetail.VendorID {
|
||||
case VendorIDMTStr:
|
||||
mt := lastMsg.MsgContent.(map[string]interface{})
|
||||
if mt["msg_source"].(float64) == mtwmapi.MsgSourceStore {
|
||||
return true
|
||||
}
|
||||
case VendorIDELMStr:
|
||||
elm := lastMsg.MsgContent.(map[string]interface{})
|
||||
s := elm["payLoad"].(map[string]interface{})["senderId"].(string)
|
||||
if s == "" || s[:2] == ebaiapi.SenderTypeBusiness || s[:2] == ebaiapi.SenderTypeChainedAccountLogin || s[:2] == ebaiapi.SenderTypeSystem {
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//tDetail := detail[tKey][len(detail[tKey])-1]
|
||||
//b := tDetail.(string)
|
||||
//lastMsg := &JXMsg{}
|
||||
//err = json.Unmarshal([]byte(b), lastMsg)
|
||||
//if err != nil || lastMsg.SendType == SendTypeJx {
|
||||
// return false
|
||||
//}
|
||||
//switch keyDetail.VendorID {
|
||||
//case VendorIDMTStr:
|
||||
// mt := lastMsg.MsgContent.(map[string]interface{})
|
||||
// if mt["msg_source"].(float64) != mtwmapi.MsgSourceUser {
|
||||
// return false
|
||||
// }
|
||||
//case VendorIDELMStr:
|
||||
// elm := lastMsg.MsgContent.(map[string]interface{})
|
||||
// s := elm["payLoad"].(map[string]interface{})["senderId"].(string)
|
||||
// if s == "" || s[:2] != ebaiapi.SenderTypeUser {
|
||||
// return false
|
||||
// }
|
||||
//}
|
||||
}
|
||||
}
|
||||
return flag
|
||||
|
||||
Reference in New Issue
Block a user