Commit 54d8ced0 by 周晓航

Merge branch 'KA-技术优化-支付成功回调处理订单已取消的场景' into qa

# Conflicts:
#	order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
parents ec598668 fb1bbf71
...@@ -18,7 +18,7 @@ import cn.freemud.entities.vo.order.PaymentConfigVo; ...@@ -18,7 +18,7 @@ import cn.freemud.entities.vo.order.PaymentConfigVo;
import cn.freemud.entities.vo.order.PlugInParameter; import cn.freemud.entities.vo.order.PlugInParameter;
import cn.freemud.enums.*; import cn.freemud.enums.*;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import cn.freemud.management.entities.dto.request.order.RefundSuccessCallbackVo; import cn.freemud.management.service.handle.PaymentHandle;
import cn.freemud.management.service.handle.SaasOrderHandle; import cn.freemud.management.service.handle.SaasOrderHandle;
import cn.freemud.management.thirdparty.OrderCallbackClient; import cn.freemud.management.thirdparty.OrderCallbackClient;
import cn.freemud.manager.OpenPlatformOrderConfigManager; import cn.freemud.manager.OpenPlatformOrderConfigManager;
...@@ -169,6 +169,8 @@ public class OrderAdapterServiceImpl { ...@@ -169,6 +169,8 @@ public class OrderAdapterServiceImpl {
private EcologyProgramApplicationClient ecologyProgramApplicationClient; private EcologyProgramApplicationClient ecologyProgramApplicationClient;
@Autowired @Autowired
private EmailAlertService emailAlertService; private EmailAlertService emailAlertService;
@Autowired
private PaymentHandle paymentHandle;
//获取下单实现对象 //获取下单实现对象
private OrderFactoryService getCreateOrderBean(AssortmentCustomerInfoVo assortmentCustomerInfoVo, CreateOrderVo createOrderVo) { private OrderFactoryService getCreateOrderBean(AssortmentCustomerInfoVo assortmentCustomerInfoVo, CreateOrderVo createOrderVo) {
...@@ -327,10 +329,17 @@ public class OrderAdapterServiceImpl { ...@@ -327,10 +329,17 @@ public class OrderAdapterServiceImpl {
return orderAdapter.sendPaySuccessNoticeMessage(); return orderAdapter.sendPaySuccessNoticeMessage();
} }
Integer client = Integer.parseInt(orderBean.getOrderClient()); Integer client = Integer.parseInt(orderBean.getOrderClient());
//若是app订单超时回调了 订单已取消则做退款处理 //若是订单超时回调了 订单已取消则做退款处理
if (NewOrderStatus.CLOSED.getIndex().equals(orderBean.getStatusV2()) && Arrays.asList(autoRefundClient.split(",")).contains(client.toString()) if (NewOrderStatus.CLOSED.getIndex().equals(orderBean.getStatusV2())
&& Arrays.asList(autoRefundClient.split(",")).contains(client.toString())
&& Arrays.asList(autoRefundPartnerId.split(",")).contains(orderBean.getCompanyId())) { && Arrays.asList(autoRefundPartnerId.split(",")).contains(orderBean.getCompanyId())) {
orderServiceImpl.timeOutRefund(orderBean); cn.freemud.management.entities.dto.request.order.OrderManagerRequest request = new cn.freemud.management.entities.dto.request.order.OrderManagerRequest();
request.setOrderId(orderBean.getOid());
request.setPartnerId(orderBean.getCompanyId());
request.setReason("处理订单已关闭,支付未及时回调");
request.setOperator("order-application-service");
// 直接退款就行, 其他的资产已经被退回
paymentHandle.getCommonPayRefundResponse(request,orderBean);
return orderAdapter.sendPaySuccessNoticeMessage(); return orderAdapter.sendPaySuccessNoticeMessage();
} }
// 支付成功处理 // 支付成功处理
......
...@@ -2317,7 +2317,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2317,7 +2317,7 @@ public class OrderServiceImpl implements Orderservice {
messageTemplateRequest.setMessageEventType(messageEventType); messageTemplateRequest.setMessageEventType(messageEventType);
com.freemud.application.sdk.api.base.BaseResponse baseResponse = this.messageTemplatePushService.sendTemplateMsg(messageTemplateRequest); com.freemud.application.sdk.api.base.BaseResponse baseResponse = this.messageTemplatePushService.sendTemplateMsg(messageTemplateRequest);
if (!Objects.equals(baseResponse.getCode(), ResponseResultEnum.SUCCESS.getCode())) { if (!Objects.equals(baseResponse.getCode(), ResponseResultEnum.SUCCESS.getCode())) {
AppLogUtil.errorLog("发送支付成功模板消息 失败", orderBean.getOid(), JSON.toJSONString(baseResponse), null); AppLogUtil.printLog("发送支付成功模板消息 失败", orderBean.getOid(), JSON.toJSONString(baseResponse));
} }
} catch (Exception e) { } catch (Exception e) {
AppLogUtil.errorLog("sendTemplateMsg_error", JSONObject.toJSONString(orderBean), JSONObject.toJSONString(messageTemplateRequest), e); AppLogUtil.errorLog("sendTemplateMsg_error", JSONObject.toJSONString(orderBean), JSONObject.toJSONString(messageTemplateRequest), e);
...@@ -2808,30 +2808,23 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2808,30 +2808,23 @@ public class OrderServiceImpl implements Orderservice {
if (abState.equals(orderBean.getAbnormalState())) { if (abState.equals(orderBean.getAbnormalState())) {
return; return;
} }
com.freemud.application.sdk.api.base.BaseResponse<OrderRefundResponse> response = null; OrderManagerRequest request = new OrderManagerRequest();
Long refundId = System.currentTimeMillis(); request.setReason("订单已关闭,支付未及时回调");
OrderExtInfoDto orderExtInfoDTO = gson.fromJson(orderBean.getExtInfo(), OrderExtInfoDto.class); Integer state = com.freemud.sdk.api.assortment.order.enums.PayRefundStatus.SUCCESS.getCode();
if (orderExtInfoDTO == null || StringUtils.isBlank(orderExtInfoDTO.getFmId())) { PayRefundResponse commonPayRefundResponse = paymentHandle.getCommonPayRefundResponse(request, orderBean);
return; com.freemud.sdk.api.assortment.order.enums.PayRefundStatus payRefundStatus = commonPayRefundResponse.getPayRefundStatus();
}
Integer state = PayRefundStatus.SUCCESS.getCode();
orderBean.setPayVoucher(orderExtInfoDTO.getFmId());
SdkUpdateAbnormalState sdkUpdateAbnormalState = new SdkUpdateAbnormalState(); SdkUpdateAbnormalState sdkUpdateAbnormalState = new SdkUpdateAbnormalState();
String desc = "支付未及时回调"; String desc = "支付未及时回调";
switch (payRefundStatus){
PayRefundRequestDto orderPayRefundRequest = orderAdapter.getOrderPayRefundRequest(orderBean, refundId, orderBean.getOid()); case SUCCESS:
// TODO: 22-6-23 待联调修改
response = payServiceImpl.orderRefund(orderPayRefundRequest);
// OrderManagerRequest request = new OrderManagerRequest();
// request.setReason(desc);
// PayRefundResponse response = payServiceImpl.payRefundCommon(request, orderBean);
if (response != null && noPay.equals(response.getCode())) {
return;
}
if (response != null || state.equals(response.getData().getRefundStatus())) {
sdkUpdateAbnormalState.setAbnormalDesc(desc + ",退款成功"); sdkUpdateAbnormalState.setAbnormalDesc(desc + ",退款成功");
} else { break;
case FAIL:
sdkUpdateAbnormalState.setAbnormalDesc(desc + ",退款失败"); sdkUpdateAbnormalState.setAbnormalDesc(desc + ",退款失败");
break;
default:
sdkUpdateAbnormalState.setAbnormalDesc(desc + ",等待支付回调中");
} }
sdkUpdateAbnormalState.setPartnerId(orderBean.getCompanyId()); sdkUpdateAbnormalState.setPartnerId(orderBean.getCompanyId());
sdkUpdateAbnormalState.setAbnormalState(4); sdkUpdateAbnormalState.setAbnormalState(4);
......
...@@ -121,7 +121,7 @@ public class CalculationSharingEquallyService { ...@@ -121,7 +121,7 @@ public class CalculationSharingEquallyService {
Goods find = null; Goods find = null;
for (CartGoods product : shoppingCartGoodsResponseVo.getProducts()) { for (CartGoods product : shoppingCartGoodsResponseVo.getProducts()) {
if (goods!=null) { if (goods!=null) {
find = goods.stream().filter((k) -> k.getCartGoodsUid().equals(product.getCartGoodsUid())).findFirst().get(); find = goods.stream().filter((k) -> k.getCartGoodsUid().equals(product.getCartGoodsUid())).findFirst().orElseGet(null);
} }
ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto = calculationCommonService.convertCartGoods2DetailGoodsList(find, product,shoppingCartInfoRequestVo.getPartnerId()); ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto = calculationCommonService.convertCartGoods2DetailGoodsList(find, product,shoppingCartInfoRequestVo.getPartnerId());
cartGoodsDetailDtoList.add(cartGoodsDetailDto); cartGoodsDetailDtoList.add(cartGoodsDetailDto);
......
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