|
|
|
@@ -396,6 +396,7 @@ public class PosServiceImpl implements PosService { |
|
|
|
String buUserIdStr = params.get(WxPayConstant.BUSER_ID); // POS操作员ID |
|
|
|
String couponOrderIdStr = params.get(WxPayConstant.COUPON_ORDER_ID); // 券ID |
|
|
|
String posOrderIdStr = params.get(WxPayConstant.COUPON_ORDER_ID); // POS订单ID |
|
|
|
String forceStr = params.get(WxPayConstant.FORCE); // 是否强制 |
|
|
|
|
|
|
|
if (StringUtils.isBlank(tenantId)) { |
|
|
|
String errMessage = "request params[tenant_id] error."; |
|
|
|
@@ -486,6 +487,12 @@ public class PosServiceImpl implements PosService { |
|
|
|
if (couponOrderCVo.getCouponOrderStatus().equals(EnumCouponOrderStatus.COUPON_ORDER_USED.getCode()) && |
|
|
|
actionType.equals(EnumVerifyActionType.VERIFY_CANCEL)) { |
|
|
|
logger.info("券已被核销: " + couponOrderIdStr); |
|
|
|
boolean force = false; |
|
|
|
if (StringUtils.isNotBlank(forceStr)) { |
|
|
|
force = Boolean.valueOf(forceStr); |
|
|
|
} |
|
|
|
// 检查是否有发放的券, 有则无法退券 |
|
|
|
|
|
|
|
try { |
|
|
|
cancelVerify(couponOrderCVo, buUserId, posOrderId); |
|
|
|
return retMap; |
|
|
|
@@ -527,6 +534,7 @@ public class PosServiceImpl implements PosService { |
|
|
|
try { |
|
|
|
WxCouponOrder couponOrder = new WxCouponOrder(); |
|
|
|
couponOrder.setId(couponOrderCVo.getId()); |
|
|
|
couponOrder.setTenantId(couponOrderCVo.getTenantId()); |
|
|
|
couponOrder.setCouponOrderStatus(EnumCouponOrderStatus.POS_PRE_VERIFY.getCode()); |
|
|
|
couponOrder.setBUserId(buUserId); |
|
|
|
couponOrder.setUpdateDate(new Date()); |
|
|
|
@@ -558,15 +566,20 @@ public class PosServiceImpl implements PosService { |
|
|
|
posCouponOrderVerify.setState(EnumEnableType.Enable.getCode()); |
|
|
|
List<PosCouponOrderVerify> posCouponOrderVerifyList = posCouponOrderVerifyService.getList(posCouponOrderVerify); |
|
|
|
if (posCouponOrderVerifyList.size() == 1) { |
|
|
|
try { |
|
|
|
PosCouponOrderVerify updateOrder = new PosCouponOrderVerify(); |
|
|
|
updateOrder.setId(posCouponOrderVerify.getId()); |
|
|
|
updateOrder.setState(EnumEnableType.Disable.getCode()); |
|
|
|
updateOrder.setUpdateDate(new Date()); |
|
|
|
posCouponOrderVerifyService.saveOrUpdate(updateOrder); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("db failed: couponOrder-" + couponOrderCVo.getId() + ", e:" + e.getMessage()); |
|
|
|
throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); |
|
|
|
posCouponOrderVerify = posCouponOrderVerifyList.get(0); |
|
|
|
if(posCouponOrderVerify != null) { |
|
|
|
try { |
|
|
|
PosCouponOrderVerify updateCouponOrderVerify = new PosCouponOrderVerify(); |
|
|
|
updateCouponOrderVerify.setId(posCouponOrderVerify.getId()); |
|
|
|
updateCouponOrderVerify.setTenantId(posCouponOrderVerify.getTenantId()); |
|
|
|
updateCouponOrderVerify.setState(EnumEnableType.Disable.getCode()); |
|
|
|
updateCouponOrderVerify.setUpdateDate(new Date()); |
|
|
|
posCouponOrderVerifyService.saveOrUpdate(updateCouponOrderVerify); |
|
|
|
// posCouponOrderVerifyService.deleteById(posCouponOrderVerify.getId()); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("db failed: couponOrder-" + couponOrderCVo.getId() + ", e:" + e.getMessage()); |
|
|
|
throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
logger.error(ErrorCode.VERIFY_PRE_POS_ORDER_NOT_EQUAL.getMessage() + ": " + posOrderId); |
|
|
|
@@ -577,10 +590,10 @@ public class PosServiceImpl implements PosService { |
|
|
|
try { |
|
|
|
WxCouponOrder couponOrder = new WxCouponOrder(); |
|
|
|
couponOrder.setId(couponOrderCVo.getId()); |
|
|
|
couponOrder.setTenantId(couponOrderCVo.getTenantId()); |
|
|
|
couponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode()); |
|
|
|
couponOrder.setBUserId(buUserId); |
|
|
|
couponOrder.setUpdateDate(new Date()); |
|
|
|
num = couponOrderMapper.updateVerifyCouponOrder(couponOrder); |
|
|
|
num = couponOrderMapper.cancelVerifyCouponOrder(couponOrder); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("db failed: couponOrder-" + couponOrderCVo.getId() + ", e:" + e.getMessage()); |
|
|
|
throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); |
|
|
|
@@ -725,7 +738,13 @@ public class PosServiceImpl implements PosService { |
|
|
|
posCouponOrderVerify = posCouponOrderVerifyList.get(0); |
|
|
|
if (posCouponOrderVerify != null) { |
|
|
|
try { |
|
|
|
posCouponOrderVerifyService.deleteById(posCouponOrderVerify.getId()); |
|
|
|
PosCouponOrderVerify updateCouponOrderVerify = new PosCouponOrderVerify(); |
|
|
|
updateCouponOrderVerify.setId(posCouponOrderVerify.getId()); |
|
|
|
updateCouponOrderVerify.setTenantId(posCouponOrderVerify.getTenantId()); |
|
|
|
updateCouponOrderVerify.setState(EnumEnableType.Disable.getCode()); |
|
|
|
updateCouponOrderVerify.setUpdateDate(new Date()); |
|
|
|
posCouponOrderVerifyService.saveOrUpdate(updateCouponOrderVerify); |
|
|
|
//posCouponOrderVerifyService.deleteById(posCouponOrderVerify.getId()); |
|
|
|
} catch(Exception e){ |
|
|
|
logger.error("db failed: couponOrder-" + couponOrderCVo.getId() + ", e:" + e.getMessage()); |
|
|
|
throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); |
|
|
|
|