|
|
|
@@ -172,38 +172,28 @@ public class WxOrderServiceImpl implements WxOrderService { |
|
|
|
// + Order 待支付 |
|
|
|
// + couponOrder ---待使用 |
|
|
|
int countOrder = 0, countCouponOrder = 0; |
|
|
|
WxOrder orderQ = new WxOrder(); |
|
|
|
orderQ.setTenantId(user.getTenantId()); |
|
|
|
orderQ.setProductId(counpon.getId()); |
|
|
|
orderQ.setType(EnumOrderType.COUPON.getCode()); |
|
|
|
orderQ.setcUserId(user.getId()); |
|
|
|
orderQ.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()); |
|
|
|
|
|
|
|
try { |
|
|
|
if (counpon.getType().equals(EnumCouponType.COUPON_TINGCHE.getCode())) { |
|
|
|
countOrder = wxOrderMapper.dayCountList(orderQ); |
|
|
|
} else { |
|
|
|
countOrder = wxOrderMapper.countList(orderQ); |
|
|
|
} |
|
|
|
WxOrder orderQ = new WxOrder(); |
|
|
|
orderQ.setTenantId(user.getTenantId()); |
|
|
|
orderQ.setProductId(counpon.getId()); |
|
|
|
orderQ.setType(EnumOrderType.COUPON.getCode()); |
|
|
|
orderQ.setcUserId(user.getId()); |
|
|
|
orderQ.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()); |
|
|
|
countOrder = wxOrderMapper.countList(orderQ); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("购买是否超限-DB, couponId: " + counpon.getId() + ", e:" + e.getMessage()); |
|
|
|
throw new MallinkException(ErrorCode.ORDER_IS_FAIL); |
|
|
|
} |
|
|
|
|
|
|
|
try { |
|
|
|
if (counpon.getType().equals(EnumCouponType.COUPON_TINGCHE.getCode())) { |
|
|
|
// 停车券 每日限领1张 |
|
|
|
Map params = new HashMap<String, Object>(); |
|
|
|
params.put("couponId", counpon.getId()); |
|
|
|
params.put("cUserId", user.getId()); |
|
|
|
countCouponOrder = wxCouponOrderMapper.dayCountCarList(params); |
|
|
|
} else { |
|
|
|
WxCouponOrder couponOrderQ = new WxCouponOrder(); |
|
|
|
couponOrderQ.setTenantId(user.getTenantId()); |
|
|
|
couponOrderQ.setCouponId(counpon.getId()); |
|
|
|
couponOrderQ.setCUserId(user.getId()); |
|
|
|
//////couponOrderQ.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode()); |
|
|
|
countCouponOrder = wxCouponOrderMapper.countList(couponOrderQ); |
|
|
|
} |
|
|
|
WxCouponOrder couponOrderQ = new WxCouponOrder(); |
|
|
|
couponOrderQ.setTenantId(user.getTenantId()); |
|
|
|
couponOrderQ.setCouponId(counpon.getId()); |
|
|
|
couponOrderQ.setCUserId(user.getId()); |
|
|
|
if (counpon.getSendType().equals(EnumCouponSendType.PASSIVE)) |
|
|
|
couponOrderQ.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode()); |
|
|
|
countCouponOrder = wxCouponOrderMapper.countList(couponOrderQ); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("购买是否超限-DB, couponId: " + counpon.getId() + ", e:" + e.getMessage()); |
|
|
|
throw new MallinkException(ErrorCode.ORDER_IS_FAIL); |
|
|
|
@@ -249,8 +239,7 @@ public class WxOrderServiceImpl implements WxOrderService { |
|
|
|
|
|
|
|
try { |
|
|
|
// 减库存 |
|
|
|
coupon.setRemainInventory(coupon.getRemainInventory() - 1); |
|
|
|
wxCouponMapper.updateByPrimaryKeySelective(coupon); |
|
|
|
wxCouponMapper.reduceInventory(coupon.getId(), 1); |
|
|
|
//解锁 |
|
|
|
redisLock.unlock(couponIdStr, timeStr); |
|
|
|
} catch (RuntimeException e) { |
|
|
|
|