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

This commit is contained in:
richboo111
2023-08-09 10:35:14 +08:00
15 changed files with 420 additions and 579 deletions

View File

@@ -515,13 +515,14 @@ func (c *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptI
func (c *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDelivery bool, userName string) (err error) {
isSelfDelivery = model.IsOrderDeliveryByStore(order) || model.IsOrderDeliveryBySelf(order)
if !isSelfDelivery {
if isSelfDelivery {
if globals.EnableMtwmStoreWrite {
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").PreparationMealComplete(utils.Str2Int64(order.VendorOrderID))
}
}
if err == nil {
if err == nil || strings.Contains(err.Error(), "808") { // 配送类型只能为美团配送或美团企客配送 level:0, code:808
c.postFakeMsg(order.VendorOrderID, FakeMsgType, fakeFinishedPickup)
return nil
}
return err
}

View File

@@ -10,8 +10,6 @@ import (
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable"
domain3156 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability3156/domain"
request3156 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability3156/request"
domain587 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability587/domain"
request587 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability587/request"
domain591 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability591/domain"
request591 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability591/request"
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/util"
@@ -845,31 +843,6 @@ func (c *PurchaseHandler) GetOrderSettleAccounts(order *model.GoodsOrder) (int64
return 0, nil
}
// 下架
func UpdateStoreSku(storeId int64, skuCode []string) []string {
api := getAPI("34402634", 0, "")
return api.StoreSkuUpdateOffShelfList(storeId, skuCode)
}
// 上架
func UpdateStoreSkuGrounding(storeId int64, skuCode []string) []string {
api := getAPI("34402634", 0, "")
result := make([]string, 0, 0)
for _, v := range skuCode {
param := &request587.AlibabaAxChannelSkuStatusUpdateRequest{ChannelSkuUpdateStatusReq: &domain587.AlibabaAxChannelSkuStatusUpdateChannelSkuUpdateStatusReq{
SkuCode: utils.String2Pointer(v),
StoreId: utils.String2Pointer(fmt.Sprintf("JX%d", storeId)),
ChannelCode: utils.String2Pointer("31"),
OnlineSaleFlag: utils.Int64ToPointer(1),
}}
if err := api.StoreSkuUpdateOffShelf(param); err != nil {
result = append(result, fmt.Sprintf(" [storeId:%d,skuCode:%s]"+err.Error(), storeId, v))
}
}
return result
}
// GetOrderTotalShopMoney 获取门店结算信息
func GetOrderTotalShopMoney(appOrgCode string, vendorStoreID string, start, end time.Time) (map[string]string, error) {
if appOrgCode == "" || vendorStoreID == "" {

View File

@@ -41,19 +41,19 @@ var (
func (p *PurchaseHandler) GetStoreSkusBatchSize(funcID int) (batchSize int) {
switch funcID {
case partner.FuncUpdateStoreSkusStock, partner.FuncUpdateStoreSkusStatus, partner.FuncUpdateStoreSkusPrice:
batchSize = 5
batchSize = 20
case partner.FuncDeleteStoreSkus:
batchSize = 5
batchSize = 20
case partner.FuncCreateStoreSkus:
batchSize = 5 // 可考虑用批量操作
batchSize = 20 // 可考虑用批量操作
case partner.FuncUpdateStoreSkus:
batchSize = 5 // mtwmapi.MaxStoreSkuBatchSize
batchSize = 20 // mtwmapi.MaxStoreSkuBatchSize
case partner.FuncGetStoreSkusFullInfo:
batchSize = 5
batchSize = 20
case partner.FuncCreateActs:
batchSize = 5
batchSize = 20
case partner.FuncCancelActs:
batchSize = 5
batchSize = 20
}
return batchSize
}
@@ -253,7 +253,10 @@ func UpdateTaoVegetable(api *tao_vegetable.API, storeSkuList []*dao.StoreSkuSync
updateSku.PurchaseQuantity = utils.Int64ToPointer(int64(v.MinOrderCount)) // 起购单位
}
// 修改暂时不修改图片,保持效率
//updateSku.SkuPicUrls = uploadImg(api, []string{v.Img, v.Img2, v.Img3, v.Img4, v.Img5, v.DescImg})
updateSku.SkuPicUrls = uploadImg(api, v.SkuID, model.VendorIDTaoVegetable, []string{v.Img, v.Img2, v.Img3, v.Img4, v.Img5, v.DescImg})
if updateSku.SkuPicUrls == nil {
continue
}
updateSkuList = append(updateSkuList, updateSku)
}
@@ -320,7 +323,11 @@ func createTaoVegetable(ctx *jxcontext.Context, api *tao_vegetable.API, storeSku
RichText: utils.String2Pointer(storeSku.Name),
AllowAppSale: utils.Int64ToPointer(tao_vegetable.IsAllowAppSale),
}
sku.SkuPicUrls = uploadImg(api, []string{storeSku.Img, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5, storeSku.DescImg})
// 赠品专区
if storeSku.VendorCatID == "175" {
sku.MerchantCatCode = utils.String2Pointer("1751")
}
sku.SkuPicUrls = uploadImg(api, storeSku.SkuID, model.VendorIDTaoVegetable, []string{storeSku.Img, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5, storeSku.DescImg})
if sku.SkuPicUrls == nil {
continue
}
@@ -438,34 +445,80 @@ func checkNameLength(name string, weight int, uint string) string {
return lastName[0:60]
}
func uploadImg(api *tao_vegetable.API, imgs []string) *string {
func uploadImg(api *tao_vegetable.API, skuId, vendorId int, imgs []string) *string {
vendorImg, _ := dao.GetVendorImg(skuId, vendorId)
result := make([]string, 0, 0)
for _, v := range imgs {
if v == "" {
continue
}
taoImgs := &model.TaoSkuImg{}
isCreate := false
if vendorImg == nil || (vendorImg.Img == "" && vendorImg.Img2 == "" && vendorImg.Img3 == "" && vendorImg.Img4 == "" && vendorImg.Img5 == "" && vendorImg.DescImg == "") {
isCreate = true
for i := 0; i < len(imgs); i++ {
if imgs[i] == "" {
continue
}
inputTitle := strings.LastIndex(v, "/")
title := strings.LastIndex(v, ".")
resp, err := http.Get(v)
if err != nil {
continue
inputTitle := strings.LastIndex(imgs[i], "/")
title := strings.LastIndex(imgs[i], ".")
resp, err := http.Get(imgs[i])
if err != nil {
continue
}
body, _ := ioutil.ReadAll(resp.Body)
// 图片失效
if strings.Contains(string(body), "Document not found") || len(body) == 0 {
continue
}
newImg, _ := api.UploadImg(&request1475.AlibabaWdkPictureUploadRequest{
PictureCategoryId: utils.Int64ToPointer(0),
Img: &body,
ImgInputTitle: utils.String2Pointer(imgs[i][inputTitle:]),
Title: utils.String2Pointer(imgs[i][inputTitle:title]),
})
if newImg != "" {
result = append(result, newImg)
switch i {
case 0:
taoImgs.Img = newImg
case 1:
taoImgs.Img2 = newImg
case 2:
taoImgs.Img3 = newImg
case 3:
taoImgs.Img4 = newImg
case 4:
taoImgs.Img5 = newImg
case 5:
taoImgs.DescImg = newImg
}
}
}
body, _ := ioutil.ReadAll(resp.Body)
// 图片失效
if strings.Contains(string(body), "Document not found") || len(body) == 0 {
continue
} else {
if vendorImg.Img != "" {
result = append(result, vendorImg.Img)
}
if newImg, _ := api.UploadImg(&request1475.AlibabaWdkPictureUploadRequest{
PictureCategoryId: utils.Int64ToPointer(0),
Img: &body,
ImgInputTitle: utils.String2Pointer(v[inputTitle:]),
Title: utils.String2Pointer(v[inputTitle:title]),
}); newImg != "" {
result = append(result, newImg)
if vendorImg.Img2 != "" {
result = append(result, vendorImg.Img2)
}
if vendorImg.Img3 != "" {
result = append(result, vendorImg.Img3)
}
if vendorImg.Img4 != "" {
result = append(result, vendorImg.Img4)
}
if vendorImg.Img5 != "" {
result = append(result, vendorImg.Img5)
}
if vendorImg.DescImg != "" {
result = append(result, vendorImg.DescImg)
}
}
if isCreate {
taoImgs.SkuID = skuId
taoImgs.VendorID = vendorId
dao.CreateEntity(dao.GetDB(), taoImgs)
}
// 商品图片最多五张
if len(result) > 5 {
return utils.String2Pointer(strings.Join(result[1:], ","))
@@ -539,6 +592,8 @@ func (p *PurchaseHandler) UpdateStoreSkusPrice(ctx *jxcontext.Context, vendorOrg
CleanSkuMemberPrice: utils.Int64ToPointer(model.YES),
SubTitle: utils.String2Pointer("小时达"),
}
// 临时更新上传图片错误的,或图片上传失败的商品
updateSku.SkuPicUrls = uploadImg(api, v.SkuID, model.VendorIDTaoVegetable, nil)
updateSkuList = append(updateSkuList, updateSku)
}
param.ParamList = &updateSkuList