|
@@ -21,9 +21,6 @@ class CalcPrice implements ICalc
|
|
|
public const CalcTypeInvitees = 4;
|
|
|
public const CalcTypeNone = 5;
|
|
|
|
|
|
- private const DEFAULT_ORDER_DISCOUNT = 0.98;
|
|
|
-
|
|
|
-
|
|
|
private $mUserId;
|
|
|
private $mUserCards = null;
|
|
|
private $mMemberInfo = null;
|
|
@@ -228,13 +225,13 @@ class CalcPrice implements ICalc
|
|
|
|
|
|
public function inviter_tips($goods_id)
|
|
|
{
|
|
|
- $now = time();
|
|
|
- $nine = strtotime(date('Y-m-d',$now)) + 9*3600;
|
|
|
- $twenty_first = strtotime(date('Y-m-d',$now)) + 21*3600;
|
|
|
-
|
|
|
- if($now < $nine || $now > $twenty_first) {
|
|
|
- return '试营业时间为9:00--21:00,其它时间会慢';
|
|
|
- }
|
|
|
+// $now = time();
|
|
|
+// $nine = strtotime(date('Y-m-d',$now)) + 9*3600;
|
|
|
+// $twenty_first = strtotime(date('Y-m-d',$now)) + 21*3600;
|
|
|
+//
|
|
|
+// if($now < $nine || $now > $twenty_first) {
|
|
|
+// return '试营业时间为9:00--21:00,其它时间会慢';
|
|
|
+// }
|
|
|
|
|
|
if($this->mCalcType == self::CalcTypeNormal || $this->mCalcType == self::CalcTypeInvitees)
|
|
|
{
|
|
@@ -253,12 +250,12 @@ class CalcPrice implements ICalc
|
|
|
}
|
|
|
|
|
|
if(empty($next)) {
|
|
|
- $discount = $cur['discount'] * 100;
|
|
|
- $tip = "您的分享人数,已达最高优惠{$discount}折";
|
|
|
+ $discount = $cur['discount'];
|
|
|
+ $tip = "您的分享人数,已获最高补贴{$discount}元";
|
|
|
} else {
|
|
|
$count = $next['num'] - $left_invitees;
|
|
|
- $discount = $next['discount'] * 100;
|
|
|
- $tip = "再分享{$count}人,即可享受{$discount}折";
|
|
|
+ $discount = $next['discount'];
|
|
|
+ $tip = "再分享{$count}人,可领补贴{$discount}元";
|
|
|
}
|
|
|
|
|
|
return $tip;
|
|
@@ -278,18 +275,32 @@ class CalcPrice implements ICalc
|
|
|
}
|
|
|
elseif($this->isVip()) {
|
|
|
$this->mCalcType = self::CalcTypeVIP;
|
|
|
+ $goods_price = $this->goods_spec_amount($goods_id,$goods_price);
|
|
|
$price = $this->mUserCards->calc_price($goods_id, $goods_price);
|
|
|
return ['price_des' => '会员价', 'accu_price' => round($price,2)];
|
|
|
}
|
|
|
elseif(!empty($policy = $this->select_invitees($goods_id))) {
|
|
|
$this->mCalcType = self::CalcTypeInvitees;
|
|
|
- $discount = $policy['discount'];
|
|
|
-
|
|
|
- return ['price_des' => '特惠价', 'accu_price' => round($goods_price * $discount,2)];
|
|
|
+ $price = $policy['price'];
|
|
|
+ return ['price_des' => '补贴价', 'accu_price' => round($price,2)];
|
|
|
}
|
|
|
else {
|
|
|
$this->mCalcType = self::CalcTypeNormal;
|
|
|
- return ['price_des' => '售价', 'accu_price' => round($goods_price * self::DEFAULT_ORDER_DISCOUNT,2)];
|
|
|
+ return ['price_des' => '售价', 'accu_price' => round($goods_price,2)];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //获取商品面额
|
|
|
+ private function goods_spec_amount($goods_id,$goods_price)
|
|
|
+ {
|
|
|
+ global $config;
|
|
|
+ $spec_card = $config['vgoods_spec_card'];
|
|
|
+
|
|
|
+ if(array_key_exists($goods_id,$spec_card)) {
|
|
|
+ return $spec_card[$goods_id];
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ Log::record("cannot find goods_id = {$goods_id} spec",Log::ERR);
|
|
|
+ return $goods_price;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -305,16 +316,17 @@ class CalcPrice implements ICalc
|
|
|
}
|
|
|
elseif($this->isVip()) {
|
|
|
$this->mCalcType = self::CalcTypeVIP;
|
|
|
- return $this->mUserCards->calc_amount($goods_id, $goods_price);
|
|
|
+ $goods_price = $this->goods_spec_amount($goods_id,$goods_price);
|
|
|
+ return $this->mUserCards->calc_amount($goods_id, $goods_price * $num);
|
|
|
}
|
|
|
elseif(!empty($policy = $this->select_invitees($goods_id))) {
|
|
|
$this->mCalcType = self::CalcTypeInvitees;
|
|
|
- $discount = $policy['discount'];
|
|
|
- return round($goods_price * $discount * $num,2);
|
|
|
+ $price = $policy['price'];
|
|
|
+ return round($price * $num,2);
|
|
|
}
|
|
|
else {
|
|
|
$this->mCalcType = self::CalcTypeNormal;
|
|
|
- return round($goods_price * $num * self::DEFAULT_ORDER_DISCOUNT,2);
|
|
|
+ return round($goods_price * $num,2);
|
|
|
}
|
|
|
}
|
|
|
|