This commit is contained in:
邹宗楠
2023-06-15 09:08:54 +08:00
parent d37bb62403
commit 65976332fc
749 changed files with 41278 additions and 14 deletions

View File

@@ -0,0 +1,118 @@
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
}

View File

@@ -0,0 +1,34 @@
package domain
type TaobaoKfcKeywordSearchKfcSearchResult struct {
/*
是否匹配到关键词,匹配到则为true. */
Matched *bool `json:"matched,omitempty" `
/*
匹配到的关键词的等级值为null或为A、B、C、D。
当匹配不到关键词时值为null否则值为A、B、C、D中的一个。
A、B、C、D等级按严重程度从高至低排列。 */
Level *string `json:"level,omitempty" `
/*
过滤后的文本:
当匹配到B等级的词时文本中的关键词被替换为*号content即为关键词替换后的文本
其他情况content始终为null */
Content *string `json:"content,omitempty" `
}
func (s *TaobaoKfcKeywordSearchKfcSearchResult) SetMatched(v bool) *TaobaoKfcKeywordSearchKfcSearchResult {
s.Matched = &v
return s
}
func (s *TaobaoKfcKeywordSearchKfcSearchResult) SetLevel(v string) *TaobaoKfcKeywordSearchKfcSearchResult {
s.Level = &v
return s
}
func (s *TaobaoKfcKeywordSearchKfcSearchResult) SetContent(v string) *TaobaoKfcKeywordSearchKfcSearchResult {
s.Content = &v
return s
}

View File

@@ -0,0 +1,72 @@
package domain
import (
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/util"
)
type TaobaoTmcUserGetTmcUser struct {
/*
用户首次开通时间 */
Created *util.LocalTime `json:"created,omitempty" `
/*
接收用户消息的组名 */
GroupName *string `json:"group_name,omitempty" `
/*
用户授权是否有效true表示授权有效false表示授权过期 */
IsValid *bool `json:"is_valid,omitempty" `
/*
用户最后开通时间 */
Modified *util.LocalTime `json:"modified,omitempty" `
/*
用户开通的消息类型列表。如果为空表示应用开通的所有类型 */
Topics *[]string `json:"topics,omitempty" `
/*
用户ID */
UserId *int64 `json:"user_id,omitempty" `
/*
用户昵称 */
UserNick *string `json:"user_nick,omitempty" `
/*
用户所属的平台类型tbUIC:淘宝用户; icbu: icbu用户 */
UserPlatform *string `json:"user_platform,omitempty" `
}
func (s *TaobaoTmcUserGetTmcUser) SetCreated(v util.LocalTime) *TaobaoTmcUserGetTmcUser {
s.Created = &v
return s
}
func (s *TaobaoTmcUserGetTmcUser) SetGroupName(v string) *TaobaoTmcUserGetTmcUser {
s.GroupName = &v
return s
}
func (s *TaobaoTmcUserGetTmcUser) SetIsValid(v bool) *TaobaoTmcUserGetTmcUser {
s.IsValid = &v
return s
}
func (s *TaobaoTmcUserGetTmcUser) SetModified(v util.LocalTime) *TaobaoTmcUserGetTmcUser {
s.Modified = &v
return s
}
func (s *TaobaoTmcUserGetTmcUser) SetTopics(v []string) *TaobaoTmcUserGetTmcUser {
s.Topics = &v
return s
}
func (s *TaobaoTmcUserGetTmcUser) SetUserId(v int64) *TaobaoTmcUserGetTmcUser {
s.UserId = &v
return s
}
func (s *TaobaoTmcUserGetTmcUser) SetUserNick(v string) *TaobaoTmcUserGetTmcUser {
s.UserNick = &v
return s
}
func (s *TaobaoTmcUserGetTmcUser) SetUserPlatform(v string) *TaobaoTmcUserGetTmcUser {
s.UserPlatform = &v
return s
}

View File

@@ -0,0 +1,51 @@
package request
type TaobaoKfcKeywordSearchRequest struct {
/*
发布信息的淘宝会员名,可以不传 */
Nick *string `json:"nick,omitempty" required:"false" `
/*
应用点分为一级应用点、二级应用点。其中一级应用点通常是指某一个系统或产品比如淘宝的商品应用taobao_auction二级应用点是指一级应用点下的具体的分类比如商品标题(title)、商品描述(content)。不同的二级应用可以设置不同关键词。
这里的apply参数是由一级应用点与二级应用点合起来的字符一级应用点+"."+二级应用点如taobao_auction.title。
通常apply参数是不需要传递的。如有特殊需求比如特殊的过滤需求需要自己维护一套自己词库需传递此参数。 */
Apply *string `json:"apply,omitempty" required:"false" `
/*
需要过滤的文本信息 */
Content *string `json:"content" required:"true" `
}
func (s *TaobaoKfcKeywordSearchRequest) SetNick(v string) *TaobaoKfcKeywordSearchRequest {
s.Nick = &v
return s
}
func (s *TaobaoKfcKeywordSearchRequest) SetApply(v string) *TaobaoKfcKeywordSearchRequest {
s.Apply = &v
return s
}
func (s *TaobaoKfcKeywordSearchRequest) SetContent(v string) *TaobaoKfcKeywordSearchRequest {
s.Content = &v
return s
}
func (req *TaobaoKfcKeywordSearchRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
if(req.Nick != nil) {
paramMap["nick"] = *req.Nick
}
if(req.Apply != nil) {
paramMap["apply"] = *req.Apply
}
if(req.Content != nil) {
paramMap["content"] = *req.Content
}
return paramMap
}
func (req *TaobaoKfcKeywordSearchRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
return fileMap
}

View File

@@ -0,0 +1,135 @@
package request
type TaobaoTmcMessageProduceRequest struct {
/*
消息内容的JSON表述必须按照topic的定义来填充 */
Content *string `json:"content" required:"true" `
/*
消息的扩增属性用json格式表示 */
ExContent *string `json:"ex_content,omitempty" required:"false" `
/*
直发消息需要传入目标appkey */
TargetAppkey *string `json:"target_appkey,omitempty" required:"false" `
/*
目标分组一般为default defalutValue<75><65>default */
TargetGroup *string `json:"target_group,omitempty" required:"false" `
/*
消息类型 */
Topic *string `json:"topic" required:"true" `
/*
回传的文件内容目前仅支持jpg,png,bmp,gif,pdf类型的文件文件最大1M。只有消息中有byte[]类型的数据时,才需要传此字段; 否则不需要传此字段。 */
MediaContent *[]byte `json:"media_content,omitempty" required:"false" `
/*
回传的文件内容目前仅支持jpg,png,bmp,gif,pdf类型的文件文件最大1M。只有消息中有byte[]类型的数据时,才需要传此字段; 否则不需要传此字段。具体对应到沙体中的什么值,请参考消息字段说明。 */
MediaContent2 *[]byte `json:"media_content2,omitempty" required:"false" `
/*
回传的文件内容目前仅支持jpg,png,bmp,gif,pdf类型的文件文件最大1M。只有消息中有byte[]类型的数据时,才需要传此字段; 否则不需要传此字段。具体对应到沙体中的什么值,请参考消息字段说明。 */
MediaContent3 *[]byte `json:"media_content3,omitempty" required:"false" `
/*
回传的文件内容目前仅支持jpg,png,bmp,gif,pdf类型的文件文件最大1M。只有消息中有byte[]类型的数据时,才需要传此字段; 否则不需要传此字段。具体对应到沙体中的什么值,请参考消息字段说明。 */
MediaContent5 *[]byte `json:"media_content5,omitempty" required:"false" `
/*
回传的文件内容目前仅支持jpg,png,bmp,gif,pdf类型的文件文件最大1M。只有消息中有byte[]类型的数据时,才需要传此字段; 否则不需要传此字段。具体对应到沙体中的什么值,请参考消息字段说明。 */
MediaContent4 *[]byte `json:"media_content4,omitempty" required:"false" `
/*
延时参数 时间戳 预期发送时间 defalutValue<75><65>0 */
DelayMillis *int64 `json:"delay_millis,omitempty" required:"false" `
/*
提前过期 相对时间差 毫秒 defalutValue<75><65>0 */
ExpiresMillis *int64 `json:"expires_millis,omitempty" required:"false" `
}
func (s *TaobaoTmcMessageProduceRequest) SetContent(v string) *TaobaoTmcMessageProduceRequest {
s.Content = &v
return s
}
func (s *TaobaoTmcMessageProduceRequest) SetExContent(v string) *TaobaoTmcMessageProduceRequest {
s.ExContent = &v
return s
}
func (s *TaobaoTmcMessageProduceRequest) SetTargetAppkey(v string) *TaobaoTmcMessageProduceRequest {
s.TargetAppkey = &v
return s
}
func (s *TaobaoTmcMessageProduceRequest) SetTargetGroup(v string) *TaobaoTmcMessageProduceRequest {
s.TargetGroup = &v
return s
}
func (s *TaobaoTmcMessageProduceRequest) SetTopic(v string) *TaobaoTmcMessageProduceRequest {
s.Topic = &v
return s
}
func (s *TaobaoTmcMessageProduceRequest) SetMediaContent(v []byte) *TaobaoTmcMessageProduceRequest {
s.MediaContent = &v
return s
}
func (s *TaobaoTmcMessageProduceRequest) SetMediaContent2(v []byte) *TaobaoTmcMessageProduceRequest {
s.MediaContent2 = &v
return s
}
func (s *TaobaoTmcMessageProduceRequest) SetMediaContent3(v []byte) *TaobaoTmcMessageProduceRequest {
s.MediaContent3 = &v
return s
}
func (s *TaobaoTmcMessageProduceRequest) SetMediaContent5(v []byte) *TaobaoTmcMessageProduceRequest {
s.MediaContent5 = &v
return s
}
func (s *TaobaoTmcMessageProduceRequest) SetMediaContent4(v []byte) *TaobaoTmcMessageProduceRequest {
s.MediaContent4 = &v
return s
}
func (s *TaobaoTmcMessageProduceRequest) SetDelayMillis(v int64) *TaobaoTmcMessageProduceRequest {
s.DelayMillis = &v
return s
}
func (s *TaobaoTmcMessageProduceRequest) SetExpiresMillis(v int64) *TaobaoTmcMessageProduceRequest {
s.ExpiresMillis = &v
return s
}
func (req *TaobaoTmcMessageProduceRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
if(req.Content != nil) {
paramMap["content"] = *req.Content
}
if(req.ExContent != nil) {
paramMap["ex_content"] = *req.ExContent
}
if(req.TargetAppkey != nil) {
paramMap["target_appkey"] = *req.TargetAppkey
}
if(req.TargetGroup != nil) {
paramMap["target_group"] = *req.TargetGroup
}
if(req.Topic != nil) {
paramMap["topic"] = *req.Topic
}
if(req.DelayMillis != nil) {
paramMap["delay_millis"] = *req.DelayMillis
}
if(req.ExpiresMillis != nil) {
paramMap["expires_millis"] = *req.ExpiresMillis
}
return paramMap
}
func (req *TaobaoTmcMessageProduceRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
if req.MediaContent != nil {
fileMap["media_content"] = *req.MediaContent
}
if req.MediaContent2 != nil {
fileMap["media_content2"] = *req.MediaContent2
}
if req.MediaContent3 != nil {
fileMap["media_content3"] = *req.MediaContent3
}
if req.MediaContent5 != nil {
fileMap["media_content5"] = *req.MediaContent5
}
if req.MediaContent4 != nil {
fileMap["media_content4"] = *req.MediaContent4
}
return fileMap
}

View File

@@ -0,0 +1,36 @@
package request
type TaobaoTmcUserCancelRequest struct {
/*
用户昵称 */
Nick *string `json:"nick" required:"true" `
/*
用户所属的平台类型tbUIC:淘宝用户; icbu: icbu用户;ae:ae用户 defalutValue<75><65>tbUIC */
UserPlatform *string `json:"user_platform,omitempty" required:"false" `
}
func (s *TaobaoTmcUserCancelRequest) SetNick(v string) *TaobaoTmcUserCancelRequest {
s.Nick = &v
return s
}
func (s *TaobaoTmcUserCancelRequest) SetUserPlatform(v string) *TaobaoTmcUserCancelRequest {
s.UserPlatform = &v
return s
}
func (req *TaobaoTmcUserCancelRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
if(req.Nick != nil) {
paramMap["nick"] = *req.Nick
}
if(req.UserPlatform != nil) {
paramMap["user_platform"] = *req.UserPlatform
}
return paramMap
}
func (req *TaobaoTmcUserCancelRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
return fileMap
}

View File

@@ -0,0 +1,49 @@
package request
import (
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/util"
)
type TaobaoTmcUserGetRequest struct {
/*
需返回的字段列表多个字段以半角逗号分隔。可选值TmcUser结构体中的所有字段一定要返回topic。 */
Fields *[]string `json:"fields" required:"true" `
/*
用户昵称 */
Nick *string `json:"nick" required:"true" `
/*
用户所属的平台类型tbUIC:淘宝用户; icbu: icbu用户;ae:ae用户 defalutValue<75><65>tbUIC */
UserPlatform *string `json:"user_platform,omitempty" required:"false" `
}
func (s *TaobaoTmcUserGetRequest) SetFields(v []string) *TaobaoTmcUserGetRequest {
s.Fields = &v
return s
}
func (s *TaobaoTmcUserGetRequest) SetNick(v string) *TaobaoTmcUserGetRequest {
s.Nick = &v
return s
}
func (s *TaobaoTmcUserGetRequest) SetUserPlatform(v string) *TaobaoTmcUserGetRequest {
s.UserPlatform = &v
return s
}
func (req *TaobaoTmcUserGetRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
if req.Fields != nil {
paramMap["fields"] = util.ConvertBasicList(*req.Fields)
}
if req.Nick != nil {
paramMap["nick"] = *req.Nick
}
if req.UserPlatform != nil {
paramMap["user_platform"] = *req.UserPlatform
}
return paramMap
}
func (req *TaobaoTmcUserGetRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
return fileMap
}

View File

@@ -0,0 +1,29 @@
package request
import (
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/util"
)
type TaobaoTmcUserPermitRequest struct {
/*
消息主题列表用半角逗号分隔。当用户订阅的topic是应用订阅的子集时才需要设置不设置表示继承应用所订阅的所有topic一般情况建议不要设置。 */
Topics *[]string `json:"topics,omitempty" required:"false" `
}
func (s *TaobaoTmcUserPermitRequest) SetTopics(v []string) *TaobaoTmcUserPermitRequest {
s.Topics = &v
return s
}
func (req *TaobaoTmcUserPermitRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
if req.Topics != nil {
paramMap["topics"] = util.ConvertBasicList(*req.Topics)
}
return paramMap
}
func (req *TaobaoTmcUserPermitRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
return fileMap
}

View File

@@ -0,0 +1,23 @@
package response
import (
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/defaultability/domain"
)
type TaobaoKfcKeywordSearchResponse struct {
/*
System request id
*/
RequestId string `json:"request_id,omitempty" `
/*
System body
*/
Body string
/*
KFC 关键词过滤匹配结果
*/
KfcSearchResult domain.TaobaoKfcKeywordSearchKfcSearchResult `json:"kfc_search_result,omitempty" `
}

View File

@@ -0,0 +1,27 @@
package response
type TaobaoTmcMessageProduceResponse struct {
/*
System request id
*/
RequestId string `json:"request_id,omitempty" `
/*
System body
*/
Body string
/*
是否成功
*/
IsSuccess bool `json:"is_success,omitempty" `
/*
投递目标数
*/
Total int64 `json:"total,omitempty" `
/*
消息ID
*/
MsgIds []string `json:"msg_ids,omitempty" `
}

View File

@@ -0,0 +1,19 @@
package response
type TaobaoTmcUserCancelResponse struct {
/*
System request id
*/
RequestId string `json:"request_id,omitempty" `
/*
System body
*/
Body string
/*
是否成功,如果为false并且没有错误码表示删除的用户不存在。
*/
IsSuccess bool `json:"is_success,omitempty" `
}

View File

@@ -0,0 +1,23 @@
package response
import (
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/defaultability/domain"
)
type TaobaoTmcUserGetResponse struct {
/*
System request id
*/
RequestId string `json:"request_id,omitempty" `
/*
System body
*/
Body string
/*
开通的用户数据
*/
TmcUser domain.TaobaoTmcUserGetTmcUser `json:"tmc_user,omitempty" `
}

View File

@@ -0,0 +1,19 @@
package response
type TaobaoTmcUserPermitResponse struct {
/*
System request id
*/
RequestId string `json:"request_id,omitempty" `
/*
System body
*/
Body string
/*
是否成功
*/
IsSuccess bool `json:"is_success,omitempty" `
}