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

This commit is contained in:
richboo111
2022-11-22 14:10:59 +08:00
8 changed files with 194 additions and 68 deletions

View File

@@ -4,6 +4,7 @@ import (
"errors"
"fmt"
"git.rosy.net.cn/baseapi/platformapi/mtpsapi"
order_getSettleBillDetailV3_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_getSettleBillDetailV3/request"
order_logisticsAdd_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_logisticsAdd/request"
order_orderDetail_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_orderDetail/response"
tiktokShop "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
@@ -172,7 +173,7 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode, vendorOrderID, vendorStoreID s
salePrice += sku.SalePrice
}
}
order.TotalShopMoney = utils.Float64TwoInt64(float64(salePrice) * 0.95) // 抖音平台扣点金额0.05
//order.TotalShopMoney = utils.Float64TwoInt64(float64(salePrice) * 0.95) // 抖音平台扣点金额0.05
// 预订单还是快速达
localStore, err := dao.GetStoreDetailByVendorStoreID(dao.GetDB(), vendorStoreIdRelly, model.VendorIDDD, vendorOrgCode)
@@ -990,3 +991,12 @@ func (c *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, re
func (c *PurchaseHandler) OrderLogisticsStatus(orderId int64) (int64, error) {
return 0, nil
}
// GetOrderTotalShopMoney 获取门店结算信息
func GetOrderTotalShopMoney(appOrgCode string, orderIds string, nextStartIndex string) (map[string]int64, string, error) {
return getAPI(appOrgCode, 0, "").GetSettleBillDetailV3(&order_getSettleBillDetailV3_request.OrderGetSettleBillDetailV3Param{
Size: 50,
OrderId: orderIds,
StartIndex: nextStartIndex,
})
}

View File

@@ -435,28 +435,21 @@ func (p *PurchaseHandler) UpdateStoreSkusSpecTag(ctx *jxcontext.Context, vendorO
return err
}
func GetProductAuditList(vendorOrgCode string) map[string]string {
var page int64 = 1
var pageSize int64 = 100
updateCategory := make(map[string]string, 0) // 修改分类的Map
for {
data, err := getAPI(vendorOrgCode, 0, "").GetProductAuditList(page, pageSize, 2)
if err != nil || len(data) == 0 {
break
}
for _, v := range data {
if _, ok := v.AuditReason["综合原因"]; ok {
if strings.Contains(v.AuditReason["综合原因"][0], "该商品类目选择错误,推荐放置在") {
list := strings.Split(v.AuditReason["综合原因"][0], ``)
list2 := strings.Split(list[1], ``)
categoryNameList := strings.Split(list2[0], "/")
updateCategory[utils.Int64ToStr(v.ProductId)] = categoryNameList[len(categoryNameList)-1]
}
}
}
break
func GetProductAuditList(vendorOrgCode string, page, pageSize int64) (map[string]string, int64) {
updateCategory := make(map[string]string, 100) // 修改分类的Map
data, total, err := getAPI(vendorOrgCode, 0, "").GetProductAuditList(page, pageSize, 2)
if err != nil || len(data) == 0 {
return nil, 0
}
return updateCategory
for _, v := range data {
if _, ok := v.AuditReason["综合原因"]; ok {
if strings.Contains(v.AuditReason["综合原因"][0], "该商品类目选择错误,推荐放置在") {
list := strings.Split(v.AuditReason["综合原因"][0], ``)
list2 := strings.Split(list[1], ``)
categoryNameList := strings.Split(list2[0], "/")
updateCategory[utils.Int64ToStr(v.ProductId)] = categoryNameList[len(categoryNameList)-1]
}
}
}
return updateCategory, total
}

View File

@@ -150,27 +150,15 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
PickupMethod: "0",
OuterProductId: utils.Int2Str(storeSku.SkuID), // 本地skuId为外部商品id
}
// 部分商品没有所属的分类,直接跳过!
if storeSku.SkuVendorMapCatID != "" {
param.CategoryLeafId = utils.Str2Int64(storeSku.SkuVendorMapCatID)
} else if storeSku.VendorVendorCatID != 0 {
param.CategoryLeafId = storeSku.VendorVendorCatID
} else {
continue
}
if len(param.Name) < 23 { // 中文字符一个汉字三个长度符号/数字/字母两个长度,商品名称不能大于
param.Name += utils.Float64ToStr(float64(storeSku.SpecQuality)) + storeSku.SpecUnit
if len(param.Name) < 23 {
param.Name += " 推荐产品 "
}
} else if len(param.Name) > 90 { // 抖音最大60个字符,三十个汉字
param.Name = param.Name[0:90]
}
// 是否支持七天无理由
if api.GetProductUpdateRule(param.CategoryLeafId) {
param.Supply7dayReturn = 1
} else {
param.Supply7dayReturn = 0
}
// 获取上传图,商品轮播图
img, detailImg, err := GetTiktokImgList(api, utils.Int2Str(storeSku.StoreID), storeDetail.VendorOrgCode, storeSku.DescImg, storeSku.ImgOrigin, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5)
if err != nil {
@@ -179,13 +167,25 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
param.Pic = img
param.Description = detailImg
// 部分商品没有所属的分类,直接跳过!
if storeSku.SkuVendorMapCatID != "" {
param.CategoryLeafId = utils.Str2Int64(storeSku.SkuVendorMapCatID)
} else if len(param.Pic) != 0 { // 自动推导分类id
param.CategoryLeafId = api.GetRecommendCategory(strings.Split(img, "|"))
}
if storeSku.VendorVendorCatID != 0 && param.CategoryLeafId == 0 {
param.CategoryLeafId = storeSku.VendorVendorCatID
}
// 是否支持七天无理由
if api.GetProductUpdateRule(param.CategoryLeafId) {
param.Supply7dayReturn = 1
} else {
param.Supply7dayReturn = 0
}
// weight_unit 目前抖音只支持g和kg两种
//switch storeSku.Unit {
//case "g", "ml", "G", "ML":
param.WeightUnit = tiktokShop.WeightUint_G
//case "kg", "l", "L", "KG":
// param.WeightUnit = tiktokShop.WeightUint_G
//}
// spec_prices
param.SpecPrices = GetSpecPrices(param.Specs, vendorStoreID, 0, storeSku)
@@ -206,7 +206,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
//if err != nil {
// return nil, err
//}
param.StandardBrandId = 789194134 // 默认品牌京西菜市
param.StandardBrandId = 596120136 // 默认品牌京西菜市
// 根据本地商品id获取线上商品是否存在,存在则只创建子商品
var tiktokResultProductId int64 = 0
@@ -333,6 +333,12 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
param.CategoryLeafId = storeSku.VendorVendorCatID
}
if len(param.Name) < 23 { // 中文字符一个汉字三个长度符号/数字/字母两个长度,商品名称不能大于
param.Name += utils.Float64ToStr(float64(storeSku.SpecQuality)) + storeSku.SpecUnit + " "
} else if len(param.Name) > 90 { // 抖音最大60个字符,三十个汉字
param.Name = param.Name[0:90]
}
// 获取上传图,商品轮播图
img, detailImg, err := GetTiktokImgList(api, utils.Int2Str(storeSku.StoreID), storeDetail.VendorOrgCode, storeSku.DescImg, storeSku.ImgOrigin, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5)
if err != nil {
@@ -361,7 +367,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
}
// 获取品牌
param.StandardBrandId = 789194134 // 默认品牌京西菜市
param.StandardBrandId = 596120136 // 默认品牌京西菜市
//tiktokResult, err := api.EditStoreCommodity(param) // 创建主商品
//if err != nil {
@@ -597,7 +603,7 @@ func MakeProductFormatNew(api *tiktokShop.API, skuNameId int64, categoryLeafId i
}
options := make([]map[string]interface{}, 0)
if v.PropertyName == "品牌" {
options = append(options, map[string]interface{}{"name": v.PropertyName, "value": 789194134, "diy_type": v.DiyType})
options = append(options, map[string]interface{}{"name": v.PropertyName, "value": 596120136, "diy_type": v.DiyType})
categoryMap[utils.Int64ToStr(v.PropertyId)] = options
} else if v.PropertyName == "产地" {
options = append(options, map[string]interface{}{"name": v.PropertyName, "value": 13850, "diy_type": v.DiyType})