【修复】优惠券在多个订单中重复使用

admin 发布于 BUG提交 2021-12-28 20:09:16

ShopWind电商系统商家可以发布相应的优惠券给买领券,买家领券优惠券后到店铺中购买商品,符合优惠券的使用条件可以在订单中使用优惠券抵扣相应面额的货款。

attachmentId-192

attachmentId-191

问题描叙

用户领一张优惠券可以在多个订单中使用,使用后不失效的问题。

解决办法

打开文件common/business/BaseOrder.php , 做如下修改

查询代码

public function updateCouponRemainTimes($result = array(), $coupon = array())
{
  foreach($result as $store_id => $order_id) {
    if(isset($coupon[$store_id]['coupon_sn'])) {
      $query = CouponsnModel::find()->select('remain_times')->where(['coupon_sn' => $coupon[$store_id]['coupon_sn']])->one(), 
      if ($query->remain_times > 0) {
        $query->updateCounters(['remain_times' => -1]),
      }
    }
  }
}

修改为

public function updateCouponRemainTimes($result = array(), $coupon = array())
{
  foreach($result as $store_id => $order_id) {
    if(isset($coupon[$store_id]['coupon_sn'])) {
      $query = CouponsnModel::find()->where(['coupon_sn' => $coupon[$store_id]['coupon_sn']])->one(), 
      if ($query->remain_times > 0) {
        $query->updateCounters(['remain_times' => -1]),
      }
    }
  }
}
最后编辑于 2023-03-07 01:06:50
0 674
Re :

admin 这家伙什么都没留下

  • 回答

    97
  • 发布

    86
  • 经验

    6430

内容精选

联系我们

  • 微信官网

    关注公众号

    系统更新,推送提醒
  • 开发交流群

    技术交流Q群

    安装使用,开发交流

垂询热线:18978189162