diff --git a/service/dingdanxia/jd.jy_order_details.go b/service/dingdanxia/jd.jy_order_details.go index a2728a2c..615418a7 100644 --- a/service/dingdanxia/jd.jy_order_details.go +++ b/service/dingdanxia/jd.jy_order_details.go @@ -28,12 +28,12 @@ type JdJyOrderDetailsResponse struct { type JdJyOrderDetailsResult struct { Result JdJyOrderDetailsResponse // 结果 - Byte []byte // 内容 + body []byte // 内容 Err error // 错误 } -func NewJdJyOrderDetailsResult(result JdJyOrderDetailsResponse, byte []byte, err error) *JdJyOrderDetailsResult { - return &JdJyOrderDetailsResult{Result: result, Byte: byte, Err: err} +func NewJdJyOrderDetailsResult(result JdJyOrderDetailsResponse, body []byte, err error) *JdJyOrderDetailsResult { + return &JdJyOrderDetailsResult{Result: result, body: body, Err: err} } // JdJyOrderDetails 【官方不维护】 京佣订单 diff --git a/service/dingdanxia/waimai.meituan_orders.go b/service/dingdanxia/waimai.meituan_orders.go index 48cba438..936bd6d6 100644 --- a/service/dingdanxia/waimai.meituan_orders.go +++ b/service/dingdanxia/waimai.meituan_orders.go @@ -28,12 +28,12 @@ type WaimaiMeituanOrdersResponse struct { type WaimaiMeituanOrdersResult struct { Result WaimaiMeituanOrdersResponse // 结果 - Byte []byte // 内容 + body []byte // 内容 Err error // 错误 } -func NewWaimaiMeituanOrdersResult(result WaimaiMeituanOrdersResponse, byte []byte, err error) *WaimaiMeituanOrdersResult { - return &WaimaiMeituanOrdersResult{Result: result, Byte: byte, Err: err} +func NewWaimaiMeituanOrdersResult(result WaimaiMeituanOrdersResponse, body []byte, err error) *WaimaiMeituanOrdersResult { + return &WaimaiMeituanOrdersResult{Result: result, body: body, Err: err} } // WaimaiMeituanOrders 美团联盟外卖/闪购/优选/酒店订单查询API diff --git a/service/jd/app.go b/service/jd/app.go index 876321aa..b173f050 100644 --- a/service/jd/app.go +++ b/service/jd/app.go @@ -1,7 +1,6 @@ package jd import ( - "encoding/json" "fmt" "github.com/go-redis/redis/v8" "go.mongodb.org/mongo-driver/mongo" @@ -19,12 +18,6 @@ type App struct { MDb *mongo.Client // 非关系数据库服务 } -type ErrResp struct { - Code string `json:"code"` - ErrorMessage string `json:"errorMessage"` - ErrorSolution string `json:"errorSolution"` -} - func (app *App) request(params map[string]interface{}) (resp []byte, err error) { // 签名 app.Sign(params) @@ -34,9 +27,6 @@ func (app *App) request(params map[string]interface{}) (resp []byte, err error) if app.ZapLog != nil { app.ZapLog.Sugar().Info(fmt.Sprintf("https://api.jd.com/routerjson?method=%s %s %s", params["method"], get.Header, get.Body)) } - // 检查错误 - var errResp ErrResp - err = json.Unmarshal(get.Body, &errResp) return get.Body, err } diff --git a/service/jd/union.open.goods.jingfen.query.go b/service/jd/union.open.goods.jingfen.query.go index 282821f9..3c411d34 100644 --- a/service/jd/union.open.goods.jingfen.query.go +++ b/service/jd/union.open.goods.jingfen.query.go @@ -1,6 +1,8 @@ package jd -type UnionOpenGoodsJIngFenQueryResult struct { +import "encoding/json" + +type UnionOpenGoodsJIngFenQueryResultResponse struct { JdUnionOpenGoodsJingfenQueryResponce struct { Code string `json:"code"` QueryResult string `json:"queryResult"` @@ -103,13 +105,29 @@ type UnionOpenGoodsJIngFenQueryQueryResult struct { TotalCount int `json:"totalCount"` } +type UnionOpenGoodsJIngFenQueryResult struct { + Responce UnionOpenGoodsJIngFenQueryResultResponse // 结果 + Result UnionOpenGoodsJIngFenQueryQueryResult // 结果 + body []byte // 内容 + Err error // 错误 +} + +func NewUnionOpenGoodsJIngFenQueryResult(responce UnionOpenGoodsJIngFenQueryResultResponse, result UnionOpenGoodsJIngFenQueryQueryResult, body []byte, err error) *UnionOpenGoodsJIngFenQueryResult { + return &UnionOpenGoodsJIngFenQueryResult{Responce: responce, Result: result, body: body, Err: err} +} + // UnionOpenGoodsJIngFenQuery // 京东联盟精选优质商品,每日更新,可通过频道ID查询各个频道下的精选商品。用获取的优惠券链接调用转链接口时,需传入搜索接口link字段返回的原始优惠券链接,切勿对链接进行任何encode、decode操作,否则将导致转链二合一推广链接时校验失败 // https://union.jd.com/openplatform/api/v2?apiName=jd.union.open.goods.jingfen.query -func (app *App) UnionOpenGoodsJIngFenQuery(notMustParams ...Params) (body []byte, err error) { +func (app *App) UnionOpenGoodsJIngFenQuery(notMustParams ...Params) *UnionOpenGoodsJIngFenQueryResult { // 参数 params := NewParamsWithType("jd.union.open.goods.jingfen.query", notMustParams...) // 请求 - body, err = app.request(params) - return + body, err := app.request(params) + // 定义 + var responce UnionOpenGoodsJIngFenQueryResultResponse + var result UnionOpenGoodsJIngFenQueryQueryResult + err = json.Unmarshal(body, &responce) + err = json.Unmarshal([]byte(responce.JdUnionOpenGoodsJingfenQueryResponce.QueryResult), &result) + return NewUnionOpenGoodsJIngFenQueryResult(responce, result, body, err) } diff --git a/service/jd/union.open.goods.promotiongoodsinfo.query.go b/service/jd/union.open.goods.promotiongoodsinfo.query.go index 8524f1db..477f3504 100644 --- a/service/jd/union.open.goods.promotiongoodsinfo.query.go +++ b/service/jd/union.open.goods.promotiongoodsinfo.query.go @@ -1,6 +1,8 @@ package jd -type UnionOpenGoodsPromotionGoodsInfoQueryResult struct { +import "encoding/json" + +type UnionOpenGoodsPromotionGoodsInfoQueryResultResponse struct { JdUnionOpenGoodsPromotiongoodsinfoQueryResponce struct { Code string `json:"code"` QueryResult string `json:"queryResult"` @@ -38,13 +40,29 @@ type UnionOpenGoodsPromotionGoodsInfoQueryQueryResult struct { RequestId string `json:"requestId"` } +type UnionOpenGoodsPromotionGoodsInfoQueryResult struct { + Responce UnionOpenGoodsPromotionGoodsInfoQueryResultResponse // 结果 + Result UnionOpenGoodsPromotionGoodsInfoQueryQueryResult // 结果 + body []byte // 内容 + Err error // 错误 +} + +func NewUnionOpenGoodsPromotionGoodsInfoQueryResult(responce UnionOpenGoodsPromotionGoodsInfoQueryResultResponse, result UnionOpenGoodsPromotionGoodsInfoQueryQueryResult, body []byte, err error) *UnionOpenGoodsPromotionGoodsInfoQueryResult { + return &UnionOpenGoodsPromotionGoodsInfoQueryResult{Responce: responce, Result: result, body: body, Err: err} +} + // UnionOpenGoodsPromotionGoodsInfoQuery // 通过SKUID查询推广商品的名称、主图、类目、价格、物流、是否自营、30天引单数量等详细信息,支持批量获取。通常用于在媒体侧展示商品详情。 // https://union.jd.com/openplatform/api/v2?apiName=jd.union.open.goods.promotiongoodsinfo.query -func (app *App) UnionOpenGoodsPromotionGoodsInfoQuery(notMustParams ...Params) (body []byte, err error) { +func (app *App) UnionOpenGoodsPromotionGoodsInfoQuery(notMustParams ...Params) *UnionOpenGoodsPromotionGoodsInfoQueryResult { // 参数 params := NewParamsWithType("jd.union.open.goods.promotiongoodsinfo.query", notMustParams...) // 请求 - body, err = app.request(params) - return + body, err := app.request(params) + // 定义 + var responce UnionOpenGoodsPromotionGoodsInfoQueryResultResponse + var result UnionOpenGoodsPromotionGoodsInfoQueryQueryResult + err = json.Unmarshal(body, &responce) + err = json.Unmarshal([]byte(responce.JdUnionOpenGoodsPromotiongoodsinfoQueryResponce.QueryResult), &result) + return NewUnionOpenGoodsPromotionGoodsInfoQueryResult(responce, result, body, err) } diff --git a/service/jd/union.open.promotion.common.get.go b/service/jd/union.open.promotion.common.get.go index 3689653b..ffc270f3 100644 --- a/service/jd/union.open.promotion.common.get.go +++ b/service/jd/union.open.promotion.common.get.go @@ -1,6 +1,8 @@ package jd -type UnionOpenPromotionCommonGetResult struct { +import "encoding/json" + +type UnionOpenPromotionCommonGetResultResponse struct { JdUnionOpenPromotionCommonGetResponce struct { Code string `json:"code"` GetResult string `json:"getResult"` @@ -17,13 +19,29 @@ type UnionOpenPromotionCommonGetGetResult struct { RequestId string `json:"requestId"` } +type UnionOpenPromotionCommonGetResult struct { + Responce UnionOpenPromotionCommonGetResultResponse // 结果 + Result UnionOpenPromotionCommonGetGetResult // 结果 + body []byte // 内容 + Err error // 错误 +} + +func NewUnionOpenPromotionCommonGetResult(responce UnionOpenPromotionCommonGetResultResponse, result UnionOpenPromotionCommonGetGetResult, body []byte, err error) *UnionOpenPromotionCommonGetResult { + return &UnionOpenPromotionCommonGetResult{Responce: responce, Result: result, body: body, Err: err} +} + // UnionOpenPromotionCommonGet // 网站/APP来获取的推广链接,功能同宙斯接口的自定义链接转换、 APP领取代码接口通过商品链接、活动链接获取普通推广链接,支持传入subunionid参数,可用于区分媒体自身的用户ID,该参数可在订单查询接口返回,需向cps-qxsq@jd.com申请权限。 // https://union.jd.com/openplatform/api/v2?apiName=jd.union.open.promotion.common.get -func (app *App) UnionOpenPromotionCommonGet(notMustParams ...Params) (body []byte, err error) { +func (app *App) UnionOpenPromotionCommonGet(notMustParams ...Params) *UnionOpenPromotionCommonGetResult { // 参数 params := NewParamsWithType("jd.union.open.promotion.common.get", notMustParams...) // 请求 - body, err = app.request(params) - return + body, err := app.request(params) + // 定义 + var responce UnionOpenPromotionCommonGetResultResponse + var result UnionOpenPromotionCommonGetGetResult + err = json.Unmarshal(body, &responce) + err = json.Unmarshal([]byte(responce.JdUnionOpenPromotionCommonGetResponce.GetResult), &result) + return NewUnionOpenPromotionCommonGetResult(responce, result, body, err) }