fecshop/services/cart/Coupon.php第285行左右,
如果设置每用户只能使用1次,使用优惠券时会添加一条优惠券使用记录并把次数设置为1,使用成功后会刷新购物车页面,又再判断一次 次数限制,1 <1,就无法使用优惠券了,应该改为1 <=1.
/**
* 查看coupon是否是可用的,如果可用,返回true,如果不可用,返回false
*/
protected function couponIsActive()
{
if ($this->_customer_id) {
if ($couponModel = $this->getCouponModel()) {
$expiration_date = $couponModel['expiration_date'];
Yii::info('$expiration_date:'.$expiration_date,'fecshop_debug');
// 未过期
if ($expiration_date > time()) {
$couponUsageModel = $this->getCouponUsageModel();
$times_used = 0;
if ($couponUsageModel['times_used']) {
$times_used = $couponUsageModel['times_used'];
}
$users_per_customer = $couponModel['users_per_customer'];
Yii::info('$times_used:'.$times_used,'fecshop_debug');
// 次数限制
if ($times_used <= $users_per_customer) {
Yii::info('yes:!','fecshop_debug');
return true;
} else {
Yii::$service->helper->errors->add('The coupon has exceeded the maximum number of uses');
}
} else {
Yii::$service->helper->errors->add('coupon is expired');
}
} else {
//Yii::$service->helper->errors->add("coupon is not exist");
}
}
return false;
}