EC-CUBE / coupon-plugin

GNU Lesser General Public License v2.1
11 stars 41 forks source link

#21 の発生した後のクーポンコードで使用したら、システムエラーになってしまう #22

Closed lammn closed 8 years ago

lammn commented 8 years ago

現象

21 の発生した後のクーポンコードでもう一度使用したら、システムエラーになってしまいました。

再現手順

  1. ログインして注文確認画面まで行きます。
  2. クーポン入力画面に#21のクーポンコードを入力

 => システムエラーになってしまいました(NG) ログを見ると、eccube.CRITICAL: Doctrine\ORM\NonUniqueResultException:例外を発生しまし た。

期待値

エラーにならない。

解決

CouponCouponOrderRepository.phpfindUseCouponMemberfindUseCouponNonMember関数は $count = $query->getSingleResult();じゃなくてgetResult()でよいと思います。

chihiro-adachi commented 8 years ago

NonUniqueResultException in AbstractQuery.php line 657:

in AbstractQuery.php line 657
at AbstractQuery->getSingleResult() in CouponCouponOrderRepository.php line 103
at CouponCouponOrderRepository->findUseCouponMember('9q1g65t865ss', '47') in CouponController.php line 452
at CouponController->checkCouponUsedOrNot('9q1g65t865ss', object(Customer), object(Application)) in CouponController.php line 372
at CouponController->shoppingCoupon(object(Application), object(Request))
at call_user_func_array(array(object(CouponController), 'shoppingCoupon'), array(object(Application), object(Request))) in HttpKernel.php line 139
at HttpKernel->handleRaw(object(Request), '1') in HttpKernel.php line 62
at HttpKernel->handle(object(Request), '1', true) in Application.php line 588
at Application->handle(object(Request)) in Application.php line 565
at Application->run() in index_dev.php line 98
chihiro-adachi commented 8 years ago

28 で対応