aa
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user