Commit e0ca9516 by 周晓航

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

Signed-off-by: 周晓航 <xiaohang.zhou@freemud.com>
parent 1d8cf3ab
...@@ -13,12 +13,18 @@ import cn.freemud.interceptor.ServiceException; ...@@ -13,12 +13,18 @@ import cn.freemud.interceptor.ServiceException;
import cn.freemud.redis.RedisCache; import cn.freemud.redis.RedisCache;
import cn.freemud.service.thirdparty.EcologyAdminApplicationClient; import cn.freemud.service.thirdparty.EcologyAdminApplicationClient;
import cn.freemud.utils.ResponseUtil; 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.OrderBeanV1;
import com.freemud.application.sdk.api.ordercenter.entities.v1.ProductBeanV1; 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.WeChatClient;
import com.freemud.thirdparty.wechat.constant.WeChatConstant; import com.freemud.thirdparty.wechat.constant.WeChatConstant;
import com.freemud.thirdparty.wechat.entities.WeChatBaseResponse; import com.freemud.thirdparty.wechat.entities.WeChatBaseResponse;
import com.freemud.thirdparty.wechat.entities.vo.request.OrderCreateRequestVO; 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 com.freemud.thirdparty.wechat.entities.vo.response.OrderCreateResponseVO;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -50,6 +56,58 @@ public class WeChatLiveMsgHandle { ...@@ -50,6 +56,58 @@ public class WeChatLiveMsgHandle {
private RedisCache redisCache; 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 * @param createPrepayRequestDto
...@@ -65,6 +123,7 @@ public class WeChatLiveMsgHandle { ...@@ -65,6 +123,7 @@ public class WeChatLiveMsgHandle {
String accessToken = this.getAccessToken(createPrepayRequestDto.getWxAppId(), createPrepayRequestDto.getPartnerId()); String accessToken = this.getAccessToken(createPrepayRequestDto.getWxAppId(), createPrepayRequestDto.getPartnerId());
WeChatClient weChatClient = new WeChatClient(); WeChatClient weChatClient = new WeChatClient();
// fisherman 调用sdk
WeChatBaseResponse<OrderCreateResponseVO> weChatBaseResponse = weChatClient.orderApply(accessToken, requestVO, WeChatConstant.OrderMethod.ORDER_ADD); WeChatBaseResponse<OrderCreateResponseVO> weChatBaseResponse = weChatClient.orderApply(accessToken, requestVO, WeChatConstant.OrderMethod.ORDER_ADD);
if (weChatBaseResponse == null) { 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