fix: goods101

master
howell 4 years ago
parent b68bfa4027
commit 77d8565835

@ -613,8 +613,8 @@ func QueryGoodsDetailNew(c *gin.Context) {
dbc.DB.Table((&goods.MainPhoto{}).TableName()).Order("order_no asc, is_master desc").Find(&(summary.MainPhotos), "goods_id = ? and is_master = 0", p.GoodsID)
dbc.DB.Table((&goods.Sku{}).TableName()).Find(&(summary.Sku), "goods_id = ?", p.GoodsID)
for _, v := range summary.Sku {
v.Commission = v.DiscountPrice.Sub(v.PurchasePrice).Mul(rate)
for index, v := range summary.Sku {
summary.Sku[index].Commission = v.DiscountPrice.Sub(v.PurchasePrice).Mul(rate)
}
now := time.Now()
var promotionGoods promotion.Goods
@ -683,77 +683,77 @@ func QueryGoodsDetailNew(c *gin.Context) {
}
//新增秒杀模块拦截判断
var seckill flashsale.RecookSecKillModel
mysql2.Db.Table(seckill.TableName()).Where("activity_start_time<?", now).Where("activity_end_time>?", now).Where("status=2").First(&seckill)
//var seckill flashsale.RecookSecKillModel
//mysql2.Db.Table(seckill.TableName()).Where("activity_start_time<?", now).Where("activity_end_time>?", now).Where("status=2").First(&seckill)
//获取当前时间段的商品
now2 := time.Date(0, 1, 1, now.Hour(), now.Minute(), now.Second(), 0, time.Local)
var secgoods []flashsale.RecookSecKillSortModel
mysql2.Db.Table((&flashsale.RecookSecKillSortModel{}).TableName()).Where("show_time_start<?", now2).Where("show_time_end>?", now2).Where("sec_kill_activity_id=?", seckill.Id).Where("goods_id=?", summary.ID).Find(&secgoods)
//now2 := time.Date(0, 1, 1, now.Hour(), now.Minute(), now.Second(), 0, time.Local)
//var secgoods []flashsale.RecookSecKillSortModel
//mysql2.Db.Table((&flashsale.RecookSecKillSortModel{}).TableName()).Where("show_time_start<?", now2).Where("show_time_end>?", now2).Where("sec_kill_activity_id=?", seckill.Id).Where("goods_id=?", summary.ID).Find(&secgoods)
//若该商品在秒杀中,则,重新赋值
if len(secgoods) > 0 {
//秒杀价格
var mp = make(map[uint]flashsale.RecookSecKillGoodsModel)
var sl []flashsale.RecookSecKillGoodsModel
mysql2.Db.Table((&flashsale.RecookSecKillGoodsModel{}).TableName()).Where("sec_kill_activity_id=?", seckill.Id).Where("goods_id=?", summary.ID).Find(&sl)
for _, v := range sl {
mp[v.GoodsSkuId] = v
}
for i, sku := range summary.Sku {
if _, ok := mp[sku.ID]; ok {
summary.Sku[i].DiscountPrice = mp[sku.ID].SecKillDiscountPrice
summary.Sku[i].Commission = mp[sku.ID].SecKillDiscountPrice.Mul(mp[sku.ID].SecKillCommissionRate).Truncate(2)
} else {
summary.Sku[i] = goods.Sku{}
}
}
summary.SecKill.SecKill = 1
summary.SecKill.SecKillEndTime = secgoods[0].ShowTimeEnd.Format("15:04:05")
var newsku []goods.Sku
minPrice := summary.Sku[0].DiscountPrice
maxCom := summary.Sku[0].Commission
for _, v := range summary.Sku {
if v.ID > 0 {
newsku = append(newsku, v)
if v.DiscountPrice.LessThan(minPrice) {
minPrice = v.DiscountPrice
}
if v.Commission.GreaterThan(maxCom) {
maxCom = v.Commission
}
} else {
continue
}
}
summary.SecKill.SecKillCommission = maxCom
summary.SecKill.SecKillMinPrice = minPrice
summary.Sku = newsku
for i, v := range summary.Attributes {
for i2, j := range v.Children {
if _, ok := mp[j.ID]; ok {
} else {
summary.Attributes[i].Children[i2] = goods.Attribute{}
}
}
}
var newat []attributeSub
for _, v := range summary.Attributes {
var newattri []goods.Attribute
for _, j := range v.Children {
if j.ID > 0 {
newattri = append(newattri, j)
} else {
continue
}
}
newat = append(newat, attributeSub{
Name: v.Name,
Children: newattri,
})
}
summary.Attributes = newat
//判断结束
}
//if len(secgoods) > 0 {
// //秒杀价格
// var mp = make(map[uint]flashsale.RecookSecKillGoodsModel)
// var sl []flashsale.RecookSecKillGoodsModel
// mysql2.Db.Table((&flashsale.RecookSecKillGoodsModel{}).TableName()).Where("sec_kill_activity_id=?", seckill.Id).Where("goods_id=?", summary.ID).Find(&sl)
// for _, v := range sl {
// mp[v.GoodsSkuId] = v
// }
// for i, sku := range summary.Sku {
// if _, ok := mp[sku.ID]; ok {
// summary.Sku[i].DiscountPrice = mp[sku.ID].SecKillDiscountPrice
// summary.Sku[i].Commission = mp[sku.ID].SecKillDiscountPrice.Mul(mp[sku.ID].SecKillCommissionRate).Truncate(2)
// } else {
// summary.Sku[i] = goods.Sku{}
// }
//
// }
// summary.SecKill.SecKill = 1
// summary.SecKill.SecKillEndTime = secgoods[0].ShowTimeEnd.Format("15:04:05")
// var newsku []goods.Sku
// minPrice := summary.Sku[0].DiscountPrice
// maxCom := summary.Sku[0].Commission
// for _, v := range summary.Sku {
// if v.ID > 0 {
// newsku = append(newsku, v)
// if v.DiscountPrice.LessThan(minPrice) {
// minPrice = v.DiscountPrice
// }
// if v.Commission.GreaterThan(maxCom) {
// maxCom = v.Commission
// }
// } else {
// continue
// }
// }
// summary.SecKill.SecKillCommission = maxCom
// summary.SecKill.SecKillMinPrice = minPrice
// summary.Sku = newsku
// for i, v := range summary.Attributes {
// for i2, j := range v.Children {
// if _, ok := mp[j.ID]; ok {
// } else {
// summary.Attributes[i].Children[i2] = goods.Attribute{}
// }
// }
// }
// var newat []attributeSub
// for _, v := range summary.Attributes {
// var newattri []goods.Attribute
// for _, j := range v.Children {
// if j.ID > 0 {
// newattri = append(newattri, j)
// } else {
// continue
// }
// }
// newat = append(newat, attributeSub{
// Name: v.Name,
// Children: newattri,
// })
// }
// summary.Attributes = newat
// //判断结束
//}
back.Suc(c, "操作成功", &summary)
rankings := goods.HotSellRankings{

Loading…
Cancel
Save