Commit e0ca9516 by 周晓航

新增 卖券订单数据上报 已物流信息上报

Signed-off-by: 周晓航 <xiaohang.zhou@freemud.com>
parent 1d8cf3ab
......@@ -13,12 +13,18 @@ import cn.freemud.interceptor.ServiceException;
import cn.freemud.redis.RedisCache;
import cn.freemud.service.thirdparty.EcologyAdminApplicationClient;
import cn.freemud.utils.ResponseUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.freemud.application.sdk.api.log.ApiLog;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import com.freemud.application.sdk.api.ordercenter.entities.v1.ProductBeanV1;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.thirdparty.wechat.WeChatClient;
import com.freemud.thirdparty.wechat.constant.WeChatConstant;
import com.freemud.thirdparty.wechat.entities.WeChatBaseResponse;
import com.freemud.thirdparty.wechat.entities.vo.request.OrderCreateRequestVO;
import com.freemud.thirdparty.wechat.entities.vo.request.OrderDeliverySendRequestVO;
import com.freemud.thirdparty.wechat.entities.vo.request.OrderSycnPayRequestVO;
import com.freemud.thirdparty.wechat.entities.vo.response.OrderCreateResponseVO;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -50,6 +56,58 @@ public class WeChatLiveMsgHandle {
private RedisCache redisCache;
/**
* @param orderBean
* @param flag 0 支付成功
*/
public void reportOrderStatus(OrderBeanV1 orderBean, int flag) {
if (Objects.nonNull(orderBean)
&& Objects.equals(orderBean.getOrderClient(), OrderClientType.WE_CHAT_LIVE_SELL.getIndex().toString())) {
OrderSycnPayRequestVO request = new OrderSycnPayRequestVO();
String orderId = orderBean.getOid();
request.setOut_order_id(orderId);
String extInfo = orderBean.getExtInfo();
JSONObject jsonObject = JSON.parseObject(extInfo);
// 需要拿到 openid
Object openid = jsonObject.get("openid");
request.setOpenid(Objects.isNull(openid) ? "" : openid.toString());
if (flag == 0) {
Object payTransId = jsonObject.get("payTransId");
request.setTransaction_id(Objects.isNull(payTransId) ? "" : payTransId.toString());
Object payDate = jsonObject.get("payDate");
request.setPay_time(Objects.isNull(payDate) ? "" : payDate.toString());
}
// 获取 session
String accessToken = this.getAccessToken(orderBean.getAppId(), orderBean.getParentCode());
WeChatClient weChatClient = new WeChatClient();
WeChatBaseResponse<OrderCreateResponseVO> weChatBaseResponse = weChatClient.orderApply(accessToken, request, WeChatConstant.OrderMethod.ORDER_PAY);
if ("42001".equals(weChatBaseResponse.getErrcode())) {
accessToken = this.refreshAccessToken(orderBean.getAppId(), orderBean.getParentCode());
weChatBaseResponse = weChatClient.orderApply(accessToken, request, WeChatConstant.OrderMethod.ORDER_PAY);
}
ApiLog.printLog("视频直播订单数据上报", JSON.toJSONString(request), JSON.toJSONString(weChatBaseResponse), accessToken);
if ("0".equals(weChatBaseResponse.getErrcode())) {
if (flag == 0) {
// 如果是支付成功, 同步发配送信息
OrderDeliverySendRequestVO requestVO = new OrderDeliverySendRequestVO();
requestVO.setOut_order_id(orderId);
requestVO.setOpenid(Objects.isNull(openid) ? "" : openid.toString());
requestVO.setFinish_all_delivery(0);
weChatBaseResponse = weChatClient.orderApply(accessToken, request, WeChatConstant.OrderMethod.ORDER_SEND);
ApiLog.printLog("视频直播发货数据上报", JSON.toJSONString(requestVO), JSON.toJSONString(weChatBaseResponse), accessToken);
}
}
}
}
/**
* 组装 订单创建上报数据 对象
*
* @param createPrepayRequestDto
......@@ -65,6 +123,7 @@ public class WeChatLiveMsgHandle {
String accessToken = this.getAccessToken(createPrepayRequestDto.getWxAppId(), createPrepayRequestDto.getPartnerId());
WeChatClient weChatClient = new WeChatClient();
// fisherman 调用sdk
WeChatBaseResponse<OrderCreateResponseVO> weChatBaseResponse = weChatClient.orderApply(accessToken, requestVO, WeChatConstant.OrderMethod.ORDER_ADD);
if (weChatBaseResponse == null) {
......
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