Merge branch 'jdshop' of https://e.coding.net/rosydev/jx-callback into jdshop

This commit is contained in:
richboo111
2022-10-31 15:00:04 +08:00
14 changed files with 61 additions and 48 deletions

View File

@@ -2,8 +2,10 @@ package tiktok_store
import (
tiktokShop "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/globals/api"
)
@@ -11,6 +13,9 @@ import (
func OnOrderMsg(msgId string, msg interface{}) (response *tiktokShop.CallbackResponse) {
if CurPurchaseHandler != nil {
orderId, _ := api.TiktokStore.GetCallbackOrderId(msgId, msg)
globals.SugarLogger.Debugf("======orderId:%s", orderId)
globals.SugarLogger.Debugf("======msg:%s", utils.Format4Output(msg, false))
jxutils.CallMsgHandler(func() {
response = CurPurchaseHandler.onOrderMsg(msgId, orderId, msg)
}, jxutils.ComposeUniversalOrderID(orderId, model.VendorIDDD))

View File

@@ -289,7 +289,6 @@ func (c *PurchaseHandler) onOrderMsg(msgId, orderId string, msg interface{}) (re
if err := partner.CurOrderManager.OnOrderNew(order, status); err != nil {
return tiktokShop.Err2CallbackResponse(err, "")
}
orderMap, err := c.getOrderMap("", orderId, "")
utils.CallFuncAsync(func() {
switch msgId {
@@ -613,7 +612,6 @@ func (c *PurchaseHandler) SelfDeliverDelivering(order *model.GoodsOrder, userNam
AddressId: 0,
StoreId: utils.Str2Int64(order.VendorStoreID),
}
globals.SugarLogger.Debugf("=============%s", utils.Format4Output(param, false))
return getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderDelivering(param)
}

View File

@@ -114,8 +114,10 @@ func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *mod
if globals.EnableDdStoreWrite {
if approveType == partner.AfsApproveTypeRefused { // 拒绝退货
err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuRefuseOnlyRefundApply, order.AfsOrderID, "拒绝退货", utils.Str2Int64(order.VendorStoreID))
} else {
} else if approveType == partner.AfsApproveTypeRefund { // 同意
err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuAgreeOnlyRefundApply, order.AfsOrderID, "同意仅退款", utils.Str2Int64(order.VendorStoreID))
} else if approveType == partner.AfsApproveTypeRefusedToRefundMoney { // 退货转退款
err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuReturnGoodsToRefundApply, order.AfsOrderID, "退货转退款", utils.Str2Int64(order.VendorStoreID))
}
}
return err

View File

@@ -103,7 +103,6 @@ func (P *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri
for j := 1; j <= 7; j++ {
m[int64(j)] = timeStr
}
globals.SugarLogger.Debug("storeDetail.OpenTime1, storeDetail.CloseTime1, storeDetail.OpenTime2, storeDetail.CloseTime2timeStr===========", storeDetail.OpenTime1, storeDetail.CloseTime1, storeDetail.OpenTime2, storeDetail.CloseTime2, timeStr)
}
list := shop_batchCreateStore_request.StoreListItem{
RowId: 1,
@@ -175,7 +174,7 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID int64) error
if len(bindWarehouseAndFence) == 0 || utils.IsNil(bindWarehouseAndFence) { //未绑定仓库
if warehouseID, err := CreateWarehouse(vendorOrgCode, utils.Int64ToStr(storeID)); err != nil || warehouseID == 0 || utils.IsNil(warehouseID) {
errList.AddErr(fmt.Errorf("门店(%d) 创建仓库失败:%v", storeID, err))
} else { //绑定
} else { //绑定
if err = BindStoreWarehouse(vendorOrgCode, utils.Int64ToStr(storeID), vendorStoreID); err != nil { //仓库绑定通过自定义外部ID
errList.AddErr(fmt.Errorf("门店(%d) 绑定仓库:%d 失败:%v", storeID, warehouseID, err))
} else {

View File

@@ -1,6 +1,7 @@
package tiktok_store
import (
"errors"
"fmt"
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
sku_editPrice_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sku_editPrice/request"
@@ -216,38 +217,17 @@ func (p *PurchaseHandler) UpdateStoreSkusStatus(ctx *jxcontext.Context, vendorOr
api := getAPI(vendorOrgCode, storeID, vendorStoreID)
if status == model.SkuStatusNormal { // 下架
for _, v := range storeSkuList {
//if err := api.EditStoreCommodityCommit(&product_editV2_commit_request.ProductEditV2Param2{
// ProductId: utils.Str2Int64(v.VendorSkuID),
// Commit: true,
//}); err != nil {
// failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], "下架商品异常")...)
//} else {
// failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], "下架商品正常")...)
//}
param := &sku_syncStock_request.SkuSyncStockParam{
SkuId: utils.Str2Int64(v.VendorSkuAttrId),
ProductId: utils.Str2Int64(v.VendorSkuID),
Incremental: false,
IdempotentId: "",
StockNum: 0,
OutWarehouseId: vendorStoreID,
// 子品商品id获取skuId
childrenSku, err := api.GetSkuDetail(v.VendorSkuID, "")
if err != nil {
return nil, err
}
if err := api.UpdateSkuStock(param); err != nil {
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], fmt.Sprintf("下架商品异常,添加固定库存.%s", utils.Format4Output(param, false)))...)
} else {
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], fmt.Sprintf("下架商品正常,添加固定库存.%s", utils.Format4Output(param, false)))...)
if len(childrenSku.SpecPrices) <= 0 {
return nil, errors.New("子品商品详情获取失败")
}
}
} else { // 上架
for _, v := range storeSkuList {
//err := api.ProductSetOffline(utils.Str2Int64(v.VendorSkuID))
//if err == nil {
// failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], "下架商品正常")...)
//} else {
// failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], "下架商品异常")...)
//}
param := &sku_syncStock_request.SkuSyncStockParam{
SkuId: utils.Str2Int64(v.VendorSkuAttrId),
SkuId: childrenSku.SpecPrices[0].SkuId,
ProductId: utils.Str2Int64(v.VendorSkuID),
Incremental: false,
IdempotentId: "",
@@ -255,9 +235,33 @@ func (p *PurchaseHandler) UpdateStoreSkusStatus(ctx *jxcontext.Context, vendorOr
OutWarehouseId: vendorStoreID,
}
if err := api.UpdateSkuStock(param); err != nil {
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], fmt.Sprintf("架架商品异常,添加固定库存.%s", utils.Format4Output(param, false)))...)
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], fmt.Sprintf("架架商品异常,添加固定库存.%s", utils.Format4Output(param, false)))...)
} else {
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], fmt.Sprintf("上架架商品异常,添加固定库存.%s", utils.Format4Output(param, false)))...)
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], fmt.Sprintf("架商品异常,添加固定库存.%s", utils.Format4Output(param, false)))...)
}
}
} else { // 上架
for _, v := range storeSkuList {
// 子品商品id获取skuId
childrenSku, err := api.GetSkuDetail(v.VendorSkuID, "")
if err != nil {
return nil, err
}
if len(childrenSku.SpecPrices) <= 0 {
return nil, errors.New("子品商品详情获取失败")
}
param := &sku_syncStock_request.SkuSyncStockParam{
SkuId: childrenSku.SpecPrices[0].SkuId,
ProductId: utils.Str2Int64(v.VendorSkuID),
Incremental: false,
IdempotentId: "",
StockNum: 0,
OutWarehouseId: vendorStoreID,
}
if err := api.UpdateSkuStock(param); err != nil {
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], fmt.Sprintf("上架商品异常,添加固定库存.%s", utils.Format4Output(param, false)))...)
} else {
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], fmt.Sprintf("上架商品正常,添加固定库存.%s", utils.Format4Output(param, false)))...)
}
}
}

View File

@@ -206,7 +206,6 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
}
storeSku.VendorSkuAttrId = strings.Join(attrId, ",") // 属性id skuID
err = dao.CreateThingMap(int64(storeSku.SkuID), utils.Int64ToStr(tiktokResult.ProductId), storeDetail.VendorOrgCode, storeSku.VendorSkuAttrId)
globals.SugarLogger.Debugf("err=============%s", err)
} else {
storeSku.VendorMainId = localThing[0].VendorThingID
storeSku.VendorSkuAttrId = localThing[0].Remark // 属性id skuID
@@ -246,7 +245,6 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
param.SpecPrices = GetSpecPrices(param.Specs, vendorStoreID, tiktokResultProductId, storeSku)
param.StoreId = utils.Str2Int64(vendorStoreID)
globals.SugarLogger.Debugf("CreateStoreCommodity==========:%s", utils.Format4Output(param, false))
// 抖店创建子商品
tiktokResultChildren, err := api.CreateStoreCommodity(param)
if err != nil {