@ -555,14 +555,11 @@ func QueryGoodsDetailNew(c *gin.Context) {
}
}
var u1 user . RecookUserInfoModel
var u1 user . RecookUserInfoModel
mysql2 . Db . Find ( & u1 , "id = ?" , p . UserID )
mysql2 . Db . Find ( & u1 , "id = ?" , p . UserID )
rate := decimal . Zero
rate1 := decimal . NewFromFloat32 ( 0.4 )
{
rate2 := decimal . NewFromFloat32 ( 0.1 )
switch u1 . Level {
rate3 := decimal . Zero
case 1 :
if u1 . Level == 2 {
rate = decimal . NewFromFloat ( 0.5 )
rate3 = decimal . NewFromFloat ( 0.2 )
case 2 :
rate = decimal . NewFromFloat ( 0.7 )
}
}
}
var summary summaryResponseNew
var summary summaryResponseNew
@ -589,16 +586,26 @@ func QueryGoodsDetailNew(c *gin.Context) {
minCost := minAllPrice . PurchasePrice . Mul ( decimal . NewFromFloat ( 1.03 ) )
minCost := minAllPrice . PurchasePrice . Mul ( decimal . NewFromFloat ( 1.03 ) )
minbase := minAllPrice . DiscountPrice . Sub ( minCost ) . Mul ( decimal . NewFromFloat ( .93 ) ) . Round ( 2 )
minCommission1 := minbase . Mul ( rate1 ) . Round ( 2 )
minCommission2 := minbase . Mul ( rate2 ) . Round ( 2 )
minCommission3 := minbase . Mul ( rate3 ) . Round ( 2 )
maxbase := maxAllPrice . DiscountPrice . Sub ( minCost ) . Mul ( decimal . NewFromFloat ( .93 ) ) . Round ( 2 )
maxCommission1 := maxbase . Mul ( rate1 ) . Round ( 2 )
maxCommission2 := maxbase . Mul ( rate2 ) . Round ( 2 )
maxCommission3 := maxbase . Mul ( rate3 ) . Round ( 2 )
summary . Price = priceBorderSub {
summary . Price = priceBorderSub {
priceSub {
priceSub {
OriginalPrice : minAllPrice . OriginalPrice ,
OriginalPrice : minAllPrice . OriginalPrice ,
DiscountPrice : minAllPrice . DiscountPrice ,
DiscountPrice : minAllPrice . DiscountPrice ,
Commission : minAllPrice . DiscountPrice . Sub ( minCost ) . Mul ( decimal . NewFromFloat ( .93 ) ) . Mul ( rate ) . Round ( 2 ) ,
Commission : min Commission1. Add ( minCommission2 ) . Add ( minCommission3 ) ,
} ,
} ,
priceSub {
priceSub {
OriginalPrice : maxAllPrice . OriginalPrice ,
OriginalPrice : maxAllPrice . OriginalPrice ,
DiscountPrice : maxAllPrice . DiscountPrice ,
DiscountPrice : maxAllPrice . DiscountPrice ,
Commission : maxAllPrice . DiscountPrice . Sub ( minCost ) . Mul ( decimal . NewFromFloat ( .93 ) ) . Mul ( rate ) . Round ( 2 ) ,
Commission : max Commission1. Add ( maxCommission2 ) . Add ( maxCommission3 ) ,
} ,
} ,
}
}
if summary . IsFerme == goods2 . RecookGoodsInfoIsFermeTrue {
if summary . IsFerme == goods2 . RecookGoodsInfoIsFermeTrue {
@ -617,8 +624,11 @@ func QueryGoodsDetailNew(c *gin.Context) {
dbc . DB . Table ( ( & goods . Sku { } ) . TableName ( ) ) . Find ( & ( summary . Sku ) , "goods_id = ?" , p . GoodsID )
dbc . DB . Table ( ( & goods . Sku { } ) . TableName ( ) ) . Find ( & ( summary . Sku ) , "goods_id = ?" , p . GoodsID )
for index , v := range summary . Sku {
for index , v := range summary . Sku {
skc := v . PurchasePrice . Mul ( decimal . NewFromFloat32 ( 1.03 ) )
skb := v . GetBase ( )
summary . Sku [ index ] . Commission = v . DiscountPrice . Sub ( skc ) . Mul ( decimal . NewFromFloat ( .93 ) ) . Mul ( rate ) . Round ( 2 )
sc1 := skb . Mul ( rate1 ) . Round ( 2 )
sc2 := skb . Mul ( rate2 ) . Round ( 2 )
sc3 := skb . Mul ( rate3 ) . Round ( 2 )
summary . Sku [ index ] . Commission = sc1 . Add ( sc2 ) . Add ( sc3 )
}
}
now := time . Now ( )
now := time . Now ( )
var promotionGoods promotion . Goods
var promotionGoods promotion . Goods