parent
1602f17a51
commit
87e7c8cdc1
@ -1,5 +1,5 @@
|
|||||||
package go_library
|
package go_library
|
||||||
|
|
||||||
func Version() string {
|
func Version() string {
|
||||||
return "1.0.55"
|
return "1.0.56"
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
package nldyp
|
||||||
|
|
||||||
|
func (c *Client) GetVendor() string {
|
||||||
|
return c.config.vendor
|
||||||
|
}
|
@ -1 +1,41 @@
|
|||||||
package nldyp
|
package nldyp
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"encoding/json"
|
||||||
|
"github.com/dtapps/go-library/utils/gorequest"
|
||||||
|
)
|
||||||
|
|
||||||
|
type PartnerCommonGetSurplusMoneyResponse struct {
|
||||||
|
Status int `json:"status"`
|
||||||
|
Data []struct {
|
||||||
|
SurplusMoney float64 `json:"surplusMoney"` // 余额
|
||||||
|
WithholdingMoney float64 `json:"withholdingMoney"` // 预扣金额
|
||||||
|
AvailableMoney float64 `json:"AvailableMoney"` // 可用余额
|
||||||
|
} `json:"data"`
|
||||||
|
Content string `json:"content"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type PartnerCommonGetSurplusMoneyResult struct {
|
||||||
|
Result PartnerCommonGetSurplusMoneyResponse // 结果
|
||||||
|
Body []byte // 内容
|
||||||
|
Http gorequest.Response // 请求
|
||||||
|
Err error // 错误
|
||||||
|
}
|
||||||
|
|
||||||
|
func newPartnerCommonGetSurplusMoneyResult(result PartnerCommonGetSurplusMoneyResponse, body []byte, http gorequest.Response, err error) *PartnerCommonGetSurplusMoneyResult {
|
||||||
|
return &PartnerCommonGetSurplusMoneyResult{Result: result, Body: body, Http: http, Err: err}
|
||||||
|
}
|
||||||
|
|
||||||
|
// PartnerCommonGetSurplusMoney 释放锁座
|
||||||
|
// https://docs.apipost.cn/preview/fa101f4865dc783f/66e7c2e894fda4a6?target_id=802c4269-60c5-4d61-bda2-ec82cae60930
|
||||||
|
func (c *Client) PartnerCommonGetSurplusMoney(ctx context.Context, notMustParams ...gorequest.Params) *PartnerCommonGetSurplusMoneyResult {
|
||||||
|
// 参数
|
||||||
|
params := gorequest.NewParamsWith(notMustParams...)
|
||||||
|
// 请求
|
||||||
|
request, err := c.request(ctx, apiUrl+"/partner/common/GetSurplusMoney", params)
|
||||||
|
// 定义
|
||||||
|
var response PartnerCommonGetSurplusMoneyResponse
|
||||||
|
err = json.Unmarshal(request.ResponseBody, &response)
|
||||||
|
return newPartnerCommonGetSurplusMoneyResult(response, request.ResponseBody, request, err)
|
||||||
|
}
|
||||||
|
@ -1 +1,36 @@
|
|||||||
package nldyp
|
package nldyp
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"encoding/json"
|
||||||
|
"github.com/dtapps/go-library/utils/gorequest"
|
||||||
|
)
|
||||||
|
|
||||||
|
type PartnerData4GetOrderDataResponse struct {
|
||||||
|
Status int `json:"status"`
|
||||||
|
Content string `json:"content"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type PartnerData4GetOrderDataResult struct {
|
||||||
|
Result PartnerData4GetOrderDataResponse // 结果
|
||||||
|
Body []byte // 内容
|
||||||
|
Http gorequest.Response // 请求
|
||||||
|
Err error // 错误
|
||||||
|
}
|
||||||
|
|
||||||
|
func newPartnerData4GetOrderDataResult(result PartnerData4GetOrderDataResponse, body []byte, http gorequest.Response, err error) *PartnerData4GetOrderDataResult {
|
||||||
|
return &PartnerData4GetOrderDataResult{Result: result, Body: body, Http: http, Err: err}
|
||||||
|
}
|
||||||
|
|
||||||
|
// PartnerData4GetOrderData 15分钟出票模式
|
||||||
|
// https://docs.apipost.cn/preview/fa101f4865dc783f/66e7c2e894fda4a6?target_id=98dfc19f-6f76-4018-8de4-86cdeea4fcab
|
||||||
|
func (c *Client) PartnerData4GetOrderData(ctx context.Context, notMustParams ...gorequest.Params) *PartnerData4GetOrderDataResult {
|
||||||
|
// 参数
|
||||||
|
params := gorequest.NewParamsWith(notMustParams...)
|
||||||
|
// 请求
|
||||||
|
request, err := c.request(ctx, apiUrl+"/partner/data4/GetOrderData", params)
|
||||||
|
// 定义
|
||||||
|
var response PartnerData4GetOrderDataResponse
|
||||||
|
err = json.Unmarshal(request.ResponseBody, &response)
|
||||||
|
return newPartnerData4GetOrderDataResult(response, request.ResponseBody, request, err)
|
||||||
|
}
|
||||||
|
@ -1 +1,41 @@
|
|||||||
package nldyp
|
package nldyp
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"encoding/json"
|
||||||
|
"github.com/dtapps/go-library/utils/gorequest"
|
||||||
|
)
|
||||||
|
|
||||||
|
type PartnerData4GetAddressListsResponse struct {
|
||||||
|
Code int `json:"code"`
|
||||||
|
Msg string `json:"msg"`
|
||||||
|
Data []struct {
|
||||||
|
Id int `json:"id"` // 地区ID
|
||||||
|
AreaName string `json:"area_name"` // 地区名
|
||||||
|
CityId string `json:"city_id"` // 城市ID
|
||||||
|
} `json:"data"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type PartnerData4GetAddressListsResult struct {
|
||||||
|
Result PartnerData4GetAddressListsResponse // 结果
|
||||||
|
Body []byte // 内容
|
||||||
|
Http gorequest.Response // 请求
|
||||||
|
Err error // 错误
|
||||||
|
}
|
||||||
|
|
||||||
|
func newPartnerData4GetAddressListsResult(result PartnerData4GetAddressListsResponse, body []byte, http gorequest.Response, err error) *PartnerData4GetAddressListsResult {
|
||||||
|
return &PartnerData4GetAddressListsResult{Result: result, Body: body, Http: http, Err: err}
|
||||||
|
}
|
||||||
|
|
||||||
|
// PartnerData4GetAddressLists 获取地区
|
||||||
|
// https://docs.apipost.cn/preview/fa101f4865dc783f/66e7c2e894fda4a6?target_id=85053df1-09b5-4042-aeed-c7e10f3cdddc
|
||||||
|
func (c *Client) PartnerData4GetAddressLists(ctx context.Context) *PartnerData4GetAddressListsResult {
|
||||||
|
// 参数
|
||||||
|
params := gorequest.NewParams()
|
||||||
|
// 请求
|
||||||
|
request, err := c.request(ctx, apiUrl+"/partner/data4/getAddressLists", params)
|
||||||
|
// 定义
|
||||||
|
var response PartnerData4GetAddressListsResponse
|
||||||
|
err = json.Unmarshal(request.ResponseBody, &response)
|
||||||
|
return newPartnerData4GetAddressListsResult(response, request.ResponseBody, request, err)
|
||||||
|
}
|
||||||
|
@ -1 +1,54 @@
|
|||||||
package nldyp
|
package nldyp
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"encoding/json"
|
||||||
|
"github.com/dtapps/go-library/utils/gorequest"
|
||||||
|
)
|
||||||
|
|
||||||
|
type PartnerData4GetCinemaResponse struct {
|
||||||
|
Code int `json:"code"`
|
||||||
|
Msg string `json:"msg"`
|
||||||
|
Data []struct {
|
||||||
|
Id string `json:"id"` // 影城 id (注:用于请求其他数据)
|
||||||
|
CinemaId int `json:"cinemaId"` // 版本4 影城ID (注:用于锁座,判断是否有秒出票,为空则不能秒出票)
|
||||||
|
CinemaCode int `json:"cinemaCode"` // 影城编码
|
||||||
|
CinemaName string `json:"cinemaName"` // 影城名称
|
||||||
|
ProvinceId string `json:"provinceId"` // 省份ID
|
||||||
|
CityId string `json:"cityId"` // 城市ID
|
||||||
|
CountyId int `json:"countyId"` // 区县ID
|
||||||
|
Address string `json:"address"` // 影城地址
|
||||||
|
Longitude string `json:"longitude"` // 经度(高德)
|
||||||
|
Latitude string `json:"latitude"` // 维度(高德)
|
||||||
|
Province string `json:"province"` // 省份
|
||||||
|
City string `json:"city"` // 城市
|
||||||
|
County string `json:"county"` // 区县
|
||||||
|
StopSaleTime string `json:"stopSaleTime"` // 停售时间
|
||||||
|
Direct interface{} `json:"direct"`
|
||||||
|
BackTicketConfig interface{} `json:"backTicketConfig"`
|
||||||
|
} `json:"data"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type PartnerData4GetCinemaResult struct {
|
||||||
|
Result PartnerData4GetCinemaResponse // 结果
|
||||||
|
Body []byte // 内容
|
||||||
|
Http gorequest.Response // 请求
|
||||||
|
Err error // 错误
|
||||||
|
}
|
||||||
|
|
||||||
|
func newPartnerData4GetCinemaResult(result PartnerData4GetCinemaResponse, body []byte, http gorequest.Response, err error) *PartnerData4GetCinemaResult {
|
||||||
|
return &PartnerData4GetCinemaResult{Result: result, Body: body, Http: http, Err: err}
|
||||||
|
}
|
||||||
|
|
||||||
|
// PartnerData4GetCinema 获取影院
|
||||||
|
// https://docs.apipost.cn/preview/fa101f4865dc783f/66e7c2e894fda4a6?target_id=a1db1066-f346-4f9a-bffe-b892b3c73a1d
|
||||||
|
func (c *Client) PartnerData4GetCinema(ctx context.Context) *PartnerData4GetCinemaResult {
|
||||||
|
// 参数
|
||||||
|
params := gorequest.NewParams()
|
||||||
|
// 请求
|
||||||
|
request, err := c.request(ctx, apiUrl+"/partner/data4/getCinema", params)
|
||||||
|
// 定义
|
||||||
|
var response PartnerData4GetCinemaResponse
|
||||||
|
err = json.Unmarshal(request.ResponseBody, &response)
|
||||||
|
return newPartnerData4GetCinemaResult(response, request.ResponseBody, request, err)
|
||||||
|
}
|
||||||
|
@ -1 +1,55 @@
|
|||||||
package nldyp
|
package nldyp
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"encoding/json"
|
||||||
|
"github.com/dtapps/go-library/utils/gorequest"
|
||||||
|
)
|
||||||
|
|
||||||
|
type PartnerData4GetFilmListResponse struct {
|
||||||
|
Code int `json:"code"`
|
||||||
|
Msg string `json:"msg"`
|
||||||
|
Data []struct {
|
||||||
|
Id string `json:"id"` // 影片 id
|
||||||
|
FilmCode string `json:"filmCode"` // 影片编码(标准影片 编码去除第 4 位)
|
||||||
|
FilmName string `json:"filmName"` // 影片名称
|
||||||
|
Version string `json:"version"` // 影片制式
|
||||||
|
Duration int `json:"duration"` // 影片时长单位分钟
|
||||||
|
PublishDate int `json:"publishDate"` // 上映时间 unix 时间 戳
|
||||||
|
Director string `json:"director"` // 导演
|
||||||
|
CastType int `json:"castType"` // 0、主演 1、配音演 员
|
||||||
|
Cast string `json:"cast"` // 主演/配音演员
|
||||||
|
Introduction string `json:"introduction"` // 影片描述
|
||||||
|
Wantview int `json:"wantview"` // 想看人数
|
||||||
|
Score int `json:"score"` // 电影评分
|
||||||
|
Cover string `json:"cover"` // 封面图
|
||||||
|
Area string `json:"area"` // 影片归属地区
|
||||||
|
Type string `json:"type"` // 影片类型
|
||||||
|
PlanNum interface{} `json:"planNum"`
|
||||||
|
PreSaleFlag int `json:"preSaleFlag"` // 是 否 预 售 0 、 否 1、预售
|
||||||
|
} `json:"data"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type PartnerData4GetFilmListResult struct {
|
||||||
|
Result PartnerData4GetFilmListResponse // 结果
|
||||||
|
Body []byte // 内容
|
||||||
|
Http gorequest.Response // 请求
|
||||||
|
Err error // 错误
|
||||||
|
}
|
||||||
|
|
||||||
|
func newPartnerData4GetFilmListResult(result PartnerData4GetFilmListResponse, body []byte, http gorequest.Response, err error) *PartnerData4GetFilmListResult {
|
||||||
|
return &PartnerData4GetFilmListResult{Result: result, Body: body, Http: http, Err: err}
|
||||||
|
}
|
||||||
|
|
||||||
|
// PartnerData4GetFilmList 获取影片
|
||||||
|
// https://docs.apipost.cn/preview/fa101f4865dc783f/66e7c2e894fda4a6?target_id=b13d7051-6a31-49d4-ba49-42e423da41d3
|
||||||
|
func (c *Client) PartnerData4GetFilmList(ctx context.Context) *PartnerData4GetFilmListResult {
|
||||||
|
// 参数
|
||||||
|
params := gorequest.NewParams()
|
||||||
|
// 请求
|
||||||
|
request, err := c.request(ctx, apiUrl+"/partner/data4/getFilmList", params)
|
||||||
|
// 定义
|
||||||
|
var response PartnerData4GetFilmListResponse
|
||||||
|
err = json.Unmarshal(request.ResponseBody, &response)
|
||||||
|
return newPartnerData4GetFilmListResult(response, request.ResponseBody, request, err)
|
||||||
|
}
|
||||||
|
@ -1 +1,60 @@
|
|||||||
package nldyp
|
package nldyp
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"encoding/json"
|
||||||
|
"github.com/dtapps/go-library/utils/gorequest"
|
||||||
|
)
|
||||||
|
|
||||||
|
type PartnerData4GetOrderStatusResponse struct {
|
||||||
|
Status int `json:"status"`
|
||||||
|
Data struct {
|
||||||
|
OrderNo string `json:"orderNo"` // 系统商锁座订单号
|
||||||
|
PrintNo interface{} `json:"printNo"`
|
||||||
|
OrderStatus int `json:"orderStatus"` //
|
||||||
|
PlanOrderNo interface{} `json:"planOrderNo"`
|
||||||
|
TicketInfo []struct {
|
||||||
|
Name string `json:"name"`
|
||||||
|
Value string `json:"value"`
|
||||||
|
} `json:"ticketInfo"`
|
||||||
|
Tickets struct {
|
||||||
|
Field1 struct {
|
||||||
|
SeatNo string `json:"seatNo"`
|
||||||
|
TicketCode interface{} `json:"ticketCode"`
|
||||||
|
InfoCode interface{} `json:"infoCode"`
|
||||||
|
PrintFlag interface{} `json:"printFlag"`
|
||||||
|
} `json:"0000000000000001-1-05"`
|
||||||
|
Field2 struct {
|
||||||
|
SeatNo string `json:"seatNo"`
|
||||||
|
TicketCode interface{} `json:"ticketCode"`
|
||||||
|
InfoCode interface{} `json:"infoCode"`
|
||||||
|
PrintFlag interface{} `json:"printFlag"`
|
||||||
|
} `json:"0000000000000001-1-06"`
|
||||||
|
} `json:"tickets"`
|
||||||
|
} `json:"data"`
|
||||||
|
Content string `json:"content"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type PartnerData4GetOrderStatusResult struct {
|
||||||
|
Result PartnerData4GetOrderStatusResponse // 结果
|
||||||
|
Body []byte // 内容
|
||||||
|
Http gorequest.Response // 请求
|
||||||
|
Err error // 错误
|
||||||
|
}
|
||||||
|
|
||||||
|
func newPartnerData4GetOrderStatusResult(result PartnerData4GetOrderStatusResponse, body []byte, http gorequest.Response, err error) *PartnerData4GetOrderStatusResult {
|
||||||
|
return &PartnerData4GetOrderStatusResult{Result: result, Body: body, Http: http, Err: err}
|
||||||
|
}
|
||||||
|
|
||||||
|
// PartnerData4GetOrderStatus 查询秒出票订单状态
|
||||||
|
// https://docs.apipost.cn/preview/fa101f4865dc783f/66e7c2e894fda4a6?target_id=fce3fbc1-28e1-4757-8665-ffa316a60bfb
|
||||||
|
func (c *Client) PartnerData4GetOrderStatus(ctx context.Context, notMustParams ...gorequest.Params) *PartnerData4GetOrderStatusResult {
|
||||||
|
// 参数
|
||||||
|
params := gorequest.NewParamsWith(notMustParams...)
|
||||||
|
// 请求
|
||||||
|
request, err := c.request(ctx, apiUrl+"/partner/data4/getOrderStatus", params)
|
||||||
|
// 定义
|
||||||
|
var response PartnerData4GetOrderStatusResponse
|
||||||
|
err = json.Unmarshal(request.ResponseBody, &response)
|
||||||
|
return newPartnerData4GetOrderStatusResult(response, request.ResponseBody, request, err)
|
||||||
|
}
|
||||||
|
@ -1 +1,56 @@
|
|||||||
package nldyp
|
package nldyp
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"encoding/json"
|
||||||
|
"github.com/dtapps/go-library/utils/gorequest"
|
||||||
|
)
|
||||||
|
|
||||||
|
type PartnerData4GetPlanResponse struct {
|
||||||
|
Code int `json:"code"`
|
||||||
|
Data []struct {
|
||||||
|
FeatureAppNo string `json:"featureAppNo"` // 排期编码
|
||||||
|
CinemaCode int `json:"cinemaCode"` // 影城编码
|
||||||
|
SourceFilmNo string `json:"sourceFilmNo"`
|
||||||
|
FilmNo string `json:"filmNo"` // 影片编码
|
||||||
|
FilmName string `json:"filmName"` // 影片名称
|
||||||
|
HallNo string `json:"hallNo"` // 影厅编码
|
||||||
|
HallName string `json:"hallName"` // 影厅名称
|
||||||
|
StartTime int `json:"startTime"` // 放映时间
|
||||||
|
CopyType string `json:"copyType"` // 影片制式
|
||||||
|
CopyLanguage string `json:"copyLanguage"` // 语言
|
||||||
|
TotalTime string `json:"totalTime"` // 时长
|
||||||
|
ListingPrice string `json:"listingPrice"` // 挂牌价
|
||||||
|
TicketPrice string `json:"ticketPrice"` // 票价
|
||||||
|
ServiceAddFee string `json:"serviceAddFee"` // 服务费下限
|
||||||
|
LowestPrice string `json:"lowestPrice"` // 最低保护价
|
||||||
|
Thresholds string `json:"thresholds"` // 服务费上限
|
||||||
|
Areas string `json:"areas"` // 座区属性
|
||||||
|
MarketPrice string `json:"marketPrice"` // 市场参考价(无座位区间时,下特价票使用该价格,有座位区间则使用座位区间价)
|
||||||
|
} `json:"data"`
|
||||||
|
Content string `json:"content"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type PartnerData4GetPlanResult struct {
|
||||||
|
Result PartnerData4GetPlanResponse // 结果
|
||||||
|
Body []byte // 内容
|
||||||
|
Http gorequest.Response // 请求
|
||||||
|
Err error // 错误
|
||||||
|
}
|
||||||
|
|
||||||
|
func newPartnerData4GetPlanResult(result PartnerData4GetPlanResponse, body []byte, http gorequest.Response, err error) *PartnerData4GetPlanResult {
|
||||||
|
return &PartnerData4GetPlanResult{Result: result, Body: body, Http: http, Err: err}
|
||||||
|
}
|
||||||
|
|
||||||
|
// PartnerData4GetPlan 获取影院排期
|
||||||
|
// https://docs.apipost.cn/preview/fa101f4865dc783f/66e7c2e894fda4a6?target_id=1e0161fe-12ca-4a64-afb9-5c97431f1f70
|
||||||
|
func (c *Client) PartnerData4GetPlan(ctx context.Context) *PartnerData4GetPlanResult {
|
||||||
|
// 参数
|
||||||
|
params := gorequest.NewParams()
|
||||||
|
// 请求
|
||||||
|
request, err := c.request(ctx, apiUrl+"/partner/data4/getPlan", params)
|
||||||
|
// 定义
|
||||||
|
var response PartnerData4GetPlanResponse
|
||||||
|
err = json.Unmarshal(request.ResponseBody, &response)
|
||||||
|
return newPartnerData4GetPlanResult(response, request.ResponseBody, request, err)
|
||||||
|
}
|
||||||
|
@ -1 +1,58 @@
|
|||||||
package nldyp
|
package nldyp
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"encoding/json"
|
||||||
|
"github.com/dtapps/go-library/utils/gorequest"
|
||||||
|
)
|
||||||
|
|
||||||
|
type PartnerData4GetPlanDetailResponse struct {
|
||||||
|
Code int `json:"code"`
|
||||||
|
Data []struct {
|
||||||
|
FeatureAppNo string `json:"featureAppNo"` // 排期编码
|
||||||
|
CinemaCode int `json:"cinemaCode"` // 影城编码
|
||||||
|
SourceFilmNo string `json:"sourceFilmNo"`
|
||||||
|
FilmNo string `json:"filmNo"` // 影片编码
|
||||||
|
FilmName string `json:"filmName"` // 影片名称
|
||||||
|
HallNo string `json:"hallNo"` // 影厅编码
|
||||||
|
HallName string `json:"hallName"` // 影厅名称
|
||||||
|
StartTime int `json:"startTime"` // 放映时间
|
||||||
|
CopyType string `json:"copyType"` // 影片制式
|
||||||
|
CopyLanguage string `json:"copyLanguage"` // 语言
|
||||||
|
TotalTime string `json:"totalTime"` // 时长
|
||||||
|
ListingPrice string `json:"listingPrice"` // 挂牌价
|
||||||
|
TicketPrice string `json:"ticketPrice"` // 票价
|
||||||
|
ServiceAddFee string `json:"serviceAddFee"` // 服务费下限
|
||||||
|
LowestPrice string `json:"lowestPrice"` // 最低保护价
|
||||||
|
Thresholds string `json:"thresholds"` // 服务费上限
|
||||||
|
Areas string `json:"areas"` // 座区属性
|
||||||
|
MarketPrice string `json:"marketPrice"` // 市场参考价(无座位区间时,下特价票使用该价格,有座位区间则使用座位区间价)
|
||||||
|
} `json:"data"`
|
||||||
|
Content string `json:"content"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type PartnerData4GetPlanDetailResult struct {
|
||||||
|
Result PartnerData4GetPlanDetailResponse // 结果
|
||||||
|
Body []byte // 内容
|
||||||
|
Http gorequest.Response // 请求
|
||||||
|
Err error // 错误
|
||||||
|
}
|
||||||
|
|
||||||
|
func newPartnerData4GetPlanDetailResult(result PartnerData4GetPlanDetailResponse, body []byte, http gorequest.Response, err error) *PartnerData4GetPlanDetailResult {
|
||||||
|
return &PartnerData4GetPlanDetailResult{Result: result, Body: body, Http: http, Err: err}
|
||||||
|
}
|
||||||
|
|
||||||
|
// PartnerData4GetPlanDetail 获取影城单个排期详情
|
||||||
|
// https://docs.apipost.cn/preview/fa101f4865dc783f/66e7c2e894fda4a6?target_id=05639c5c-080f-43f4-b94d-e4b8bb14130e
|
||||||
|
func (c *Client) PartnerData4GetPlanDetail(ctx context.Context, cinemaId int, featureAppNo string) *PartnerData4GetPlanDetailResult {
|
||||||
|
// 参数
|
||||||
|
params := gorequest.NewParams()
|
||||||
|
params.Set("cinemaId", cinemaId)
|
||||||
|
params.Set("featureAppNo", featureAppNo)
|
||||||
|
// 请求
|
||||||
|
request, err := c.request(ctx, apiUrl+"/partner/data4/getPlanDetail", params)
|
||||||
|
// 定义
|
||||||
|
var response PartnerData4GetPlanDetailResponse
|
||||||
|
err = json.Unmarshal(request.ResponseBody, &response)
|
||||||
|
return newPartnerData4GetPlanDetailResult(response, request.ResponseBody, request, err)
|
||||||
|
}
|
||||||
|
@ -1 +1,43 @@
|
|||||||
package nldyp
|
package nldyp
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"encoding/json"
|
||||||
|
"github.com/dtapps/go-library/utils/gorequest"
|
||||||
|
)
|
||||||
|
|
||||||
|
type PartnerData4LockSeatResponse struct {
|
||||||
|
Status int `json:"status"`
|
||||||
|
Data []struct {
|
||||||
|
OrderId string `json:"orderId"` // 订单 id
|
||||||
|
OrderNo string `json:"orderNo"` // 系统商锁座订单号
|
||||||
|
SerialNum string `json:"serialNum"` // 锁座流水号
|
||||||
|
Direct int `json:"direct"` // 是否直签
|
||||||
|
BackTicketConfig []string `json:"backTicketConfig"`
|
||||||
|
} `json:"data"`
|
||||||
|
Content string `json:"content"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type PartnerData4LockSeatResult struct {
|
||||||
|
Result PartnerData4LockSeatResponse // 结果
|
||||||
|
Body []byte // 内容
|
||||||
|
Http gorequest.Response // 请求
|
||||||
|
Err error // 错误
|
||||||
|
}
|
||||||
|
|
||||||
|
func newPartnerData4LockSeatResult(result PartnerData4LockSeatResponse, body []byte, http gorequest.Response, err error) *PartnerData4LockSeatResult {
|
||||||
|
return &PartnerData4LockSeatResult{Result: result, Body: body, Http: http, Err: err}
|
||||||
|
}
|
||||||
|
|
||||||
|
// PartnerData4LockSeat 锁座(支持多座区下单)
|
||||||
|
// https://docs.apipost.cn/preview/fa101f4865dc783f/66e7c2e894fda4a6?target_id=ac7d2885-c575-4efa-8438-03175f8978a9
|
||||||
|
func (c *Client) PartnerData4LockSeat(ctx context.Context, notMustParams ...gorequest.Params) *PartnerData4LockSeatResult {
|
||||||
|
// 参数
|
||||||
|
params := gorequest.NewParamsWith(notMustParams...)
|
||||||
|
// 请求
|
||||||
|
request, err := c.request(ctx, apiUrl+"/partner/data4/lockSeat", params)
|
||||||
|
// 定义
|
||||||
|
var response PartnerData4LockSeatResponse
|
||||||
|
err = json.Unmarshal(request.ResponseBody, &response)
|
||||||
|
return newPartnerData4LockSeatResult(response, request.ResponseBody, request, err)
|
||||||
|
}
|
||||||
|
@ -1 +1,45 @@
|
|||||||
package nldyp
|
package nldyp
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"encoding/json"
|
||||||
|
"github.com/dtapps/go-library/utils/gorequest"
|
||||||
|
)
|
||||||
|
|
||||||
|
type PartnerData4SellTicketResponse struct {
|
||||||
|
Status int `json:"status"`
|
||||||
|
Data []struct {
|
||||||
|
OrderId string `json:"orderId"` // 订单 id
|
||||||
|
OrderNo string `json:"orderNo"` // 系统商锁座订单号
|
||||||
|
} `json:"data"`
|
||||||
|
Content string `json:"content"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type PartnerData4SellTicketResult struct {
|
||||||
|
Result PartnerData4SellTicketResponse // 结果
|
||||||
|
Body []byte // 内容
|
||||||
|
Http gorequest.Response // 请求
|
||||||
|
Err error // 错误
|
||||||
|
}
|
||||||
|
|
||||||
|
func newPartnerData4SellTicketResult(result PartnerData4SellTicketResponse, body []byte, http gorequest.Response, err error) *PartnerData4SellTicketResult {
|
||||||
|
return &PartnerData4SellTicketResult{Result: result, Body: body, Http: http, Err: err}
|
||||||
|
}
|
||||||
|
|
||||||
|
// PartnerData4SellTicket 售票
|
||||||
|
// https://docs.apipost.cn/preview/fa101f4865dc783f/66e7c2e894fda4a6?target_id=edd25537-3425-49e0-b6b5-373ebe4e919c
|
||||||
|
func (c *Client) PartnerData4SellTicket(ctx context.Context, orderId, orderNo, notifyUrl string) *PartnerData4SellTicketResult {
|
||||||
|
// 参数
|
||||||
|
params := gorequest.NewParams()
|
||||||
|
params.Set("orderId", orderId) // 订单 id
|
||||||
|
if orderNo != "" {
|
||||||
|
params.Set("orderNo", orderNo) // 接入方平台订单号(方便快速查询平台订单信息,又接入方自行生成)
|
||||||
|
}
|
||||||
|
params.Set("notifyUrl", notifyUrl) // 退票通知地址
|
||||||
|
// 请求
|
||||||
|
request, err := c.request(ctx, apiUrl+"/partner/data4/sellTicket", params)
|
||||||
|
// 定义
|
||||||
|
var response PartnerData4SellTicketResponse
|
||||||
|
err = json.Unmarshal(request.ResponseBody, &response)
|
||||||
|
return newPartnerData4SellTicketResult(response, request.ResponseBody, request, err)
|
||||||
|
}
|
||||||
|
@ -1 +1,40 @@
|
|||||||
package nldyp
|
package nldyp
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"encoding/json"
|
||||||
|
"github.com/dtapps/go-library/utils/gorequest"
|
||||||
|
)
|
||||||
|
|
||||||
|
type PartnerData4UnLockOrderResponse struct {
|
||||||
|
Status int `json:"status"`
|
||||||
|
Data []struct {
|
||||||
|
OrderId string `json:"orderId"` // 订单 id
|
||||||
|
OrderNo string `json:"orderNo"` // 系统商锁座订单号
|
||||||
|
} `json:"data"`
|
||||||
|
Content string `json:"content"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type PartnerData4UnLockOrderResult struct {
|
||||||
|
Result PartnerData4UnLockOrderResponse // 结果
|
||||||
|
Body []byte // 内容
|
||||||
|
Http gorequest.Response // 请求
|
||||||
|
Err error // 错误
|
||||||
|
}
|
||||||
|
|
||||||
|
func newPartnerData4UnLockOrderResult(result PartnerData4UnLockOrderResponse, body []byte, http gorequest.Response, err error) *PartnerData4UnLockOrderResult {
|
||||||
|
return &PartnerData4UnLockOrderResult{Result: result, Body: body, Http: http, Err: err}
|
||||||
|
}
|
||||||
|
|
||||||
|
// PartnerData4UnLockOrder 释放锁座
|
||||||
|
// https://docs.apipost.cn/preview/fa101f4865dc783f/66e7c2e894fda4a6?target_id=43074323-fd3d-4c14-9a17-a447101b410f
|
||||||
|
func (c *Client) PartnerData4UnLockOrder(ctx context.Context, notMustParams ...gorequest.Params) *PartnerData4UnLockOrderResult {
|
||||||
|
// 参数
|
||||||
|
params := gorequest.NewParamsWith(notMustParams...)
|
||||||
|
// 请求
|
||||||
|
request, err := c.request(ctx, apiUrl+"/partner/data4/unLockOrder", params)
|
||||||
|
// 定义
|
||||||
|
var response PartnerData4UnLockOrderResponse
|
||||||
|
err = json.Unmarshal(request.ResponseBody, &response)
|
||||||
|
return newPartnerData4UnLockOrderResult(response, request.ResponseBody, request, err)
|
||||||
|
}
|
||||||
|
@ -0,0 +1,38 @@
|
|||||||
|
package nldyp
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"github.com/dtapps/go-library"
|
||||||
|
"github.com/dtapps/go-library/utils/gorequest"
|
||||||
|
)
|
||||||
|
|
||||||
|
func (c *Client) request(ctx context.Context, url string, param map[string]interface{}) (gorequest.Response, error) {
|
||||||
|
|
||||||
|
// 签名
|
||||||
|
params := c.Sign(param)
|
||||||
|
|
||||||
|
// 创建请求
|
||||||
|
client := c.requestClient
|
||||||
|
|
||||||
|
// 设置请求地址
|
||||||
|
client.SetUri(url)
|
||||||
|
|
||||||
|
// 设置格式
|
||||||
|
client.SetContentTypeJson()
|
||||||
|
|
||||||
|
// 设置参数
|
||||||
|
client.SetParams(params)
|
||||||
|
|
||||||
|
// 发起请求
|
||||||
|
request, err := client.Post(ctx)
|
||||||
|
if err != nil {
|
||||||
|
return gorequest.Response{}, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// 日志
|
||||||
|
if c.log.status {
|
||||||
|
go c.log.client.Middleware(ctx, request, go_library.Version())
|
||||||
|
}
|
||||||
|
|
||||||
|
return request, err
|
||||||
|
}
|
@ -0,0 +1,53 @@
|
|||||||
|
package nldyp
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
"net/http"
|
||||||
|
)
|
||||||
|
|
||||||
|
// RequestServeHttpPartnerData4GetOrderData 返回参数
|
||||||
|
type RequestServeHttpPartnerData4GetOrderData struct {
|
||||||
|
Vendor string `json:"vendor"`
|
||||||
|
Ts int `json:"ts"`
|
||||||
|
Sign string `json:"sign"`
|
||||||
|
Code int `json:"code"`
|
||||||
|
Message string `json:"message"`
|
||||||
|
Data struct {
|
||||||
|
Status int `json:"status"`
|
||||||
|
OrderNumber string `json:"orderNumber"`
|
||||||
|
Cpje float64 `json:"cpje"`
|
||||||
|
TicketList []struct {
|
||||||
|
TicketCode string `json:"ticketCode"`
|
||||||
|
Url string `json:"url"`
|
||||||
|
YuanUrl string `json:"yuan_url"`
|
||||||
|
} `json:"ticketList"`
|
||||||
|
Beizhu string `json:"beizhu"`
|
||||||
|
IsChangeSeat string `json:"is_changeSeat"`
|
||||||
|
ChangeSeatName string `json:"changeSeatName"`
|
||||||
|
} `json:"data"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// ServeHttpPartnerData4GetOrderData 回调
|
||||||
|
// https://docs.apipost.cn/preview/fa101f4865dc783f/66e7c2e894fda4a6?target_id=2e99efc0-6c77-457f-80d5-adaf19fdf313
|
||||||
|
func (c *Client) ServeHttpPartnerData4GetOrderData(ctx context.Context, gCtx *gin.Context) (validateJson RequestServeHttpPartnerData4GetOrderData, err error) {
|
||||||
|
// 声明接收的变量
|
||||||
|
err = gCtx.ShouldBind(&validateJson)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// Success 数据正常
|
||||||
|
func (r *RequestServeHttpPartnerData4GetOrderData) Success(c *gin.Context, msg string) {
|
||||||
|
c.JSON(http.StatusOK, gin.H{
|
||||||
|
"code": 0,
|
||||||
|
"msg": msg,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// Error 数据错误
|
||||||
|
func (r *RequestServeHttpPartnerData4GetOrderData) Error(c *gin.Context, msg string) {
|
||||||
|
c.JSON(http.StatusOK, gin.H{
|
||||||
|
"code": 400,
|
||||||
|
"msg": msg,
|
||||||
|
})
|
||||||
|
}
|
@ -0,0 +1,41 @@
|
|||||||
|
package nldyp
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
"net/http"
|
||||||
|
)
|
||||||
|
|
||||||
|
// RequestServeHttpPartnerData4SellTicket 返回参数
|
||||||
|
type RequestServeHttpPartnerData4SellTicket struct {
|
||||||
|
OrderId string `json:"orderId"`
|
||||||
|
Account string `json:"account"`
|
||||||
|
CinemaId string `json:"cinemaId"`
|
||||||
|
RequestTime string `json:"requestTime"`
|
||||||
|
Reason string `json:"reason"`
|
||||||
|
VerifyInfo string `json:"verifyInfo"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// ServeHttpPartnerData4SellTicket 退票通知
|
||||||
|
// https://docs.apipost.cn/preview/fa101f4865dc783f/66e7c2e894fda4a6?target_id=6f36e1f2-bdbc-476e-b9ca-a8806c0087ab
|
||||||
|
func (c *Client) ServeHttpPartnerData4SellTicket(ctx context.Context, gCtx *gin.Context) (validateJson RequestServeHttpPartnerData4SellTicket, err error) {
|
||||||
|
// 声明接收的变量
|
||||||
|
err = gCtx.ShouldBind(&validateJson)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// Success 数据正常
|
||||||
|
func (r *RequestServeHttpPartnerData4SellTicket) Success(c *gin.Context, msg string) {
|
||||||
|
c.JSON(http.StatusOK, gin.H{
|
||||||
|
"code": 0,
|
||||||
|
"msg": msg,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// Error 数据错误
|
||||||
|
func (r *RequestServeHttpPartnerData4SellTicket) Error(c *gin.Context, msg string) {
|
||||||
|
c.JSON(http.StatusOK, gin.H{
|
||||||
|
"code": 400,
|
||||||
|
"msg": msg,
|
||||||
|
})
|
||||||
|
}
|
@ -0,0 +1,53 @@
|
|||||||
|
package nldyp
|
||||||
|
|
||||||
|
import (
|
||||||
|
"crypto/md5"
|
||||||
|
"encoding/hex"
|
||||||
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
|
"github.com/dtapps/go-library/utils/gotime"
|
||||||
|
"sort"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
func (c *Client) Sign(p map[string]interface{}) map[string]interface{} {
|
||||||
|
p["vendor"] = c.GetVendor()
|
||||||
|
p["ts"] = gotime.Current().Timestamp()
|
||||||
|
// 排序所有的 key
|
||||||
|
var keys []string
|
||||||
|
for key := range p {
|
||||||
|
keys = append(keys, key)
|
||||||
|
}
|
||||||
|
sort.Strings(keys)
|
||||||
|
signStr := ""
|
||||||
|
for _, key := range keys {
|
||||||
|
signStr += key + getString(p[key])
|
||||||
|
}
|
||||||
|
p["sign"] = createSign(fmt.Sprintf("%s%s%s", c.GetVendor(), p["ts"], signStr))
|
||||||
|
return p
|
||||||
|
}
|
||||||
|
|
||||||
|
func getString(i interface{}) string {
|
||||||
|
switch v := i.(type) {
|
||||||
|
case string:
|
||||||
|
return v
|
||||||
|
case []byte:
|
||||||
|
return string(v)
|
||||||
|
case int:
|
||||||
|
return strconv.Itoa(v)
|
||||||
|
case bool:
|
||||||
|
return strconv.FormatBool(v)
|
||||||
|
default:
|
||||||
|
bytes, _ := json.Marshal(v)
|
||||||
|
return string(bytes)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 签名
|
||||||
|
func createSign(signStr string) string {
|
||||||
|
h := md5.New()
|
||||||
|
h.Write([]byte(signStr))
|
||||||
|
cipherStr := h.Sum(nil)
|
||||||
|
return strings.ToUpper(hex.EncodeToString(cipherStr))
|
||||||
|
}
|
Loading…
Reference in new issue