|
|
|
@@ -297,7 +297,26 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) |
|
|
|
public ResultData couponOrderVerify(WxCouponOrder wxCouponOrder, WxMerchantBUser wxMerchantBUser, WxOrder wxOrder) { |
|
|
|
public WxCouponOrder verify(Long couponOrderId, Long bUserId) { |
|
|
|
|
|
|
|
WxCouponOrder wxCouponOrder = wxCouponOrderMapper.selectByPrimaryKey(couponOrderId); |
|
|
|
if(wxCouponOrder == null){ |
|
|
|
logger.error("券ID不存在:"+ couponOrderId); |
|
|
|
throw new MallinkException(ErrorCode.COUPON_ORDER_IS_NULL); |
|
|
|
} |
|
|
|
|
|
|
|
WxMerchantBUser wxMerchantBUser = wxMerchantBUserMapper.selectByPrimaryKey(bUserId.longValue()); |
|
|
|
if(wxMerchantBUser == null){ |
|
|
|
logger.error("核销员ID不存在:"+ bUserId); |
|
|
|
throw new MallinkException(ErrorCode.COUPON_ORDER_IS_NULL); |
|
|
|
} |
|
|
|
|
|
|
|
WxOrder wxOrder = wxOrderMapper.selectByPrimaryKey(wxCouponOrder.getOrderId()); |
|
|
|
|
|
|
|
if (!wxOrder.getMerchantId().equals(wxMerchantBUser.getMerchantId())){ |
|
|
|
logger.error("券: couponMerchantId-" + wxOrder.getMerchantId()+"核销: couponMerchantId-"+wxMerchantBUser.getMerchantId()); |
|
|
|
throw new MallinkException(ErrorCode.COUPON_ORDER_IS_NULL); |
|
|
|
} |
|
|
|
if (wxCouponOrder.getCouponOrderStatus() == EnumCouponOrderStatus.COUPON_ORDER_OVER_TIME.getCode()) { |
|
|
|
logger.error("已过期: couponOrder-" + wxCouponOrder.getId()); |
|
|
|
throw new MallinkException(ErrorCode.COUPON_ORDER_IS_OVER_TIME); |
|
|
|
@@ -320,44 +339,18 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { |
|
|
|
throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); |
|
|
|
} |
|
|
|
|
|
|
|
return new ResultData(wxCouponOrder); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public ResultData verify(Long couponOrderId, Long bUserId) { |
|
|
|
|
|
|
|
WxCouponOrder wxCouponOrder = wxCouponOrderMapper.selectByPrimaryKey(couponOrderId); |
|
|
|
if(wxCouponOrder == null){ |
|
|
|
logger.error("券ID不存在:"+ couponOrderId); |
|
|
|
throw new MallinkException(ErrorCode.COUPON_ORDER_IS_NULL); |
|
|
|
} |
|
|
|
|
|
|
|
WxMerchantBUser wxMerchantBUser = wxMerchantBUserMapper.selectByPrimaryKey(bUserId.longValue()); |
|
|
|
if(wxMerchantBUser == null){ |
|
|
|
logger.error("核销员ID不存在:"+ bUserId); |
|
|
|
throw new MallinkException(ErrorCode.COUPON_ORDER_IS_NULL); |
|
|
|
} |
|
|
|
|
|
|
|
WxOrder wxOrder = wxOrderMapper.selectByPrimaryKey(wxCouponOrder.getOrderId()); |
|
|
|
return wxCouponOrder; |
|
|
|
|
|
|
|
if (!wxOrder.getMerchantId().equals(wxMerchantBUser.getMerchantId())){ |
|
|
|
logger.error("券: couponMerchantId-" + wxOrder.getMerchantId()+"核销: couponMerchantId-"+wxMerchantBUser.getMerchantId()); |
|
|
|
throw new MallinkException(ErrorCode.COUPON_ORDER_IS_NULL); |
|
|
|
} |
|
|
|
|
|
|
|
ResultData rd = couponOrderVerify(wxCouponOrder, wxMerchantBUser, wxOrder); |
|
|
|
|
|
|
|
// 核销发券 |
|
|
|
try { |
|
|
|
wxCouponSendService.sendCouponToUser(wxMerchantBUser.getTenantId(), wxOrder.getCUserId(), EnumCouponSendType.COUPON_VERIFY.getCode()); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("核销发券: " + e.getMessage()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) |
|
|
|
public void shareAfterVerify(WxCouponOrder couponOrder) { |
|
|
|
// 微信分账 |
|
|
|
try { |
|
|
|
WxPayOrder wxPayOrder = new WxPayOrder(); |
|
|
|
wxPayOrder.setOrderId(wxCouponOrder.getOrderId()); |
|
|
|
wxPayOrder.setOrderId(couponOrder.getOrderId()); |
|
|
|
wxPayOrder.setPayOrderStatus(EnumPayStatus.PAY_WAY_SUCCESS.getCode()); |
|
|
|
wxPayOrder = wxPayOrderMapper.selectOne(wxPayOrder); |
|
|
|
if (wxPayOrder == null) |
|
|
|
@@ -367,10 +360,23 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("微信分账: " + e.getMessage()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return rd; |
|
|
|
@Override |
|
|
|
public void sendCouponAfterVerify(WxCouponOrder couponOrder, WxMerchantBUser bUser) { |
|
|
|
// 核销发券 |
|
|
|
WxOrder wxOrder = wxOrderMapper.selectByPrimaryKey(couponOrder.getOrderId()); |
|
|
|
if (wxOrder != null) { |
|
|
|
try { |
|
|
|
wxCouponSendService.sendCouponToUser(bUser.getTenantId(), wxOrder.getCUserId(), EnumCouponSendType.COUPON_VERIFY.getCode()); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("核销发券: " + e.getMessage()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
public List<CUserDateAmountVo> queryPriceTotalGroup(String tenantId, Date startTime, Date endTime) { |
|
|
|
return wxCouponOrderMapper.queryPriceTotalGroup(tenantId, startTime, endTime); |
|
|
|
|