From 5b2717f4e142cd40cccea3139e5f401f16b819ab Mon Sep 17 00:00:00 2001
From: zhanglibo <zhanglibo@stbz.net>
Date: Tue, 26 Sep 2023 14:20:49 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=98=E7=89=B9=E8=BF=94=E5=9B=9E=E5=80=BC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 upstream/itao/itao.go           |  9 +++++++-
 upstream/itao/itao_address.go   | 12 ++++++++--
 upstream/itao/itao_auth.go      | 24 ++++++++++++++++----
 upstream/itao/itao_goods.go     | 24 ++++++++++++++++----
 upstream/itao/itao_logistics.go | 12 ++++++++--
 upstream/itao/itao_order.go     | 28 +++++++++++++++++++----
 upstream/itao/itao_pay.go       |  4 ++++
 upstream/itao/itao_refund.go    | 40 ++++++++++++++++++++++++++-------
 upstream/itao/itao_upload.go    |  8 ++++++-
 9 files changed, 135 insertions(+), 26 deletions(-)

diff --git a/upstream/itao/itao.go b/upstream/itao/itao.go
index e942c65..fb571e2 100644
--- a/upstream/itao/itao.go
+++ b/upstream/itao/itao.go
@@ -181,7 +181,7 @@ func AccessToken(ctx context.Context) (res string, err error) {
 	return
 }
 
-//RefreshToken 刷新
+// RefreshToken 刷新
 func RefreshToken(ctx context.Context) (res *AuthTokenRes, err error) {
 	var conn = g.Redis().Conn()
 	defer func() {
@@ -210,3 +210,10 @@ func RefreshToken(ctx context.Context) (res *AuthTokenRes, err error) {
 	_, _ = conn.Do("HMSET", CacheKey, "accessToken", res.AccessToken, "accessTokenExpireTime", res.AccessTokenExpireTime)
 	return
 }
+
+func CheckResult(req interface{}) (err error) {
+	if req == nil {
+		err = gerror.New("result is null")
+	}
+	return err
+}
diff --git a/upstream/itao/itao_address.go b/upstream/itao/itao_address.go
index 00057c0..b86efd7 100644
--- a/upstream/itao/itao_address.go
+++ b/upstream/itao/itao_address.go
@@ -45,14 +45,18 @@ type AddressDivisionRes struct {
 	} `json:"result"`
 }
 
-//Division 行政区划
+// Division 行政区划
 func (s addressItao) Division(ctx context.Context, req AddressDivisionReq) (res *AddressDivisionRes, err error) {
 	method := "tt.order.queryDivision"
 
 	result, err := server.Post(ctx, method, g.Map{
 		"param": req,
 	})
+	if err != nil {
+		return
+	}
 	_ = gjson.New(result).Scan(&res)
+	err = CheckResult(res)
 	return
 }
 
@@ -76,7 +80,7 @@ type AddressParseRes struct {
 	Success bool `json:"success"`
 }
 
-//Parse 地址解析
+// Parse 地址解析
 // 省、市必传
 func (s addressItao) Parse(ctx context.Context, req AddressParseReq) (res *AddressParseRes, err error) {
 	method := "tt.address.validate"
@@ -84,6 +88,10 @@ func (s addressItao) Parse(ctx context.Context, req AddressParseReq) (res *Addre
 	result, err := server.Post(ctx, method, g.Map{
 		"param": req,
 	})
+	if err != nil {
+		return
+	}
 	_ = gjson.New(result).Scan(&res)
+	err = CheckResult(res)
 	return
 }
diff --git a/upstream/itao/itao_auth.go b/upstream/itao/itao_auth.go
index da539d5..d8d5908 100644
--- a/upstream/itao/itao_auth.go
+++ b/upstream/itao/itao_auth.go
@@ -16,14 +16,18 @@ type AuthStatusRes struct {
 	Message string `json:"message"`
 }
 
-//Status 授权状态
+// Status 授权状态
 func (s auth) Status(ctx context.Context) (res *AuthStatusRes, err error) {
 	method := "tt.authority.checkAuthStatus"
 
 	result, err := server.Get(ctx, method, g.Map{
 		"bId": server.AppKey,
 	})
+	if err != nil {
+		return
+	}
 	_ = gjson.New(result).Scan(&res)
+	err = CheckResult(res)
 	return
 
 }
@@ -36,14 +40,18 @@ type AuthQrCodeRes struct {
 	QrCodeUrl          string `json:"qrCodeUrl"`
 }
 
-//QrCode 二维码
+// QrCode 二维码
 func (s auth) QrCode(ctx context.Context) (res *AuthQrCodeRes, err error) {
 	method := "tt.authority.generateQrCode"
 
 	result, err := Get(ctx, method, g.Map{
 		"bId": server.AppKey,
 	})
+	if err != nil {
+		return
+	}
 	_ = gjson.New(result).Scan(&res)
+	err = CheckResult(res)
 	return
 
 }
@@ -61,7 +69,7 @@ type AuthTokenRes struct {
 	GwTraceId              string `json:"gw_trace_id"`
 }
 
-//Token 授权
+// Token 授权
 func (s auth) Token(ctx context.Context, code string, Type int) (res *AuthTokenRes, err error) {
 	method := "tt.auth.getAccessToken"
 	var request = g.Map{
@@ -76,17 +84,25 @@ func (s auth) Token(ctx context.Context, code string, Type int) (res *AuthTokenR
 	}
 
 	result, err := Get(ctx, method, request)
+	if err != nil {
+		return
+	}
 	_ = gjson.New(result).Scan(&res)
+	err = CheckResult(res)
 	return
 }
 
-//Unbind 注销授权
+// Unbind 注销授权
 func (s auth) Unbind(ctx context.Context) (res *AuthTokenRes, err error) {
 	method := "tt.authority.unbind"
 
 	result, err := server.Get(ctx, method, g.Map{
 		"bId": server.AppKey,
 	})
+	if err != nil {
+		return
+	}
 	_ = gjson.New(result).Scan(&res)
+	err = CheckResult(res)
 	return
 }
diff --git a/upstream/itao/itao_goods.go b/upstream/itao/itao_goods.go
index e339531..330a564 100644
--- a/upstream/itao/itao_goods.go
+++ b/upstream/itao/itao_goods.go
@@ -77,7 +77,11 @@ func (goods) List(ctx context.Context, req GoodsListReq) (res *GoodsListRes, err
 	result, err := server.Get(ctx, method, g.Map{
 		"request": req,
 	})
+	if err != nil {
+		return
+	}
 	_ = gjson.New(result).Scan(&res)
+	err = CheckResult(res)
 	return
 }
 
@@ -151,7 +155,7 @@ type GoodsItem struct {
 	PriceMoney     string `json:"priceMoney"`     //单品优惠价,参与活动后得价格
 }
 
-//Detail 详情
+// Detail 详情
 func (goods) Detail(ctx context.Context, GoodsID string) (res *GoodsDetailRes, err error) {
 	method := "tt.item.detail.v2"
 	var request = GoodsDetailReq{
@@ -163,7 +167,11 @@ func (goods) Detail(ctx context.Context, GoodsID string) (res *GoodsDetailRes, e
 	result, err := server.Post(ctx, method, g.Map{
 		"parameters": request,
 	})
+	if err != nil {
+		return
+	}
 	_ = gjson.New(result).Scan(&res)
+	err = CheckResult(res)
 	return
 }
 
@@ -345,15 +353,19 @@ type GoodsDescItem struct {
 	} `json:"layout"`
 }
 
-//Desc 详情描述
+// Desc 详情描述
 func (goods) Desc(ctx context.Context, GoodsID string) (res *GoodsDescRes, err error) {
 	method := "tt.item.desc"
 
 	result, err := server.Get(ctx, method, g.Map{
 		"itemId": GoodsID,
 	})
+	if err != nil {
+		return
+	}
 	var data *GoodsDescJson
-	err = gjson.New(result).Scan(&data)
+	_ = gjson.New(result).Scan(&data)
+	err = CheckResult(res)
 	if err != nil {
 		return
 	}
@@ -376,13 +388,17 @@ type GoodsCategoryRes struct {
 	Message       string   `json:"message"`
 }
 
-//Category 商品类目
+// Category 商品类目
 func (goods) Category(ctx context.Context, GoodsID string) (res *GoodsCategoryRes, err error) {
 	method := "tt.item.cateInfo"
 
 	result, err := server.Get(ctx, method, g.Map{
 		"itemId": GoodsID,
 	})
+	if err != nil {
+		return
+	}
 	_ = gjson.New(result).Scan(&res)
+	err = CheckResult(res)
 	return
 }
diff --git a/upstream/itao/itao_logistics.go b/upstream/itao/itao_logistics.go
index 8375af6..e1227cd 100644
--- a/upstream/itao/itao_logistics.go
+++ b/upstream/itao/itao_logistics.go
@@ -46,7 +46,7 @@ type LogisticsTraceRes struct {
 	} `json:"result"`
 }
 
-//Trace 物流轨迹
+// Trace 物流轨迹
 func (logistics) Trace(ctx context.Context, req string) (res *LogisticsTraceRes, err error) {
 	method := "tt.logistics.detail"
 
@@ -55,7 +55,11 @@ func (logistics) Trace(ctx context.Context, req string) (res *LogisticsTraceRes,
 			"tradeId": req,
 		},
 	})
+	if err != nil {
+		return
+	}
 	_ = gjson.New(result).Scan(&res)
+	err = CheckResult(res)
 	return
 }
 
@@ -76,7 +80,7 @@ type LogisticsCompany struct {
 	Success bool                     `json:"success"`
 }
 
-//Company 物流公司
+// Company 物流公司
 func (logistics) Company(ctx context.Context, req string) (res *LogisticsCompanyRes, err error) {
 	method := "tt.refund.queryLogisticList"
 
@@ -86,7 +90,11 @@ func (logistics) Company(ctx context.Context, req string) (res *LogisticsCompany
 		},
 	})
 	var data *LogisticsCompany
+	if err != nil {
+		return
+	}
 	_ = gjson.New(result).Scan(&data)
+	err = CheckResult(data)
 	res = new(LogisticsCompanyRes)
 	res.Success = data.Success
 	for _, item := range data.Result {
diff --git a/upstream/itao/itao_order.go b/upstream/itao/itao_order.go
index f9c79d8..4b053cc 100644
--- a/upstream/itao/itao_order.go
+++ b/upstream/itao/itao_order.go
@@ -146,16 +146,20 @@ type OrderPromotion struct {
 	} `json:"shopPromotions"`
 }
 
-//Before 前置校验
+// Before 前置校验
 func (s order) Before(ctx context.Context, req OrderBeforeReq) (res *OrderBeforeRes, err error) {
 	method := "tt.order.render"
 
 	result, err := server.Post(ctx, method, g.Map{
 		"request": req,
 	})
+	if err != nil {
+		return
+	}
 	_ = gjson.NewWithOptions(result, gjson.Options{
 		StrNumber: true,
 	}).Scan(&res)
+	err = CheckResult(res)
 	return
 }
 
@@ -194,7 +198,7 @@ type OrderCreateRes struct {
 	} `json:"result"`
 }
 
-//Create 下单
+// Create 下单
 func (s order) Create(ctx context.Context, req OrderCreateReq) (res *OrderCreateRes, err error) {
 	method := "tt.order.create"
 
@@ -204,9 +208,13 @@ func (s order) Create(ctx context.Context, req OrderCreateReq) (res *OrderCreate
 	result, err := server.Post(ctx, method, g.Map{
 		"request": req,
 	})
+	if err != nil {
+		return
+	}
 	_ = gjson.NewWithOptions(result, gjson.Options{
 		StrNumber: true,
 	}).Scan(&res)
+	err = CheckResult(res)
 	return
 }
 
@@ -309,7 +317,7 @@ type OrderDetailRes struct {
 	} `json:"result"`
 }
 
-//Detail 详情
+// Detail 详情
 func (s order) Detail(ctx context.Context, req interface{}) (res *OrderDetailRes, err error) {
 	method := "tt.order.detail"
 
@@ -318,9 +326,13 @@ func (s order) Detail(ctx context.Context, req interface{}) (res *OrderDetailRes
 			"bizOrderId": gconv.Int64(req),
 		},
 	})
+	if err != nil {
+		return
+	}
 	_ = gjson.NewWithOptions(result, gjson.Options{
 		StrNumber: true,
 	}).Scan(&res)
+	err = CheckResult(res)
 	return
 }
 
@@ -416,7 +428,7 @@ type OrderReflectRes struct {
 	} `json:"result"`
 }
 
-//Reflect 详情[反查]
+// Reflect 详情[反查]
 func (s order) Reflect(ctx context.Context, req string) (res *OrderReflectRes, err error) {
 	method := "tt.order.detail.outid"
 
@@ -425,9 +437,13 @@ func (s order) Reflect(ctx context.Context, req string) (res *OrderReflectRes, e
 			"outOrderId": s.outId(req),
 		},
 	})
+	if err != nil {
+		return
+	}
 	_ = gjson.NewWithOptions(result, gjson.Options{
 		StrNumber: true,
 	}).Scan(&res)
+	err = CheckResult(res)
 	return
 }
 
@@ -450,8 +466,12 @@ func (s order) Pay(ctx context.Context, req string) (res *OrderPayRes, err error
 			"bizOrderId": gconv.Int64(req),
 		},
 	})
+	if err != nil {
+		return
+	}
 	_ = gjson.NewWithOptions(result, gjson.Options{
 		StrNumber: true,
 	}).Scan(&res)
+	err = CheckResult(res)
 	return
 }
diff --git a/upstream/itao/itao_pay.go b/upstream/itao/itao_pay.go
index 55e90fc..70af4df 100644
--- a/upstream/itao/itao_pay.go
+++ b/upstream/itao/itao_pay.go
@@ -20,8 +20,12 @@ func (s pay) Auth(ctx context.Context) (res *PayAuthRes, err error) {
 	result, err := server.Post(ctx, method, g.Map{
 		"request": g.Map{},
 	})
+	if err != nil {
+		return
+	}
 	_ = gjson.NewWithOptions(result, gjson.Options{
 		StrNumber: true,
 	}).Scan(&res)
+	err = CheckResult(res)
 	return
 }
diff --git a/upstream/itao/itao_refund.go b/upstream/itao/itao_refund.go
index 39d142a..69bc6c3 100644
--- a/upstream/itao/itao_refund.go
+++ b/upstream/itao/itao_refund.go
@@ -25,7 +25,7 @@ type RefundBeforeRes struct {
 	} `json:"result"`
 }
 
-//Before 退款类型
+// Before 退款类型
 func (s refund) Before(ctx context.Context, req string) (res *RefundBeforeRes, err error) {
 	method := "tt.refund.refundApplyType"
 
@@ -34,9 +34,13 @@ func (s refund) Before(ctx context.Context, req string) (res *RefundBeforeRes, e
 			"bizOrderId": req,
 		},
 	})
+	if err != nil {
+		return
+	}
 	_ = gjson.NewWithOptions(result, gjson.Options{
 		StrNumber: true,
 	}).Scan(&res)
+	err = CheckResult(res)
 	return
 }
 
@@ -61,16 +65,20 @@ type RefundReasonRes struct {
 	} `json:"result"`
 }
 
-//Reason 原因
+// Reason 原因
 func (s refund) Reason(ctx context.Context, req RefundReasonReq) (res *RefundReasonRes, err error) {
 	method := "tt.refund.refundApplyInit"
 
 	result, err := server.Post(ctx, method, g.Map{
 		"request": req,
 	})
+	if err != nil {
+		return
+	}
 	_ = gjson.NewWithOptions(result, gjson.Options{
 		StrNumber: true,
 	}).Scan(&res)
+	err = CheckResult(res)
 	return
 }
 
@@ -91,7 +99,7 @@ type RefundCreateRess struct {
 	} `json:"result"`
 }
 
-//Create 申请
+// Create 申请
 func (s refund) Create(ctx context.Context, req RefundCreateReq, image ...string) (res *RefundCreateRess, err error) {
 	method := "tt.refund.refundSubmit"
 	if len(image) > 0 {
@@ -103,15 +111,19 @@ func (s refund) Create(ctx context.Context, req RefundCreateReq, image ...string
 	result, err := server.Post(ctx, method, g.Map{
 		"request": req,
 	})
+	if err != nil {
+		return
+	}
 	_ = gjson.NewWithOptions(result, gjson.Options{
 		StrNumber: true,
 	}).Scan(&res)
+	err = CheckResult(res)
 	return
 }
 
-//Cancel 取消售后
-//`bizOrderId` 子订单号
-//`disputeId` 售后单号
+// Cancel 取消售后
+// `bizOrderId` 子订单号
+// `disputeId` 售后单号
 func (s refund) Cancel(ctx context.Context, bizOrderId, disputeId string) (res *CommonRes, err error) {
 	method := "tt.refund.refundRevoke"
 
@@ -121,9 +133,13 @@ func (s refund) Cancel(ctx context.Context, bizOrderId, disputeId string) (res *
 			"disputeId":  disputeId,
 		},
 	})
+	if err != nil {
+		return
+	}
 	_ = gjson.NewWithOptions(result, gjson.Options{
 		StrNumber: true,
 	}).Scan(&res)
+	err = CheckResult(res)
 	return
 }
 
@@ -153,7 +169,7 @@ type RefundSubmitRes struct {
 	} `json:"result"`
 }
 
-//Submit 提交物流信息
+// Submit 提交物流信息
 func (s refund) Submit(ctx context.Context, req RefundSubmitReq, image ...string) (res *CommonRes, err error) {
 	method := "tt.refund.submitLogisticInfo.v1"
 	if len(image) > 0 {
@@ -164,9 +180,13 @@ func (s refund) Submit(ctx context.Context, req RefundSubmitReq, image ...string
 	result, err := server.Post(ctx, method, g.Map{
 		"request": req,
 	})
+	if err != nil {
+		return
+	}
 	_ = gjson.NewWithOptions(result, gjson.Options{
 		StrNumber: true,
 	}).Scan(&res)
+	err = CheckResult(res)
 	return
 }
 
@@ -206,7 +226,7 @@ type RefundDetailRes struct {
 	} `json:"result"`
 }
 
-//Detail 详情
+// Detail 详情
 func (s refund) Detail(ctx context.Context, bizOrderId, disputeId string) (res *RefundDetailRes, err error) {
 	method := "tt.refund.queryRefundDetail"
 
@@ -216,8 +236,12 @@ func (s refund) Detail(ctx context.Context, bizOrderId, disputeId string) (res *
 			"disputeId":  disputeId,
 		},
 	})
+	if err != nil {
+		return
+	}
 	_ = gjson.NewWithOptions(result, gjson.Options{
 		StrNumber: true,
 	}).Scan(&res)
+	err = CheckResult(res)
 	return
 }
diff --git a/upstream/itao/itao_upload.go b/upstream/itao/itao_upload.go
index 445da73..1bc632b 100644
--- a/upstream/itao/itao_upload.go
+++ b/upstream/itao/itao_upload.go
@@ -38,7 +38,13 @@ func (s upload) Image(ctx context.Context, req UploadImageReq) (res *UploadImage
 		return
 	}
 	result, err := s.post(ctx, method, request, gconv.Map(req))
-	_ = gjson.New(result).Scan(&res)
+	if err != nil {
+		return
+	}
+	_ = gjson.NewWithOptions(result, gjson.Options{
+		StrNumber: true,
+	}).Scan(&res)
+	err = CheckResult(res)
 	return
 }
 
-- 
2.18.1