Commit f1c2063a by 徐康

Merge branch 'feature/20200727_麦咖啡p1v2支付券码路由' into qa

# Conflicts:
#	order-application-service/pom.xml
parents 15efb3ae 05fd6b11
...@@ -28,6 +28,11 @@ public interface OrderCenterSdkService { ...@@ -28,6 +28,11 @@ public interface OrderCenterSdkService {
PayAccessResponse payAccess(ConfirmOrderRequest confirmOrderRequest); PayAccessResponse payAccess(ConfirmOrderRequest confirmOrderRequest);
/** /**
* 订单支付确认 麦咖啡
*/
PayAccessResponse payAccessMCCafe(ConfirmOrderRequest confirmOrderRequest);
/**
* 根据订单编号查询订单信息 C端 * 根据订单编号查询订单信息 C端
*/ */
QueryOrderByIdResponse queryOrderById(BaseQueryOrderRequest baseQueryOrderRequest); QueryOrderByIdResponse queryOrderById(BaseQueryOrderRequest baseQueryOrderRequest);
......
...@@ -360,6 +360,77 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -360,6 +360,77 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
return orderSdkAdapter.convent2PayAccessResponse(response); return orderSdkAdapter.convent2PayAccessResponse(response);
} }
@Override
public PayAccessResponse payAccessMCCafe(ConfirmOrderRequest confirmOrderRequest) {
PaySuccessReq request = new PaySuccessReq();
request.setPayRequestNo(confirmOrderRequest.getPayVoucher());
request.setCompleteOrderCode(confirmOrderRequest.getCompleteOrderCode());
request.setOrderCode(confirmOrderRequest.getOrderId());
// 引入门店基础服务 查询自动制作完成配置时间,预约单单独超时任务设置
request.setTimeout(getPaySuccessTimeout(confirmOrderRequest,request));
if (!org.springframework.util.CollectionUtils.isEmpty(confirmOrderRequest.getOrderSettlements())) {
List<OrderSettlementCreateReq> orderSettlementCreateReqs = new ArrayList<>();
int size = confirmOrderRequest.getOrderSettlements().size();
OrderSettlementCreateReq orderSettlementCreateReq = new OrderSettlementCreateReq();
for (int i = 0; i < size; i++) {
ConfirmOrderRequest.OrderSettlement orderSettlement = confirmOrderRequest.getOrderSettlements().get(i);
orderSettlementCreateReq.setPlatformDiscountAmount(orderSettlement.getPlatformDiscountAmount());
orderSettlementCreateReq.setShopDiscountAmount(orderSettlement.getShopDiscountAmount());
orderSettlementCreateReq.setSettlementAmount(orderSettlement.getSettlementAmount());
orderSettlementCreateReq.setNote(orderSettlement.getNote());
orderSettlementCreateReq.setSettlementType(this.convertAssortmentSettlementTypeToNewOrderSettlementType(orderSettlement.getSettlementType()));
orderSettlementCreateReqs.add(orderSettlementCreateReq);
}
request.setOrderSettlementDetailList(orderSettlementCreateReqs);
}
request.setActualPayAmount(confirmOrderRequest.getActualPayAmount());
// request.setActualPayAmount(request.getActualPayAmount());
request.setOperator(confirmOrderRequest.getOperator());
if (StringUtils.isNotBlank(confirmOrderRequest.getPayChannel())) {
request.setPayChannel(confirmOrderRequest.getPayChannel());
request.setPayChannelName(confirmOrderRequest.getPayChannelName());
}
QueryOrderByIdResponse orderByIdResponse = new QueryOrderByIdResponse();
BaseResponse<GetMemberExtendInfoResponse> extendInfo = new BaseResponse();
try {
QueryByCodeResponse codeResponse = orderSdkService.getOrderInfo(confirmOrderRequest.getProductOrderCode(), 0, confirmOrderRequest.getTrackingNo());
orderByIdResponse = orderSdkAdapter.convent2QueryOrderByIdResponse(codeResponse);
GetMemberExtendInfoRequest extendInfoRequest = new GetMemberExtendInfoRequest();
extendInfoRequest.setMemberId(orderByIdResponse.getData().getUserId());
extendInfoRequest.setPartnerId(orderByIdResponse.getData().getCompanyId());
extendInfo = memberCenterService.getMemberExtendInfo(extendInfoRequest, confirmOrderRequest.getTrackingNo());
OrderExtInfoDto extInfoDTO = JSONObject.parseObject(orderByIdResponse.getData().getExtInfo(),OrderExtInfoDto.class);
extInfoDTO.setMemberLevel(extendInfo.getData().getMemberGrade()!=null?extendInfo.getData().getMemberGrade().getRuleName():"");
extInfoDTO.setPaidMember(CollectionUtils.isNotEmpty(extendInfo.getData().getMemberPaids()));
extInfoDTO.setPayTransId(confirmOrderRequest.getPayTransId());
extInfoDTO.setPayDate(confirmOrderRequest.getPayDate());
extInfoDTO.setEndTransId(confirmOrderRequest.getEndTransId());
request.setExtInfo(JSON.toJSONString(extInfoDTO));
}catch (Exception e){
ErrorLog.printErrorLog("getMemberExtendInfoError",MEMBER_EXTEND_INFO,confirmOrderRequest,e);
}
com.freemud.application.sdk.api.ordercenter.response.BaseResponse<PaySuccessResp> response = orderSdkService.paySuccessMCCafe(request, confirmOrderRequest.getTrackingNo());
//获取会员信息直接返回,非空判断
if(extendInfo.getData() == null){
return orderSdkAdapter.convent2PayAccessResponse(response);
}
CalculationDiscountRequest discountRequest=activitySdkAdapter.convert2CalculationDiscountRequestDto(orderByIdResponse.getData(),extendInfo.getData());
BaseResponse<CalculationDiscountResponseDTO> baseResponse=promotionSdkService.calculationDiscount(discountRequest,confirmOrderRequest.getTrackingNo());
List<Integer> activityTypes=baseResponse.getData().getDiscounts().stream().map(DiscountDTO::getType).collect(Collectors.toList());
if(activityTypes.contains(221)){
DiscountDTO discountDTO=baseResponse.getData().getDiscounts().stream().filter(d -> 221==d.getType()).findFirst().get();
SendPointRequest pointRequest=memberSdkAdapter.convert2SendPointRequest(confirmOrderRequest,orderByIdResponse.getData(),discountDTO);
if (pointRequest.getSendPoint() != 0) {
memberPropertyService.sendMemberPoint(pointRequest,confirmOrderRequest.getTrackingNo());
}
}
return orderSdkAdapter.convent2PayAccessResponse(response);
}
private Integer convertAssortmentSettlementTypeToNewOrderSettlementType(OldOrderAccountType settlementType) { private Integer convertAssortmentSettlementTypeToNewOrderSettlementType(OldOrderAccountType settlementType) {
if (settlementType == OldOrderAccountType.WEIXIN) { if (settlementType == OldOrderAccountType.WEIXIN) {
return OrderSettlementType.WEIXIN.getIndex(); return OrderSettlementType.WEIXIN.getIndex();
......
...@@ -40,19 +40,7 @@ ...@@ -40,19 +40,7 @@
<dependency> <dependency>
<groupId>cn.freemud</groupId> <groupId>cn.freemud</groupId>
<artifactId>assortment-ordercenter-sdk</artifactId> <artifactId>assortment-ordercenter-sdk</artifactId>
<version>2.0.15-SNAPSHOT</version> <version>2.0.16-SNAPSHOT</version>
<exclusions>
<exclusion>
<artifactId>ordercenter-sdk</artifactId>
<groupId>cn.freemud</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<artifactId>ordercenter-sdk</artifactId>
<groupId>cn.freemud</groupId>
<version>1.4.35-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
......
...@@ -140,8 +140,10 @@ public class DeliveryAdapter { ...@@ -140,8 +140,10 @@ public class DeliveryAdapter {
// 预约单预计送到时间 // 预约单预计送到时间
if (order.getGmtExpect() != null && order.getGmtExpect() != 0) { if (order.getGmtExpect() != null && order.getGmtExpect() != 0) {
deliveryOrderRequestDto.setExpectTime(new Date(order.getGmtExpect())); deliveryOrderRequestDto.setExpectTime(new Date(order.getGmtExpect()));
deliveryOrderRequestDto.setIsPre(1);
} else {
deliveryOrderRequestDto.setIsPre(0);
} }
deliveryOrderRequestDto.setIsPre(order.getType() == OrderType.PRE_ORDER.getCode() ? 1 : 0);
//---麦咖啡餐道专用--- //---麦咖啡餐道专用---
deliveryOrderRequestDto.setDisplayOrderId(displayOrderId); deliveryOrderRequestDto.setDisplayOrderId(displayOrderId);
......
...@@ -867,7 +867,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -867,7 +867,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
var1.setExpectTime(DateUtil.convert2String(new Date(orderBean.getGmtExpect()), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS)); var1.setExpectTime(DateUtil.convert2String(new Date(orderBean.getGmtExpect()), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
} }
// 订单支付成功 // 订单支付成功
com.freemud.sdk.api.assortment.order.response.order.PayAccessResponse payAccessRes = orderCenterSdkService.payAccess(var1); com.freemud.sdk.api.assortment.order.response.order.PayAccessResponse payAccessRes = orderCenterSdkService.payAccessMCCafe(var1);
String string2 = JSONObject.toJSONString(payAccessRes); String string2 = JSONObject.toJSONString(payAccessRes);
JSONObject jsonObject2 = JSONObject.parseObject(string2); JSONObject jsonObject2 = JSONObject.parseObject(string2);
payAccessResponse = jsonObject2.toJavaObject(PayAccessResponse.class); payAccessResponse = jsonObject2.toJavaObject(PayAccessResponse.class);
......
...@@ -14,6 +14,10 @@ public class InterfaceAddressConstant { ...@@ -14,6 +14,10 @@ public class InterfaceAddressConstant {
public static final String EDIT_ORDER = "order/v2/updateOrder"; public static final String EDIT_ORDER = "order/v2/updateOrder";
//支付成功 //支付成功
public static final String PAY_SUCCESS = "order/v2/paySuccess"; public static final String PAY_SUCCESS = "order/v2/paySuccess";
//支付成功
public static final String PAY_SUCCESS_MCCAFE = "order/v2/mcCafe/paySuccess";
//支付成功
public static final String MCCAFE_COLLECT_ORDER = "order/v2/mcCafe/syncPos";
//父子订单支付成功 //父子订单支付成功
public static final String FATHER_ORDER_PAY_SUCCESS = "/order/v2/relatedOrdersPaySuccess"; public static final String FATHER_ORDER_PAY_SUCCESS = "/order/v2/relatedOrdersPaySuccess";
//删除订单 //删除订单
......
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: OrderDeleteReq
* @Package com.freemud.application.sdk.api.ordercenter.request
* @Description:
* @author: ping.wu
* @date: 2019/4/2 21:17
* @version V1.0
* @Copyright: 2019 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package com.freemud.application.sdk.api.ordercenter.request;
import lombok.Data;
@Data
public class OrderCollectReq {
private String orderCode;
private String partnerId;
}
...@@ -169,6 +169,32 @@ public class OrderSdkService { ...@@ -169,6 +169,32 @@ public class OrderSdkService {
return responseHandle(responseDTO); return responseHandle(responseDTO);
} }
/**
* 订单支付确认(支付成功接口更新支付状态)
*/
public BaseResponse<PaySuccessResp> paySuccessMCCafe(PaySuccessReq request, String trackingNo) {
String url = InterfaceAddressConstant.PAY_SUCCESS_MCCAFE;
if (StringUtils.isNotEmpty(request.getCompleteOrderCode())) {
url = InterfaceAddressConstant.FATHER_ORDER_PAY_SUCCESS;
}
OrderBaseResp<PaySuccessResp> responseDTO = RequestThirdPartyUtils.httpJsonReqComplexNew(restTemplate, url,
createBaseRequest(request, trackingNo), new ParameterizedTypeReference<OrderBaseResp<PaySuccessResp>>() {
});
return responseHandle(responseDTO);
}
/**
* 麦咖啡收到汇集回调后,把订单加入入机拉单队列
*/
public BaseResponse collectOrder(OrderCollectReq request, String trackingNo) {
OrderBaseResp responseDTO = RequestThirdPartyUtils.httpJsonReqComplexNew(restTemplate, InterfaceAddressConstant.DELETE_ORDER,
createBaseRequest(request, trackingNo), new ParameterizedTypeReference<OrderBaseResp>() {
});
return responseHandle(responseDTO);
}
/** /**
* 删除订单 * 删除订单
......
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