@ -408,50 +408,23 @@ func GetGoodsRespByInfoList(goodsList []goods.Information, userID uint) []QueryC
salesVolume := v . SalesVolume
discountPrice := sku . DiscountPrice
commission := sku . Commission
now := time . Now ( )
var tags = make ( [ ] string , 0 , 0 )
var promotionGoods promotion . Goods
mysql2 . Db . Select ( "id, promotion_name, start_time, end_time" ) . First ( & promotionGoods , "goods_id = ? AND start_time <= ? AND end_time >= ?" , v . ID , now , now )
if promotionGoods . ID > 0 {
var promotionSku promotion . Sku
mysql2 . Db . Select ( "SUM(inventory) AS inventory, SUM(sales_volume) AS sales_volume, MIN(discount_price) as discount_price , MIN(commission) as commission" ) .
Where ( "promotion_goods_id = ?" , promotionGoods . ID ) .
Group ( "promotion_goods_id" ) . Find ( & promotionSku )
discountPrice = promotionSku . DiscountPrice //活动的价格
//commission = promotionSku.Commission //活动的佣金
inventory = promotionSku . Inventory //活动的库存
startTime = promotionGoods . StartTime
endTime = promotionGoods . EndTime
// 打上特卖标签
tags = append ( tags , "限时特卖" )
} else { // 再判断商品明天会不会参加活动
mysql2 . Db . Select ( "id, promotion_name" ) . First ( & promotionGoods , "goods_id = ? AND start_time > ? " , v . ID , now )
if promotionGoods . ID > 0 {
var promotionSku promotion . Sku
dbc . DB . Select ( "MIN(discount_price) AS discount_price, MIN(commission) AS commission" ) .
Where ( "promotion_goods_id = ?" , promotionGoods . ID ) .
Group ( "promotion_goods_id" ) .
Find ( & promotionSku )
startTime = promotionGoods . StartTime
endTime = promotionGoods . EndTime
}
}
tags := make ( [ ] string , 0 )
// 查看是否是 新人特惠 商品
if isMember , _ := cache . IsMemberOfNewerTehui ( strconv . Itoa ( int ( v . ID ) ) ) ; isMember {
tags = append ( tags , "新人特惠" )
}
rate := decimal . Zero
switch u . Level {
case 1 :
rate = decimal . NewFromFloat ( 0.5 )
case 2 :
rate = decimal . NewFromFloat ( 0.7 )
rate1 := decimal . NewFromFloat32 ( 0.4 )
rate2 := decimal . NewFromFloat32 ( 0.1 )
rate3 := decimal . Zero
if u . Level == 2 {
rate3 = decimal . NewFromFloat ( 0.2 )
}
cost := sku . PurchasePrice . Mul ( decimal . NewFromFloat ( 1.03 ) )
commission = sku . DiscountPrice . Sub ( cost ) . Mul ( decimal . NewFromFloat ( .93 ) ) . Mul ( rate ) . Round ( 2 )
base := sku . GetBase ( )
commission1 := base . Mul ( rate1 ) . Round ( 2 )
commission2 := base . Mul ( rate2 ) . Round ( 2 )
commission3 := base . Mul ( rate3 ) . Round ( 2 )
commission = commission1 . Add ( commission2 ) . Add ( commission3 )
recookGoodsInfoModel := & goods2 . RecookGoodsInfoModel { }
space := " "