package defaultability import ( "errors" "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk" request2 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/defaultability/request" response2 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/defaultability/response" "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/util" "log" ) type Defaultability struct { Client *topsdk.TopClient } func NewDefaultability(client *topsdk.TopClient) *Defaultability { return &Defaultability{client} } /* 获取用户已开通消息 */ func (ability *Defaultability) TaobaoTmcUserGet(req *request2.TaobaoTmcUserGetRequest) (*response2.TaobaoTmcUserGetResponse, error) { if ability.Client == nil { return nil, errors.New("Defaultability topClient is nil") } var jsonStr, err = ability.Client.Execute("taobao.tmc.user.get", req.ToMap(), req.ToFileMap()) var respStruct = response2.TaobaoTmcUserGetResponse{} if err != nil { log.Println("taobaoTmcUserGet error", err) return &respStruct, err } err = util.HandleJsonResponse(jsonStr, &respStruct) if respStruct.Body == "" || len(respStruct.Body) == 0 { respStruct.Body = jsonStr } return &respStruct, err } /* 关键词过滤匹配 */ func (ability *Defaultability) TaobaoKfcKeywordSearch(req *request2.TaobaoKfcKeywordSearchRequest, session string) (*response2.TaobaoKfcKeywordSearchResponse, error) { if ability.Client == nil { return nil, errors.New("Defaultability topClient is nil") } var jsonStr, err = ability.Client.ExecuteWithSession("taobao.kfc.keyword.search", req.ToMap(), req.ToFileMap(), session) var respStruct = response2.TaobaoKfcKeywordSearchResponse{} if err != nil { log.Println("taobaoKfcKeywordSearch error", err) return &respStruct, err } err = util.HandleJsonResponse(jsonStr, &respStruct) if respStruct.Body == "" || len(respStruct.Body) == 0 { respStruct.Body = jsonStr } return &respStruct, err } /* 发布单条消息 */ func (ability *Defaultability) TaobaoTmcMessageProduce(req *request2.TaobaoTmcMessageProduceRequest) (*response2.TaobaoTmcMessageProduceResponse, error) { if ability.Client == nil { return nil, errors.New("Defaultability topClient is nil") } var jsonStr, err = ability.Client.Execute("taobao.tmc.message.produce", req.ToMap(), req.ToFileMap()) var respStruct = response2.TaobaoTmcMessageProduceResponse{} if err != nil { log.Println("taobaoTmcMessageProduce error", err) return &respStruct, err } err = util.HandleJsonResponse(jsonStr, &respStruct) if respStruct.Body == "" || len(respStruct.Body) == 0 { respStruct.Body = jsonStr } return &respStruct, err } /* 取消用户的消息服务 */ func (ability *Defaultability) TaobaoTmcUserCancel(req *request2.TaobaoTmcUserCancelRequest) (*response2.TaobaoTmcUserCancelResponse, error) { if ability.Client == nil { return nil, errors.New("Defaultability topClient is nil") } var jsonStr, err = ability.Client.Execute("taobao.tmc.user.cancel", req.ToMap(), req.ToFileMap()) var respStruct = response2.TaobaoTmcUserCancelResponse{} if err != nil { log.Println("taobaoTmcUserCancel error", err) return &respStruct, err } err = util.HandleJsonResponse(jsonStr, &respStruct) if respStruct.Body == "" || len(respStruct.Body) == 0 { respStruct.Body = jsonStr } return &respStruct, err } /* 为已授权的用户开通消息服务 */ func (ability *Defaultability) TaobaoTmcUserPermit(req *request2.TaobaoTmcUserPermitRequest, session string) (*response2.TaobaoTmcUserPermitResponse, error) { if ability.Client == nil { return nil, errors.New("Defaultability topClient is nil") } var jsonStr, err = ability.Client.ExecuteWithSession("taobao.tmc.user.permit", req.ToMap(), req.ToFileMap(), session) var respStruct = response2.TaobaoTmcUserPermitResponse{} if err != nil { log.Println("taobaoTmcUserPermit error", err) return &respStruct, err } err = util.HandleJsonResponse(jsonStr, &respStruct) if respStruct.Body == "" || len(respStruct.Body) == 0 { respStruct.Body = jsonStr } return &respStruct, err }