Compare commits

..

4 Commits

Author SHA1 Message Date
yanfan
4280c226b1 修改饿了么联盟包名 2024-08-05 16:45:29 +08:00
wukesheng
bf2bc639eb 同程酒店:订单返回数据浮点数定义修改 2024-08-03 22:08:36 +08:00
wukesheng
7c14d9c20e 同程酒店:生成h5链接时处理链接中带"#"的情况 2024-08-03 16:15:51 +08:00
wukesheng
90bad61d0a 同程酒店:添加生成h5链接api 2024-08-01 23:44:11 +08:00
55 changed files with 2200 additions and 46 deletions

View File

@ -52,11 +52,26 @@ func (a *apiClientSuite) Test_Sign() {
a.T().Logf("=====[TestSign] sign: %s", sign) a.T().Logf("=====[TestSign] sign: %s", sign)
} }
func (a *apiClientSuite) Test_KbItemPromotionShareCreate() {
req := &request.AlibabaAlscUnionKbItemPromotionShareCreateRequest{
Pid: pointer.String("alsc_23378482_4796002_21291126"),
ItemId: pointer.String("10645"),
Sid: pointer.String("10001zdt100004"),
}
resp, err := a.api.KbItemPromotionShareCreate(req)
if err != nil {
a.T().Errorf("=====[Test_ElemePromotionOfficialActivityGet] err: %v", err)
return
}
a.T().Logf("=====[Test_ElemePromotionOfficialActivityGet] resp: %+v", resp)
}
func (a *apiClientSuite) Test_ElemePromotionOfficialActivityGet() { func (a *apiClientSuite) Test_ElemePromotionOfficialActivityGet() {
req := &request.AlibabaAlscUnionElemePromotionOfficialactivityGetRequest{ req := &request.AlibabaAlscUnionElemePromotionOfficialactivityGetRequest{
QueryRequest: &domain.AlibabaAlscUnionElemePromotionOfficialactivityGetActivityRequest{ QueryRequest: &domain.AlibabaAlscUnionElemePromotionOfficialactivityGetActivityRequest{
Pid: pointer.String("alsc_23378482_4796002_15513017"), Pid: pointer.String("alsc_23378482_4796002_15513017"),
ActivityId: pointer.String("10690111"), ActivityId: pointer.String("10645"),
Sid: pointer.String("10001zdt100004"),
}, },
} }
resp, err := a.api.ElemePromotionOfficialActivityGet(req) resp, err := a.api.ElemePromotionOfficialActivityGet(req)
@ -64,7 +79,8 @@ func (a *apiClientSuite) Test_ElemePromotionOfficialActivityGet() {
a.T().Errorf("=====[Test_ElemePromotionOfficialActivityGet] err: %v", err) a.T().Errorf("=====[Test_ElemePromotionOfficialActivityGet] err: %v", err)
return return
} }
a.T().Logf("=====[Test_ElemePromotionOfficialActivityGet] resp: %+v", resp) str, err := json.Marshal(resp)
a.T().Logf("=====[Test_ElemePromotionOfficialActivityGet] resp: %s", str)
} }
func (a *apiClientSuite) Test_KbcpxPositiveOrderGet() { func (a *apiClientSuite) Test_KbcpxPositiveOrderGet() {

View File

@ -6,9 +6,11 @@ import (
"errors" "errors"
"fmt" "fmt"
"net/url" "net/url"
"strings"
"time" "time"
"github.com/zeromicro/go-zero/core/logx" "github.com/zeromicro/go-zero/core/logx"
"github.com/zywaited/xcopy"
"repository.lenntc.com/lenntc/third-platform-sdk/client" "repository.lenntc.com/lenntc/third-platform-sdk/client"
"repository.lenntc.com/lenntc/third-platform-sdk/util" "repository.lenntc.com/lenntc/third-platform-sdk/util"
@ -19,8 +21,10 @@ import (
type ElongHotelApi interface { type ElongHotelApi interface {
// GetExternalChannelConfig 获取渠道配置信息 // GetExternalChannelConfig 获取渠道配置信息
GetExternalChannelConfig(ctx context.Context, req GetExternalChannelConfigRequest, env string) (*ExternalChannelConfigResponse, error) GetExternalChannelConfig(ctx context.Context, req GetExternalChannelConfigRequest, env string) (*ExternalChannelConfigResponse, error)
// GenerateUrl 生成链接 // GenerateWechatUrl 生成微信小程序链接
GenerateUrl(ctx context.Context, req GenerateUrlRequest) (string, error) GenerateWechatUrl(ctx context.Context, req GenerateWechatUrlRequest) (string, error)
// GenerateH5Url 生成H5链接
GenerateH5Url(ctx context.Context, req GenerateH5UrlRequest) (string, error)
// QueryOrderList 查询订单列表 // QueryOrderList 查询订单列表
QueryOrderList(ctx context.Context, req QueryOrderListRequest, env string) (*ExternalOrderData, error) QueryOrderList(ctx context.Context, req QueryOrderListRequest, env string) (*ExternalOrderData, error)
} }
@ -37,9 +41,9 @@ func newElongHotelApiImpl(log logx.Logger, client *Client) ElongHotelApi {
} }
} }
// GenerateLink 生成短链 // GetExternalChannelConfig 生成短链
func (t *elongHotelApiImpl) GetExternalChannelConfig(ctx context.Context, req GetExternalChannelConfigRequest, env string) (*ExternalChannelConfigResponse, error) { func (t *elongHotelApiImpl) GetExternalChannelConfig(ctx context.Context, req GetExternalChannelConfigRequest, env string) (*ExternalChannelConfigResponse, error) {
var url string var apiUrl string
token := t.client.authConfig.Token token := t.client.authConfig.Token
tn := time.Now() tn := time.Now()
actionTime := tn.Unix() actionTime := tn.Unix()
@ -55,11 +59,11 @@ func (t *elongHotelApiImpl) GetExternalChannelConfig(ctx context.Context, req Ge
request := &client.HttpRequest{Headers: t.client.headers, QueryArgs: args} request := &client.HttpRequest{Headers: t.client.headers, QueryArgs: args}
response := new(GetExternalChannelConfigResponse) response := new(GetExternalChannelConfigResponse)
if env == EnvHuidu { if env == EnvHuidu {
url = HDApiDomain + GetLinkUri apiUrl = HDApiDomain + GetLinkUri
} else { } else {
url = ApiDomain + GetLinkUri apiUrl = ApiDomain + GetLinkUri
} }
if err := t.client.HttpGet(url, request, &client.HttpResponse{Result: response}); err != nil { if err := t.client.HttpGet(apiUrl, request, &client.HttpResponse{Result: response}); err != nil {
return nil, err return nil, err
} }
if response.Code != 200 { if response.Code != 200 {
@ -70,8 +74,8 @@ func (t *elongHotelApiImpl) GetExternalChannelConfig(ctx context.Context, req Ge
return response.Data, nil return response.Data, nil
} }
// GenerateUrl 生成链接 // GenerateWechatUrl 生成微信小程序链接
func (t *elongHotelApiImpl) GenerateUrl(ctx context.Context, req GenerateUrlRequest) (string, error) { func (t *elongHotelApiImpl) GenerateWechatUrl(ctx context.Context, req GenerateWechatUrlRequest) (string, error) {
if len(req.ActivityUrl) == 0 { if len(req.ActivityUrl) == 0 {
return "", errors.New("url参数不能为空") return "", errors.New("url参数不能为空")
} }
@ -95,23 +99,58 @@ func (t *elongHotelApiImpl) GenerateUrl(ctx context.Context, req GenerateUrlRequ
srcUrl.RawQuery = srcParams.Encode() srcUrl.RawQuery = srcParams.Encode()
newSrc := url.QueryEscape(srcUrl.String()) newSrc := url.QueryEscape(srcUrl.String())
urlParams.Set("src", newSrc) urlParams.Set("src", newSrc)
urlParams.Add("isRefresh", "refresh") urlSrc := fmt.Sprintf("src=%s", newSrc)
u.RawQuery = urlParams.Encode() urlParams.Del("src")
u.RawQuery = fmt.Sprintf("%s&%s", urlSrc, urlParams.Encode())
return u.String(), nil return u.String(), nil
} }
// GenerateH5Url 生成H5链接
func (t *elongHotelApiImpl) GenerateH5Url(ctx context.Context, req GenerateH5UrlRequest) (string, error) {
var activityUrl string
if len(req.ActivityUrl) == 0 {
return "", errors.New("url参数不能为空")
}
urls := strings.Split(req.ActivityUrl, "?")
if len(urls) == 1 {
activityUrl = fmt.Sprintf("%s?linkCode=%s&actId=%s", req.ActivityUrl, req.LinkCode, req.ActId)
return activityUrl, nil
} else if len(urls) == 2 {
activityUrl = fmt.Sprintf("%s&linkCode=%s&actId=%s", req.ActivityUrl, req.LinkCode, req.ActId)
return activityUrl, nil
} else {
return "", errors.New("url参数有误")
}
//u, err := url.Parse(req.ActivityUrl)
//if err != nil {
// return "", errors.New("activityUrl不是一个url")
//}
//
//urlParams := u.Query()
//urlParams.Set("linkCode", req.LinkCode)
//urlParams.Set("actId", req.ActId)
//u.RawQuery = urlParams.Encode()
//return u.String(), nil
}
// QueryOrderList 查询订单列表 // QueryOrderList 查询订单列表
func (t *elongHotelApiImpl) QueryOrderList(ctx context.Context, req QueryOrderListRequest, env string) (*ExternalOrderData, error) { func (t *elongHotelApiImpl) QueryOrderList(ctx context.Context, req QueryOrderListRequest, env string) (*ExternalOrderData, error) {
var url string var apiUrl string
args := util.StructToMap(req) var apiReq *QueryOrderListReq
if err := xcopy.Copy(&apiReq, req); err != nil {
return nil, err
}
apiReq.AppId = t.client.authConfig.AppId
args := util.StructToMap(apiReq)
request := &client.HttpRequest{Headers: t.client.headers, QueryArgs: args} request := &client.HttpRequest{Headers: t.client.headers, QueryArgs: args}
response := new(GetExternalOrderResp) response := new(GetExternalOrderResp)
if env == EnvHuidu { if env == EnvHuidu {
url = HDApiDomain + GetOrderListUri apiUrl = HDApiDomain + GetOrderListUri
} else { } else {
url = ApiDomain + GetOrderListUri apiUrl = ApiDomain + GetOrderListUri
} }
if err := t.client.HttpGet(url, request, &client.HttpResponse{Result: response}); err != nil { if err := t.client.HttpGet(apiUrl, request, &client.HttpResponse{Result: response}); err != nil {
return nil, err return nil, err
} }
if response.Code != 200 { if response.Code != 200 {

View File

@ -44,12 +44,13 @@ func (a *apiClientSuite) Test_GenerateLink() {
a.T().Logf("=====[Test_GenerateLink] result: %s", string(resultByte)) a.T().Logf("=====[Test_GenerateLink] result: %s", string(resultByte))
} }
func (a *apiClientSuite) Test_GenerateUrl() { func (a *apiClientSuite) Test_GenerateWechtUrl() {
req := GenerateUrlRequest{ req := GenerateWechatUrlRequest{
ActivityUrl: "/page/home/webview/webview?src=https%3A%2F%2Fmp.elong.com%2Ftenthousandaura%2F%3Factivitycode%3D5fd89a11-7b58-4f5c-8dc9-c360936d4207%26of%3D99810010", //ActivityUrl: "/page/home/webview/webview?src=https%3A%2F%2Fmp.elong.com%2Ftenthousandaura%2F%3Factivitycode%3D5fd89a11-7b58-4f5c-8dc9-c360936d4207%26of%3D99810010",
ActivityUrl: "/page/home/webview/webview?src=https%3A%2F%2Fmp.elong.com%2Ftenthousandaura%2F%3Factivitycode%3D73086812-aaae-48ba-b14a-f087a6b61a92%26isSocket%3DHotelActivityId_9043%26of%3D5027785&isRefresh=refresh&isSocket=HotelActivityId_9043",
Uid: "11111111111111111", Uid: "11111111111111111",
} }
result, err := a.api.GenerateUrl(context.Background(), req) result, err := a.api.GenerateWechatUrl(context.Background(), req)
if !a.NoError(err) { if !a.NoError(err) {
a.T().Errorf("========[Test_GenerateUrl] response error:%s", err) a.T().Errorf("========[Test_GenerateUrl] response error:%s", err)
return return
@ -57,9 +58,22 @@ func (a *apiClientSuite) Test_GenerateUrl() {
a.T().Logf("=====[Test_GenerateUrl] result: %s", string(result)) a.T().Logf("=====[Test_GenerateUrl] result: %s", string(result))
} }
func (a *apiClientSuite) Test_GenerateH5Url() {
req := GenerateH5UrlRequest{
ActivityUrl: "https://cms.zhongdiantui.com/#/pages/toMiniProgram/toMiniProgram?type=2sfee",
LinkCode: "ffaefe3r3434334trq34",
ActId: "100006",
}
result, err := a.api.GenerateH5Url(context.Background(), req)
if !a.NoError(err) {
a.T().Errorf("========[Test_GenerateH5Url] response error:%s", err)
return
}
a.T().Logf("=====[Test_GenerateH5Url] result: %s", string(result))
}
func (a *apiClientSuite) Test_QueryOrderList() { func (a *apiClientSuite) Test_QueryOrderList() {
req := QueryOrderListRequest{ req := QueryOrderListRequest{
AppId: "",
Trackid: "", Trackid: "",
BeginDate: "2024-07-01 00:00:00", BeginDate: "2024-07-01 00:00:00",
EndDate: "2024-07-01 23:59:59", EndDate: "2024-07-01 23:59:59",

View File

@ -9,6 +9,7 @@ import (
// AuthConfig api鉴权参数 // AuthConfig api鉴权参数
type AuthConfig struct { type AuthConfig struct {
Token string // 分配的token Token string // 分配的token
AppId string // 应用id (getExternalChannelConfig接口返回的appId)
} }
// 连接第三方平台的client // 连接第三方平台的client

View File

@ -1,9 +1,5 @@
package elong_hotel package elong_hotel
import (
"google.golang.org/genproto/googleapis/type/decimal"
)
type CommonResponse struct { type CommonResponse struct {
Code int32 `json:"code"` // 状态码200为正常 Code int32 `json:"code"` // 状态码200为正常
Msg string `json:"msg"` // 返回信息 Msg string `json:"msg"` // 返回信息
@ -44,14 +40,32 @@ type OtherActivityUrl struct {
ActivityUrl string `json:"activityUrl"` // 渠道方合作页地址 ActivityUrl string `json:"activityUrl"` // 渠道方合作页地址
} }
// GenerateUrlReq 生成链接的请求 // GenerateWechatUrlRequest 生成微信小程序链接的请求
type GenerateUrlRequest struct { type GenerateWechatUrlRequest struct {
ActivityUrl string `json:"activityUrl"` // 活动url ActivityUrl string `json:"activityUrl"` // 活动url
Uid string `json:"uid"` // 用户id Uid string `json:"uid"` // 用户id
} }
// GenerateH5UrlRequest 生成H5链接请求
type GenerateH5UrlRequest struct {
ActivityUrl string `json:"activityUrl"` // 活动url
LinkCode string `json:"linkCode"` // 链接code
ActId string `json:"actId"` // 活动id
}
// 获取外部订单请求 // 获取外部订单请求
type QueryOrderListRequest struct { type QueryOrderListRequest struct {
Trackid string `json:"trackid"` // 必传跟踪id,排查问题使用guid即可
BeginDate string `json:"begin_date"` // 订单更新时间查询起始,精确到秒, yyyy-MM-dd HH:mm:ss除了传订单号外其他查询必传
EndDate string `json:"end_date"` // 订单更新时间查询结束,精确到秒, yyyy-MM-dd HH:mm:ss除了传订单号外其他查询必传
OrderId string `json:"order_id"` // 指定订单号查询,返回该订单的最新详情
Update int32 `json:"update"` // 0:仅已支付的订单, 1:所有状态订单, 默认查所有传1
PageIndex int32 `json:"page_index"` // 分页index从0开始除了传订单号外其他查询必传
PageSize int32 `json:"page_size"` // 分页条数(除了传订单号外,其他查询必传)
}
// 获取外部订单请求
type QueryOrderListReq struct {
AppId string `json:"appId"` // 必传分配token查询接口提供的appId(getExternalChannelConfig接口返回的appId) AppId string `json:"appId"` // 必传分配token查询接口提供的appId(getExternalChannelConfig接口返回的appId)
Trackid string `json:"trackid"` // 必传跟踪id,排查问题使用guid即可 Trackid string `json:"trackid"` // 必传跟踪id,排查问题使用guid即可
BeginDate string `json:"begin_date"` // 订单更新时间查询起始,精确到秒, yyyy-MM-dd HH:mm:ss除了传订单号外其他查询必传 BeginDate string `json:"begin_date"` // 订单更新时间查询起始,精确到秒, yyyy-MM-dd HH:mm:ss除了传订单号外其他查询必传
@ -82,10 +96,10 @@ type ExternalOrder struct {
OrderCreateTime string `json:"orderCreateTime"` // 订单创建时间date-time OrderCreateTime string `json:"orderCreateTime"` // 订单创建时间date-time
OrderModifyTime string `json:"orderModifyTime"` // 订单更新时间date-time OrderModifyTime string `json:"orderModifyTime"` // 订单更新时间date-time
OrderNo string `json:"orderNo"` // 订单号 OrderNo string `json:"orderNo"` // 订单号
OrderPayAmount decimal.Decimal `json:"orderPayAmount"` // 订单实付金额 OrderPayAmount float64 `json:"orderPayAmount"` // 订单实付金额
OrderPayTime string `json:"orderPayTime"` // 订单支付时间 date-time OrderPayTime string `json:"orderPayTime"` // 订单支付时间 date-time
OrderStatus int32 `json:"orderStatus"` // 订单组推送的订单状态(1: 已支付 2:已离店 3:已取消) OrderStatus int32 `json:"orderStatus"` // 订单组推送的订单状态(1: 已支付 2:已离店 3:已取消)
OrderCommission decimal.Decimal `json:"orderCommission"` // 订单佣金 OrderCommission float64 `json:"orderCommission"` // 订单佣金
Uid string `json:"uid"` // 第三方用户id Uid string `json:"uid"` // 第三方用户id
HotelProvinceName string `json:"hotelProvinceName"` // 酒店所在省份 HotelProvinceName string `json:"hotelProvinceName"` // 酒店所在省份
RoomNights int32 `json:"roomNights"` // 入住间夜 RoomNights int32 `json:"roomNights"` // 入住间夜

View File

@ -0,0 +1,218 @@
package ability304
import (
"errors"
"log"
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk"
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk/ability304/request"
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk/ability304/response"
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk/util"
)
type Ability304 struct {
Client *topsdk.TopClient
}
func NewAbility304(client *topsdk.TopClient) *Ability304 {
return &Ability304{client}
}
/*
获取ISV发起请求服务器IP
*/
func (ability *Ability304) TaobaoAppipGet(req *request.TaobaoAppipGetRequest) (*response.TaobaoAppipGetResponse, error) {
if ability.Client == nil {
return nil, errors.New("Ability304 topClient is nil")
}
var jsonStr, err = ability.Client.Execute("taobao.appip.get", req.ToMap(), req.ToFileMap())
var respStruct = response.TaobaoAppipGetResponse{}
if err != nil {
log.Println("taobaoAppipGet 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 *Ability304) TaobaoFilesGet(req *request.TaobaoFilesGetRequest) (*response.TaobaoFilesGetResponse, error) {
if ability.Client == nil {
return nil, errors.New("Ability304 topClient is nil")
}
var jsonStr, err = ability.Client.Execute("taobao.files.get", req.ToMap(), req.ToFileMap())
var respStruct = response.TaobaoFilesGetResponse{}
if err != nil {
log.Println("taobaoFilesGet error", err)
return &respStruct, err
}
err = util.HandleJsonResponse(jsonStr, &respStruct)
if respStruct.Body == "" || len(respStruct.Body) == 0 {
respStruct.Body = jsonStr
}
return &respStruct, err
}
/*
刷新Access Token
*/
func (ability *Ability304) TaobaoTopAuthTokenRefresh(req *request.TaobaoTopAuthTokenRefreshRequest) (*response.TaobaoTopAuthTokenRefreshResponse, error) {
if ability.Client == nil {
return nil, errors.New("Ability304 topClient is nil")
}
var jsonStr, err = ability.Client.Execute("taobao.top.auth.token.refresh", req.ToMap(), req.ToFileMap())
var respStruct = response.TaobaoTopAuthTokenRefreshResponse{}
if err != nil {
log.Println("taobaoTopAuthTokenRefresh error", err)
return &respStruct, err
}
err = util.HandleJsonResponse(jsonStr, &respStruct)
if respStruct.Body == "" || len(respStruct.Body) == 0 {
respStruct.Body = jsonStr
}
return &respStruct, err
}
/*
获取Access Token
*/
func (ability *Ability304) TaobaoTopAuthTokenCreate(req *request.TaobaoTopAuthTokenCreateRequest) (*response.TaobaoTopAuthTokenCreateResponse, error) {
if ability.Client == nil {
return nil, errors.New("Ability304 topClient is nil")
}
var jsonStr, err = ability.Client.Execute("taobao.top.auth.token.create", req.ToMap(), req.ToFileMap())
var respStruct = response.TaobaoTopAuthTokenCreateResponse{}
if err != nil {
log.Println("taobaoTopAuthTokenCreate error", err)
return &respStruct, err
}
err = util.HandleJsonResponse(jsonStr, &respStruct)
if respStruct.Body == "" || len(respStruct.Body) == 0 {
respStruct.Body = jsonStr
}
return &respStruct, err
}
/*
获取授权账号对应的OpenUid
*/
func (ability *Ability304) TaobaoOpenuidGet(req *request.TaobaoOpenuidGetRequest, session string) (*response.TaobaoOpenuidGetResponse, error) {
if ability.Client == nil {
return nil, errors.New("Ability304 topClient is nil")
}
var jsonStr, err = ability.Client.ExecuteWithSession("taobao.openuid.get", req.ToMap(), req.ToFileMap(), session)
var respStruct = response.TaobaoOpenuidGetResponse{}
if err != nil {
log.Println("taobaoOpenuidGet error", err)
return &respStruct, err
}
err = util.HandleJsonResponse(jsonStr, &respStruct)
if respStruct.Body == "" || len(respStruct.Body) == 0 {
respStruct.Body = jsonStr
}
return &respStruct, err
}
/*
通过订单获取对应买家的openUID
*/
func (ability *Ability304) TaobaoOpenuidGetBytrade(req *request.TaobaoOpenuidGetBytradeRequest, session string) (*response.TaobaoOpenuidGetBytradeResponse, error) {
if ability.Client == nil {
return nil, errors.New("Ability304 topClient is nil")
}
var jsonStr, err = ability.Client.ExecuteWithSession("taobao.openuid.get.bytrade", req.ToMap(), req.ToFileMap(), session)
var respStruct = response.TaobaoOpenuidGetBytradeResponse{}
if err != nil {
log.Println("taobaoOpenuidGetBytrade error", err)
return &respStruct, err
}
err = util.HandleJsonResponse(jsonStr, &respStruct)
if respStruct.Body == "" || len(respStruct.Body) == 0 {
respStruct.Body = jsonStr
}
return &respStruct, err
}
/*
TOPDNS配置
*/
func (ability *Ability304) TaobaoHttpdnsGet(req *request.TaobaoHttpdnsGetRequest) (*response.TaobaoHttpdnsGetResponse, error) {
if ability.Client == nil {
return nil, errors.New("Ability304 topClient is nil")
}
var jsonStr, err = ability.Client.Execute("taobao.httpdns.get", req.ToMap(), req.ToFileMap())
var respStruct = response.TaobaoHttpdnsGetResponse{}
if err != nil {
log.Println("taobaoHttpdnsGet error", err)
return &respStruct, err
}
err = util.HandleJsonResponse(jsonStr, &respStruct)
if respStruct.Body == "" || len(respStruct.Body) == 0 {
respStruct.Body = jsonStr
}
return &respStruct, err
}
/*
获取TOP通道解密秘钥
*/
func (ability *Ability304) TaobaoTopSecretGet(req *request.TaobaoTopSecretGetRequest) (*response.TaobaoTopSecretGetResponse, error) {
if ability.Client == nil {
return nil, errors.New("Ability304 topClient is nil")
}
var jsonStr, err = ability.Client.Execute("taobao.top.secret.get", req.ToMap(), req.ToFileMap())
var respStruct = response.TaobaoTopSecretGetResponse{}
if err != nil {
log.Println("taobaoTopSecretGet error", err)
return &respStruct, err
}
err = util.HandleJsonResponse(jsonStr, &respStruct)
if respStruct.Body == "" || len(respStruct.Body) == 0 {
respStruct.Body = jsonStr
}
return &respStruct, err
}
/*
通过mixnick转换openuid
*/
func (ability *Ability304) TaobaoOpenuidGetBymixnick(req *request.TaobaoOpenuidGetBymixnickRequest) (*response.TaobaoOpenuidGetBymixnickResponse, error) {
if ability.Client == nil {
return nil, errors.New("Ability304 topClient is nil")
}
var jsonStr, err = ability.Client.Execute("taobao.openuid.get.bymixnick", req.ToMap(), req.ToFileMap())
var respStruct = response.TaobaoOpenuidGetBymixnickResponse{}
if err != nil {
log.Println("taobaoOpenuidGetBymixnick error", err)
return &respStruct, err
}
err = util.HandleJsonResponse(jsonStr, &respStruct)
if respStruct.Body == "" || len(respStruct.Body) == 0 {
respStruct.Body = jsonStr
}
return &respStruct, err
}
/*
sdk信息回调
*/
func (ability *Ability304) TaobaoTopSdkFeedbackUpload(req *request.TaobaoTopSdkFeedbackUploadRequest) (*response.TaobaoTopSdkFeedbackUploadResponse, error) {
if ability.Client == nil {
return nil, errors.New("Ability304 topClient is nil")
}
var jsonStr, err = ability.Client.Execute("taobao.top.sdk.feedback.upload", req.ToMap(), req.ToFileMap())
var respStruct = response.TaobaoTopSdkFeedbackUploadResponse{}
if err != nil {
log.Println("taobaoTopSdkFeedbackUpload 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,32 @@
package domain
import (
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk/util"
)
type TaobaoFilesGetTopDownloadRecordDo struct {
/*
下载链接 */
Url *string `json:"url,omitempty" `
/*
文件创建时间 */
Created *util.LocalTime `json:"created,omitempty" `
/*
下载链接状态1:未下载2:已下载 */
Status *int64 `json:"status,omitempty" `
}
func (s *TaobaoFilesGetTopDownloadRecordDo) SetUrl(v string) *TaobaoFilesGetTopDownloadRecordDo {
s.Url = &v
return s
}
func (s *TaobaoFilesGetTopDownloadRecordDo) SetCreated(v util.LocalTime) *TaobaoFilesGetTopDownloadRecordDo {
s.Created = &v
return s
}
func (s *TaobaoFilesGetTopDownloadRecordDo) SetStatus(v int64) *TaobaoFilesGetTopDownloadRecordDo {
s.Status = &v
return s
}

View File

@ -0,0 +1,14 @@
package request
type TaobaoAppipGetRequest struct {
}
func (req *TaobaoAppipGetRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
return paramMap
}
func (req *TaobaoAppipGetRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
return fileMap
}

View File

@ -0,0 +1,49 @@
package request
import (
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk/util"
)
type TaobaoFilesGetRequest struct {
/*
下载链接状态1:未下载2:已下载 */
Status *int64 `json:"status,omitempty" required:"false" `
/*
搜索开始时间 */
StartDate *util.LocalTime `json:"start_date" required:"true" `
/*
搜索结束时间 */
EndDate *util.LocalTime `json:"end_date" required:"true" `
}
func (s *TaobaoFilesGetRequest) SetStatus(v int64) *TaobaoFilesGetRequest {
s.Status = &v
return s
}
func (s *TaobaoFilesGetRequest) SetStartDate(v util.LocalTime) *TaobaoFilesGetRequest {
s.StartDate = &v
return s
}
func (s *TaobaoFilesGetRequest) SetEndDate(v util.LocalTime) *TaobaoFilesGetRequest {
s.EndDate = &v
return s
}
func (req *TaobaoFilesGetRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
if req.Status != nil {
paramMap["status"] = *req.Status
}
if req.StartDate != nil {
paramMap["start_date"] = *req.StartDate
}
if req.EndDate != nil {
paramMap["end_date"] = *req.EndDate
}
return paramMap
}
func (req *TaobaoFilesGetRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
return fileMap
}

View File

@ -0,0 +1,14 @@
package request
type TaobaoHttpdnsGetRequest struct {
}
func (req *TaobaoHttpdnsGetRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
return paramMap
}
func (req *TaobaoHttpdnsGetRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
return fileMap
}

View File

@ -0,0 +1,25 @@
package request
type TaobaoOpenuidGetBymixnickRequest struct {
/*
无线类应用获取到的混淆的nick */
MixNick *string `json:"mix_nick" required:"true" `
}
func (s *TaobaoOpenuidGetBymixnickRequest) SetMixNick(v string) *TaobaoOpenuidGetBymixnickRequest {
s.MixNick = &v
return s
}
func (req *TaobaoOpenuidGetBymixnickRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
if req.MixNick != nil {
paramMap["mix_nick"] = *req.MixNick
}
return paramMap
}
func (req *TaobaoOpenuidGetBymixnickRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
return fileMap
}

View File

@ -0,0 +1,25 @@
package request
type TaobaoOpenuidGetBytradeRequest struct {
/*
订单ID */
Tid *int64 `json:"tid" required:"true" `
}
func (s *TaobaoOpenuidGetBytradeRequest) SetTid(v int64) *TaobaoOpenuidGetBytradeRequest {
s.Tid = &v
return s
}
func (req *TaobaoOpenuidGetBytradeRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
if req.Tid != nil {
paramMap["tid"] = *req.Tid
}
return paramMap
}
func (req *TaobaoOpenuidGetBytradeRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
return fileMap
}

View File

@ -0,0 +1,14 @@
package request
type TaobaoOpenuidGetRequest struct {
}
func (req *TaobaoOpenuidGetRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
return paramMap
}
func (req *TaobaoOpenuidGetRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
return fileMap
}

View File

@ -0,0 +1,35 @@
package request
type TaobaoTopAuthTokenCreateRequest struct {
/*
授权codegrantType==authorization_code 时需要 */
Code *string `json:"code" required:"true" `
/*
非必填与生成code的uuid配对使用方式参考文档 */
Uuid *string `json:"uuid,omitempty" required:"false" `
}
func (s *TaobaoTopAuthTokenCreateRequest) SetCode(v string) *TaobaoTopAuthTokenCreateRequest {
s.Code = &v
return s
}
func (s *TaobaoTopAuthTokenCreateRequest) SetUuid(v string) *TaobaoTopAuthTokenCreateRequest {
s.Uuid = &v
return s
}
func (req *TaobaoTopAuthTokenCreateRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
if req.Code != nil {
paramMap["code"] = *req.Code
}
if req.Uuid != nil {
paramMap["uuid"] = *req.Uuid
}
return paramMap
}
func (req *TaobaoTopAuthTokenCreateRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
return fileMap
}

View File

@ -0,0 +1,25 @@
package request
type TaobaoTopAuthTokenRefreshRequest struct {
/*
grantType==refresh_token 时需要 */
RefreshToken *string `json:"refresh_token" required:"true" `
}
func (s *TaobaoTopAuthTokenRefreshRequest) SetRefreshToken(v string) *TaobaoTopAuthTokenRefreshRequest {
s.RefreshToken = &v
return s
}
func (req *TaobaoTopAuthTokenRefreshRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
if req.RefreshToken != nil {
paramMap["refresh_token"] = *req.RefreshToken
}
return paramMap
}
func (req *TaobaoTopAuthTokenRefreshRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
return fileMap
}

View File

@ -0,0 +1,35 @@
package request
type TaobaoTopSdkFeedbackUploadRequest struct {
/*
1回传加密信息 */
Type *string `json:"type" required:"true" `
/*
具体内容json形式 */
Content *string `json:"content,omitempty" required:"false" `
}
func (s *TaobaoTopSdkFeedbackUploadRequest) SetType(v string) *TaobaoTopSdkFeedbackUploadRequest {
s.Type = &v
return s
}
func (s *TaobaoTopSdkFeedbackUploadRequest) SetContent(v string) *TaobaoTopSdkFeedbackUploadRequest {
s.Content = &v
return s
}
func (req *TaobaoTopSdkFeedbackUploadRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
if req.Type != nil {
paramMap["type"] = *req.Type
}
if req.Content != nil {
paramMap["content"] = *req.Content
}
return paramMap
}
func (req *TaobaoTopSdkFeedbackUploadRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
return fileMap
}

View File

@ -0,0 +1,45 @@
package request
type TaobaoTopSecretGetRequest struct {
/*
秘钥版本号 */
SecretVersion *int64 `json:"secret_version,omitempty" required:"false" `
/*
伪随机数 */
RandomNum *string `json:"random_num" required:"true" `
/*
自定义用户id */
CustomerUserId *int64 `json:"customer_user_id,omitempty" required:"false" `
}
func (s *TaobaoTopSecretGetRequest) SetSecretVersion(v int64) *TaobaoTopSecretGetRequest {
s.SecretVersion = &v
return s
}
func (s *TaobaoTopSecretGetRequest) SetRandomNum(v string) *TaobaoTopSecretGetRequest {
s.RandomNum = &v
return s
}
func (s *TaobaoTopSecretGetRequest) SetCustomerUserId(v int64) *TaobaoTopSecretGetRequest {
s.CustomerUserId = &v
return s
}
func (req *TaobaoTopSecretGetRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
if req.SecretVersion != nil {
paramMap["secret_version"] = *req.SecretVersion
}
if req.RandomNum != nil {
paramMap["random_num"] = *req.RandomNum
}
if req.CustomerUserId != nil {
paramMap["customer_user_id"] = *req.CustomerUserId
}
return paramMap
}
func (req *TaobaoTopSecretGetRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
return fileMap
}

View File

@ -0,0 +1,21 @@
package response
import ()
type TaobaoAppipGetResponse struct {
/*
System request id
*/
RequestId string `json:"request_id,omitempty" `
/*
System body
*/
Body string
/*
ISV发起请求服务器IP
*/
Ip string `json:"ip,omitempty" `
}

View File

@ -0,0 +1,23 @@
package response
import (
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk/ability304/domain"
)
type TaobaoFilesGetResponse struct {
/*
System request id
*/
RequestId string `json:"request_id,omitempty" `
/*
System body
*/
Body string
/*
results
*/
Results []domain.TaobaoFilesGetTopDownloadRecordDo `json:"results,omitempty" `
}

View File

@ -0,0 +1,21 @@
package response
import ()
type TaobaoHttpdnsGetResponse struct {
/*
System request id
*/
RequestId string `json:"request_id,omitempty" `
/*
System body
*/
Body string
/*
HTTP DNS配置信息
*/
Result string `json:"result,omitempty" `
}

View File

@ -0,0 +1,21 @@
package response
import ()
type TaobaoOpenuidGetBymixnickResponse struct {
/*
System request id
*/
RequestId string `json:"request_id,omitempty" `
/*
System body
*/
Body string
/*
OpenUID
*/
OpenUid string `json:"open_uid,omitempty" `
}

View File

@ -0,0 +1,21 @@
package response
import ()
type TaobaoOpenuidGetBytradeResponse struct {
/*
System request id
*/
RequestId string `json:"request_id,omitempty" `
/*
System body
*/
Body string
/*
当前交易tid对应买家的openuid
*/
OpenUid string `json:"open_uid,omitempty" `
}

View File

@ -0,0 +1,21 @@
package response
import ()
type TaobaoOpenuidGetResponse struct {
/*
System request id
*/
RequestId string `json:"request_id,omitempty" `
/*
System body
*/
Body string
/*
OpenUID
*/
OpenUid string `json:"open_uid,omitempty" `
}

View File

@ -0,0 +1,21 @@
package response
import ()
type TaobaoTopAuthTokenCreateResponse struct {
/*
System request id
*/
RequestId string `json:"request_id,omitempty" `
/*
System body
*/
Body string
/*
返回的是json信息和之前调用https://oauth.taobao.com/tac/token https://oauth.alibaba.com/token 换token返回的字段信息一致
*/
TokenResult string `json:"token_result,omitempty" `
}

View File

@ -0,0 +1,21 @@
package response
import ()
type TaobaoTopAuthTokenRefreshResponse struct {
/*
System request id
*/
RequestId string `json:"request_id,omitempty" `
/*
System body
*/
Body string
/*
返回的是json信息
*/
TokenResult string `json:"token_result,omitempty" `
}

View File

@ -0,0 +1,21 @@
package response
import ()
type TaobaoTopSdkFeedbackUploadResponse struct {
/*
System request id
*/
RequestId string `json:"request_id,omitempty" `
/*
System body
*/
Body string
/*
控制回传间隔单位
*/
UploadInterval int64 `json:"upload_interval,omitempty" `
}

View File

@ -0,0 +1,37 @@
package response
import ()
type TaobaoTopSecretGetResponse struct {
/*
System request id
*/
RequestId string `json:"request_id,omitempty" `
/*
System body
*/
Body string
/*
下次更新秘钥间隔单位
*/
Interval int64 `json:"interval,omitempty" `
/*
最长有效期容灾使用单位
*/
MaxInterval int64 `json:"max_interval,omitempty" `
/*
秘钥值
*/
Secret string `json:"secret,omitempty" `
/*
秘钥版本号
*/
SecretVersion int64 `json:"secret_version,omitempty" `
/*
app配置信息
*/
AppConfig string `json:"app_config,omitempty" `
}

View File

@ -0,0 +1,58 @@
package ability305
import (
"errors"
"log"
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk"
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk/ability305/request"
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk/ability305/response"
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk/util"
)
type Ability305 struct {
Client *topsdk.TopClient
}
func NewAbility305(client *topsdk.TopClient) *Ability305 {
return &Ability305{client}
}
/*
获取消息队列积压情况
*/
func (ability *Ability305) TaobaoTmcQueueGet(req *request.TaobaoTmcQueueGetRequest) (*response.TaobaoTmcQueueGetResponse, error) {
if ability.Client == nil {
return nil, errors.New("Ability305 topClient is nil")
}
var jsonStr, err = ability.Client.Execute("taobao.tmc.queue.get", req.ToMap(), req.ToFileMap())
var respStruct = response.TaobaoTmcQueueGetResponse{}
if err != nil {
log.Println("taobaoTmcQueueGet error", err)
return &respStruct, err
}
err = util.HandleJsonResponse(jsonStr, &respStruct)
if respStruct.Body == "" || len(respStruct.Body) == 0 {
respStruct.Body = jsonStr
}
return &respStruct, err
}
/*
获取用户开通的topic列表
*/
func (ability *Ability305) TaobaoTmcUserTopicsGet(req *request.TaobaoTmcUserTopicsGetRequest) (*response.TaobaoTmcUserTopicsGetResponse, error) {
if ability.Client == nil {
return nil, errors.New("Ability305 topClient is nil")
}
var jsonStr, err = ability.Client.Execute("taobao.tmc.user.topics.get", req.ToMap(), req.ToFileMap())
var respStruct = response.TaobaoTmcUserTopicsGetResponse{}
if err != nil {
log.Println("taobaoTmcUserTopicsGet 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,36 @@
package domain
type TaobaoTmcQueueGetTmcQueueInfo struct {
/*
当前队列当天读取量 */
GetTotal *int64 `json:"get_total,omitempty" `
/*
当前队列当天写入量 */
PutToal *int64 `json:"put_toal,omitempty" `
/*
TMC组名 */
Name *string `json:"name,omitempty" `
/*
消息队列Broker名称 */
BrokerName *string `json:"broker_name,omitempty" `
}
func (s *TaobaoTmcQueueGetTmcQueueInfo) SetGetTotal(v int64) *TaobaoTmcQueueGetTmcQueueInfo {
s.GetTotal = &v
return s
}
func (s *TaobaoTmcQueueGetTmcQueueInfo) SetPutToal(v int64) *TaobaoTmcQueueGetTmcQueueInfo {
s.PutToal = &v
return s
}
func (s *TaobaoTmcQueueGetTmcQueueInfo) SetName(v string) *TaobaoTmcQueueGetTmcQueueInfo {
s.Name = &v
return s
}
func (s *TaobaoTmcQueueGetTmcQueueInfo) SetBrokerName(v string) *TaobaoTmcQueueGetTmcQueueInfo {
s.BrokerName = &v
return s
}

View File

@ -0,0 +1,25 @@
package request
type TaobaoTmcQueueGetRequest struct {
/*
TMC组名 */
GroupName *string `json:"group_name" required:"true" `
}
func (s *TaobaoTmcQueueGetRequest) SetGroupName(v string) *TaobaoTmcQueueGetRequest {
s.GroupName = &v
return s
}
func (req *TaobaoTmcQueueGetRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
if req.GroupName != nil {
paramMap["group_name"] = *req.GroupName
}
return paramMap
}
func (req *TaobaoTmcQueueGetRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
return fileMap
}

View File

@ -0,0 +1,25 @@
package request
type TaobaoTmcUserTopicsGetRequest struct {
/*
卖家nick */
Nick *string `json:"nick,omitempty" required:"false" `
}
func (s *TaobaoTmcUserTopicsGetRequest) SetNick(v string) *TaobaoTmcUserTopicsGetRequest {
s.Nick = &v
return s
}
func (req *TaobaoTmcUserTopicsGetRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
if req.Nick != nil {
paramMap["nick"] = *req.Nick
}
return paramMap
}
func (req *TaobaoTmcUserTopicsGetRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
return fileMap
}

View File

@ -0,0 +1,23 @@
package response
import (
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk/ability305/domain"
)
type TaobaoTmcQueueGetResponse struct {
/*
System request id
*/
RequestId string `json:"request_id,omitempty" `
/*
System body
*/
Body string
/*
队列详细信息
*/
Datas []domain.TaobaoTmcQueueGetTmcQueueInfo `json:"datas,omitempty" `
}

View File

@ -0,0 +1,27 @@
package response
type TaobaoTmcUserTopicsGetResponse struct {
/*
System request id
*/
RequestId string `json:"request_id,omitempty" `
/*
System body
*/
Body string
/*
错误信息
*/
ResultMessage string `json:"result_message,omitempty" `
/*
topic列表
*/
Topics []string `json:"topics,omitempty" `
/*
错误码
*/
ResultCode string `json:"result_code,omitempty" `
}

View File

@ -0,0 +1,158 @@
package ability362
import (
"errors"
"log"
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk"
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk/ability362/request"
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk/ability362/response"
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk/util"
)
type Ability362 struct {
Client *topsdk.TopClient
}
func NewAbility362(client *topsdk.TopClient) *Ability362 {
return &Ability362{client}
}
/*
飞猪门票核销通知
*/
func (ability *Ability362) TaobaoTravelTicketOrderVerify(req *request.TaobaoTravelTicketOrderVerifyRequest) (*response.TaobaoTravelTicketOrderVerifyResponse, error) {
if ability.Client == nil {
return nil, errors.New("Ability362 topClient is nil")
}
var jsonStr, err = ability.Client.Execute("taobao.travel.ticket.order.verify", req.ToMap(), req.ToFileMap())
var respStruct = response.TaobaoTravelTicketOrderVerifyResponse{}
if err != nil {
log.Println("taobaoTravelTicketOrderVerify 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 *Ability362) TaobaoTravelTicketOrderRefund(req *request.TaobaoTravelTicketOrderRefundRequest) (*response.TaobaoTravelTicketOrderRefundResponse, error) {
if ability.Client == nil {
return nil, errors.New("Ability362 topClient is nil")
}
var jsonStr, err = ability.Client.Execute("taobao.travel.ticket.order.refund", req.ToMap(), req.ToFileMap())
var respStruct = response.TaobaoTravelTicketOrderRefundResponse{}
if err != nil {
log.Println("taobaoTravelTicketOrderRefund 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 *Ability362) AlitripTravelHotelticketOrderCreate(req *request.AlitripTravelHotelticketOrderCreateRequest) (*response.AlitripTravelHotelticketOrderCreateResponse, error) {
if ability.Client == nil {
return nil, errors.New("Ability362 topClient is nil")
}
var jsonStr, err = ability.Client.Execute("alitrip.travel.hotelticket.order.create", req.ToMap(), req.ToFileMap())
var respStruct = response.AlitripTravelHotelticketOrderCreateResponse{}
if err != nil {
log.Println("alitripTravelHotelticketOrderCreate 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 *Ability362) AlitripTravelHotelticketOrderRefund(req *request.AlitripTravelHotelticketOrderRefundRequest) (*response.AlitripTravelHotelticketOrderRefundResponse, error) {
if ability.Client == nil {
return nil, errors.New("Ability362 topClient is nil")
}
var jsonStr, err = ability.Client.Execute("alitrip.travel.hotelticket.order.refund", req.ToMap(), req.ToFileMap())
var respStruct = response.AlitripTravelHotelticketOrderRefundResponse{}
if err != nil {
log.Println("alitripTravelHotelticketOrderRefund 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 *Ability362) AlitripTravelHotelticketOrderVerify(req *request.AlitripTravelHotelticketOrderVerifyRequest) (*response.AlitripTravelHotelticketOrderVerifyResponse, error) {
if ability.Client == nil {
return nil, errors.New("Ability362 topClient is nil")
}
var jsonStr, err = ability.Client.Execute("alitrip.travel.hotelticket.order.verify", req.ToMap(), req.ToFileMap())
var respStruct = response.AlitripTravelHotelticketOrderVerifyResponse{}
if err != nil {
log.Println("alitripTravelHotelticketOrderVerify 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 *Ability362) AlitripTravelHotelticketProductProductupdate(req *request.AlitripTravelHotelticketProductProductupdateRequest) (*response.AlitripTravelHotelticketProductProductupdateResponse, error) {
if ability.Client == nil {
return nil, errors.New("Ability362 topClient is nil")
}
var jsonStr, err = ability.Client.Execute("alitrip.travel.hotelticket.product.productupdate", req.ToMap(), req.ToFileMap())
var respStruct = response.AlitripTravelHotelticketProductProductupdateResponse{}
if err != nil {
log.Println("alitripTravelHotelticketProductProductupdate 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 *Ability362) AlitripTravelHotelticketProductProductupdatepush(req *request.AlitripTravelHotelticketProductProductupdatepushRequest) (*response.AlitripTravelHotelticketProductProductupdatepushResponse, error) {
if ability.Client == nil {
return nil, errors.New("Ability362 topClient is nil")
}
var jsonStr, err = ability.Client.Execute("alitrip.travel.hotelticket.product.productupdatepush", req.ToMap(), req.ToFileMap())
var respStruct = response.AlitripTravelHotelticketProductProductupdatepushResponse{}
if err != nil {
log.Println("alitripTravelHotelticketProductProductupdatepush 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,68 @@
package domain
type AlitripTravelHotelticketOrderCreateHotelTicketVoucherDTO struct {
/*
凭证码 */
Code *string `json:"code,omitempty" `
/*
每张票或券可使用次数如针对一码多刷往返索道3张票1个码每张票可使用次数为2则该码可以刷6次 */
AvailableNums *int64 `json:"available_nums,omitempty" `
/*
证件号 */
CertificateId *string `json:"certificate_id,omitempty" `
/*
凭证类型 1票码 2券码 */
Type *int64 `json:"type,omitempty" `
/*
二维码图片链接 */
Url *string `json:"url,omitempty" `
/*
凭证 可用/不可用 */
CanUse *bool `json:"can_use,omitempty" `
/*
已使用次数 */
UsageNums *int64 `json:"usage_nums,omitempty" `
/*
业务类型1门票 2酒店 */
BizType *int64 `json:"biz_type,omitempty" `
}
func (s *AlitripTravelHotelticketOrderCreateHotelTicketVoucherDTO) SetCode(v string) *AlitripTravelHotelticketOrderCreateHotelTicketVoucherDTO {
s.Code = &v
return s
}
func (s *AlitripTravelHotelticketOrderCreateHotelTicketVoucherDTO) SetAvailableNums(v int64) *AlitripTravelHotelticketOrderCreateHotelTicketVoucherDTO {
s.AvailableNums = &v
return s
}
func (s *AlitripTravelHotelticketOrderCreateHotelTicketVoucherDTO) SetCertificateId(v string) *AlitripTravelHotelticketOrderCreateHotelTicketVoucherDTO {
s.CertificateId = &v
return s
}
func (s *AlitripTravelHotelticketOrderCreateHotelTicketVoucherDTO) SetType(v int64) *AlitripTravelHotelticketOrderCreateHotelTicketVoucherDTO {
s.Type = &v
return s
}
func (s *AlitripTravelHotelticketOrderCreateHotelTicketVoucherDTO) SetUrl(v string) *AlitripTravelHotelticketOrderCreateHotelTicketVoucherDTO {
s.Url = &v
return s
}
func (s *AlitripTravelHotelticketOrderCreateHotelTicketVoucherDTO) SetCanUse(v bool) *AlitripTravelHotelticketOrderCreateHotelTicketVoucherDTO {
s.CanUse = &v
return s
}
func (s *AlitripTravelHotelticketOrderCreateHotelTicketVoucherDTO) SetUsageNums(v int64) *AlitripTravelHotelticketOrderCreateHotelTicketVoucherDTO {
s.UsageNums = &v
return s
}
func (s *AlitripTravelHotelticketOrderCreateHotelTicketVoucherDTO) SetBizType(v int64) *AlitripTravelHotelticketOrderCreateHotelTicketVoucherDTO {
s.BizType = &v
return s
}

View File

@ -0,0 +1,52 @@
package domain
type AlitripTravelHotelticketOrderVerifyHotelTicketVerifyVoucherDTO struct {
/*
凭证码 */
Code *string `json:"code,omitempty" `
/*
使用时间yyyy-MM-dd HH:mm:ss */
UseDate *string `json:"use_date,omitempty" `
/*
证件号 */
CertificateId *string `json:"certificate_id,omitempty" `
/*
凭证类型 1票码 2券码 */
Type *int64 `json:"type,omitempty" `
/*
票或券 核销使用数量 */
UsageNums *int64 `json:"usage_nums,omitempty" `
/*
业务类型1门票 2酒店 */
BizType *int64 `json:"biz_type,omitempty" `
}
func (s *AlitripTravelHotelticketOrderVerifyHotelTicketVerifyVoucherDTO) SetCode(v string) *AlitripTravelHotelticketOrderVerifyHotelTicketVerifyVoucherDTO {
s.Code = &v
return s
}
func (s *AlitripTravelHotelticketOrderVerifyHotelTicketVerifyVoucherDTO) SetUseDate(v string) *AlitripTravelHotelticketOrderVerifyHotelTicketVerifyVoucherDTO {
s.UseDate = &v
return s
}
func (s *AlitripTravelHotelticketOrderVerifyHotelTicketVerifyVoucherDTO) SetCertificateId(v string) *AlitripTravelHotelticketOrderVerifyHotelTicketVerifyVoucherDTO {
s.CertificateId = &v
return s
}
func (s *AlitripTravelHotelticketOrderVerifyHotelTicketVerifyVoucherDTO) SetType(v int64) *AlitripTravelHotelticketOrderVerifyHotelTicketVerifyVoucherDTO {
s.Type = &v
return s
}
func (s *AlitripTravelHotelticketOrderVerifyHotelTicketVerifyVoucherDTO) SetUsageNums(v int64) *AlitripTravelHotelticketOrderVerifyHotelTicketVerifyVoucherDTO {
s.UsageNums = &v
return s
}
func (s *AlitripTravelHotelticketOrderVerifyHotelTicketVerifyVoucherDTO) SetBizType(v int64) *AlitripTravelHotelticketOrderVerifyHotelTicketVerifyVoucherDTO {
s.BizType = &v
return s
}

View File

@ -0,0 +1,52 @@
package domain
type AlitripTravelHotelticketProductProductupdateProductUpdateDTO struct {
/*
扩展参数 */
ExtendParams *string `json:"extend_params,omitempty" `
/*
产品变更通知类型 1价格2库存3价库 */
NotifyType *int64 `json:"notify_type,omitempty" `
/*
系统商商品码 */
ProductId *string `json:"product_id,omitempty" `
/*
场次ID信息 */
SessionIds *[]string `json:"session_ids,omitempty" `
/*
产品变更开始时间 yyyy-MM-dd */
StartDate *string `json:"start_date,omitempty" `
/*
产品变更结束时间 yyyy-MM-dd */
EndDate *string `json:"end_date,omitempty" `
}
func (s *AlitripTravelHotelticketProductProductupdateProductUpdateDTO) SetExtendParams(v string) *AlitripTravelHotelticketProductProductupdateProductUpdateDTO {
s.ExtendParams = &v
return s
}
func (s *AlitripTravelHotelticketProductProductupdateProductUpdateDTO) SetNotifyType(v int64) *AlitripTravelHotelticketProductProductupdateProductUpdateDTO {
s.NotifyType = &v
return s
}
func (s *AlitripTravelHotelticketProductProductupdateProductUpdateDTO) SetProductId(v string) *AlitripTravelHotelticketProductProductupdateProductUpdateDTO {
s.ProductId = &v
return s
}
func (s *AlitripTravelHotelticketProductProductupdateProductUpdateDTO) SetSessionIds(v []string) *AlitripTravelHotelticketProductProductupdateProductUpdateDTO {
s.SessionIds = &v
return s
}
func (s *AlitripTravelHotelticketProductProductupdateProductUpdateDTO) SetStartDate(v string) *AlitripTravelHotelticketProductProductupdateProductUpdateDTO {
s.StartDate = &v
return s
}
func (s *AlitripTravelHotelticketProductProductupdateProductUpdateDTO) SetEndDate(v string) *AlitripTravelHotelticketProductProductupdateProductUpdateDTO {
s.EndDate = &v
return s
}

View File

@ -0,0 +1,52 @@
package domain
type AlitripTravelHotelticketProductProductupdatepushProductPriceStockDTO struct {
/*
日期yyyy-MM-dd */
Date *string `json:"date,omitempty" `
/*
场次价库信息 */
Sessions *[]AlitripTravelHotelticketProductProductupdatepushProductSessionDTO `json:"sessions,omitempty" `
/*
是否可售卖true可售卖 */
CanSell *bool `json:"can_sell,omitempty" `
/*
库存 */
Stock *int64 `json:"stock,omitempty" `
/*
产品结算单价单位 */
WholesalePrice *int64 `json:"wholesale_price,omitempty" `
/*
产品销售单价单位 */
RetailPrice *int64 `json:"retail_price,omitempty" `
}
func (s *AlitripTravelHotelticketProductProductupdatepushProductPriceStockDTO) SetDate(v string) *AlitripTravelHotelticketProductProductupdatepushProductPriceStockDTO {
s.Date = &v
return s
}
func (s *AlitripTravelHotelticketProductProductupdatepushProductPriceStockDTO) SetSessions(v []AlitripTravelHotelticketProductProductupdatepushProductSessionDTO) *AlitripTravelHotelticketProductProductupdatepushProductPriceStockDTO {
s.Sessions = &v
return s
}
func (s *AlitripTravelHotelticketProductProductupdatepushProductPriceStockDTO) SetCanSell(v bool) *AlitripTravelHotelticketProductProductupdatepushProductPriceStockDTO {
s.CanSell = &v
return s
}
func (s *AlitripTravelHotelticketProductProductupdatepushProductPriceStockDTO) SetStock(v int64) *AlitripTravelHotelticketProductProductupdatepushProductPriceStockDTO {
s.Stock = &v
return s
}
func (s *AlitripTravelHotelticketProductProductupdatepushProductPriceStockDTO) SetWholesalePrice(v int64) *AlitripTravelHotelticketProductProductupdatepushProductPriceStockDTO {
s.WholesalePrice = &v
return s
}
func (s *AlitripTravelHotelticketProductProductupdatepushProductPriceStockDTO) SetRetailPrice(v int64) *AlitripTravelHotelticketProductProductupdatepushProductPriceStockDTO {
s.RetailPrice = &v
return s
}

View File

@ -0,0 +1,52 @@
package domain
type AlitripTravelHotelticketProductProductupdatepushProductSessionDTO struct {
/*
开始时间HH:mm */
StartTime *string `json:"start_time,omitempty" `
/*
场次ID */
SessionId *string `json:"session_id,omitempty" `
/*
结束时间HH:mm */
EndTime *string `json:"end_time,omitempty" `
/*
场次库存 */
Stock *int64 `json:"stock,omitempty" `
/*
产品场次结算单价单位 */
WholesalePrice *int64 `json:"wholesale_price,omitempty" `
/*
产品场次销售单价单位 */
RetailPrice *int64 `json:"retail_price,omitempty" `
}
func (s *AlitripTravelHotelticketProductProductupdatepushProductSessionDTO) SetStartTime(v string) *AlitripTravelHotelticketProductProductupdatepushProductSessionDTO {
s.StartTime = &v
return s
}
func (s *AlitripTravelHotelticketProductProductupdatepushProductSessionDTO) SetSessionId(v string) *AlitripTravelHotelticketProductProductupdatepushProductSessionDTO {
s.SessionId = &v
return s
}
func (s *AlitripTravelHotelticketProductProductupdatepushProductSessionDTO) SetEndTime(v string) *AlitripTravelHotelticketProductProductupdatepushProductSessionDTO {
s.EndTime = &v
return s
}
func (s *AlitripTravelHotelticketProductProductupdatepushProductSessionDTO) SetStock(v int64) *AlitripTravelHotelticketProductProductupdatepushProductSessionDTO {
s.Stock = &v
return s
}
func (s *AlitripTravelHotelticketProductProductupdatepushProductSessionDTO) SetWholesalePrice(v int64) *AlitripTravelHotelticketProductProductupdatepushProductSessionDTO {
s.WholesalePrice = &v
return s
}
func (s *AlitripTravelHotelticketProductProductupdatepushProductSessionDTO) SetRetailPrice(v int64) *AlitripTravelHotelticketProductProductupdatepushProductSessionDTO {
s.RetailPrice = &v
return s
}

View File

@ -0,0 +1,68 @@
package domain
type AlitripTravelHotelticketProductProductupdatepushProductUpdatePushDTO struct {
/*
日历价格库存信息 日历价格库存信息 */
PriceStocks *[]AlitripTravelHotelticketProductProductupdatepushProductPriceStockDTO `json:"price_stocks,omitempty" `
/*
产品变更通知类型 1价格2库存3价库 */
NotifyType *int64 `json:"notify_type,omitempty" `
/*
系统商商品码 */
ProductId *string `json:"product_id,omitempty" `
/*
床型ID */
BedId *string `json:"bed_id,omitempty" `
/*
酒店ID */
HotelId *string `json:"hotel_id,omitempty" `
/*
房型ID */
RoomId *string `json:"room_id,omitempty" `
/*
扩展参数 */
ExtendParams *string `json:"extend_params,omitempty" `
/*
模式 默认值11:普通日历/预约商品非通兑和非任选 defalutValue:1 */
Mode *int64 `json:"mode,omitempty" `
}
func (s *AlitripTravelHotelticketProductProductupdatepushProductUpdatePushDTO) SetPriceStocks(v []AlitripTravelHotelticketProductProductupdatepushProductPriceStockDTO) *AlitripTravelHotelticketProductProductupdatepushProductUpdatePushDTO {
s.PriceStocks = &v
return s
}
func (s *AlitripTravelHotelticketProductProductupdatepushProductUpdatePushDTO) SetNotifyType(v int64) *AlitripTravelHotelticketProductProductupdatepushProductUpdatePushDTO {
s.NotifyType = &v
return s
}
func (s *AlitripTravelHotelticketProductProductupdatepushProductUpdatePushDTO) SetProductId(v string) *AlitripTravelHotelticketProductProductupdatepushProductUpdatePushDTO {
s.ProductId = &v
return s
}
func (s *AlitripTravelHotelticketProductProductupdatepushProductUpdatePushDTO) SetBedId(v string) *AlitripTravelHotelticketProductProductupdatepushProductUpdatePushDTO {
s.BedId = &v
return s
}
func (s *AlitripTravelHotelticketProductProductupdatepushProductUpdatePushDTO) SetHotelId(v string) *AlitripTravelHotelticketProductProductupdatepushProductUpdatePushDTO {
s.HotelId = &v
return s
}
func (s *AlitripTravelHotelticketProductProductupdatepushProductUpdatePushDTO) SetRoomId(v string) *AlitripTravelHotelticketProductProductupdatepushProductUpdatePushDTO {
s.RoomId = &v
return s
}
func (s *AlitripTravelHotelticketProductProductupdatepushProductUpdatePushDTO) SetExtendParams(v string) *AlitripTravelHotelticketProductProductupdatepushProductUpdatePushDTO {
s.ExtendParams = &v
return s
}
func (s *AlitripTravelHotelticketProductProductupdatepushProductUpdatePushDTO) SetMode(v int64) *AlitripTravelHotelticketProductProductupdatepushProductUpdatePushDTO {
s.Mode = &v
return s
}

View File

@ -0,0 +1,28 @@
package domain
type TaobaoTravelTicketOrderVerifyVoucherInfoDto struct {
/*
用户短信会收到的确认号 */
ConfirmCode *string `json:"confirm_code,omitempty" `
/*
凭证使用次数 */
UsedQuantity *int64 `json:"used_quantity,omitempty" `
/*
凭证使用时间格式:yyyy-MM-dd HH:mm:ss */
UsedDate *string `json:"used_date,omitempty" `
}
func (s *TaobaoTravelTicketOrderVerifyVoucherInfoDto) SetConfirmCode(v string) *TaobaoTravelTicketOrderVerifyVoucherInfoDto {
s.ConfirmCode = &v
return s
}
func (s *TaobaoTravelTicketOrderVerifyVoucherInfoDto) SetUsedQuantity(v int64) *TaobaoTravelTicketOrderVerifyVoucherInfoDto {
s.UsedQuantity = &v
return s
}
func (s *TaobaoTravelTicketOrderVerifyVoucherInfoDto) SetUsedDate(v string) *TaobaoTravelTicketOrderVerifyVoucherInfoDto {
s.UsedDate = &v
return s
}

View File

@ -0,0 +1,80 @@
package request
import (
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk/ability362/domain"
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk/util"
)
type AlitripTravelHotelticketOrderCreateRequest struct {
/*
扩展参数 支持的key: ["hotelName" : "酒店名称", "roomName" : "房型名称", "productName" : "产品名称", "desc" : "描述"] value字符长度不超过100 */
ExtendParams *string `json:"extend_params,omitempty" required:"false" `
/*
系统商订单号 */
OrderId *string `json:"order_id,omitempty" required:"false" `
/*
创单出票失败原因信息 */
FailMsg *string `json:"fail_msg,omitempty" required:"false" `
/*
凭证信息 无数据时传空集合 */
Vouchers *[]domain.AlitripTravelHotelticketOrderCreateHotelTicketVoucherDTO `json:"vouchers,omitempty" required:"false" `
/*
创单结果状态 1创单出票成功 2创单出票失败 */
Status *int64 `json:"status" required:"true" `
/*
飞猪订单号 */
FliggyOrderId *string `json:"fliggy_order_id" required:"true" `
}
func (s *AlitripTravelHotelticketOrderCreateRequest) SetExtendParams(v string) *AlitripTravelHotelticketOrderCreateRequest {
s.ExtendParams = &v
return s
}
func (s *AlitripTravelHotelticketOrderCreateRequest) SetOrderId(v string) *AlitripTravelHotelticketOrderCreateRequest {
s.OrderId = &v
return s
}
func (s *AlitripTravelHotelticketOrderCreateRequest) SetFailMsg(v string) *AlitripTravelHotelticketOrderCreateRequest {
s.FailMsg = &v
return s
}
func (s *AlitripTravelHotelticketOrderCreateRequest) SetVouchers(v []domain.AlitripTravelHotelticketOrderCreateHotelTicketVoucherDTO) *AlitripTravelHotelticketOrderCreateRequest {
s.Vouchers = &v
return s
}
func (s *AlitripTravelHotelticketOrderCreateRequest) SetStatus(v int64) *AlitripTravelHotelticketOrderCreateRequest {
s.Status = &v
return s
}
func (s *AlitripTravelHotelticketOrderCreateRequest) SetFliggyOrderId(v string) *AlitripTravelHotelticketOrderCreateRequest {
s.FliggyOrderId = &v
return s
}
func (req *AlitripTravelHotelticketOrderCreateRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
if req.ExtendParams != nil {
paramMap["extend_params"] = *req.ExtendParams
}
if req.OrderId != nil {
paramMap["order_id"] = *req.OrderId
}
if req.FailMsg != nil {
paramMap["fail_msg"] = *req.FailMsg
}
if req.Vouchers != nil {
paramMap["vouchers"] = util.ConvertStructList(*req.Vouchers)
}
if req.Status != nil {
paramMap["status"] = *req.Status
}
if req.FliggyOrderId != nil {
paramMap["fliggy_order_id"] = *req.FliggyOrderId
}
return paramMap
}
func (req *AlitripTravelHotelticketOrderCreateRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
return fileMap
}

View File

@ -0,0 +1,55 @@
package request
type AlitripTravelHotelticketOrderRefundRequest struct {
/*
系统商订单号 */
OrderId *string `json:"order_id,omitempty" required:"false" `
/*
退款失败原因 */
FailMsg *string `json:"fail_msg,omitempty" required:"false" `
/*
退款结果状态 1:退款成功 2:退款失败 */
Status *int64 `json:"status" required:"true" `
/*
飞猪订单号 */
FliggyOrderId *string `json:"fliggy_order_id" required:"true" `
}
func (s *AlitripTravelHotelticketOrderRefundRequest) SetOrderId(v string) *AlitripTravelHotelticketOrderRefundRequest {
s.OrderId = &v
return s
}
func (s *AlitripTravelHotelticketOrderRefundRequest) SetFailMsg(v string) *AlitripTravelHotelticketOrderRefundRequest {
s.FailMsg = &v
return s
}
func (s *AlitripTravelHotelticketOrderRefundRequest) SetStatus(v int64) *AlitripTravelHotelticketOrderRefundRequest {
s.Status = &v
return s
}
func (s *AlitripTravelHotelticketOrderRefundRequest) SetFliggyOrderId(v string) *AlitripTravelHotelticketOrderRefundRequest {
s.FliggyOrderId = &v
return s
}
func (req *AlitripTravelHotelticketOrderRefundRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
if req.OrderId != nil {
paramMap["order_id"] = *req.OrderId
}
if req.FailMsg != nil {
paramMap["fail_msg"] = *req.FailMsg
}
if req.Status != nil {
paramMap["status"] = *req.Status
}
if req.FliggyOrderId != nil {
paramMap["fliggy_order_id"] = *req.FliggyOrderId
}
return paramMap
}
func (req *AlitripTravelHotelticketOrderRefundRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
return fileMap
}

View File

@ -0,0 +1,60 @@
package request
import (
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk/ability362/domain"
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk/util"
)
type AlitripTravelHotelticketOrderVerifyRequest struct {
/*
扩展参数 */
ExtendParams *string `json:"extend_params,omitempty" required:"false" `
/*
系统商订单号 */
OrderId *string `json:"order_id,omitempty" required:"false" `
/*
凭证信息 */
Vouchers *[]domain.AlitripTravelHotelticketOrderVerifyHotelTicketVerifyVoucherDTO `json:"vouchers,omitempty" required:"false" `
/*
飞猪订单号 */
FliggyOrderId *string `json:"fliggy_order_id" required:"true" `
}
func (s *AlitripTravelHotelticketOrderVerifyRequest) SetExtendParams(v string) *AlitripTravelHotelticketOrderVerifyRequest {
s.ExtendParams = &v
return s
}
func (s *AlitripTravelHotelticketOrderVerifyRequest) SetOrderId(v string) *AlitripTravelHotelticketOrderVerifyRequest {
s.OrderId = &v
return s
}
func (s *AlitripTravelHotelticketOrderVerifyRequest) SetVouchers(v []domain.AlitripTravelHotelticketOrderVerifyHotelTicketVerifyVoucherDTO) *AlitripTravelHotelticketOrderVerifyRequest {
s.Vouchers = &v
return s
}
func (s *AlitripTravelHotelticketOrderVerifyRequest) SetFliggyOrderId(v string) *AlitripTravelHotelticketOrderVerifyRequest {
s.FliggyOrderId = &v
return s
}
func (req *AlitripTravelHotelticketOrderVerifyRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
if req.ExtendParams != nil {
paramMap["extend_params"] = *req.ExtendParams
}
if req.OrderId != nil {
paramMap["order_id"] = *req.OrderId
}
if req.Vouchers != nil {
paramMap["vouchers"] = util.ConvertStructList(*req.Vouchers)
}
if req.FliggyOrderId != nil {
paramMap["fliggy_order_id"] = *req.FliggyOrderId
}
return paramMap
}
func (req *AlitripTravelHotelticketOrderVerifyRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
return fileMap
}

View File

@ -0,0 +1,40 @@
package request
import (
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk/ability362/domain"
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk/util"
)
type AlitripTravelHotelticketProductProductupdateRequest struct {
/*
系统商分配给飞猪卖家的账号 */
AccessKey *string `json:"access_key" required:"true" `
/*
变更的产品信息 */
ProductUpdates *[]domain.AlitripTravelHotelticketProductProductupdateProductUpdateDTO `json:"product_updates" required:"true" `
}
func (s *AlitripTravelHotelticketProductProductupdateRequest) SetAccessKey(v string) *AlitripTravelHotelticketProductProductupdateRequest {
s.AccessKey = &v
return s
}
func (s *AlitripTravelHotelticketProductProductupdateRequest) SetProductUpdates(v []domain.AlitripTravelHotelticketProductProductupdateProductUpdateDTO) *AlitripTravelHotelticketProductProductupdateRequest {
s.ProductUpdates = &v
return s
}
func (req *AlitripTravelHotelticketProductProductupdateRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
if req.AccessKey != nil {
paramMap["access_key"] = *req.AccessKey
}
if req.ProductUpdates != nil {
paramMap["product_updates"] = util.ConvertStructList(*req.ProductUpdates)
}
return paramMap
}
func (req *AlitripTravelHotelticketProductProductupdateRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
return fileMap
}

View File

@ -0,0 +1,40 @@
package request
import (
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk/ability362/domain"
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk/util"
)
type AlitripTravelHotelticketProductProductupdatepushRequest struct {
/*
系统商分配给飞猪卖家的账号 */
AccessKey *string `json:"access_key" required:"true" `
/*
变更的产品信息 */
ProductUpdates *[]domain.AlitripTravelHotelticketProductProductupdatepushProductUpdatePushDTO `json:"product_updates" required:"true" `
}
func (s *AlitripTravelHotelticketProductProductupdatepushRequest) SetAccessKey(v string) *AlitripTravelHotelticketProductProductupdatepushRequest {
s.AccessKey = &v
return s
}
func (s *AlitripTravelHotelticketProductProductupdatepushRequest) SetProductUpdates(v []domain.AlitripTravelHotelticketProductProductupdatepushProductUpdatePushDTO) *AlitripTravelHotelticketProductProductupdatepushRequest {
s.ProductUpdates = &v
return s
}
func (req *AlitripTravelHotelticketProductProductupdatepushRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
if req.AccessKey != nil {
paramMap["access_key"] = *req.AccessKey
}
if req.ProductUpdates != nil {
paramMap["product_updates"] = util.ConvertStructList(*req.ProductUpdates)
}
return paramMap
}
func (req *AlitripTravelHotelticketProductProductupdatepushRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
return fileMap
}

View File

@ -0,0 +1,65 @@
package request
type TaobaoTravelTicketOrderRefundRequest struct {
/*
退票数量 */
RefundNum *int64 `json:"refund_num,omitempty" required:"false" `
/*
下单时订单ID */
OrderId *int64 `json:"order_id" required:"true" `
/*
退票结果1: 退票成功2: 退票失败 */
RefundStatus *int64 `json:"refund_status" required:"true" `
/*
退票失败理由 */
RefundFailureReason *string `json:"refund_failure_reason,omitempty" required:"false" `
/*
退票的批次号 */
RefundBatchNo *string `json:"refund_batch_no,omitempty" required:"false" `
}
func (s *TaobaoTravelTicketOrderRefundRequest) SetRefundNum(v int64) *TaobaoTravelTicketOrderRefundRequest {
s.RefundNum = &v
return s
}
func (s *TaobaoTravelTicketOrderRefundRequest) SetOrderId(v int64) *TaobaoTravelTicketOrderRefundRequest {
s.OrderId = &v
return s
}
func (s *TaobaoTravelTicketOrderRefundRequest) SetRefundStatus(v int64) *TaobaoTravelTicketOrderRefundRequest {
s.RefundStatus = &v
return s
}
func (s *TaobaoTravelTicketOrderRefundRequest) SetRefundFailureReason(v string) *TaobaoTravelTicketOrderRefundRequest {
s.RefundFailureReason = &v
return s
}
func (s *TaobaoTravelTicketOrderRefundRequest) SetRefundBatchNo(v string) *TaobaoTravelTicketOrderRefundRequest {
s.RefundBatchNo = &v
return s
}
func (req *TaobaoTravelTicketOrderRefundRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
if req.RefundNum != nil {
paramMap["refund_num"] = *req.RefundNum
}
if req.OrderId != nil {
paramMap["order_id"] = *req.OrderId
}
if req.RefundStatus != nil {
paramMap["refund_status"] = *req.RefundStatus
}
if req.RefundFailureReason != nil {
paramMap["refund_failure_reason"] = *req.RefundFailureReason
}
if req.RefundBatchNo != nil {
paramMap["refund_batch_no"] = *req.RefundBatchNo
}
return paramMap
}
func (req *TaobaoTravelTicketOrderRefundRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
return fileMap
}

View File

@ -0,0 +1,100 @@
package request
import (
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk/ability362/domain"
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk/util"
)
type TaobaoTravelTicketOrderVerifyRequest struct {
/*
核销次数 */
CheckNum *int64 `json:"check_num,omitempty" required:"false" `
/*
下单订单ID */
OrderId *int64 `json:"order_id,omitempty" required:"false" `
/*
门票取消数量 */
ReturnNum *int64 `json:"return_num,omitempty" required:"false" `
/*
门票总共允许核销次数 */
TotalNum *int64 `json:"total_num,omitempty" required:"false" `
/*
外部订单ID */
OutOrderId *string `json:"out_order_id,omitempty" required:"false" `
/*
(新接入使用voucher_infos)用户短信会收到的确认号 */
ConfirmCode *string `json:"confirm_code,omitempty" required:"false" `
/*
使用凭证信息 */
VoucherInfos *[]domain.TaobaoTravelTicketOrderVerifyVoucherInfoDto `json:"voucher_infos,omitempty" required:"false" `
/*
供应商核销回调类型0表示使用本次核销数量常规1表示使用总核销数量已使用+本次 */
WriteOffType *int64 `json:"write_off_type,omitempty" required:"false" `
}
func (s *TaobaoTravelTicketOrderVerifyRequest) SetCheckNum(v int64) *TaobaoTravelTicketOrderVerifyRequest {
s.CheckNum = &v
return s
}
func (s *TaobaoTravelTicketOrderVerifyRequest) SetOrderId(v int64) *TaobaoTravelTicketOrderVerifyRequest {
s.OrderId = &v
return s
}
func (s *TaobaoTravelTicketOrderVerifyRequest) SetReturnNum(v int64) *TaobaoTravelTicketOrderVerifyRequest {
s.ReturnNum = &v
return s
}
func (s *TaobaoTravelTicketOrderVerifyRequest) SetTotalNum(v int64) *TaobaoTravelTicketOrderVerifyRequest {
s.TotalNum = &v
return s
}
func (s *TaobaoTravelTicketOrderVerifyRequest) SetOutOrderId(v string) *TaobaoTravelTicketOrderVerifyRequest {
s.OutOrderId = &v
return s
}
func (s *TaobaoTravelTicketOrderVerifyRequest) SetConfirmCode(v string) *TaobaoTravelTicketOrderVerifyRequest {
s.ConfirmCode = &v
return s
}
func (s *TaobaoTravelTicketOrderVerifyRequest) SetVoucherInfos(v []domain.TaobaoTravelTicketOrderVerifyVoucherInfoDto) *TaobaoTravelTicketOrderVerifyRequest {
s.VoucherInfos = &v
return s
}
func (s *TaobaoTravelTicketOrderVerifyRequest) SetWriteOffType(v int64) *TaobaoTravelTicketOrderVerifyRequest {
s.WriteOffType = &v
return s
}
func (req *TaobaoTravelTicketOrderVerifyRequest) ToMap() map[string]interface{} {
paramMap := make(map[string]interface{})
if req.CheckNum != nil {
paramMap["check_num"] = *req.CheckNum
}
if req.OrderId != nil {
paramMap["order_id"] = *req.OrderId
}
if req.ReturnNum != nil {
paramMap["return_num"] = *req.ReturnNum
}
if req.TotalNum != nil {
paramMap["total_num"] = *req.TotalNum
}
if req.OutOrderId != nil {
paramMap["out_order_id"] = *req.OutOrderId
}
if req.ConfirmCode != nil {
paramMap["confirm_code"] = *req.ConfirmCode
}
if req.VoucherInfos != nil {
paramMap["voucher_infos"] = util.ConvertStructList(*req.VoucherInfos)
}
if req.WriteOffType != nil {
paramMap["write_off_type"] = *req.WriteOffType
}
return paramMap
}
func (req *TaobaoTravelTicketOrderVerifyRequest) ToFileMap() map[string]interface{} {
fileMap := make(map[string]interface{})
return fileMap
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -0,0 +1,21 @@
package response
import ()
type TaobaoTravelTicketOrderRefundResponse struct {
/*
System request id
*/
RequestId string `json:"request_id,omitempty" `
/*
System body
*/
Body string
/*
系统自动生成
*/
IsSuccess bool `json:"is_success,omitempty" `
}

View File

@ -0,0 +1,21 @@
package response
import ()
type TaobaoTravelTicketOrderVerifyResponse struct {
/*
System request id
*/
RequestId string `json:"request_id,omitempty" `
/*
System body
*/
Body string
/*
成功状态true or false
*/
IsSuccess bool `json:"is_success,omitempty" `
}