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 //普通文本信息
ContentTypeAt = 8 //@ 消息
//门店im状态
ImStatusOpen = 1 //开启
ImStatusClose = -1 //关闭
)
// BusinessSendMsgReq im发送消息
@@ -33,7 +38,7 @@ type BusinessMsgPayload struct {
ContentType string `json:"contentType"` // 内容类型,目前只支持文本消息。枚举值: 1-普通文本
}
// BusinessSendMsg 门店老板发送消息 主要用这个
// BusinessSendMsg 门店老板发送消息
func (a *API) BusinessSendMsg(param *BusinessSendMsgReq) error {
result, err := a.AccessAPI("im.message.send", utils.Struct2MapByJson(param))
if err != nil {
@@ -46,52 +51,22 @@ func (a *API) BusinessSendMsg(param *BusinessSendMsgReq) error {
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
}
// GetStoreIMStatus 获取门店的im状态(这个应该不怎么用)
func (a *API) GetStoreIMStatus(platformShopId string) (int, error) {
// GetStoreIMStatus 获取门店的im状态 1开启-1关闭
func (a *API) GetStoreIMStatus(platformShopId string) (string, error) {
result, err := a.AccessAPI("im.getIMStatus", map[string]interface{}{"platformShopId": platformShopId})
if err != nil {
return 0, err
return "0", err
}
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线上状态
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})
// UpdateIMStatus 更新店铺IM开关状态 1-开启,-1-关闭
func (a *API) UpdateIMStatus(platformShopId string, status int) error {
result, err := a.AccessAPI("im.updateIMStatus", map[string]interface{}{"platformShopId": platformShopId, "status": status})
if err != nil {
return err
}
@@ -101,3 +76,46 @@ func (a *API) SetImOnlineStatus(platformShopId string, status string) error {
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
import (
"fmt"
"testing"
)
func TestGetStoreImStatus(t *testing.T) {
data, err := api.GetStoreIMStatus("1139781155")
data, err := api.GetStoreIMStatus("511696051")
if err != nil {
t.Errorf("%v", err)
}
t.Log(data)
}
//获取门店线上IM状态
func TestAPI_GetImOnlineStatus(t *testing.T) {
func TestAPI_UpdateIMStatus(t *testing.T) {
err := api.UpdateIMStatus("511696051", ImStatusOpen)
fmt.Printf("err=%v", err)
}
func TestParseMultilayerJson(t *testing.T) {

View File

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