Commit ad7259a0 by box

Merge branch 'feature/box/券包退款' into qa

parents 1f5c2055 8c6db0e2
......@@ -48,10 +48,10 @@ public class OrderCouponHandle {
if (couponCodes.isEmpty()) {
return ResponseUtil.error(ResponseResult.SYSTEM_ERROR.getCode(), "订单中优惠券数据为空。");
}
// 校验券状态是否已被使用
if (couponQueryHandle.isCouponUsed(partnerId, couponCodes)) {
return ResponseUtil.error(ResponseResult.SYSTEM_ERROR.getCode(), "作废优惠券失败,部分券已被使用。");
}
// // 校验券状态是否已被使用
// if (couponQueryHandle.isCouponUsed(partnerId, couponCodes)) {
// return ResponseUtil.error(ResponseResult.SYSTEM_ERROR.getCode(), "作废优惠券失败,部分券已被使用。");
// }
BatchCouponDiscardReq discardReq = new BatchCouponDiscardReq();
discardReq.setCoupons(couponCodes.stream().map(code -> {
......
......@@ -13,6 +13,7 @@ import cn.freemud.management.service.handle.PaymentHandle;
import cn.freemud.management.service.handle.SaasOrderHandle;
import cn.freemud.management.service.handle.StockHandle;
import cn.freemud.management.util.ResponseUtil;
import com.alibaba.fastjson.JSONObject;
import com.freemud.application.sdk.api.log.ApiLog;
import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
......@@ -68,11 +69,6 @@ public class SaleCouponOrderMangerServiceImpl implements OrderManagerService {
*/
@Override
public BaseResponse<OrderManagerResponse> orderAgreeRefund(OrderManagerRequest request, OrderBeanV1 orderBean) {
// 退款前先作废券
BaseResponse response = orderCouponHandle.discardOrderCoupon(request.getPartnerId(), orderBean);
if (!isSuccess(response)) {
return response;
}
// 支付退款 包括线上小程序付款的订单,订单宝其他支付方式收款(汇来米,收钱吧,现金,其他)老板通发起退款
PayRefundResponse refundResponse = this.payRefundCommon(request, orderBean);
......@@ -85,6 +81,17 @@ public class SaleCouponOrderMangerServiceImpl implements OrderManagerService {
return ResponseUtil.error(ResponseResult.REFUND_FAIL.getCode(), refundResponse.getMessage());
}
// 先退款再作废券,因为退款经常出现余额不足而失败。券作废失败不影响后面的流程
try {
BaseResponse response = orderCouponHandle.discardOrderCoupon(request.getPartnerId(), orderBean);
if (!isSuccess(response)) {
ApiLog.warnMessage("卖券订单已退款,优惠券作废失败 oid:{} resp:{}", orderBean.getOid(), JSONObject.toJSONString(response));
}
} catch (Throwable e) {
ApiLog.warnMessage("卖券订单已退款,优惠券作废异常 oid:{} ex:{}", orderBean.getOid(), e.getMessage());
}
//订单同意退款
saasOrderHandle.refundAgree(request, refundResponse, orderBean);
// 推送pos、微信消息中心
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment