Merge branch 'jdshop' of https://e.coding.net/rosydev/jx-callback into jdshop
This commit is contained in:
@@ -937,6 +937,9 @@ func PruneMissingStoreSkus(ctx *jxcontext.Context, parentTask tasksch.ITask, ven
|
|||||||
}
|
}
|
||||||
|
|
||||||
func amendAndPruneStoreStuff(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorID, storeID int, vendorStoreID string, isAsync, isContinueWhenError bool, opType int, isForceUpdate bool) (hint string, err error) {
|
func amendAndPruneStoreStuff(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorID, storeID int, vendorStoreID string, isAsync, isContinueWhenError bool, opType int, isForceUpdate bool) (hint string, err error) {
|
||||||
|
if vendorID == model.VendorIDDD {
|
||||||
|
return "", nil
|
||||||
|
}
|
||||||
handler, _ := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler)
|
handler, _ := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler)
|
||||||
if handler == nil {
|
if handler == nil {
|
||||||
return "", fmt.Errorf("平台:%s不支持此操作", model.VendorChineseNames[vendorID])
|
return "", fmt.Errorf("平台:%s不支持此操作", model.VendorChineseNames[vendorID])
|
||||||
|
|||||||
@@ -687,12 +687,9 @@ func GetStoreSkus2(db *DaoDB, vendorID, storeID int, skuIDs []int, mustDirty boo
|
|||||||
sql = fmt.Sprintf(sql, fmtParams...)
|
sql = fmt.Sprintf(sql, fmtParams...)
|
||||||
sql += " ORDER BY t1.price"
|
sql += " ORDER BY t1.price"
|
||||||
|
|
||||||
globals.SugarLogger.Debugf("=======sql := %s", sql)
|
|
||||||
globals.SugarLogger.Debugf("=====param := %s", utils.Format4Output(sqlParams, false))
|
|
||||||
if err = GetRows(db, &skus, sql, sqlParams...); err != nil {
|
if err = GetRows(db, &skus, sql, sqlParams...); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("=====skus := %s", utils.Format4Output(skus, false))
|
|
||||||
return skus, err
|
return skus, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -663,6 +663,25 @@ func (c *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *mode
|
|||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
AfterSaleEmuAgreeToReturnOneApply = 101 // 同意退货申请(一次审核)不接 Logistics.ReceiverAddressId 或 Logistics.AfterSaleAddressDetail
|
||||||
|
AfterSaleEmuRefuseToReturnOneApply = 102 // 拒绝退货申请(一次审核) reason , evidence
|
||||||
|
AfterSaleEmuAgreeToReturnTwoApply = 111 // 同意退货(二次审核) 不接
|
||||||
|
AfterSaleEmuRefuseToReturnTwoApply = 112 // 拒绝退货 (二次审核) reason , evidence
|
||||||
|
AfterSaleEmuReturnGoodsToRefundApply = 121 // 退货转退款
|
||||||
|
AfterSaleEmuAgreeOnlyRefundApply = 201 // 同意仅退款
|
||||||
|
AfterSaleEmuRefuseOnlyRefundApply = 202 // 拒绝仅退款 reason , evidence
|
||||||
|
AfterSaleEmuRefundAfterRefusalApply = 203 // 同意拒签后退款 不接
|
||||||
|
AfterSaleEmuAgreeChangeGoodsOneApply = 301 // 同意换货申请(一次审核) 不接 Logistics.ReceiverAddressId 或 Logistics.AfterSaleAddressDetail
|
||||||
|
AfterSaleEmuRefundChangeGoodsOneApply = 302 // 拒绝换货申请(一次审核) reason,evidence
|
||||||
|
AfterSaleEmuAgreeChangeGoodsTwoApply = 311 // 同意换货(二次审核) logistics.companyCode,logistics.logisticsCode
|
||||||
|
AfterSaleEmuRefundChangeGoodsTwoApply = 312 // 拒绝换货(二次审核) reason,evidence
|
||||||
|
AfterSaleEmuChangeGoodsToRefundApply = 321 // 换货转退款
|
||||||
|
AfterSaleEmuAgreePreSaleReturnApply = 401 // 同意售前退申请(拒绝售前退款请使用发货接口)
|
||||||
|
AfterSaleEmuAgreeReissueApply = 501 // 同意补寄
|
||||||
|
AfterSaleEmuRefundReissueApply = 502 // 拒绝补寄
|
||||||
|
)
|
||||||
|
|
||||||
// AgreeOrRefuseCancel 同意或拒绝(退款)
|
// AgreeOrRefuseCancel 同意或拒绝(退款)
|
||||||
func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) {
|
func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) {
|
||||||
afsOrder, err := partner.CurOrderManager.LoadAfsOrder(order.VendorOrderID, order.VendorID)
|
afsOrder, err := partner.CurOrderManager.LoadAfsOrder(order.VendorOrderID, order.VendorID)
|
||||||
@@ -671,11 +690,49 @@ func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *mod
|
|||||||
}
|
}
|
||||||
if globals.EnableDdStoreWrite {
|
if globals.EnableDdStoreWrite {
|
||||||
if isAgree {
|
if isAgree {
|
||||||
|
errList := make([]string, 0, 0)
|
||||||
// 同意仅退款
|
// 同意仅退款
|
||||||
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").AfterSaleOperate(tiktokShop.AfterSaleEmuAgreeOnlyRefundApply, afsOrder.AfsOrderID, reason, utils.Str2Int64(order.VendorStoreID))
|
if err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").AfterSaleOperate(tiktokShop.AfterSaleEmuAgreeOnlyRefundApply, afsOrder.AfsOrderID, reason, utils.Str2Int64(order.VendorStoreID)); err != nil {
|
||||||
|
errList = append(errList, err.Error())
|
||||||
|
} else {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").AfterSaleOperate(tiktokShop.AfterSaleEmuAgreeToReturnOneApply, afsOrder.AfsOrderID, reason, utils.Str2Int64(order.VendorStoreID)); err != nil {
|
||||||
|
errList = append(errList, err.Error())
|
||||||
|
} else {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").AfterSaleOperate(tiktokShop.AfterSaleEmuAgreeToReturnTwoApply, afsOrder.AfsOrderID, reason, utils.Str2Int64(order.VendorStoreID)); err != nil {
|
||||||
|
errList = append(errList, err.Error())
|
||||||
|
} else {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if len(errList) < 3 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return fmt.Errorf("%s", strings.Join(errList, "--"))
|
||||||
} else {
|
} else {
|
||||||
|
errList := make([]string, 0, 0)
|
||||||
// 拒绝退款
|
// 拒绝退款
|
||||||
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").AfterSaleOperate(tiktokShop.AfterSaleEmuRefuseOnlyRefundApply, afsOrder.AfsOrderID, reason, utils.Str2Int64(order.VendorStoreID))
|
if err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").AfterSaleOperate(tiktokShop.AfterSaleEmuRefuseOnlyRefundApply, afsOrder.AfsOrderID, reason, utils.Str2Int64(order.VendorStoreID)); err != nil {
|
||||||
|
errList = append(errList, err.Error())
|
||||||
|
} else {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").AfterSaleOperate(tiktokShop.AfterSaleEmuRefuseToReturnOneApply, afsOrder.AfsOrderID, reason, utils.Str2Int64(order.VendorStoreID)); err != nil {
|
||||||
|
errList = append(errList, err.Error())
|
||||||
|
} else {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").AfterSaleOperate(tiktokShop.AfterSaleEmuRefuseToReturnTwoApply, afsOrder.AfsOrderID, reason, utils.Str2Int64(order.VendorStoreID)); err != nil {
|
||||||
|
errList = append(errList, err.Error())
|
||||||
|
} else {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if len(errList) < 3 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return fmt.Errorf("%s", strings.Join(errList, "--"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import (
|
|||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
"git.rosy.net.cn/jx-callback/business/partner"
|
"git.rosy.net.cn/jx-callback/business/partner"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -114,9 +115,50 @@ var (
|
|||||||
func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string) (err error) {
|
func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string) (err error) {
|
||||||
if globals.EnableDdStoreWrite {
|
if globals.EnableDdStoreWrite {
|
||||||
if approveType == partner.AfsApproveTypeRefused { // 拒绝退货
|
if approveType == partner.AfsApproveTypeRefused { // 拒绝退货
|
||||||
err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuRefuseOnlyRefundApply, order.AfsOrderID, "拒绝退货", utils.Str2Int64(order.VendorStoreID))
|
errList := make([]string, 0, 0)
|
||||||
|
// 拒绝退款
|
||||||
|
if err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuRefuseOnlyRefundApply, order.AfsOrderID, reason, utils.Str2Int64(order.VendorStoreID)); err != nil {
|
||||||
|
errList = append(errList, err.Error())
|
||||||
|
} else {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuRefuseToReturnOneApply, order.AfsOrderID, reason, utils.Str2Int64(order.VendorStoreID)); err != nil {
|
||||||
|
errList = append(errList, err.Error())
|
||||||
|
} else {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuRefuseToReturnTwoApply, order.AfsOrderID, reason, utils.Str2Int64(order.VendorStoreID)); err != nil {
|
||||||
|
errList = append(errList, err.Error())
|
||||||
|
} else {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if len(errList) < 3 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return fmt.Errorf("%s", strings.Join(errList, "--"))
|
||||||
} else if approveType == partner.AfsApproveTypeRefund { // 同意
|
} else if approveType == partner.AfsApproveTypeRefund { // 同意
|
||||||
err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuAgreeOnlyRefundApply, order.AfsOrderID, "同意仅退款", utils.Str2Int64(order.VendorStoreID))
|
errList := make([]string, 0, 0)
|
||||||
|
// 同意仅退款
|
||||||
|
if err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuAgreeOnlyRefundApply, order.AfsOrderID, reason, utils.Str2Int64(order.VendorStoreID)); err != nil {
|
||||||
|
errList = append(errList, err.Error())
|
||||||
|
} else {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuAgreeToReturnOneApply, order.AfsOrderID, reason, utils.Str2Int64(order.VendorStoreID)); err != nil {
|
||||||
|
errList = append(errList, err.Error())
|
||||||
|
} else {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuAgreeToReturnTwoApply, order.AfsOrderID, reason, utils.Str2Int64(order.VendorStoreID)); err != nil {
|
||||||
|
errList = append(errList, err.Error())
|
||||||
|
} else {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Errorf("%s", strings.Join(errList, "--"))
|
||||||
|
if len(errList) < 3 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
} else if approveType == partner.AfsApproveTypeRefusedToRefundMoney { // 退货转退款
|
} else if approveType == partner.AfsApproveTypeRefusedToRefundMoney { // 退货转退款
|
||||||
err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuReturnGoodsToRefundApply, order.AfsOrderID, "退货转退款", utils.Str2Int64(order.VendorStoreID))
|
err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuReturnGoodsToRefundApply, order.AfsOrderID, "退货转退款", utils.Str2Int64(order.VendorStoreID))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import (
|
|||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||||
"git.rosy.net.cn/jx-callback/business/partner"
|
"git.rosy.net.cn/jx-callback/business/partner"
|
||||||
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -48,6 +49,7 @@ func (c *PurchaseHandler) OnAfsOrderMsg(msgId, orderId string, msg interface{})
|
|||||||
func (c *PurchaseHandler) onAfsOrderMsg(msgId string, msg interface{}) (retVal *tiktokShop.CallbackResponse) {
|
func (c *PurchaseHandler) onAfsOrderMsg(msgId string, msg interface{}) (retVal *tiktokShop.CallbackResponse) {
|
||||||
var err error
|
var err error
|
||||||
orderStatus, vendorOrgCode := c.callbackAfsMsg2Status(msgId, msg)
|
orderStatus, vendorOrgCode := c.callbackAfsMsg2Status(msgId, msg)
|
||||||
|
globals.SugarLogger.Debugf("========onAfsOrderMsg====== : %s", utils.Format4Output(orderStatus, false))
|
||||||
if orderStatus == nil {
|
if orderStatus == nil {
|
||||||
return tiktokShop.Err2CallbackResponse(nil, "")
|
return tiktokShop.Err2CallbackResponse(nil, "")
|
||||||
}
|
}
|
||||||
@@ -279,7 +281,7 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(msgId string, msg interface{}) (
|
|||||||
if k, ok := ReasonCodeMap[refundOrder.ReasonCode]; ok {
|
if k, ok := ReasonCodeMap[refundOrder.ReasonCode]; ok {
|
||||||
orderMsg.Remark = k
|
orderMsg.Remark = k
|
||||||
} else {
|
} else {
|
||||||
orderMsg.Remark = "同意退款回调,抖音reason_code对应reason不足,需要更新.code:" + utils.Int2Str(refundOrder.ReasonCode)
|
orderMsg.Remark = "同意退款消息,抖音reason_code对应reason不足,需要更新.code:" + utils.Int2Str(refundOrder.ReasonCode)
|
||||||
}
|
}
|
||||||
if refundOrder.AftersaleId > 0 {
|
if refundOrder.AftersaleId > 0 {
|
||||||
orderMsg.VendorOrderID = utils.Int64ToStr(refundOrder.AftersaleId)
|
orderMsg.VendorOrderID = utils.Int64ToStr(refundOrder.AftersaleId)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
|
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
|
||||||
|
product_listV2_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_listV2/request"
|
||||||
sku_editPrice_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sku_editPrice/request"
|
sku_editPrice_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sku_editPrice/request"
|
||||||
sku_syncStock_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sku_syncStock/request"
|
sku_syncStock_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sku_syncStock/request"
|
||||||
tiktokShop "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
|
tiktokShop "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
|
||||||
@@ -346,47 +347,58 @@ func (p *PurchaseHandler) UpdateStoreSkusStock(ctx *jxcontext.Context, vendorOrg
|
|||||||
|
|
||||||
func (p *PurchaseHandler) GetStoreSkusFullInfo(ctx *jxcontext.Context, parentTask tasksch.ITask, storeID int, vendorStoreID string, storeSkuList []*partner.StoreSkuInfo) (skuNameList []*partner.SkuNameInfo, err error) {
|
func (p *PurchaseHandler) GetStoreSkusFullInfo(ctx *jxcontext.Context, parentTask tasksch.ITask, storeID int, vendorStoreID string, storeSkuList []*partner.StoreSkuInfo) (skuNameList []*partner.SkuNameInfo, err error) {
|
||||||
// 查询单个门店商品
|
// 查询单个门店商品
|
||||||
tiktokApi := getAPI(storeSkuList[0].VendorOrgCode, storeID, vendorStoreID)
|
appOrgCode := ""
|
||||||
|
if len(storeSkuList) == 0 {
|
||||||
for _, v := range storeSkuList {
|
storeDetail, _ := dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDDD, "")
|
||||||
skuInfo, err := tiktokApi.GetSkuDetail(v.VendorSkuID, utils.Int2Str(v.SkuID))
|
appOrgCode = storeDetail.VendorOrgCode
|
||||||
if err != nil {
|
} else {
|
||||||
return nil, err
|
appOrgCode = storeSkuList[0].VendorOrgCode
|
||||||
}
|
|
||||||
if skuName := vendorSku2Jx(skuInfo); skuName != nil {
|
|
||||||
skuNameList = append(skuNameList, skuName)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
//switch len(storeSkuList) {
|
tiktokApi := getAPI(appOrgCode, storeID, vendorStoreID)
|
||||||
//case 1:
|
|
||||||
//
|
if len(storeSkuList) != 0 {
|
||||||
//default:
|
for _, v := range storeSkuList {
|
||||||
// // 列表查询门店商品
|
skuInfo, err := tiktokApi.GetSkuDetail(v.VendorSkuID, utils.Int2Str(v.SkuID))
|
||||||
// //var storeSkuMap map[string]*partner.StoreSkuInfo
|
if err != nil {
|
||||||
// //if storeSkuList != nil {
|
return nil, err
|
||||||
// // storeSkuMap = putils.StoreSkuList2MapByVendorSkuID(storeSkuList)
|
}
|
||||||
// //}
|
if skuName := vendorSku2Jx(skuInfo); skuName != nil {
|
||||||
// //for {
|
skuNameList = append(skuNameList, skuName)
|
||||||
// // result, err := mtapi.RetailList(vendorStoreID, len(skuNameList), mtwmapi.GeneralMaxLimit)
|
}
|
||||||
// // if err != nil {
|
}
|
||||||
// // return nil, err
|
} else {
|
||||||
// // }
|
var page int64 = 1
|
||||||
// // if storeSkuMap == nil {
|
var pageSize int64 = 100
|
||||||
// // skuNameList = append(skuNameList, vendorSkuList2Jx(result)...)
|
for {
|
||||||
// // } else {
|
skuInfo, err := tiktokApi.GetSkuDetailList(&product_listV2_request.ProductListV2Param{
|
||||||
// // for _, v := range result {
|
Status: 0,
|
||||||
// // if storeSkuMap[v.AppFoodCode] != nil {
|
CheckStatus: 3,
|
||||||
// // if skuName := vendorSku2Jx(v); skuName != nil {
|
ProductType: 0,
|
||||||
// // skuNameList = append(skuNameList, skuName)
|
Page: page,
|
||||||
// // }
|
Size: pageSize,
|
||||||
// // }
|
StoreId: utils.Str2Int64(vendorStoreID),
|
||||||
// // }
|
})
|
||||||
// // }
|
if err != nil {
|
||||||
// // if len(result) < mtwmapi.GeneralMaxLimit {
|
return nil, err
|
||||||
// // break
|
}
|
||||||
// // }
|
for _, v := range skuInfo.Data {
|
||||||
// //}
|
skuInfo, err := tiktokApi.GetSkuDetail(utils.Int64ToStr(v.ProductId), "")
|
||||||
//}
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if skuName := vendorSku2Jx(skuInfo); skuName != nil {
|
||||||
|
skuNameList = append(skuNameList, skuName)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if page*pageSize > skuInfo.Total {
|
||||||
|
page++
|
||||||
|
} else {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
return skuNameList, err
|
return skuNameList, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user