|
@@ -263,9 +263,9 @@ func msgTypeTextHandle(svcCtx *svc.ServiceContext, msg *model.CbMsg) {
|
|
|
logx.Error("GetSessionState fail ", err)
|
|
logx.Error("GetSessionState fail ", err)
|
|
|
}
|
|
}
|
|
|
_ = svcCtx.Redis.Set(key, fmt.Sprintf("%v", sessionState.ServiceState))
|
|
_ = svcCtx.Redis.Set(key, fmt.Sprintf("%v", sessionState.ServiceState))
|
|
|
- return
|
|
|
|
|
|
|
+ v = fmt.Sprintf("%v", sessionState.ServiceState)
|
|
|
}
|
|
}
|
|
|
- if v == "0" {
|
|
|
|
|
|
|
+ if v == "0" || v == "1" {
|
|
|
//进入会话事件,加入消息流转池
|
|
//进入会话事件,加入消息流转池
|
|
|
err := svcCtx.WxApi.UpdateSessionState(msg.OpenKfid, msg.ExternalUserid, "", 2)
|
|
err := svcCtx.WxApi.UpdateSessionState(msg.OpenKfid, msg.ExternalUserid, "", 2)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
@@ -292,6 +292,7 @@ func msgTypeEventHandle(svcCtx *svc.ServiceContext, msg *model.CbMsg) {
|
|
|
switch string(eventType) {
|
|
switch string(eventType) {
|
|
|
case types.EventTypeSessionStatusChange:
|
|
case types.EventTypeSessionStatusChange:
|
|
|
key := fmt.Sprintf("cb_user_state:%v", msg.ExternalUserid)
|
|
key := fmt.Sprintf("cb_user_state:%v", msg.ExternalUserid)
|
|
|
|
|
+ _, _ = svcCtx.Redis.Del(key)
|
|
|
//获取会话状态
|
|
//获取会话状态
|
|
|
err, sessionState := svcCtx.WxApi.GetSessionState(msg.OpenKfid, msg.ExternalUserid)
|
|
err, sessionState := svcCtx.WxApi.GetSessionState(msg.OpenKfid, msg.ExternalUserid)
|
|
|
if err != nil {
|
|
if err != nil {
|