This commit is contained in:
richboo111
2023-04-25 10:32:22 +08:00
36 changed files with 1077 additions and 180 deletions

View File

@@ -95,7 +95,7 @@ func (a *API) RefreshToken() (*doudian_sdk.CreateTokenData, error) {
return nil, err
}
if createToken.Code != RequestSuccessCode {
return nil, errors.New(createToken.SubMsg)
return nil, errors.New(createToken.SubMsg + ":" + createToken.LogId)
}
a.accessToken = createToken.Data.AccessToken
a.refreshToken = createToken.Data.RefreshToken

View File

@@ -21,7 +21,7 @@ func TestApi(t *testing.T) {
}
func TestQueryOrderDetail(t *testing.T) {
data, err := a.GetTiktokOrderDetail("5042953882665211095")
data, err := a.GetTiktokOrderDetail("6917547162766021688")
globals.SugarLogger.Debugf("=====%s", utils.Format4Output(data, false))
globals.SugarLogger.Debugf("=====%s", err)
}

View File

@@ -66,7 +66,7 @@ func (a *APIExpress) CreateToken() (*token_create_response.TokenCreateData, erro
return nil, err
}
if response.Code != RequestSuccessCode {
return nil, errors.New(response.SubMsg)
return nil, errors.New(response.SubMsg + ":" + response.LogId)
}
a.accessToken = response.Data.AccessToken
@@ -98,7 +98,7 @@ func (a *APIExpress) RefreshToken() (*doudian_sdk.CreateTokenData, error) {
return nil, err
}
if createToken.Code != RequestSuccessCode {
return nil, errors.New(createToken.SubMsg)
return nil, errors.New(createToken.SubMsg + ":" + createToken.LogId)
}
a.accessToken = createToken.Data.AccessToken
a.refreshToken = createToken.Data.RefreshToken
@@ -160,7 +160,7 @@ func (a *APIExpress) OrderStatusAndPsInfo(param map[string]interface{}) error {
return err
}
if result.Code != RequestSuccessCode {
return errors.New(result.SubMsg)
return errors.New(result.SubMsg + ":" + result.LogId)
}
return nil
}

View File

@@ -35,7 +35,7 @@ func (a *API) GetTiktokOrderDetail(orderId string) (*order_orderDetail_response.
return nil, err
}
if orderDetail.Code != RequestSuccessCode {
return nil, errors.New(orderDetail.SubMsg)
return nil, errors.New(orderDetail.SubMsg + ":" + orderDetail.LogId)
}
return orderDetail.Data.ShopOrderDetail, nil
@@ -54,7 +54,7 @@ func (a *API) QueryAfsOrderDetail(afterSaleId string, needOperationRecord bool)
return nil, err
}
if result.Code != RequestSuccessCode {
return nil, errors.New(result.SubMsg)
return nil, errors.New(result.SubMsg + ":" + result.LogId)
}
return result, nil
}
@@ -72,7 +72,7 @@ func (a *API) ApplyMarketAfterSale(skuOrderId, count int64, afterSaleReason int3
return "", err
}
if result.Code != RequestSuccessCode {
return "", errors.New(result.SubMsg)
return "", errors.New(result.SubMsg + ":" + result.LogId)
}
return result.Data.AfterSaleId, nil
}
@@ -155,7 +155,7 @@ func (a *API) AfterSaleOperate(refundType int32, refundId, remark string, storeI
return err
}
if result.Code != RequestSuccessCode {
return errors.New(result.SubMsg)
return errors.New(result.SubMsg + ":" + result.LogId)
}
return nil
}
@@ -175,7 +175,7 @@ func (a *API) GetRefundAddressId(storeID int64) (int64, error) {
return 0, err
}
if result.Code != RequestSuccessCode {
return 0, errors.New(result.SubMsg)
return 0, errors.New(result.SubMsg + ":" + result.LogId)
}
if len(result.Data.AddressList) < 1 {
return 0, errors.New("门店详细地址获取错误")
@@ -196,7 +196,7 @@ func (a *API) QueryAllReason(afterSaleId int64) ([]afterSale_rejectReasonCodeLis
return nil, err
}
if result.Code != RequestSuccessCode {
return nil, errors.New(result.SubMsg)
return nil, errors.New(result.SubMsg + ":" + result.LogId)
}
return result.Data.Items, nil
}
@@ -218,7 +218,7 @@ func (a *API) GetStoreOrderList(queryData time.Time, storeId int64) ([]string, e
return nil, err
}
if orderDetailList.Code != RequestSuccessCode {
return nil, errors.New(orderDetailList.Msg)
return nil, errors.New(orderDetailList.Msg + ":" + orderDetailList.LogId)
}
orderList := make([]string, 0, 0)
@@ -251,7 +251,7 @@ func (a *API) GetStoreOrderList(queryData time.Time, storeId int64) ([]string, e
return nil, err
}
if orderDetailList.Code != RequestSuccessCode {
return nil, errors.New(orderDetailList.Msg)
return nil, errors.New(orderDetailList.Msg + ":" + orderDetailList.LogId)
}
for _, v := range orderDetailList.Data.ShopOrderList {
if v.ShopId == storeId {
@@ -278,7 +278,7 @@ func (a *API) ReturnGoodsToWareHouseSuccess(afsOrderId string) error {
return err // 202210141114300102101071350D6F3847
}
if result.Code != RequestSuccessCode {
return errors.New(result.SubMsg)
return errors.New(result.SubMsg + ":" + result.LogId)
}
return nil
}
@@ -298,9 +298,6 @@ func (a *API) ConfirmReceivedReturnGoods(afsOrderId int64, agree bool) {
}
}
// CancelSendGoodsSuccess 商家在未发货仅退款途中发送取消发货状态
func (a *API) CancelSendGoodsSuccess() {}
// OrderDelivering 订单发货
// 暂时只支持整单出库,即接口调用时入参只能传父订单号。
// Tips部分发货状态下的父订单调此接口发货会报错该订单当前为“部分发货”状态无法调用此接口
@@ -317,7 +314,7 @@ func (a *API) OrderDelivering(param *order_logisticsAdd_request.OrderLogisticsAd
return nil
}
if result.Code != RequestSuccessCode {
return errors.New(result.SubMsg)
return errors.New(result.SubMsg + ":" + result.LogId)
}
return nil
}
@@ -592,11 +589,11 @@ func (a *API) GetCallbackOrderId(msgId string, data interface{}) (string, int64,
}
return utils.Int64ToStr(create.PId), int64(create.ShopId), Err2CallbackResponse(nil, "")
case CallbackReturnRefundAgreedMsgTagId: // 同意退款消息
create := AppointmentChangeData{}
create := BusinessRefundSuccessData{}
if err := utils.Map2StructByJson(data, &create, false); err != nil {
return "", 0, CallbackResponseErr(false)
}
return create.PId, create.ShopId, Err2CallbackResponse(nil, "")
return utils.Int64ToStr(create.PId), create.ShopId, Err2CallbackResponse(nil, "")
case CallbackRefundClosedMsgTagId: // 当买家取消申请或系统超时机制导致退款取消时,会推送此消息
create := UserCancelRefundOrderData{}
if err := utils.Map2StructByJson(data, &create, false); err != nil {

View File

@@ -411,16 +411,16 @@ type BusinessRefundSuccessCallback struct {
type BusinessRefundSuccessData struct {
AftersaleId int64 `json:"aftersale_id"`
AftersaleStatus int `json:"aftersale_status"`
AftersaleType int `json:"aftersale_type"`
AftersaleStatus int64 `json:"aftersale_status"`
AftersaleType int64 `json:"aftersale_type"`
PId int64 `json:"p_id"`
ReasonCode int `json:"reason_code"`
RefundAmount int `json:"refund_amount"`
RefundPostAmount int `json:"refund_post_amount"`
RefundVoucherNum int `json:"refund_voucher_num"`
ReasonCode int64 `json:"reason_code"`
RefundAmount int64 `json:"refund_amount"`
RefundPostAmount int64 `json:"refund_post_amount"`
RefundVoucherNum int64 `json:"refund_voucher_num"`
SId int64 `json:"s_id"`
ShopId int `json:"shop_id"`
SuccessTime int `json:"success_time"`
ShopId int64 `json:"shop_id"`
SuccessTime int64 `json:"success_time"`
UpdateTime time.Time `json:"update_time"`
}

View File

@@ -17,7 +17,7 @@ func (a *API) GetSettleBillDetailV3(param *order_getSettleBillDetailV3_request.O
return 0, "", err
}
if result.Code != RequestSuccessCode {
return 0, "", errors.New(result.SubMsg)
return 0, "", errors.New(result.SubMsg + ":" + result.LogId)
}
if len(result.Data.Data) == 0 {

View File

@@ -1,9 +1,9 @@
package tiktok_api
import (
"encoding/json"
"errors"
brand_list_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/brand_list/request"
order_batchDecrypt_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_batchDecrypt/request"
order_batchSensitive_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_batchSensitive/request"
product_GetRecommendCategory_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_GetRecommendCategory/request"
product_addV2_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_addV2/request"
@@ -21,6 +21,8 @@ import (
product_getProductUpdateRule_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_getProductUpdateRule/request"
product_listV2_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_listV2/request"
product_listV2_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_listV2/response"
product_qualificationConfig_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_qualificationConfig/request"
product_qualificationConfig_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_qualificationConfig/response"
product_setOffline_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_setOffline/request"
shop_getShopCategory_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_getShopCategory/request"
sku_editPrice_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sku_editPrice/request"
@@ -30,7 +32,10 @@ import (
superm_product_batchRedistributeStoreProduct_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/superm_product_batchRedistributeStoreProduct/request"
superm_product_createSubProduct_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/superm_product_createSubProduct/request"
superm_product_launchProduct_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/superm_product_launchProduct/request"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/globals"
"io/ioutil"
"net/http"
"strings"
)
@@ -48,7 +53,7 @@ func (a *API) UpdateSkuStock(param *sku_syncStock_request.SkuSyncStockParam) err
return err
}
if resp.Code != RequestSuccessCode {
return errors.New(resp.Msg)
return errors.New(resp.SubMsg + ":" + resp.LogId)
}
return nil
}
@@ -69,7 +74,7 @@ func (a *API) GetShopCategory(cid int64) ([]*RetailCategoryInfo, error) {
return nil, err
}
if result.Code != RequestSuccessCode {
return nil, errors.New(result.SubMsg)
return nil, errors.New(result.SubMsg + ":" + result.LogId)
}
categoryAll := make([]*RetailCategoryInfo, 0, 0)
@@ -107,13 +112,52 @@ func (a *API) GetCatePropertyV2(categoryLeftId int64) (*product_getCatePropertyV
return nil, err
}
if result.Code != RequestSuccessCode {
return nil, errors.New(result.SubMsg)
return nil, errors.New(result.SubMsg + ":" + result.LogId)
}
return result, nil
}
// CreateStoreCommodity (新增总部商品)
func (a *API) CreateStoreCommodity(skuParam *product_addV2_request.ProductAddV2Param) (*product_addV2_response.ProductAddV2Data, error) {
qualityList := make([]product_addV2_request.QualityListItem, 0, 0)
switch a.accessTokenObj.ShopId {
case TiktokFloderKeyVegetableKey: // 京西速食
qualityList = append(qualityList, product_addV2_request.QualityListItem{
QualityKey: QualificationsSuShiPackageId,
QualityName: QualificationsSuShiPackageName,
QualityAttachments: []product_addV2_request.QualityAttachmentsItem{
product_addV2_request.QualityAttachmentsItem{
MediaType: 1,
Url: QualificationsPackageImg,
},
},
})
case TiktokFloderKeyShoppingKey: // 京西超市
qualityList = append(qualityList, product_addV2_request.QualityListItem{
QualityKey: QualificationsShopPackageId,
QualityName: QualificationsShopPackageName,
QualityAttachments: []product_addV2_request.QualityAttachmentsItem{
product_addV2_request.QualityAttachmentsItem{
MediaType: 1,
Url: QualificationsShopPackageImg,
},
},
})
case TiktokFloderKeyBeautifulKey: // 美好菜市
qualityList = append(qualityList, product_addV2_request.QualityListItem{
QualityKey: QualificationsBeautifulPackageId,
QualityName: QualificationsBeautifulPackageName,
QualityAttachments: []product_addV2_request.QualityAttachmentsItem{
product_addV2_request.QualityAttachmentsItem{
MediaType: 1,
Url: QualificationsBeautifulPackageImg,
},
},
})
default:
return nil, errors.New("创建商品是,资质获取异常")
}
skuParam.QualityList = qualityList
request := product_addV2_request.New()
request.Param = skuParam
result, err := request.Execute(a.accessTokenObj)
@@ -121,11 +165,37 @@ func (a *API) CreateStoreCommodity(skuParam *product_addV2_request.ProductAddV2P
return nil, err
}
if result.Code != RequestSuccessCode {
return nil, errors.New(result.SubMsg)
return nil, errors.New(result.SubMsg + ":" + result.LogId)
}
return result.Data, nil
}
func (a *API) QualityList(categoryId int64) ([]*product_qualificationConfig_response.ConfigListItem, error) {
if categoryId <= 0 {
return nil, errors.New("categoryId 不能为0")
}
request := product_qualificationConfig_request.New()
request.Param.CategoryId = categoryId
result, err := request.Execute(a.accessTokenObj)
if err != nil {
return nil, err
}
if result.Code != RequestSuccessCode {
return nil, errors.New(result.SubMsg + ":" + result.LogId)
}
configListRequired := make([]*product_qualificationConfig_response.ConfigListItem, 0)
for _, v := range result.Data.ConfigList {
if v.IsRequired == false {
continue
}
configListRequired = append(configListRequired, &v)
}
globals.SugarLogger.Debugf("configListRequired=== :%s", utils.Format4Output(configListRequired, false))
return configListRequired, nil
}
// SyncStockBatch 库存批量同步
func (a *API) SyncStockBatch(param *sku_syncStockBatch_request.SkuSyncStockBatchParam) error {
request := sku_syncStockBatch_request.New()
@@ -135,7 +205,7 @@ func (a *API) SyncStockBatch(param *sku_syncStockBatch_request.SkuSyncStockBatch
return err
}
if result.Code != RequestSuccessCode {
return errors.New(result.SubMsg)
return errors.New(result.SubMsg + ":" + result.LogId)
}
return nil
}
@@ -150,7 +220,7 @@ func (a *API) EditStoreCommodity(sku *product_editV2_request.ProductEditV2Param)
return err
}
if result.Code != RequestSuccessCode {
return errors.New(result.SubMsg)
return errors.New(result.SubMsg + ":" + result.LogId)
}
return nil
}
@@ -165,16 +235,13 @@ func (a *API) EditStoreCommodityCommit(sku *product_editV2_commit_request.Produc
return err
}
if result.Code != RequestSuccessCode {
return errors.New(result.SubMsg)
return errors.New(result.SubMsg + ":" + result.LogId)
}
return nil
}
// DeleteStoreCommodity 删除商品
func (a *API) DeleteStoreCommodity(productId int64) error {
globals.SugarLogger.Debugf("----打印看看是否是定时任务删除:%d", productId)
return nil
request := product_del_request.New()
param := request.GetParams()
param.ProductId = productId
@@ -185,7 +252,7 @@ func (a *API) DeleteStoreCommodity(productId int64) error {
return err
}
if result.Code != RequestSuccessCode {
return errors.New(result.SubMsg)
return errors.New(result.SubMsg + ":" + result.LogId)
}
return nil
@@ -202,7 +269,7 @@ func (a *API) ProductSetOffline(productId int64) error {
return err
}
if result.Code != RequestSuccessCode {
return errors.New(result.SubMsg)
return errors.New(result.SubMsg + ":" + result.LogId)
}
return nil
}
@@ -224,7 +291,7 @@ func (a *API) GetSkuDetail(productId, outProductId string) (*product_detail_resp
return nil, nil
}
if result.Code != RequestSuccessCode {
return nil, errors.New(result.SubMsg)
return nil, errors.New(result.SubMsg + ":" + result.LogId)
}
if result.Data.Status == 2 {
return nil, nil
@@ -250,7 +317,7 @@ func (a *API) GetSkuDetailLocalID(productId, outProductId string) (*product_deta
return nil, err
}
if result.Code != RequestSuccessCode {
return nil, errors.New(result.SubMsg)
return nil, errors.New(result.SubMsg + ":" + result.LogId)
}
if result.Data.Status == 2 {
return nil, nil
@@ -269,7 +336,7 @@ func (a *API) GetSkuDetailList(param *product_listV2_request.ProductListV2Param)
return nil, err
}
if result.Code != RequestSuccessCode {
return nil, errors.New(result.SubMsg)
return nil, errors.New(result.SubMsg + ":" + result.LogId)
}
return result.Data, nil
@@ -285,7 +352,7 @@ func (a *API) EditPrice(skuPrice *sku_editPrice_request.SkuEditPriceParam) error
return err
}
if result.Code != RequestSuccessCode {
return errors.New(result.SubMsg)
return errors.New(result.SubMsg + ":" + result.LogId)
}
return nil
}
@@ -328,51 +395,103 @@ func (a *API) GetSkuBrand(categoryId int64, brandName string) (int64, error) {
return BrandNameMap[brandNameLen], nil
}
// OrderUserInfoDecrypt 用户信息解密
type YunDecrypt struct {
Code string `json:"code"`
Data string `json:"data"`
Err string `json:"err"`
}
// OrderUserInfoDecrypt 用户信息解密(此接口转入云鼎服务器,将不再直接通信)
func (a *API) OrderUserInfoDecrypt(orderId, name, tel, address string) (string, string, string, error) {
request := order_batchDecrypt_request.New()
cipherInfos := make([]order_batchDecrypt_request.CipherInfosItem, 0, 0)
for i := 1; i <= 3; i++ {
cipher := order_batchDecrypt_request.CipherInfosItem{}
cipher.AuthId = orderId
switch i {
case 1: // 姓名
cipher.CipherText = name
cipherInfos = append(cipherInfos, cipher)
case 2: // 手机号
cipher.CipherText = tel
cipherInfos = append(cipherInfos, cipher)
case 3: // 地址
cipher.CipherText = address
cipherInfos = append(cipherInfos, cipher)
}
}
request.Param.CipherInfos = cipherInfos
result, err := request.Execute(a.accessTokenObj)
url := "http://ddy.jxc4.com/tt/decrypt"
accessToken, err := json.Marshal(a.accessTokenObj.CreateTokenData)
if err != nil {
return "", "", "", err
}
if result.Code != RequestSuccessCode {
return "", "", "", errors.New(result.SubCode)
param := make(map[string]string, 5)
param["token"] = string(accessToken)
param["encrypt_post_tel"] = tel
param["encrypt_post_receiver"] = address
param["encrypt_post_name"] = name
param["order_id"] = orderId
param["app_key"] = a.appKey
param["app_secret"] = a.appSecret
data, err := json.Marshal(param)
if err != nil {
return "", "", "", nil
}
payload := strings.NewReader(string(data))
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("content-type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
return "", "", "", err
}
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
var result *YunDecrypt
if err := json.Unmarshal(body, &result); err != nil {
return "", "", "", err
}
if result.Code != "200" {
return "", "", "", errors.New(result.Err)
}
var (
userName, userTel, userAddress = "", "", ""
)
for _, v := range result.Data.DecryptInfos {
if v.CipherText != "" && v.CipherText == name {
userName = v.DecryptText
}
if v.CipherText != "" && v.CipherText == tel {
userTel = v.DecryptText
}
if v.CipherText != "" && v.CipherText == address {
userAddress = v.DecryptText
if len(result.Data) != 0 {
var decryData map[string]string
if err := json.Unmarshal([]byte(result.Data), &decryData); err != nil {
return "", "", "", err
}
return decryData["name"], decryData["tel"], decryData["address"], nil
}
return userName, userTel, userAddress, err
return "", "", "", errors.New("返回值为空")
//request := order_batchDecrypt_request.New()
//
//cipherInfos := make([]order_batchDecrypt_request.CipherInfosItem, 0, 0)
//for i := 1; i <= 3; i++ {
// cipher := order_batchDecrypt_request.CipherInfosItem{}
// cipher.AuthId = orderId
// switch i {
// case 1: // 姓名
// cipher.CipherText = name
// cipherInfos = append(cipherInfos, cipher)
// case 2: // 手机号
// cipher.CipherText = tel
// cipherInfos = append(cipherInfos, cipher)
// case 3: // 地址
// cipher.CipherText = address
// cipherInfos = append(cipherInfos, cipher)
// }
//}
//request.Param.CipherInfos = cipherInfos
//
//result, err := request.Execute(a.accessTokenObj)
//globals.SugarLogger.Debugf("OrderUserInfoDecrypt======:%s", utils.Format4Output(result, false))
//if err != nil {
// return "", "", "", err
//}
//if result.Code != RequestSuccessCode {
// return "", "", "", errors.New(result.SubCode)
//}
//
//var (
// userName, userTel, userAddress = "", "", ""
//)
//for _, v := range result.Data.DecryptInfos {
// if v.CipherText != "" && v.CipherText == name {
// userName = v.DecryptText
// }
// if v.CipherText != "" && v.CipherText == tel {
// userTel = v.DecryptText
// }
// if v.CipherText != "" && v.CipherText == address {
// userAddress = v.DecryptText
// }
//}
//return userName, userTel, userAddress, err
}
// OrderUserInfoSensitive 用户信息脱敏
@@ -445,7 +564,7 @@ func (a *API) GetProductAuditList(page, pageSize, status int64) ([]product_audit
return nil, 0, err
}
if result.Code != RequestSuccessCode {
return nil, 0, errors.New(result.SubMsg)
return nil, 0, errors.New(result.SubMsg + ":" + result.LogId)
}
return result.Data.Records, result.Data.Total, nil
@@ -469,7 +588,7 @@ func (a *API) GetRecommendCategory(picParams []string) (int64, error) {
return 0, err
}
if result.Code != RequestSuccessCode {
return 0, errors.New(result.SubMsg)
return 0, errors.New(result.SubMsg + ":" + result.LogId)
}
if len(result.Data.CategoryDetails) == 0 {
@@ -522,7 +641,7 @@ func (a *API) CreateSubProduct(mainProductId int64, storeId int64) (int64, error
}
if result.Code != RequestSuccessCode {
return 0, errors.New(result.SubMsg)
return 0, errors.New(result.SubMsg + ":" + result.LogId)
}
return result.Data.SubProductId, nil
@@ -538,7 +657,7 @@ func (a *API) BatchRedistributeStoreProduct(param *superm_product_batchRedistrib
return 0, err
}
if result.Code != RequestSuccessCode {
return 0, err
return 0, errors.New(result.SubMsg + ":" + result.LogId)
}
return result.Data.RootTaskId, nil
@@ -554,7 +673,7 @@ func (a *API) BatchApplyStoreProductPrice(mainProductId int64) (int64, error) {
return 0, err
}
if result.Code != RequestSuccessCode {
return 0, errors.New(result.SubMsg)
return 0, errors.New(result.SubMsg + ":" + result.LogId)
}
return result.Data.RootTaskId, nil
@@ -569,7 +688,7 @@ func (a *API) LaunchProduct(productId int64) error {
return err
}
if result.Code != RequestSuccessCode {
return errors.New(result.SubMsg)
return errors.New(result.SubMsg + ":" + result.LogId)
}
return nil
}

View File

@@ -68,3 +68,7 @@ func TestGetSkuBrand(t *testing.T) {
globals.SugarLogger.Debugf("data ========= %v", data)
globals.SugarLogger.Debugf("data ========= %s", err)
}
func TestQualityList(t *testing.T) {
a.QualityList(33079)
}

View File

@@ -62,9 +62,9 @@ func TestGetSkuDetailLocalId(t *testing.T) {
func TestUpdateSkuStore(t *testing.T) {
err := a.UpdateSkuStock(&sku_syncStock_request.SkuSyncStockParam{
ProductId: 3605142143867471418,
OutSkuId: 6045168,
StockNum: 2,
ProductId: 3602878545761816498,
OutSkuId: 25250,
StockNum: 0,
Incremental: false,
})
fmt.Println(err)
@@ -120,13 +120,15 @@ func TestProductSetOffline(t *testing.T) {
// 解密购买用户电话,名字,地址
func TestBatchDecrypt(t *testing.T) {
token := `{"access_token":"a1746210-a8a3-4497-a87b-09d1f10dbb95","expires_in":1665652230,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专用店","refresh_token":"c1cf8d88-0983-4f2a-b969-3746fae6b0cd","authority_id":""}`
a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", token)
encrypt_post_tel := `##3aVwfhe5fJHdlO0UijiOA3GbeZYsIZppi+Y9bpYZ9gRBshpl555DP9B1FFp8R0fbyiTaeU9LAck8nkzKNMp5frZUO0w2ba8lsm+1zwYZrBkFlQ==*CgkIARCtHCABKAESPgo8d1IWxRMUZ/3UM2wAbb6m8jXa0z/h/RDf4NnIrUK3Zfiqg+/rrvoo/3DX9DQfmAW/5DkNVk2beqYZx0tYGgA=#1##`
encrypt_post_receiver := `##K3dJts44TlQGmLNQAHud1Iivzu6rWDeFx8EwQYK35oMXVtlLGgN+ZmQDIa7K6rVzXYReq3dgKz8Vi4VGVR8kR45BpHZdaVJUx2tCwM0=*CgkIARCtHCABKAESPgo8X7FrpSxbV2yGA29uxewKEdHW+Rp1tiqWGxRZgwirlJX2uOILTwCWTN6Q1sT3JHeTjXgXslRTEqqWcdd/GgA=#1##`
encrypt_post_tel := "##mjApaTO5LNGFDnAU2UmRwu1zhlDQH2+NjIc9kTlQzUYpf1XXrxyxUzd1nWdTPb9H3iFNAdFG66zReSdhf6qUtNVBwNEn5RnIM8wQapxFjh4v+g==*CgkIARCtHCABKAESPgo81dqD65kMclp62fAJBLUpNOP22AKtaL8/7CHDPtDCS8wVtCp/TWhRNLsuFrq/Pmhhz+fe3GDtG8R/L0O0GgA=#1##"
encrypt_post_receiver := "##Cg8e7Ks78U0rSX7AO6NxoD9pPtISczJdulakYdCJDNqXLsFMfhG/0mz7CoxJJyY7zRvx1dkFKahgRk0NCsAxApns7NaaGDu9tyEXloBu9Sc=*CgkIARCtHCABKAESPgo8ja2mXE+INEhReF2W0+deMN0qb/ZoPtaxS98YbR4a1smRO4WPj+jSiYsBv00+DxiXfJTW3DdxusF6TVS3GgA=#1##"
encrypt_post_name := ``
a.OrderUserInfoDecrypt("4988546918828606694", encrypt_post_name, encrypt_post_tel, encrypt_post_receiver)
name, tel, address, err := a.OrderUserInfoDecrypt("6917547162766021688", encrypt_post_name, encrypt_post_tel, encrypt_post_receiver)
fmt.Println(name)
fmt.Println(tel)
fmt.Println(address)
fmt.Println(err)
}
//// 脱敏购买用户电话,名字,地址

View File

@@ -10,10 +10,25 @@ const (
TiktokFolder1 = "71847620611255503751570" // 文件夹(京西菜市)
TiktokFolder2 = "71482723234545339291960"
TiktokFolder3 = "71762017122139835211688" // (方案二测试文件夹)
TiktokFolder4 = "72213403043425651541645" // (美好菜市)
TiktokShoppingFolder = "71802347591117703711619" // (方案二测试文件夹)
TiktokFloderKeyVegetableKey = 57939570 // (菜市的文件夹id)
TiktokFloderKeyVegetableKey = 57939570 // (菜市的文件夹id)速食
TiktokFloderKeyShoppingKey = 68023619 // (商超账号的文件夹id)
TiktokFloderKeyTestKey = 63141688 // (测试账号)
TiktokFloderKeyBeautifulKey = 68032645 // (美好菜市)
)
const (
QualificationsSuShiPackageId = "7129700904345125135" // 京西速食包装标签id
QualificationsSuShiPackageName = "包装标签图_20220809_104106" // 京西速食包装标签名称
QualificationsPackageImg = "https://p3-aio.ecombdimg.com/obj/ecom-shop-material/VqGYBUaL_m_e40ed809c2231a95197db39c86fe70e6_sx_463300_www1040-1034" // 速食包装标签图
QualificationsShopPackageId = "7182777418275832098" // 京西超市包装标签id
QualificationsShopPackageName = "包装标签图_20220809_104107" // 京西超市包装标签名称
QualificationsShopPackageImg = "https://p3-aio.ecombdimg.com/obj/ecom-shop-material/TGUZigMc_m_e40ed809c2231a95197db39c86fe70e6_sx_463300_www1040-1034" // 京西超市包装标签名称
QualificationsBeautifulPackageId = "7221409845910470964" // 美好菜市包装标签id
QualificationsBeautifulPackageName = "包装标签图_20220809_104106" // 美好菜市包装标签名称
QualificationsBeautifulPackageImg = "https://p3-aio.ecombdimg.com/obj/ecom-shop-material/yneNVdDN_m_e40ed809c2231a95197db39c86fe70e6_sx_463300_www1040-1034" // 京西超市包装标签名称
)
// 商品减库存类型

View File

@@ -28,7 +28,7 @@ func (a *API) CreateFolder(fileName string) (*material_createFolder_response.Mat
return nil, err
}
if result.Code != RequestSuccessCode {
return nil, errors.New(result.SubMsg)
return nil, errors.New(result.SubMsg + ":" + result.LogId)
}
return result, nil
}
@@ -55,6 +55,8 @@ func (a *API) BatchUploadImages(imgs []Imgs) (map[string]material_batchUploadIma
img.FolderId = TiktokShoppingFolder
case TiktokFloderKeyVegetableKey:
img.FolderId = TiktokFolder1
case TiktokFloderKeyBeautifulKey:
img.FolderId = TiktokFolder4
}
param = append(param, img)
}

View File

@@ -24,7 +24,7 @@ func init() {
}
func TestCreateFolad(t *testing.T) {
data, err := a.CreateFolder("京西菜市图片文件库2")
data, err := a.CreateFolder("美好菜市图片文件")
fmt.Println("err=====", err)
fmt.Println("LogId====", data.LogId) //2022092811422001020812109607601B77
fmt.Println("data====", data.Data.Name) // jxcs_folder

View File

@@ -72,7 +72,7 @@ func (a *API) GetStoreDetail(param *shop_getStoreDetail_request.ShopGetStoreDeta
return nil, err
}
if response.Code != RequestSuccessCode {
return nil, errors.New(response.SubMsg)
return nil, errors.New(response.SubMsg + ":" + response.LogId)
}
return response.Data, nil
}
@@ -87,7 +87,7 @@ func (a *API) BatchCreateStore(param *shop_batchCreateStore_request.ShopBatchCre
}
if response.Code != RequestSuccessCode {
//return nil, errors.New(response.Data.ResultList[0].Msg)
return nil, errors.New(response.Msg)
return nil, errors.New(response.Msg + ":" + response.LogId)
}
//if response.Data.ResultList[0].Store.StoreId == 0 {
// return nil, errors.New(response.Msg + "," + response.SubMsg)
@@ -104,7 +104,7 @@ func (a *API) EditStore(param *shop_editStore_request.ShopEditStoreParam) error
return err
}
if response.Code != RequestSuccessCode {
return errors.New(response.SubMsg)
return errors.New(response.SubMsg + ":" + response.LogId)
}
return nil
}
@@ -118,7 +118,7 @@ func (a *API) StoreSuspend(param *shop_storeSuspend_request.ShopStoreSuspendPara
return nil, err
}
if response.Code != RequestSuccessCode {
return nil, errors.New(response.SubMsg)
return nil, errors.New(response.SubMsg + ":" + response.LogId)
}
return response.Data, nil
}
@@ -131,7 +131,7 @@ func (a *API) StoreSuspend2(storeID int64) (*shop_storeSuspend_response.ShopStor
return nil, err
}
if response.Code != RequestSuccessCode {
return nil, errors.New(response.SubMsg)
return nil, errors.New(response.SubMsg + ":" + response.LogId)
}
return response.Data, nil
}
@@ -145,7 +145,7 @@ func (a *API) UnsuspendStore(param *shop_unsuspendStore_request.ShopUnsuspendSto
return nil, err
}
if response.Code != RequestSuccessCode {
return nil, errors.New(response.SubMsg)
return nil, errors.New(response.SubMsg + ":" + response.LogId)
}
return response.Data, nil
}
@@ -157,7 +157,7 @@ func (a *API) UnsuspendStore2(storeID int64) (*shop_unsuspendStore_response.Shop
return nil, err
}
if response.Code != RequestSuccessCode {
return nil, errors.New(response.SubMsg)
return nil, errors.New(response.SubMsg + ":" + response.LogId)
}
return response.Data, nil
}
@@ -176,7 +176,7 @@ func (a *API) GetStoreList(param *shop_getStoreList_request.ShopGetStoreListPara
return nil, err
}
if response.Code != RequestSuccessCode {
return nil, errors.New(response.SubMsg)
return nil, errors.New(response.SubMsg + ":" + response.LogId)
}
//测试用
resp := map[int64]string{}
@@ -197,7 +197,7 @@ func (a *API) GetStoreList2(param *shop_getStoreList_request.ShopGetStoreListPar
return nil, err
}
if response.Code != RequestSuccessCode {
return nil, errors.New(response.SubMsg)
return nil, errors.New(response.SubMsg + ":" + response.LogId)
}
return response, err
@@ -212,7 +212,7 @@ func (a *API) CreateTradeLimitTemplate(param *trade_createTradeLimitTemplate_req
return nil, err
}
if response.Code != RequestSuccessCode {
return nil, errors.New(response.SubMsg)
return nil, errors.New(response.SubMsg + ":" + response.LogId)
}
return response.Data, nil
}
@@ -226,7 +226,7 @@ func (a *API) UpdateTradeLimitTemplate(param *trade_UpdateTradeLimitTemplate_req
return nil, err
}
if response.Code != RequestSuccessCode {
return nil, errors.New(response.SubMsg)
return nil, errors.New(response.SubMsg + ":" + response.LogId)
}
return response.Data, nil
}
@@ -240,7 +240,7 @@ func (a *API) BindStoreSaleLimit(param *shop_bindStoreSaleLimit_request.ShopBind
return err
}
if response.Code != RequestSuccessCode {
return errors.New(response.SubMsg)
return errors.New(response.SubMsg + ":" + response.LogId)
}
return nil
}
@@ -254,7 +254,7 @@ func (a *API) StoreQuerySaleLimitTemp(storeId int64) (int64, error) {
return 0, err
}
if result.Code != RequestSuccessCode {
return 0, errors.New(result.SubMsg)
return 0, errors.New(result.SubMsg + ":" + result.LogId)
}
if result.Data == nil || len(result.Data.StoreSaleLimits) == 0 {
return 0, errors.New("未绑定限售模板,请先绑定")
@@ -271,7 +271,7 @@ func (a *API) GetSaleLimitDetail(saleLimitId *[]int64) (*trade_batchGetTradeLimi
return nil, err
}
if result.Code != RequestSuccessCode {
return nil, errors.New(result.SubMsg)
return nil, errors.New(result.SubMsg + ":" + result.LogId)
}
if result.Data == nil || len(result.Data.TradeLimitTemplateList) == 0 {
return nil, errors.New("未查找到限售模板详情")

View File

@@ -30,7 +30,7 @@ func (a *API) GetDispatcherInfo(storeID int64, shopOrderID string, dispatcherFee
return 0, err
}
if response.Code != RequestSuccessCode {
return 0, errors.New(response.SubMsg)
return 0, errors.New(response.SubMsg + ":" + response.LogId)
}
return response.Data.DispatcherFee, nil
}
@@ -48,7 +48,7 @@ func (a *API) ShopOrderDispatcher(storeID int64, shopOrderID string, dispatcherT
return err
}
if response.Code != RequestSuccessCode {
return errors.New(response.SubMsg)
return errors.New(response.SubMsg + ":" + response.LogId)
}
return nil
}
@@ -62,7 +62,7 @@ func (a *API) SetStoreAutoCallRider(params *superm_setStoreAutoCallRider_request
return err
}
if response.Code != RequestSuccessCode {
return errors.New(response.SubMsg)
return errors.New(response.SubMsg + ":" + response.LogId)
}
return nil
}
@@ -78,7 +78,7 @@ func (a *API) GetStoreAutoCallRiderInfo(storeID int64) (*superm_getStoreAutoCall
return nil, err
}
if response.Code != RequestSuccessCode {
return nil, errors.New(response.SubMsg)
return nil, errors.New(response.SubMsg + ":" + response.LogId)
}
return response.Data.AutoCallInfo, nil
}
@@ -94,7 +94,7 @@ func (a *API) CreateVirtualMobile(shopOrderID int64) (*superm_createVirtualMobil
return nil, err
}
if response.Code != RequestSuccessCode {
return nil, errors.New(response.SubMsg)
return nil, errors.New(response.SubMsg + ":" + response.LogId)
}
return response.Data, nil
}
@@ -111,7 +111,7 @@ func (a *API) GetPlatformPickUpEstimatedCharge(afterSaleID int64, inquiryType in
return 0, err
}
if response.Code != RequestSuccessCode {
return 0, errors.New(response.SubMsg)
return 0, errors.New(response.SubMsg + ":" + response.LogId)
}
return response.Data.PlatformPickupEstimatedCharge, err
}
@@ -127,7 +127,7 @@ func (a *API) ApplyPlatformPickUp(afterSaleID int64) (string, error) {
return "", err
}
if response.Code != RequestSuccessCode {
return "", errors.New(response.SubMsg)
return "", errors.New(response.SubMsg + ":" + response.LogId)
}
return response.Data.LogisticsID, err
}
@@ -161,7 +161,7 @@ func (a *API) GetShipmentInfo(shopOrderID, afterSaleID, shipmentType int64) (*su
}
if response.Code != RequestSuccessCode {
return nil, errors.New(response.SubMsg)
return nil, errors.New(response.SubMsg + ":" + response.LogId)
}
return response.Data.ShipmentInfo, err
}
@@ -177,7 +177,7 @@ func (a *API) CancelPlatformPickUp(afterSaleID int64) error {
return err
}
if response.Code != RequestSuccessCode {
return errors.New(response.SubMsg)
return errors.New(response.SubMsg + ":" + response.LogId)
}
return err
}