feat : coupon
This commit is contained in:
@@ -293,33 +293,33 @@ trait OrderTrait
|
|||||||
$this->orderRes['total_sundry_price'] = bcmul($this->orderRes['sundry_price'],(string)$this->orderRes['sundry_num'],2);
|
$this->orderRes['total_sundry_price'] = bcmul($this->orderRes['sundry_price'],(string)$this->orderRes['sundry_num'],2);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 计算优惠
|
// * 计算优惠
|
||||||
* @return void
|
// * @return void
|
||||||
*/
|
// */
|
||||||
protected function computeFavorable(): void
|
// protected function computeFavorable(): void
|
||||||
{
|
// {
|
||||||
if ($this->couponId <= 0 && $this->isAutoSelectCoupon == 1) {
|
// if ($this->couponId <= 0 && $this->isAutoSelectCoupon == 1) {
|
||||||
$this->couponId = $this->getAutoCouponId();
|
// $this->couponId = $this->getAutoCouponId();
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
if ($this->couponId <= 0) {
|
// if ($this->couponId <= 0) {
|
||||||
$this->orderRes['coupon_id'] = 0;
|
// $this->orderRes['coupon_id'] = 0;
|
||||||
$this->orderRes['coupon'] = [];
|
// $this->orderRes['coupon'] = [];
|
||||||
$this->orderRes['favorable_good_price'] = '0';
|
// $this->orderRes['favorable_good_price'] = '0';
|
||||||
$this->orderRes['favorable_sundry_price'] = '0';
|
// $this->orderRes['favorable_sundry_price'] = '0';
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
$couponInfo = []; // todo 优惠券信息
|
// $couponInfo = []; // todo 优惠券信息
|
||||||
|
//
|
||||||
$this->orderRes['coupon_id'] = $this->couponId;
|
// $this->orderRes['coupon_id'] = $this->couponId;
|
||||||
$this->orderRes['coupon'] = $couponInfo;
|
// $this->orderRes['coupon'] = $couponInfo;
|
||||||
|
//
|
||||||
//todo 优惠计算
|
// //todo 优惠计算
|
||||||
$this->orderRes['favorable_good_price'] = '1.00';
|
// $this->orderRes['favorable_good_price'] = '1.00';
|
||||||
$this->orderRes['favorable_sundry_price'] = '1.00';
|
// $this->orderRes['favorable_sundry_price'] = '1.00';
|
||||||
}
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 计算最终价格
|
* 计算最终价格
|
||||||
@@ -362,7 +362,7 @@ trait OrderTrait
|
|||||||
$orderMaxPrice = max(array_column($this->orderRes['good'],'price'));
|
$orderMaxPrice = max(array_column($this->orderRes['good'],'price'));
|
||||||
$this->orderRes['coupon']['amount'] = match ($this->orderRes['coupon']['coupon_type']) {
|
$this->orderRes['coupon']['amount'] = match ($this->orderRes['coupon']['coupon_type']) {
|
||||||
CouponCode::COUPON_TYPE_INSTANT_REDUCTION => $this->orderRes['coupon']['amount'],
|
CouponCode::COUPON_TYPE_INSTANT_REDUCTION => $this->orderRes['coupon']['amount'],
|
||||||
CouponCode::COUPON_TYPE_DISCOUNT => bcmul(bcdiv("100", bcsub("100",$this->orderRes['coupon']['ratio'],2),2),$orderMaxPrice,2),
|
CouponCode::COUPON_TYPE_DISCOUNT => bcmul(bcdiv("100", bcsub("100",(string)$this->orderRes['coupon']['ratio'],2),2),(string)$orderMaxPrice,2),
|
||||||
default => 0
|
default => 0
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -388,7 +388,7 @@ trait OrderTrait
|
|||||||
if (empty($couponTemplateInfo)) throw new ErrException('优惠券信息错误');
|
if (empty($couponTemplateInfo)) throw new ErrException('优惠券信息错误');
|
||||||
|
|
||||||
$this->couponId = $couponInfo->id;
|
$this->couponId = $couponInfo->id;
|
||||||
$this->orderRes['coupon_info'] = [
|
$this->orderRes['coupon'] = [
|
||||||
'id' => $couponInfo->id,
|
'id' => $couponInfo->id,
|
||||||
'coupon_type' => $couponTemplateInfo->coupon_type,
|
'coupon_type' => $couponTemplateInfo->coupon_type,
|
||||||
'amount' => $couponTemplateInfo->amount,
|
'amount' => $couponTemplateInfo->amount,
|
||||||
|
|||||||
Reference in New Issue
Block a user