Commit fae1b590 by ping.wu

支付宝下单

parent 8cce065b
...@@ -94,7 +94,7 @@ public class OrderSdkAdapter { ...@@ -94,7 +94,7 @@ public class OrderSdkAdapter {
request.setSettlementAmount(requestVO.getAmount()); request.setSettlementAmount(requestVO.getAmount());
//实际支付现金金额,扣除支付自生优惠,单位分 //实际支付现金金额,扣除支付自生优惠,单位分
request.setActualPayAmount(requestVO.getAmount()); request.setActualPayAmount(requestVO.getAmount());
request.setOrderClient(OrderClientType.SAAS.getIndex()); request.setOrderClient(requestVO.getOrderClient().getIndex());
//订单业务类型 1:普通订单 2:虚拟订单 //订单业务类型 1:普通订单 2:虚拟订单
request.setBizType(1); request.setBizType(1);
request.setNote(requestVO.getRemark()); request.setNote(requestVO.getRemark());
...@@ -368,6 +368,7 @@ public class OrderSdkAdapter { ...@@ -368,6 +368,7 @@ public class OrderSdkAdapter {
orderClients.add(OrderClientType.WAI_MEAL.getIndex()); orderClients.add(OrderClientType.WAI_MEAL.getIndex());
} }
} }
orderClients.add(OrderClientType.ALIPAY.getIndex());
orderConditionsReq.setOrderClients(orderClients); orderConditionsReq.setOrderClients(orderClients);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try { try {
......
package com.freemud.sdk.api.assortment.order.request.order; package com.freemud.sdk.api.assortment.order.request.order;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq; import com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq;
import com.freemud.application.sdk.api.ordercenter.request.create.OrderTaskReq; import com.freemud.application.sdk.api.ordercenter.request.create.OrderTaskReq;
import com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest; import com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest;
...@@ -77,6 +78,8 @@ public class BaseCreateOrderRequest extends BaseConfig { ...@@ -77,6 +78,8 @@ public class BaseCreateOrderRequest extends BaseConfig {
* 支付渠道名称 * 支付渠道名称
*/ */
private String payChannelName; private String payChannelName;
private OrderClientType orderClient;
/** /**
* 订单来源 * 订单来源
*/ */
......
...@@ -83,5 +83,7 @@ public class OrderPayResponse { ...@@ -83,5 +83,7 @@ public class OrderPayResponse {
private String timestamp; private String timestamp;
private String signType; private String signType;
private String aliPayOrder;
} }
} }
...@@ -109,7 +109,7 @@ ...@@ -109,7 +109,7 @@
<dependency> <dependency>
<artifactId>assortment-data-manager</artifactId> <artifactId>assortment-data-manager</artifactId>
<groupId>com.freemud.sdk.api.assortment</groupId> <groupId>com.freemud.sdk.api.assortment</groupId>
<version>4.1.3.RELEASE</version> <version>4.1.3-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>cn.freemud.commons</groupId> <groupId>cn.freemud.commons</groupId>
...@@ -310,7 +310,7 @@ ...@@ -310,7 +310,7 @@
<dependency> <dependency>
<groupId>com.freemud.sdk.api.assortment</groupId> <groupId>com.freemud.sdk.api.assortment</groupId>
<artifactId>assortment-payment-sdk</artifactId> <artifactId>assortment-payment-sdk</artifactId>
<version>2.3.2-SNAPSHOT</version> <version>2.4.1-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>tk.mybatis</groupId> <groupId>tk.mybatis</groupId>
......
...@@ -2215,23 +2215,23 @@ public class OrderAdapter { ...@@ -2215,23 +2215,23 @@ public class OrderAdapter {
/** /**
* 获取自定义信息 * 获取自定义信息
*/ */
public OrderExtInfoDTO getOrderExtInfo(OrderPayResponse orderPayResponse, OrderExtInfoDTO orderExtInfoDto) { // public OrderExtInfoDTO getOrderExtInfo(OrderPayResponse orderPayResponse, OrderExtInfoDTO orderExtInfoDto) {
orderExtInfoDto.setOpenid(orderPayResponse.getOpenId()); // orderExtInfoDto.setOpenid(orderPayResponse.getOpenId());
String prepayId = ""; // String prepayId = "";
// StringUtils 依赖修改 // // StringUtils 依赖修改
if (orderPayResponse.getPayOrder() != null && !StringUtils.isEmpty(orderPayResponse.getPayOrder().getPackageX())) { // if (orderPayResponse.getPayOrder() != null && !StringUtils.isEmpty(orderPayResponse.getPayOrder().getPackageX())) {
String[] prepayIds = orderPayResponse.getPayOrder().getPackageX().split("="); // String[] prepayIds = orderPayResponse.getPayOrder().getPackageX().split("=");
prepayId = prepayIds.length > 1 ? prepayIds[1] : ""; // prepayId = prepayIds.length > 1 ? prepayIds[1] : "";
} // }
orderExtInfoDto.setPrepayId(prepayId); // orderExtInfoDto.setPrepayId(prepayId);
// orderExtInfoDto.setAppid(orderPayResponse.getWxAppid()); //// orderExtInfoDto.setAppid(orderPayResponse.getWxAppid());
// orderExtInfoDto.setServiceTime(orderEditInfo.getServiceTime()); //// orderExtInfoDto.setServiceTime(orderEditInfo.getServiceTime());
// orderExtInfoDto.setPushOrderTime(orderEditInfo.getPushOrderTime()); //// orderExtInfoDto.setPushOrderTime(orderEditInfo.getPushOrderTime());
// orderExtInfoDto.setSessionId(orderEditInfo.getSessionId()); //// orderExtInfoDto.setSessionId(orderEditInfo.getSessionId());
// orderExtInfoDto.setVersion(orderEditInfo.getVersion()); //// orderExtInfoDto.setVersion(orderEditInfo.getVersion());
// orderExtInfoDto.setRuleId(orderEditInfo.getRuleId()); //// orderExtInfoDto.setRuleId(orderEditInfo.getRuleId());
return orderExtInfoDto; // return orderExtInfoDto;
} // }
/** /**
* 转换前端支付需要的信息 * 转换前端支付需要的信息
...@@ -2239,19 +2239,19 @@ public class OrderAdapter { ...@@ -2239,19 +2239,19 @@ public class OrderAdapter {
* @param orderPayResponse * @param orderPayResponse
* @return * @return
*/ */
public CreateOrderFlowResponse.CreateOrderResponseVo convent2CreateOrderResponseVo(OrderPayResponse orderPayResponse) { // public CreateOrderFlowResponse.CreateOrderResponseVo convent2CreateOrderResponseVo(OrderPayResponse orderPayResponse) {
CreateOrderFlowResponse.CreateOrderResponseVo createOrderResponseVo = new CreateOrderFlowResponse.CreateOrderResponseVo(); // CreateOrderFlowResponse.CreateOrderResponseVo createOrderResponseVo = new CreateOrderFlowResponse.CreateOrderResponseVo();
createOrderResponseVo.setOrderId(orderPayResponse.getOrderId()); // createOrderResponseVo.setOrderId(orderPayResponse.getOrderId());
createOrderResponseVo.setWxAppid(orderPayResponse.getWxAppid()); // createOrderResponseVo.setWxAppid(orderPayResponse.getWxAppid());
createOrderResponseVo.setFmId(orderPayResponse.getFmId()); // createOrderResponseVo.setFmId(orderPayResponse.getFmId());
OrderPayResponse.PayOrderBean payOrderBean = orderPayResponse.getPayOrder(); // OrderPayResponse.PayOrderBean payOrderBean = orderPayResponse.getPayOrder();
createOrderResponseVo.setTimestamp(payOrderBean == null ? "" : payOrderBean.getTimestamp()); // createOrderResponseVo.setTimestamp(payOrderBean == null ? "" : payOrderBean.getTimestamp());
createOrderResponseVo.setNonceStr(payOrderBean == null ? "" : payOrderBean.getNonceStr()); // createOrderResponseVo.setNonceStr(payOrderBean == null ? "" : payOrderBean.getNonceStr());
createOrderResponseVo.setPackageX(payOrderBean == null ? "" : payOrderBean.getPackageX()); // createOrderResponseVo.setPackageX(payOrderBean == null ? "" : payOrderBean.getPackageX());
createOrderResponseVo.setSignType(payOrderBean == null ? "" : payOrderBean.getSignType()); // createOrderResponseVo.setSignType(payOrderBean == null ? "" : payOrderBean.getSignType());
createOrderResponseVo.setSign(payOrderBean == null ? "" : payOrderBean.getSign()); // createOrderResponseVo.setSign(payOrderBean == null ? "" : payOrderBean.getSign());
return createOrderResponseVo; // return createOrderResponseVo;
} // }
/** /**
* 父子订单转换前端支付需要的信息 * 父子订单转换前端支付需要的信息
...@@ -2271,6 +2271,7 @@ public class OrderAdapter { ...@@ -2271,6 +2271,7 @@ public class OrderAdapter {
createOrderResponseVo.setPackageX(payOrderBean == null ? "" : payOrderBean.getPackageX()); createOrderResponseVo.setPackageX(payOrderBean == null ? "" : payOrderBean.getPackageX());
createOrderResponseVo.setSignType(payOrderBean == null ? "" : payOrderBean.getSignType()); createOrderResponseVo.setSignType(payOrderBean == null ? "" : payOrderBean.getSignType());
createOrderResponseVo.setSign(payOrderBean == null ? "" : payOrderBean.getSign()); createOrderResponseVo.setSign(payOrderBean == null ? "" : payOrderBean.getSign());
createOrderResponseVo.setOrderStr(payOrderBean == null ? "" : payOrderBean.getAliPayOrder());
return createOrderResponseVo; return createOrderResponseVo;
} }
...@@ -2289,6 +2290,7 @@ public class OrderAdapter { ...@@ -2289,6 +2290,7 @@ public class OrderAdapter {
payBean.setSign(payOrderBean.getSign()); payBean.setSign(payOrderBean.getSign());
payBean.setSignType(payOrderBean.getSignType()); payBean.setSignType(payOrderBean.getSignType());
payBean.setTimestamp(payOrderBean.getTimestamp()); payBean.setTimestamp(payOrderBean.getTimestamp());
payBean.setAliPayOrder(payOrderBean.getAliPayOrder());
responseDto.setPayOrder(payBean); responseDto.setPayOrder(payBean);
} }
responseDto.setStatusCode(unifiedOrderResponse.getStatusCode()); responseDto.setStatusCode(unifiedOrderResponse.getStatusCode());
......
...@@ -45,4 +45,9 @@ public class CreateOrderResponseVo { ...@@ -45,4 +45,9 @@ public class CreateOrderResponseVo {
*/ */
private Integer orderUpdateVer; private Integer orderUpdateVer;
/**
* 支付宝参数 唤起支付宝支付使用
*/
private String orderStr;
} }
...@@ -197,9 +197,9 @@ public class CheckOrder { ...@@ -197,9 +197,9 @@ public class CheckOrder {
.append(" ").append(createOrderVo.getTakeMealTime()).append(":00"); .append(" ").append(createOrderVo.getTakeMealTime()).append(":00");
takeMealDateTime = DateUtil.convert2Date(takeMealTime.toString(), "yyyy-MM-dd HH:mm:ss"); takeMealDateTime = DateUtil.convert2Date(takeMealTime.toString(), "yyyy-MM-dd HH:mm:ss");
} }
String wxAppId = userLoginInfoDto.getWxAppId(); String appId = userLoginInfoDto.getWxAppId();
// 校验小程序是否支持到店或者外卖 // 校验小程序是否支持到店或者外卖
OpenPlatformIappWxappConfig config = openPlatformIappWxappConfigManager.selectIappWxappConfigByWxAppId(wxAppId); OpenPlatformIappWxappConfig config = openPlatformIappWxappConfigManager.selectIappWxappConfigByWxAppId(appId);
// 自提校验 // 自提校验
if (CreateOrderType.COLLECT_GOODS.getCode().equals(createOrderVo.getOrderType())) { if (CreateOrderType.COLLECT_GOODS.getCode().equals(createOrderVo.getOrderType())) {
if (config == null || config.getTakeInside() == null || config.getTakeInside() != 1) { if (config == null || config.getTakeInside() == null || config.getTakeInside() != 1) {
...@@ -229,7 +229,7 @@ public class CheckOrder { ...@@ -229,7 +229,7 @@ public class CheckOrder {
throw new ServiceException(ResponseResult.STORE_ITEM_NOT_DELIVERY); throw new ServiceException(ResponseResult.STORE_ITEM_NOT_DELIVERY);
} }
//获取门店配送信息 //获取门店配送信息
StoreDeliveryInfoDto storeDeliveryInfoDto = getStoreDeliveryInfo(storeResponseDto, config, wxAppId); StoreDeliveryInfoDto storeDeliveryInfoDto = getStoreDeliveryInfo(storeResponseDto, config, appId);
//订单金额小于起送费提示 //订单金额小于起送费提示
if (storeDeliveryInfoDto.getDeliveryLimitAmount() > totalAmount) { if (storeDeliveryInfoDto.getDeliveryLimitAmount() > totalAmount) {
throw new ServiceException(ResponseResult.STORE_DISCONTENT_DELIVERY_FEE); throw new ServiceException(ResponseResult.STORE_DISCONTENT_DELIVERY_FEE);
......
...@@ -70,6 +70,7 @@ import com.freemud.application.sdk.api.log.ApiLog; ...@@ -70,6 +70,7 @@ 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.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.request.OrderExtendedReq; import com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq;
import com.freemud.application.sdk.api.paymentcenter.client.request.CodePayRequest; import com.freemud.application.sdk.api.paymentcenter.client.request.CodePayRequest;
import com.freemud.application.sdk.api.paymentcenter.client.request.SVCCardAmountRequest; import com.freemud.application.sdk.api.paymentcenter.client.request.SVCCardAmountRequest;
...@@ -1711,13 +1712,20 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1711,13 +1712,20 @@ public class OrderServiceImpl implements Orderservice {
AssortmentCustomerInfoVo userLoginInfoDto, OrderExtInfoDTO orderExtInfoDTO) { AssortmentCustomerInfoVo userLoginInfoDto, OrderExtInfoDTO orderExtInfoDTO) {
OrderExtendedReq orderExtendedReq = orderAdapter.saveStoreInfo(storeResponseDto); OrderExtendedReq orderExtendedReq = orderAdapter.saveStoreInfo(storeResponseDto);
String orderWarnTime = storeResponseDto.getOrderWarnTime(); String orderWarnTime = storeResponseDto.getOrderWarnTime();
OrderClientType orderClient = OrderClientType.SAAS;
String appId = userLoginInfoDto.getWxAppId();
if("2".equals(userLoginInfoDto.getChannel()) ){
orderClient = OrderClientType.ALIPAY;
}
//创建普通订单 //创建普通订单
OrderClientType finalOrderClient = orderClient;
Function<Object, CreateOrderResponse> createOrder = (var -> { Function<Object, CreateOrderResponse> createOrder = (var -> {
BaseCreateOrderRequest baseCreateOrderRequest = orderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto,orderWarnTime); BaseCreateOrderRequest baseCreateOrderRequest = orderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto,orderWarnTime);
//查询第三方商品编号 //查询第三方商品编号
baseCreateOrderRequest = getProductCustomerCode(baseCreateOrderRequest); baseCreateOrderRequest = getProductCustomerCode(baseCreateOrderRequest);
//保存门店渠道信息 //保存门店渠道信息
baseCreateOrderRequest.setOrderExtended(orderExtendedReq); baseCreateOrderRequest.setOrderExtended(orderExtendedReq);
baseCreateOrderRequest.setOrderClient(finalOrderClient);
CreateOrderRequest createOrderRequest = new CreateOrderRequest(); CreateOrderRequest createOrderRequest = new CreateOrderRequest();
baseCreateOrderRequest.setTrackingNo(LogThreadLocal.getTrackingNo()); baseCreateOrderRequest.setTrackingNo(LogThreadLocal.getTrackingNo());
createOrderRequest.setBaseCreateOrderRequest(baseCreateOrderRequest); createOrderRequest.setBaseCreateOrderRequest(baseCreateOrderRequest);
...@@ -1783,7 +1791,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1783,7 +1791,7 @@ public class OrderServiceImpl implements Orderservice {
//<!---创建订单公共方法执行逻辑---> //<!---创建订单公共方法执行逻辑--->
OrderPayResponse orderPayResponse = null; OrderPayResponse orderPayResponse = null;
paymentRequest = orderBodyConvertToPaymentBody(userLoginInfoDto, createOrderVo.getPartnerId()); paymentRequest = orderBodyConvertToPaymentBody(userLoginInfoDto, createOrderVo.getPartnerId(),appId);
if (totalAmount < 0) { if (totalAmount < 0) {
throw new ServiceException(ResponseResult.PAY_AMOUNT_ERROR); throw new ServiceException(ResponseResult.PAY_AMOUNT_ERROR);
} else if (totalAmount > 0 && StringUtils.isBlank(createOrderVo.getCardCode())) { } else if (totalAmount > 0 && StringUtils.isBlank(createOrderVo.getCardCode())) {
...@@ -1917,14 +1925,18 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1917,14 +1925,18 @@ public class OrderServiceImpl implements Orderservice {
return orderPayResponse; return orderPayResponse;
} }
private PaymentRequest orderBodyConvertToPaymentBody(AssortmentCustomerInfoVo userLoginInfoDto, String partnerId) { private PaymentRequest orderBodyConvertToPaymentBody(AssortmentCustomerInfoVo userLoginInfoDto, String partnerId,String appId) {
String wxAppId = userLoginInfoDto.getWxAppId(); // String wxAppId = userLoginInfoDto.getWxAppId();
//设置支付信息 //设置支付信息
PaymentRequest paymentRequest = new PaymentRequest(); PaymentRequest paymentRequest = new PaymentRequest();
paymentRequest.setOpenId(userLoginInfoDto.getOpenId()); paymentRequest.setOpenId(userLoginInfoDto.getOpenId());
paymentRequest.setWxAppId(wxAppId); paymentRequest.setWxAppId(appId);
AssortmentOpenPlatformWxapp wxApp = openPlatformWxappManager.findByPartnerIdAndWxappId(partnerId, wxAppId); AssortmentOpenPlatformWxapp wxApp = openPlatformWxappManager.findByPartnerIdAndWxappId(partnerId, appId);
paymentRequest.setPrincipalName(wxApp.getPrincipalName()); String principalName = "上海非码网络科技有限公司";
if(wxApp != null){
principalName = wxApp.getPrincipalName();
}
paymentRequest.setPrincipalName(principalName);
paymentRequest.setReverseNotifyiDcUrl(reverseNotifyiDcUrl); paymentRequest.setReverseNotifyiDcUrl(reverseNotifyiDcUrl);
return paymentRequest; return paymentRequest;
} }
...@@ -2285,7 +2297,8 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2285,7 +2297,8 @@ public class OrderServiceImpl implements Orderservice {
QueryOrdersResponse.DataBean.OrderBean fatherBeanListOne){ QueryOrdersResponse.DataBean.OrderBean fatherBeanListOne){
//<!---创建订单公共方法执行逻辑---> //<!---创建订单公共方法执行逻辑--->
OrderPayResponse orderPayResponse = null; OrderPayResponse orderPayResponse = null;
PaymentRequest paymentRequest = orderBodyConvertToPaymentBody(userLoginInfoDto, createOrderVo.getPartnerId()); String appId = userLoginInfoDto.getWxAppId();
PaymentRequest paymentRequest = orderBodyConvertToPaymentBody(userLoginInfoDto, createOrderVo.getPartnerId(),appId);
//支付金额异常 //支付金额异常
if (totalAmount < 0) { if (totalAmount < 0) {
throw new ServiceException(ResponseResult.PAY_AMOUNT_ERROR); throw new ServiceException(ResponseResult.PAY_AMOUNT_ERROR);
......
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