From 1b2b61b5d82f61eea0b79b511434b3bb2113e60c Mon Sep 17 00:00:00 2001 From: suyl <770236076@qq.com> Date: Wed, 9 Jun 2021 16:10:26 +0800 Subject: [PATCH] aa --- business/jxstore/act/act.go | 74 ++++++++++++++++++++++++++++++++++++- 1 file changed, 72 insertions(+), 2 deletions(-) diff --git a/business/jxstore/act/act.go b/business/jxstore/act/act.go index 0b6b335ae..c10b9a705 100644 --- a/business/jxstore/act/act.go +++ b/business/jxstore/act/act.go @@ -2,6 +2,7 @@ package act import ( "fmt" + "git.rosy.net.cn/baseapi/platformapi/mtwmapi" "math" "time" @@ -647,6 +648,7 @@ func CreateActForMtByOrder(ctx *jxcontext.Context, act *model.Act, vendorID int, var ( db = dao.GetDB() actStoreSkuMap = make(map[int][]*model.StoreSkuBind) + err2 = "" ) if vendorID != model.VendorIDMTWM { return fmt.Errorf("此接口只支持美团使用!") @@ -662,6 +664,7 @@ func CreateActForMtByOrder(ctx *jxcontext.Context, act *model.Act, vendorID int, actStoreSkuMap[v.StoreID] = append(actStoreSkuMap[v.StoreID], &model.StoreSkuBind{ SkuID: v.SkuID, MtwmPrice: resultList[0].MtwmPrice, + Price: resultList[0].Price, }) } } @@ -677,7 +680,6 @@ func CreateActForMtByOrder(ctx *jxcontext.Context, act *model.Act, vendorID int, } } } - fmt.Println("1111111111111111111111111111", utils.Format4Output(actStoreSkuMap, true)) txDB, _ := dao.Begin(db) defer func() { if r := recover(); r != nil { @@ -702,8 +704,76 @@ func CreateActForMtByOrder(ctx *jxcontext.Context, act *model.Act, vendorID int, dao.Rollback(db, txDB) return err } - + for storeID, storeSkus := range actStoreSkuMap { + for _, storeSku := range storeSkus { + actStoreSkuModel := &model.ActStoreSku{ + ActID: act.ID, + OriginalPrice: int64(storeSku.Price), + StoreID: storeID, + SkuID: storeSku.SkuID, + Stock: 200, + } + dao.WrapAddIDCULDEntity(actStoreSkuModel, ctx.GetUserName()) + err = dao.CreateEntityTx(txDB, actStoreSkuModel) + if err != nil { + dao.Rollback(db, txDB) + return err + } + actStoreSkuMapModel := &model.ActStoreSkuMap{ + ActID: act.ID, + BindID: actStoreSkuModel.ID, + StoreID: storeID, + SkuID: storeSku.SkuID, + VendorID: vendorID, + VendorPrice: int64(storeSku.MtwmPrice), + ActualActPrice: int64(storeSku.MtwmPrice * act.PricePercentage / 100), + } + dao.WrapAddIDCULDEntity(actStoreSkuMapModel, ctx.GetUserName()) + err = dao.CreateEntityTx(txDB, actStoreSkuMapModel) + if err != nil { + dao.Rollback(db, txDB) + return err + } + } + } dao.Commit(db, txDB) + //同步建到美团 + for storeID, storeSkus := range actStoreSkuMap { + if storeDetail, _ := dao.GetStoreDetail(db, storeID, vendorID, vendorOrgCode); storeDetail != nil { + var actData []*mtwmapi.RetailDiscountActData + for _, v := range storeSkus { + actData = append(actData, &mtwmapi.RetailDiscountActData{ + AppFoodCode: utils.Int2Str(v.SkuID), + StartTime: act.BeginAt.Unix(), + EndTime: act.EndAt.Unix(), + OrderLimit: 1, + DayLimit: -1, + SettingType: mtwmapi.SettingTypeAsDiscount, + DiscountCoefficient: float64(act.PricePercentage) / float64(100), + }) + } + actResult, faileInfoList, _ := api.MtwmAPI.RetailDiscountBatchSave2(storeDetail.VendorStoreID, mtwmapi.RetailActTypeDirectDown, actData) + for _, v := range actResult { + var ( + actStoreSkuMapUpdate *model.ActStoreSkuMap + ) + sql := ` + SELECT * FROM act_store_sku_map WHERE act_id = ? AND store_id = ? AND sku_id = ? + ` + sqlParams := []interface{}{act.ID, storeID, utils.Str2Int(v.AppFoodCode)} + if err = dao.GetRow(db, &actStoreSkuMapUpdate, sql, sqlParams); err == nil && actStoreSkuMapUpdate != nil { + actStoreSkuMapUpdate.VendorActID = utils.Int64ToStr(v.ActID) + dao.UpdateEntity(db, actStoreSkuMapUpdate, "VendorActID") + } + } + for _, v := range faileInfoList { + err2 += fmt.Sprintf("创建失败!门店ID:[%v],商品ID:[%v],原因:[%v]", storeID, v.AppFoodCode, v.ErrorMsg) + } + } + } + if err2 != "" { + return fmt.Errorf(err2) + } return err }