Commit 2d3c62bf by 徐康

sdk新增麦咖啡支付成功

parent a5299228
...@@ -27,6 +27,11 @@ public interface OrderCenterSdkService { ...@@ -27,6 +27,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);
......
...@@ -267,7 +267,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -267,7 +267,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
} }
return BaseOrderResponse.getErrorBaseOrderResponse(RESPONSE_SUCCESS_STR, ""); return BaseOrderResponse.getErrorBaseOrderResponse(RESPONSE_SUCCESS_STR, "");
} }
@Override @Override
public PayAccessResponse payAccess(ConfirmOrderRequest confirmOrderRequest) { public PayAccessResponse payAccess(ConfirmOrderRequest confirmOrderRequest) {
...@@ -339,6 +339,77 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -339,6 +339,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();
......
...@@ -14,6 +14,8 @@ public class InterfaceAddressConstant { ...@@ -14,6 +14,8 @@ 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 FATHER_ORDER_PAY_SUCCESS = "/order/v2/relatedOrdersPaySuccess"; public static final String FATHER_ORDER_PAY_SUCCESS = "/order/v2/relatedOrdersPaySuccess";
//删除订单 //删除订单
......
...@@ -157,6 +157,21 @@ public class OrderSdkService { ...@@ -157,6 +157,21 @@ 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);
}
/** /**
* 删除订单 * 删除订单
......
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