Commit 637cf349 by zhiheng.zhang

Merge remote-tracking branch 'origin/qa' into qa

parents e1fe94ff 52a40474
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,7 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>cn.freemud</groupId> <groupId>cn.freemud</groupId>
<version>1.4.31-SNAPSHOT</version> <version>1.6.7-SNAPSHOT</version>
<artifactId>ordercenter-sdk</artifactId> <artifactId>ordercenter-sdk</artifactId>
</dependency> </dependency>
<dependency> <dependency>
......
...@@ -34,8 +34,10 @@ import com.freemud.application.sdk.api.log.LogThreadLocal; ...@@ -34,8 +34,10 @@ import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.log.ThirdPartyLog; import com.freemud.application.sdk.api.log.ThirdPartyLog;
import com.freemud.application.sdk.api.ordercenter.enums.NewOrderStatus; import com.freemud.application.sdk.api.ordercenter.enums.NewOrderStatus;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType; import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.application.sdk.api.ordercenter.enums.PayChannelType;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderItemResp; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderItemResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderPayItemReqs;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp;
import com.freemud.sdk.api.assortment.orderdistributor.request.DisRequest; import com.freemud.sdk.api.assortment.orderdistributor.request.DisRequest;
import com.freemud.sdk.api.assortment.orderdistributor.service.OrderDistributionService; import com.freemud.sdk.api.assortment.orderdistributor.service.OrderDistributionService;
...@@ -51,10 +53,7 @@ import org.springframework.context.ApplicationContext; ...@@ -51,10 +53,7 @@ import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@Component @Component
@Slf4j @Slf4j
...@@ -221,12 +220,23 @@ public class OrderCallBackMQService { ...@@ -221,12 +220,23 @@ public class OrderCallBackMQService {
AssortmentOpenPlatformWxapp wxApp = openPlatformWxappManager.findByPartnerIdAndWxappId(userLoginInfoDto.getPartnerId(), userLoginInfoDto.getWxAppid()); AssortmentOpenPlatformWxapp wxApp = openPlatformWxappManager.findByPartnerIdAndWxappId(userLoginInfoDto.getPartnerId(), userLoginInfoDto.getWxAppid());
wechatReportOrderDto.setSubMchId(wxApp == null ? "" : wxApp.getMchId()); wechatReportOrderDto.setSubMchId(wxApp == null ? "" : wxApp.getMchId());
} }
// 混合支付
Integer userAmount = 0;
if (orderInfoReqs.getOrderPayItemCreateReqList().size()>0) {
OrderPayItemReqs orderPayItemReqs = orderInfoReqs.getOrderPayItemCreateReqList()
.stream()
.filter(s -> s.getPayChannelType().equals(PayChannelType.WECHAT.getIndex()) || s.getPayChannelType().equals(PayChannelType.ALIPAY.getIndex()))
.findFirst().orElse(null);
if (orderPayItemReqs!=null) {
userAmount = orderPayItemReqs.getPayAmount().intValue();
}
}
wechatReportOrderDto.setPayVoucher(orderInfoReqs.getPayRequestNo()); wechatReportOrderDto.setPayVoucher(orderInfoReqs.getPayRequestNo());
wechatReportOrderDto.setSubAppId(userLoginInfoDto.getWxAppid()); wechatReportOrderDto.setSubAppId(userLoginInfoDto.getWxAppid());
wechatReportOrderDto.setOutShopNo(orderInfoReqs.getStoreId()); wechatReportOrderDto.setOutShopNo(orderInfoReqs.getStoreId());
wechatReportOrderDto.setSubOpenId(userLoginInfoDto.getOpenId()); wechatReportOrderDto.setSubOpenId(userLoginInfoDto.getOpenId());
wechatReportOrderDto.setLoginToken(userLoginInfoDto.getSessionKey()); wechatReportOrderDto.setLoginToken(userLoginInfoDto.getSessionKey());
wechatReportOrderDto.setUserAmount(orderInfoReqs.getSettlementAmount().intValue()); wechatReportOrderDto.setUserAmount(userAmount >0 ? userAmount :orderInfoReqs.getSettlementAmount().intValue());
wechatReportOrderDto.setOutOrderNo(orderInfoReqs.getOrderCode()); wechatReportOrderDto.setOutOrderNo(orderInfoReqs.getOrderCode());
wechatReportOrderDto.setTransactionId(orderExtInfoDto.getPaid_no()); wechatReportOrderDto.setTransactionId(orderExtInfoDto.getPaid_no());
wechatReportOrderDto.setOutTradeNo(orderExtInfoDto.getPayTransId()); wechatReportOrderDto.setOutTradeNo(orderExtInfoDto.getPayTransId());
...@@ -245,7 +255,7 @@ public class OrderCallBackMQService { ...@@ -245,7 +255,7 @@ public class OrderCallBackMQService {
} }
} }
} }
wechatReportOrderDto.setTotalAmount(discountAmount+orderInfoReqs.getSettlementAmount().intValue()); wechatReportOrderDto.setTotalAmount(discountAmount+(userAmount >0 ? userAmount : orderInfoReqs.getSettlementAmount().intValue()));
wechatReportOrderDto.setDiscountAmount(discountAmount); wechatReportOrderDto.setDiscountAmount(discountAmount);
//订单状态 (2—用户下单;1—支付完成) //订单状态 (2—用户下单;1—支付完成)
wechatReportOrderDto.setStatus(NewOrderStatus.PENDING_PAYMENT.getIndex().equals(orderInfoReqs.getOrderState()) ? 2 : 1); wechatReportOrderDto.setStatus(NewOrderStatus.PENDING_PAYMENT.getIndex().equals(orderInfoReqs.getOrderState()) ? 2 : 1);
......
...@@ -75,6 +75,7 @@ import com.freemud.application.sdk.api.deliverycenter.service.DeliveryService; ...@@ -75,6 +75,7 @@ import com.freemud.application.sdk.api.deliverycenter.service.DeliveryService;
import com.freemud.application.sdk.api.log.ApiLog; import com.freemud.application.sdk.api.log.ApiLog;
import com.freemud.application.sdk.api.log.ErrorLog; import com.freemud.application.sdk.api.log.ErrorLog;
import com.freemud.application.sdk.api.log.LogThreadLocal; import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.ordercenter.entities.PayItem;
import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType; import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType; import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.application.sdk.api.ordercenter.enums.PayChannelType; import com.freemud.application.sdk.api.ordercenter.enums.PayChannelType;
...@@ -2373,29 +2374,6 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2373,29 +2374,6 @@ public class OrderServiceImpl implements Orderservice {
boolean tigger = false; boolean tigger = false;
OrderPayResponse orderPayResponse = new OrderPayResponse(); OrderPayResponse orderPayResponse = new OrderPayResponse();
/*
SVCCardAmountRequest svcRequest = new SVCCardAmountRequest();
svcRequest.setPartnerId(orderBean.getCompanyId());
svcRequest.setCardCodes(Arrays.asList(cardCode));
//查询svc卡余额
com.freemud.application.sdk.api.base.BaseResponse<SVCCardAmountResponse> svcCardAmount = paymentNewService.querySVCCardAmount(svcRequest, trackingNo);
if (svcCardAmount == null
|| !ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(svcCardAmount.getCode())
|| svcCardAmount.getData().getData() == null
|| CollectionUtils.isEmpty(svcCardAmount.getData().getData().getCardSimpleInfos())) {
orderPayResponse.setMsg(Objects.isNull(svcCardAmount) ? "获取svc卡余额异常" : svcCardAmount.getMessage());
return orderPayResponse;
}
// 校验金额
Integer svcAmount = svcCardAmount.getData().getData().getCardSimpleInfos().get(0).getAmount() ;
Integer svcVAmount = svcCardAmount.getData().getData().getCardSimpleInfos().get(0).getVamount() ;
//todo : svc卡的金额小于订单金额
if(svcAmount + svcVAmount >0 && totalAmount> svcAmount + svcVAmount){
tigger = true;
}
*/
tigger = true; tigger = true;
//混合支付 //混合支付
if (tigger && StringUtils.isNotBlank(channel)) { if (tigger && StringUtils.isNotBlank(channel)) {
...@@ -3362,6 +3340,17 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3362,6 +3340,17 @@ public class OrderServiceImpl implements Orderservice {
orderPayResponse.setPartnerId(orderBean.getCompanyId()); orderPayResponse.setPartnerId(orderBean.getCompanyId());
orderPayResponse.setOrderId(orderBean.getOid()); orderPayResponse.setOrderId(orderBean.getOid());
orderPayResponse.setPayMode(PayChannelType.SVC.getEbcode()); orderPayResponse.setPayMode(PayChannelType.SVC.getEbcode());
for (CombPayResponse.PayPlatform pt : payPlatforms) {
PayItem payItem = new PayItem();
payItem.setFmTradeNo(pt.getFmTradeNo());
payItem.setStoreId(storeId);
payItem.setPayChannelType(PayChannelType.getByEbcode(pt.getEbCode()).getIndex().intValue());
payItem.setPayChannelName(PayChannelType.getByEbcode(pt.getEbCode()).getName());
payItem.setTransId(pt.getTransId());
payItem.setPartnerId(combPayRequest.getPartner_id());
payItem.setPayAmount(new BigDecimal(pt.getPayAmount()));
orderPayResponse.getPayItem().add(payItem);
}
} }
return orderPayResponse; return orderPayResponse;
......
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