Commit 9e34ca73 by 胡敬轩

Merge remote-tracking branch 'remotes/origin/bugfix/多卡支付余额为0支付方式错误' into qa

# Conflicts:
#	order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
parents 37296fe0 2adf13e8
......@@ -16,6 +16,7 @@ import com.freemud.application.sdk.api.ordercenter.entities.v1.*;
import com.freemud.application.sdk.api.ordercenter.enums.*;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderSourceV1;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderTypeV1;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.RefundStatusV1;
import com.freemud.application.sdk.api.ordercenter.request.*;
import com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderRequest;
import com.freemud.application.sdk.api.ordercenter.request.create.*;
......@@ -190,7 +191,25 @@ public class OrderSdkAdapter {
var1.setOrderClient(orderBean.getOrderClient());
if (orderBean.getRefundList() != null && orderBean.getRefundList().size() != 0) {
//新订单服务需要售后单code
var1.setAfterSalesCode(orderBean.getRefundList().get(orderBean.getRefundList().size() - 1).getRid());
// var1.setAfterSalesCode(orderBean.getRefundList().get(orderBean.getRefundList().size() - 1).getRid());
// fisherman 按时间排序 拿最后一个
List<RefundBeanV1> refundList = orderBean.getRefundList();
Collections.sort(refundList, new Comparator<RefundBeanV1>() {
@Override
public int compare(RefundBeanV1 o1, RefundBeanV1 o2) {
Long aLong = Long.valueOf(o1.getCreateTime());
Long bLong = Long.valueOf(o2.getCreateTime());
if (bLong > aLong) {
return 1;
}else if (bLong<aLong){
return -1;
}else {
return 0;
}
}
});
var1.setAfterSalesCode(refundList.get(0).getRid());
}
return var1;
}
......
......@@ -31,7 +31,8 @@ import cn.freemud.entities.dto.delivery.*;
import cn.freemud.entities.dto.ecology.SendMessageRequest;
import cn.freemud.entities.dto.openplatform.QueryInvoiceConfigRequest;
import cn.freemud.entities.dto.order.*;
import cn.freemud.entities.dto.pay.*;
import cn.freemud.entities.dto.pay.InvoiceCreateRequest;
import cn.freemud.entities.dto.pay.OrderInvoiceRequest;
import cn.freemud.entities.dto.product.AttributeValue;
import cn.freemud.entities.dto.product.GroupDetail;
import cn.freemud.entities.dto.product.ProductAttributeGroup;
......@@ -100,6 +101,7 @@ import com.freemud.application.sdk.api.ordercenter.entities.v1.RefundBeanV1;
import com.freemud.application.sdk.api.ordercenter.enums.*;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderStatusV1;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderTypeV1;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.RefundStatusV1;
import com.freemud.application.sdk.api.ordercenter.request.*;
import com.freemud.application.sdk.api.ordercenter.request.carpark.ParkingOrderCreateReq;
import com.freemud.application.sdk.api.ordercenter.response.BaseDownLoadResponse;
......@@ -107,7 +109,6 @@ import com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp;
import com.freemud.application.sdk.api.ordercenter.response.OrderCountResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.AfterSalesOrderResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderPayItemResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp;
import com.freemud.application.sdk.api.ordercenter.service.OrderDownLoadSdkService;
import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService;
......@@ -3571,7 +3572,7 @@ public class OrderServiceImpl implements Orderservice {
if (CollectionUtils.isEmpty(orderRefundVo.getOrderCodes())) {
return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR.getCode(), "未传递订单号");
}
Map<String, String> resultMap = new HashMap<>();
Map<String, String> resultMap = new LinkedHashMap<>();
orderRefundVo.getOrderCodes().forEach(orderCode -> {
try {
BaseResponse resp = this.batchDevelopRefund(orderRefundVo, orderCode);
......@@ -3661,43 +3662,66 @@ public class OrderServiceImpl implements Orderservice {
// 未接单的 请用户直接操作C端小程序处理
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "订单未接单,请指引用户C端操作退款!");
} else {
CancelOrderRequest cancelOrderRequest = new CancelOrderRequest();
cancelOrderRequest.setPartnerId(orderBean.getCompanyId());
cancelOrderRequest.setStoreId(orderBean.getShopId());
cancelOrderRequest.setOrderId(orderBean.getOid());
cancelOrderRequest.setOrderClient(Integer.parseInt(orderBean.getOrderClient()));
boolean isCreateAfter = true;
// 查询是否有未处理的售后单,如果有 直接调用请求,
if (CollectionUtils.isNotEmpty(orderBean.getRefundList())) {
List<RefundBeanV1> refundList = orderBean.getRefundList();
Collections.sort(refundList, (o1, o2) -> {
Long aLong = Long.valueOf(o1.getCreateTime());
Long bLong = Long.valueOf(o2.getCreateTime());
if (bLong > aLong) {
return 1;
}else if (bLong < aLong){
return -1;
}else {
return 0;
}
});
RefundBeanV1 refundBeanV11 = refundList.get(0);
isCreateAfter = refundBeanV11.getStatus().compareTo(RefundStatusV1.APPLY_REFUND.getCodeV1()) != 0;
}
//传入的售后单类型为:2:售中用户取消 8:售后申请
cancelOrderRequest.setAfterSalesType(AfterSalesType.USER_CANCEL);
if (NewOrderStatus.COMPLETE.getIndex().equals(orderBean.getStatusV2())) {
cancelOrderRequest.setAfterSalesType(AfterSalesType.USER_SALE_RETURN);
if (isCreateAfter) {
CancelOrderRequest cancelOrderRequest = new CancelOrderRequest();
cancelOrderRequest.setPartnerId(orderBean.getCompanyId());
cancelOrderRequest.setStoreId(orderBean.getShopId());
cancelOrderRequest.setOrderId(orderBean.getOid());
cancelOrderRequest.setOrderClient(Integer.parseInt(orderBean.getOrderClient()));
//传入的售后单类型为:2:售中用户取消 8:售后申请
cancelOrderRequest.setAfterSalesType(AfterSalesType.USER_CANCEL);
if (NewOrderStatus.COMPLETE.getIndex().equals(orderBean.getStatusV2())) {
cancelOrderRequest.setAfterSalesType(AfterSalesType.USER_SALE_RETURN);
}
cancelOrderRequest.setReason(orderRefundVo.getReason());
cancelOrderRequest.setReqRemark(orderRefundVo.getReason());
// 商城订单 增加拓展信息
CancelOrderRequest.AfterSalesOrderExtInfoReq salesOrderExtInfoReq = new CancelOrderRequest.AfterSalesOrderExtInfoReq();
salesOrderExtInfoReq.setRefundMode(orderRefundVo.getRefundMode());
cancelOrderRequest.setExtInfoReq(salesOrderExtInfoReq);
cancelOrderRequest.setOperator(orderRefundVo.getOperator());
cancelOrderRequest.setTrackingNo(LogThreadLocal.getTrackingNo());
cancelOrderRequest.setRefundDeliveryAmount(isRefundDeliveryFee);
BaseOrderResponse baseResponseDto = orderCenterSdkService.orderCancel(cancelOrderRequest);
if (!RESPONSE_SUCCESS_CODE.equals(baseResponseDto.getErrcode())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), baseResponseDto.getErrmsg());
}
if (orderBean.getAmount() > 0) {
sendPosMessage(orderBean.getCompanyId(), orderBean.getShopId());
}
// 兼容下面的方法
OrderRefundVo refundVo = new OrderRefundVo();
refundVo.setReason(orderRefundVo.getReason());
refundVo.setRemarks(orderRefundVo.getReason());
//通知小助手发送申请退款公众号订阅消息
sendApplyRefundSubscriptionNotice(orderBean, refundVo);
//已接单可发起退款申请,查询门店有无云打印机,有则打印退款申请小票
printApplyRefundSmallTicket(orderBean, refundVo);
}
cancelOrderRequest.setReason(orderRefundVo.getReason());
cancelOrderRequest.setReqRemark(orderRefundVo.getReason());
// 商城订单 增加拓展信息
CancelOrderRequest.AfterSalesOrderExtInfoReq salesOrderExtInfoReq = new CancelOrderRequest.AfterSalesOrderExtInfoReq();
salesOrderExtInfoReq.setRefundMode(orderRefundVo.getRefundMode());
cancelOrderRequest.setExtInfoReq(salesOrderExtInfoReq);
cancelOrderRequest.setOperator(orderBean.getUserName());
cancelOrderRequest.setTrackingNo(LogThreadLocal.getTrackingNo());
cancelOrderRequest.setRefundDeliveryAmount(isRefundDeliveryFee);
BaseOrderResponse baseResponseDto = orderCenterSdkService.orderCancel(cancelOrderRequest);
if (!RESPONSE_SUCCESS_CODE.equals(baseResponseDto.getErrcode())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), baseResponseDto.getErrmsg());
}
if (orderBean.getAmount() > 0) {
sendPosMessage(orderBean.getCompanyId(), orderBean.getShopId());
}
// 兼容下面的方法
OrderRefundVo refundVo = new OrderRefundVo();
refundVo.setReason(orderRefundVo.getReason());
refundVo.setRemarks(orderRefundVo.getReason());
//通知小助手发送申请退款公众号订阅消息
sendApplyRefundSubscriptionNotice(orderBean, refundVo);
//已接单可发起退款申请,查询门店有无云打印机,有则打印退款申请小票
printApplyRefundSmallTicket(orderBean, refundVo);
}
// 调用oms的 同意退款操作
OrderManagerRequest request = new OrderManagerRequest();
......
......@@ -1627,7 +1627,7 @@ public class PayServiceImpl {
orderPayResponse.setPayOrder(payBean);
}
}
if (!allCardPay) {
if (!allCardPay && payPlatforms.size() > 1) {
orderPayResponse.setPayChannelType(PayChannelType.COMB);
}
//现金线上支付
......
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