Commit 85f95889 by ping.wu

支付退款成功,订单未创建售后单,直接取消订单

parent 8ae6c36f
...@@ -135,7 +135,7 @@ public class OrderController { ...@@ -135,7 +135,7 @@ public class OrderController {
} }
/** /**
* 订单支付成功后通知 * 订单支付成功后通知 老支付回掉,已不用废弃
*/ */
@ApiAnnotation(logMessage = "paySuccessCallback") @ApiAnnotation(logMessage = "paySuccessCallback")
@PostMapping("/paySuccessCallback") @PostMapping("/paySuccessCallback")
......
...@@ -150,8 +150,8 @@ public class OrderServiceImpl implements Orderservice { ...@@ -150,8 +150,8 @@ public class OrderServiceImpl implements Orderservice {
/** /**
* coco商户 * coco商户
*/ */
@Value("#{'${coco.partnerId}'.split(',')}") // @Value("#{'${coco.partnerId}'.split(',')}")
private List<String> cocoPartnerId; // private List<String> cocoPartnerId;
@Value("#{'${hls.partnerId}'.split(',')}") @Value("#{'${hls.partnerId}'.split(',')}")
private List<String> hlsPartnerId; private List<String> hlsPartnerId;
@Value("#{'${order.delete.partnerId}'.split(',')}") @Value("#{'${order.delete.partnerId}'.split(',')}")
...@@ -641,7 +641,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -641,7 +641,7 @@ public class OrderServiceImpl implements Orderservice {
requestVo.setTransId(orderId); requestVo.setTransId(orderId);
} }
String trackingNo = LogThreadLocal.getTrackingNo(); String trackingNo = LogThreadLocal.getTrackingNo();
if (StringUtils.isEmpty(requestVo.getTransId())) { if (StringUtils.isBlank(requestVo.getTransId())) {
//订单号不能为空 //订单号不能为空
return refundFaileMessage("transId is can not empty"); return refundFaileMessage("transId is can not empty");
} }
...@@ -650,10 +650,6 @@ public class OrderServiceImpl implements Orderservice { ...@@ -650,10 +650,6 @@ public class OrderServiceImpl implements Orderservice {
//只有退款成功更新状态.其他情况不处理 //只有退款成功更新状态.其他情况不处理
return refundFaileMessage("pay refundStatus is not 100,refundStatus=" + refundStatus); return refundFaileMessage("pay refundStatus is not 100,refundStatus=" + refundStatus);
} }
// 如果transId为空,返回失败
if (StringUtils.isBlank(requestVo.getTransId())) {
return refundFaileMessage("transId is empty " + requestVo);
}
//查询订单详情 //查询订单详情
QueryRelationOrderByIdResponseDto queryOrderByIdResponseDto = getQueryRelationOrderByIdResponseDto(requestVo.getTransId()); QueryRelationOrderByIdResponseDto queryOrderByIdResponseDto = getQueryRelationOrderByIdResponseDto(requestVo.getTransId());
if (queryOrderByIdResponseDto.getData() == null || !Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS, queryOrderByIdResponseDto.getErrcode())) { if (queryOrderByIdResponseDto.getData() == null || !Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS, queryOrderByIdResponseDto.getErrcode())) {
...@@ -669,12 +665,15 @@ public class OrderServiceImpl implements Orderservice { ...@@ -669,12 +665,15 @@ public class OrderServiceImpl implements Orderservice {
orderBean = orderBeans.get(0); orderBean = orderBeans.get(0);
} }
} }
//无售后单,退款回掉取消订单,冲正库存等
if(CollectionUtils.isEmpty(orderBean.getRefundList())){
return cancelOrder(orderBean);
}
//订单状态 //订单状态
Integer status = orderBean.getRefundList().get(0).getStatus(); Integer orderRefundStatus = orderBean.getRefundList().get(0).getStatus();
if (!Objects.equals(RefundStatus.ALREADY_REFUND.getCode(), status)) { if (!Objects.equals(RefundStatus.ALREADY_REFUND.getCode(), orderRefundStatus)) {
//不是退款中处理不处理 //不是退款中处理不处理
return refundFaileMessage("order status is not 3,status=" + status); return refundFaileMessage("order status is not 3,status=" + orderRefundStatus);
} }
String afterSalesCode = orderBean.getRefundList().get(orderBean.getRefundList().size() - 1).getRid(); String afterSalesCode = orderBean.getRefundList().get(orderBean.getRefundList().size() - 1).getRid();
//退款流水号 //退款流水号
...@@ -972,9 +971,9 @@ public class OrderServiceImpl implements Orderservice { ...@@ -972,9 +971,9 @@ public class OrderServiceImpl implements Orderservice {
// coco订单不考略是否查询待取餐的订单,直接调用支付有礼活动 // coco订单不考略是否查询待取餐的订单,直接调用支付有礼活动
// 所以在这个地方排除掉coco,在下边单独实现 // 所以在这个地方排除掉coco,在下边单独实现
//参与支付有礼活动 //参与支付有礼活动
if (!cocoPartnerId.contains(queryOrderVo.getPartnerId())) { // if (!cocoPartnerId.contains(queryOrderVo.getPartnerId())) {
joinPayGift(queryOrderVo.getSessionId(), queryOrderResponseVo, partnerId, queryOrderVo.getPayGiftVer()); joinPayGift(queryOrderVo.getSessionId(), queryOrderResponseVo, partnerId, queryOrderVo.getPayGiftVer());
} // }
} catch (Exception e) { } catch (Exception e) {
AppLogUtil.errorLog("queryOrders_activity_error", gson.toJson(queryOrderResponseVo), gson.toJson(e), e); AppLogUtil.errorLog("queryOrders_activity_error", gson.toJson(queryOrderResponseVo), gson.toJson(e), e);
...@@ -983,16 +982,16 @@ public class OrderServiceImpl implements Orderservice { ...@@ -983,16 +982,16 @@ public class OrderServiceImpl implements Orderservice {
} }
// coco订单参与支付有礼活动 // coco订单参与支付有礼活动
if (cocoPartnerId.contains(queryOrderVo.getPartnerId())) { // if (cocoPartnerId.contains(queryOrderVo.getPartnerId())) {
queryOrderResponseVos.forEach(queryOrderResponseVo -> { // queryOrderResponseVos.forEach(queryOrderResponseVo -> {
try { // try {
joinPayGift(queryOrderVo.getSessionId(), queryOrderResponseVo, partnerId, null); // joinPayGift(queryOrderVo.getSessionId(), queryOrderResponseVo, partnerId, null);
//
} catch (Exception e) { // } catch (Exception e) {
AppLogUtil.errorLog("coco_queryOrders_activity_error", gson.toJson(queryOrdersDto), gson.toJson(queryOrderResponseVo), e); // AppLogUtil.errorLog("coco_queryOrders_activity_error", gson.toJson(queryOrdersDto), gson.toJson(queryOrderResponseVo), e);
} // }
}); // });
} // }
for (QueryOrderResponseVo orderResponseVo : queryOrderResponseVos) { for (QueryOrderResponseVo orderResponseVo : queryOrderResponseVos) {
if (OrderMarketType.GROUPB.getIndex() == orderResponseVo.getMarketingType() && StringUtils.isNotEmpty(orderResponseVo.getSpellGroupCode()) if (OrderMarketType.GROUPB.getIndex() == orderResponseVo.getMarketingType() && StringUtils.isNotEmpty(orderResponseVo.getSpellGroupCode())
...@@ -1248,25 +1247,25 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1248,25 +1247,25 @@ public class OrderServiceImpl implements Orderservice {
// coco订单不考略是否查询待取餐的订单,直接调用支付有礼活动 // coco订单不考略是否查询待取餐的订单,直接调用支付有礼活动
// 所以在这个地方排除掉coco,在下边单独实现 // 所以在这个地方排除掉coco,在下边单独实现
//参与支付有礼活动 //参与支付有礼活动
if (!cocoPartnerId.contains(queryOrderVo.getPartnerId())) { // if (!cocoPartnerId.contains(queryOrderVo.getPartnerId())) {
joinPayGift(queryOrderVo.getSessionId(), queryOrderResponseVo, partnerId, queryOrderVo.getPayGiftVer()); joinPayGift(queryOrderVo.getSessionId(), queryOrderResponseVo, partnerId, queryOrderVo.getPayGiftVer());
} // }
} catch (Exception e) { } catch (Exception e) {
AppLogUtil.errorLog("queryOrders_activity_error", gson.toJson(queryOrdersDto), gson.toJson(queryOrderResponseVo), e); AppLogUtil.errorLog("queryOrders_activity_error", gson.toJson(queryOrdersDto), gson.toJson(queryOrderResponseVo), e);
} }
}); });
} }
// coco订单参与支付有礼活动 // coco订单参与支付有礼活动
if (cocoPartnerId.contains(queryOrderVo.getPartnerId())) { // if (cocoPartnerId.contains(queryOrderVo.getPartnerId())) {
queryOrderResponseVos.forEach(queryOrderResponseVo -> { // queryOrderResponseVos.forEach(queryOrderResponseVo -> {
try { // try {
joinPayGift(queryOrderVo.getSessionId(), queryOrderResponseVo, partnerId, null); // joinPayGift(queryOrderVo.getSessionId(), queryOrderResponseVo, partnerId, null);
//
} catch (Exception e) { // } catch (Exception e) {
AppLogUtil.errorLog("coco_queryOrders_activity_error", gson.toJson(queryOrdersDto), gson.toJson(queryOrderResponseVo), e); // AppLogUtil.errorLog("coco_queryOrders_activity_error", gson.toJson(queryOrdersDto), gson.toJson(queryOrderResponseVo), e);
} // }
}); // });
} // }
for (QueryOrderResponseVo orderResponseVo : queryOrderResponseVos) { for (QueryOrderResponseVo orderResponseVo : queryOrderResponseVos) {
if (OrderMarketType.GROUPB.getIndex() == orderResponseVo.getMarketingType() && StringUtils.isNotEmpty(orderResponseVo.getSpellGroupCode()) if (OrderMarketType.GROUPB.getIndex() == orderResponseVo.getMarketingType() && StringUtils.isNotEmpty(orderResponseVo.getSpellGroupCode())
&& orders.get(0).getApportionDetails() != null) { && orders.get(0).getApportionDetails() != null) {
...@@ -1465,9 +1464,9 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1465,9 +1464,9 @@ public class OrderServiceImpl implements Orderservice {
payGitRequestDto.setVer(payGiftVer); payGitRequestDto.setVer(payGiftVer);
//coco业务默认传值1 //coco业务默认传值1
if (cocoPartnerId.contains(partnerId)) { // if (cocoPartnerId.contains(partnerId)) {
payGitRequestDto.setVer(1); // payGitRequestDto.setVer(1);
} // }
//fisherman 【ID1032306】 【订单聚合层】总部和区域活动可同时生效 //fisherman 【ID1032306】 【订单聚合层】总部和区域活动可同时生效
BaseResponse<PayGiftCheckAndJoinResponseObj> payGiftBaseResponse; BaseResponse<PayGiftCheckAndJoinResponseObj> payGiftBaseResponse;
...@@ -1632,9 +1631,10 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1632,9 +1631,10 @@ public class OrderServiceImpl implements Orderservice {
// 支付有礼 // 支付有礼
// 目前只有coco在订单详情参加支付有礼,且不检查订单的状态 // 目前只有coco在订单详情参加支付有礼,且不检查订单的状态
if (cocoPartnerId.contains(partnerId)) { // if (cocoPartnerId.contains(partnerId)) {
joinPayGift(sessionId, queryOrderResponseVo, partnerId, null); // joinPayGift(sessionId, queryOrderResponseVo, partnerId, null);
} else if (BizTypeEnum.SALE_COUPON.getBizType().equals(orderBean.getBizType())) { // } else
if (BizTypeEnum.SALE_COUPON.getBizType().equals(orderBean.getBizType())) {
joinPayGift(sessionId, queryOrderResponseVo, partnerId, payGiftVer); joinPayGift(sessionId, queryOrderResponseVo, partnerId, payGiftVer);
} }
...@@ -1921,44 +1921,44 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1921,44 +1921,44 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "订单配送中,退款请联系售后!"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "订单配送中,退款请联系售后!");
} }
// todo coco 商户校验 // coco 商户校验
if (cocoPartnerId.contains(orderByIdResponseDto.getData().getCompanyId())) { // if (cocoPartnerId.contains(orderByIdResponseDto.getData().getCompanyId())) {
// COCO 即时单不可取消 // // COCO 即时单不可取消
if (NewOrderType.GENERAL_SELF_PICKUP.getCode().equals(queryOrderByIdResponse.getData().getNewOrderType())) { // if (NewOrderType.GENERAL_SELF_PICKUP.getCode().equals(queryOrderByIdResponse.getData().getNewOrderType())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND); // return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND);
} // }
// 4,6 预约单 // // 4,6 预约单
List<Integer> expectOrderType = Lists.newArrayList( // List<Integer> expectOrderType = Lists.newArrayList(
NewOrderType.RESERVED_EXPRESS.getCode(), // NewOrderType.RESERVED_EXPRESS.getCode(),
NewOrderType.RESERVED_SELF_PICKUP.getCode()); // NewOrderType.RESERVED_SELF_PICKUP.getCode());
long time = DateUtil.addMinutes(new Date(), 15).getTime(); // long time = DateUtil.addMinutes(new Date(), 15).getTime();
//
// 外卖单 // // 外卖单
List<Integer> takeOrderType = Lists.newArrayList( // List<Integer> takeOrderType = Lists.newArrayList(
NewOrderType.RESERVED_EXPRESS.getCode(), // NewOrderType.RESERVED_EXPRESS.getCode(),
NewOrderType.GENERAL_EXPRESS.getCode()); // NewOrderType.GENERAL_EXPRESS.getCode());
long taskCancelOrderTime = DateUtil.addMinutes(new Date(), 30).getTime(); // long taskCancelOrderTime = DateUtil.addMinutes(new Date(), 30).getTime();
if (takeOrderType.contains(queryOrderByIdResponse.getData().getNewOrderType()) // if (takeOrderType.contains(queryOrderByIdResponse.getData().getNewOrderType())
&& Objects.nonNull(queryOrderByIdResponse.getData().getEstimateDeliveryCompleteTime()) // && Objects.nonNull(queryOrderByIdResponse.getData().getEstimateDeliveryCompleteTime())
&& taskCancelOrderTime > queryOrderByIdResponse.getData().getEstimateDeliveryCompleteTime()) { // && taskCancelOrderTime > queryOrderByIdResponse.getData().getEstimateDeliveryCompleteTime()) {
return ResponseUtil.error(ResponseResult.ORDER_CANCEL_ERROR_ESTIMATE_TIME); // return ResponseUtil.error(ResponseResult.ORDER_CANCEL_ERROR_ESTIMATE_TIME);
} // }
if (expectOrderType.contains(queryOrderByIdResponse.getData().getNewOrderType())) { // if (expectOrderType.contains(queryOrderByIdResponse.getData().getNewOrderType())) {
if (Objects.nonNull(orderBean.getGmtExpect()) // if (Objects.nonNull(orderBean.getGmtExpect())
&& time > orderBean.getGmtExpect()) { // && time > orderBean.getGmtExpect()) {
return ResponseUtil.error(ResponseResult.ORDER_CANCEL_ERROR_EXPECT_TIME); // return ResponseUtil.error(ResponseResult.ORDER_CANCEL_ERROR_EXPECT_TIME);
} // }
// todo coco 预约单直接退款 // // todo coco 预约单直接退款
BaseResponse baseResponse = partnerNoTakeOrder(orderRefundVo, orderBean, orderId, AfterSalesType.USER_CANCEL, true); // BaseResponse baseResponse = partnerNoTakeOrder(orderRefundVo, orderBean, orderId, AfterSalesType.USER_CANCEL, true);
if (baseResponse != null) { // if (baseResponse != null) {
return baseResponse; // return baseResponse;
} // }
// 删除订单 通知活动添加商品库存 // // 删除订单 通知活动添加商品库存
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus(), orderBean.getPayStatus()); // orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus(), orderBean.getPayStatus());
return ResponseUtil.success(); // return ResponseUtil.success();
} // }
//
} // }
// fisherman 预定单前置校验-> bizType=7 // fisherman 预定单前置校验-> bizType=7
if (BizTypeEnum.ADVANCE_ORDER.getBizType().compareTo(orderBean.getBizType()) == 0) { if (BizTypeEnum.ADVANCE_ORDER.getBizType().compareTo(orderBean.getBizType()) == 0) {
// 预定时间 前一天都可退款 // 预定时间 前一天都可退款
...@@ -3325,23 +3325,24 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3325,23 +3325,24 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.success(configVo); return ResponseUtil.success(configVo);
} }
/** /**
* 标准点餐参数校验 * 支付退款成功,订单未创建售后单
*
* @param createOrderVo
* @return * @return
*/ */
private BaseResponse checkStandardParamInfo(CreateOrderVo createOrderVo) { private String cancelOrder(OrderBeanV1 orderBean) {
if (StringUtils.isEmpty(createOrderVo.getSessionId())) { CancelOrderRequest cancelOrderRequest = orderAdapter.convent2CancelOrderRequest(orderBean.getOid(),
return ResponseUtil.error(ResponseResult.CREATE_ORDER_CHECK_SESSION_ERROR); orderBean.getCompanyId(), AfterSalesType.OTHER, "退款回掉取消订单", LogThreadLocal.getTrackingNo(), null);
} cancelOrderRequest.setOperator("退款成功回掉");
if (StringUtils.isEmpty(createOrderVo.getShopId())) { cancelOrderRequest.setPartnerId(orderBean.getCompanyId());
return ResponseUtil.error(ResponseResult.CREATE_ORDER_CHECK_STORE_ERROR); //退款成功
} cancelOrderRequest.setCreateEvent(AfterSalesOrderCreateEventEnum.REFUND_COMPLETE.getCreateEvent());
if (createOrderVo.getOrderType() == null) { cancelOrderRequest.setReqRemark("");
return ResponseUtil.error(ResponseResult.CREATE_ORDER_CHECK_ORDERTYPE_ERROR); cancelOrderRequest.setRefundDeliveryAmount(true);
} BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderCancel(cancelOrderRequest);
return ResponseUtil.success();
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
return newSendPaySuccessNoticeMessage();
} }
} }
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