Commit 182781f6 by 周晓航

对接光兴外部接口

parent 20c08022
package cn.freemud.entities;
public class EdenResponse<T> {
private static final String SUCCESSCODE ="200";
public static final String SUCCESSCODE ="200";
protected String statusCode;
protected String message;
......
package cn.freemud.entities.dto.wallace.request;
import lombok.Data;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2022/7/15 17:06
* @description :
*/
@Data
public class PepsiOrderSubmitRequest {
/**
* 商户号
*/
private String partnerId;
/**
* 用户id
*/
private String memberId;
/**
* 订单号
*/
private String orderCode;
}
......@@ -4,6 +4,7 @@ import cn.freemud.adapter.OrderAdapter;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.config.ApolloVariableConfig;
import cn.freemud.constant.RedisLockKey;
import cn.freemud.entities.EdenResponse;
import cn.freemud.entities.bo.CreateOrderBONew;
import cn.freemud.entities.db.OpenPlatformOrderConfig;
import cn.freemud.entities.dto.ConfirmOrderDto;
......@@ -11,6 +12,7 @@ import cn.freemud.entities.dto.ecology.ReportActivityBehaviorsRequest;
import cn.freemud.entities.dto.order.CreateCashierOrderDto;
import cn.freemud.entities.dto.pay.SvcPayItem;
import cn.freemud.entities.dto.pay.svc.ConsumeHistoryCreateRequest;
import cn.freemud.entities.dto.wallace.request.PepsiOrderSubmitRequest;
import cn.freemud.entities.vo.*;
import cn.freemud.entities.vo.order.*;
import cn.freemud.enums.*;
......@@ -23,6 +25,7 @@ import cn.freemud.redis.RedisCache;
import cn.freemud.service.*;
import cn.freemud.service.thirdparty.EcologyProgramApplicationClient;
import cn.freemud.service.thirdparty.SvcTransactionClient;
import cn.freemud.service.thirdparty.WallaceApplicationClient;
import cn.freemud.service.universal.factory.CreateOrderServiceFactory;
import cn.freemud.utils.RedisUtil;
import cn.freemud.utils.ResponseUtil;
......@@ -186,6 +189,8 @@ public class OrderAdapterServiceImpl {
private OrderSdkService orderSdkService;
@Autowired
private OrderCenterSdkAdapter orderCenterSdkAdapter;
@Autowired
private WallaceApplicationClient wallaceApplicationClient;
//获取下单实现对象
private OrderFactoryService getCreateOrderBean(AssortmentCustomerInfoVo assortmentCustomerInfoVo, CreateOrderVo createOrderVo) {
......@@ -617,18 +622,29 @@ public class OrderAdapterServiceImpl {
if (!Objects.equals(orderInfoReqs.getUserId(), assortmentCustomerInfoVo.getMemberId())) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
Map<String, Boolean> respVo = new HashMap<>();
respVo.put("skip",false);
Map<String, Object> respVo = new HashMap<>();
respVo.put("skip", false);
// 校验 是否可以参加活动
// step1 调用敬轩, 是否能参加活动
OrderBeanV1 orderBeanV1 = orderCenterSdkAdapter.convent2NEWOrderInfo(orderInfoReqs);
boolean skip = this.canJoinActivity(orderInfoReqs.getPartnerId(),orderBeanV1.getProductList(),orderBeanV1.getSettlementAmount().intValue());
boolean skip = this.canJoinActivity(orderInfoReqs.getPartnerId(), orderBeanV1.getProductList(), orderBeanV1.getSettlementAmount().intValue());
if (!skip) {
return ResponseUtil.success(respVo);
}
// stpe2 调用光兴, 是否成功 +1
try {
PepsiOrderSubmitRequest pepsiOrderSubmitRequest = new PepsiOrderSubmitRequest();
pepsiOrderSubmitRequest.setMemberId(orderInfoReqs.getUserId());
pepsiOrderSubmitRequest.setOrderCode(orderInfoReqs.getOrderCode());
pepsiOrderSubmitRequest.setPartnerId(orderInfoReqs.getPartnerId());
EdenResponse edenResponse = wallaceApplicationClient.pepsiOrderSubmit(pepsiOrderSubmitRequest);
skip = Objects.equals(edenResponse.getStatusCode(), EdenResponse.SUCCESSCODE);
respVo.put("error", edenResponse.getMessage());
} catch (Exception e) {
skip = false;
respVo.put("error", e.getMessage());
}
respVo.put("skip", skip);
return ResponseUtil.success(respVo);
}
......
package cn.freemud.service.thirdparty;
import cn.freemud.entities.EdenResponse;
import cn.freemud.entities.dto.wallace.request.PepsiOrderSubmitRequest;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2022/7/15 17:04
* @description :
*/
@FeignClient(name = "wallace-application")
@RequestMapping(produces = {MediaType.APPLICATION_JSON_UTF8_VALUE})
public interface WallaceApplicationClient {
/**
* 请求百事 设置抽奖次数+1
*
* @param request
* @return
*/
@PostMapping(value = "/pass/wallace/pepsi/order/submit")
EdenResponse pepsiOrderSubmit(@RequestBody PepsiOrderSubmitRequest request);
}
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