This commit is contained in:
邹宗楠
2024-08-20 09:54:09 +08:00
parent c01c7dc3ff
commit f67224e7b6

View File

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