This commit is contained in:
richboo111
2023-09-25 15:09:43 +08:00
parent 3fef584326
commit ade9263aa0
3 changed files with 64 additions and 45 deletions

View File

@@ -15,6 +15,11 @@ const (
//消息类型 //消息类型
ContentTypeNormal = 1 //普通文本信息 ContentTypeNormal = 1 //普通文本信息
ContentTypeAt = 8 //@ 消息 ContentTypeAt = 8 //@ 消息
//门店im状态
ImStatusOpen = 1 //开启
ImStatusClose = -1 //关闭
) )
// BusinessSendMsgReq im发送消息 // BusinessSendMsgReq im发送消息
@@ -33,7 +38,7 @@ type BusinessMsgPayload struct {
ContentType string `json:"contentType"` // 内容类型,目前只支持文本消息。枚举值: 1-普通文本 ContentType string `json:"contentType"` // 内容类型,目前只支持文本消息。枚举值: 1-普通文本
} }
// BusinessSendMsg 门店老板发送消息 主要用这个 // BusinessSendMsg 门店老板发送消息
func (a *API) BusinessSendMsg(param *BusinessSendMsgReq) error { func (a *API) BusinessSendMsg(param *BusinessSendMsgReq) error {
result, err := a.AccessAPI("im.message.send", utils.Struct2MapByJson(param)) result, err := a.AccessAPI("im.message.send", utils.Struct2MapByJson(param))
if err != nil { if err != nil {
@@ -46,52 +51,22 @@ func (a *API) BusinessSendMsg(param *BusinessSendMsgReq) error {
return nil return nil
} }
// SettingStoreMsgRead 设置消息已读 // GetStoreIMStatus 获取门店的im状态 1开启-1关闭
func (a *API) SettingStoreMsgRead(platformShopId string, msgId string) error { func (a *API) GetStoreIMStatus(platformShopId string) (string, error) {
result, err := a.AccessAPI("im.message.read", map[string]interface{}{
"platformShopId": platformShopId,
"bizType": IMType,
"subBizType": ReadIMType,
"payload": map[string]string{"msgId": msgId},
})
if err != nil {
return err
}
if result.ErrNo != 0 {
return errors.New(result.Error)
}
return nil
}
// GetStoreIMStatus 获取门店的im状态(这个应该不怎么用)
func (a *API) GetStoreIMStatus(platformShopId string) (int, error) {
result, err := a.AccessAPI("im.getIMStatus", map[string]interface{}{"platformShopId": platformShopId}) result, err := a.AccessAPI("im.getIMStatus", map[string]interface{}{"platformShopId": platformShopId})
if err != nil { if err != nil {
return 0, err return "0", err
} }
if result.ErrNo != 0 { if result.ErrNo != 0 {
return 0, errors.New(result.Error) return "0", errors.New(result.Error)
} }
return result.Data.(map[string]interface{})["imStatus"].(int), nil return result.Data.(map[string]interface{})["imStatus"].(string), nil
} }
// GetImOnlineStatus 获取门店IM线上状态 // UpdateIMStatus 更新店铺IM开关状态 1-开启,-1-关闭
func (a *API) GetImOnlineStatus(platformShopId string) (int, error) { func (a *API) UpdateIMStatus(platformShopId string, status int) error {
result, err := a.AccessAPI("im.getIMOnlineStatus", map[string]interface{}{"platformShopId": platformShopId}) result, err := a.AccessAPI("im.updateIMStatus", map[string]interface{}{"platformShopId": platformShopId, "status": status})
if err != nil {
return 0, err
}
if result.ErrNo != 0 {
return 0, errors.New(result.Error)
}
return result.Data.(map[string]interface{})["status"].(int), nil
}
// SetImOnlineStatus 设置im线上状态 ONLINE - 在线 BUSY - 忙碌
func (a *API) SetImOnlineStatus(platformShopId string, status string) error {
result, err := a.AccessAPI("im.updateIMOnlineStatus", map[string]interface{}{"platformShopId": platformShopId, "status": status})
if err != nil { if err != nil {
return err return err
} }
@@ -101,3 +76,46 @@ func (a *API) SetImOnlineStatus(platformShopId string, status string) error {
return nil return nil
} }
// SettingStoreMsgRead 设置消息已读
//func (a *API) SettingStoreMsgRead(platformShopId string, msgId string) error {
// result, err := a.AccessAPI("im.message.read", map[string]interface{}{
// "platformShopId": platformShopId,
// "bizType": IMType,
// "subBizType": ReadIMType,
// "payload": map[string]string{"msgId": msgId},
// })
// if err != nil {
// return err
// }
// if result.ErrNo != 0 {
// return errors.New(result.Error)
// }
// return nil
//}
// GetImOnlineStatus 获取门店IM线上状态
//func (a *API) GetImOnlineStatus(platformShopId string) (int, error) {
// result, err := a.AccessAPI("im.getIMOnlineStatus", map[string]interface{}{"platformShopId": platformShopId})
// if err != nil {
// return 0, err
// }
// if result.ErrNo != 0 {
// return 0, errors.New(result.Error)
// }
//
// return result.Data.(map[string]interface{})["status"].(int), nil
//}
// SetImOnlineStatus 设置im线上状态 ONLINE - 在线 BUSY - 忙碌
//func (a *API) SetImOnlineStatus(platformShopId string, status string) error {
// result, err := a.AccessAPI("im.updateIMOnlineStatus", map[string]interface{}{"platformShopId": platformShopId, "status": status})
// if err != nil {
// return err
// }
// if result.ErrNo != 0 {
// return errors.New(result.Error)
// }
//
// return nil
//}

View File

@@ -1,20 +1,21 @@
package ebaiapi package ebaiapi
import ( import (
"fmt"
"testing" "testing"
) )
func TestGetStoreImStatus(t *testing.T) { func TestGetStoreImStatus(t *testing.T) {
data, err := api.GetStoreIMStatus("1139781155") data, err := api.GetStoreIMStatus("511696051")
if err != nil { if err != nil {
t.Errorf("%v", err) t.Errorf("%v", err)
} }
t.Log(data) t.Log(data)
} }
//获取门店线上IM状态 func TestAPI_UpdateIMStatus(t *testing.T) {
func TestAPI_GetImOnlineStatus(t *testing.T) { err := api.UpdateIMStatus("511696051", ImStatusOpen)
fmt.Printf("err=%v", err)
} }
func TestParseMultilayerJson(t *testing.T) { func TestParseMultilayerJson(t *testing.T) {

View File

@@ -378,7 +378,7 @@ func TestRetailSellStatus2(t *testing.T) {
//根据分类id查询属性列表 //根据分类id查询属性列表
func TestCategoryAttrList(t *testing.T) { func TestCategoryAttrList(t *testing.T) {
//result, err := api.CategoryAttrList(200002680) //result, err := api.CategoryAttrList(200002680)
result, err := api.CategoryAttrList(200002685) result, err := api.CategoryAttrList(200005790)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@@ -399,7 +399,7 @@ func TestCategoryAttrValueList(t *testing.T) {
} }
func TestRetailRecommendTag(t *testing.T) { func TestRetailRecommendTag(t *testing.T) {
result, err := api.RetailRecommendTag("飞利浦电吹风", "", 0, 1) result, err := api.RetailRecommendTag("长豆角", "", 0, 1)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }