diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java index 1fe5eba52..39d71b7df 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java @@ -33,6 +33,7 @@ public interface WxCouponOrderMapper extends CommonMapper { //统一的计数接口 int findCount(WxCouponOrder wxCouponOrder); + int findProductCount(WxCouponOrder wxCouponOrder); List> getCountByBusinessId(WxCouponOrder wxCouponOrder); List> getCountBySubBusinessId(WxCouponOrder wxCouponOrder); //统一额度统计接口 diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java index e117b7b83..5ca10e993 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -462,7 +462,7 @@ public class WxOrderServiceImpl implements WxOrderService { * @param counpon * @return */ - private int getUserCouponOrderCount(WxCUserBasicInfo user, WxCoupon counpon) { + private int getUserCouponOrderCount(WxCUserBasicInfo user, WxCoupon counpon,int couponNumber) { // + couponOrder ---待使用 try { WxCouponOrder couponOrderQ = new WxCouponOrder(); @@ -475,7 +475,7 @@ public class WxOrderServiceImpl implements WxOrderService { // if (counpon.getSendType().equals(EnumCouponSendType.PASSIVE.getCode())) { // couponOrderQ.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode()); // } - return wxCouponOrderMapper.findCount(couponOrderQ); + return wxCouponOrderMapper.findProductCount(couponOrderQ)+couponNumber; } catch (Exception e) { logger.error("购买是否超限-DB, couponId: " + counpon.getId() + ", e:" + e.getMessage(),e); throw new MallinkException(ErrorCode.ORDER_IS_FAIL.getCode(),"["+counpon.getTitle()+"]查询待使用订单错误."); @@ -532,7 +532,7 @@ public class WxOrderServiceImpl implements WxOrderService { // } // 检查用户已购买数量 try { - count = getUserCouponOrderCount(user, coupon); + count = getUserCouponOrderCount(user, coupon,1); } catch (Exception e) { //解锁 redisLock.unlock(couponIdStr, timeStr); @@ -632,7 +632,7 @@ public class WxOrderServiceImpl implements WxOrderService { // 检查用户已购买数量 try { - count = getUserCouponOrderCount(user, coupon); + count = getUserCouponOrderCount(user, coupon,number); } catch (Exception e) { throw new MallinkException(ErrorCode.DB_FAIL.getCode(),"["+coupon.getTitle()+"]查询待使用订单错误."); } diff --git a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml index 6655b24d0..401cd91f5 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml @@ -519,6 +519,29 @@ + +