123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- package com.ydd.app.callback.controller;
- import com.alibaba.fastjson.JSONObject;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.ydd.api.DeliveryCallbackApi;
- import com.ydd.app.service.ApiDeliveryService;
- import com.ydd.app.service.ApiOrderBackService;
- import com.ydd.app.service.impl.ApiCallBackContent;
- import com.ydd.app.service.impl.ApiCallBackShanSong;
- import com.ydd.common.enums.DeliveryTypeEnums;
- import com.ydd.module.domain.OrderDelivery;
- import com.ydd.module.dto.CallBackOrderDto;
- import com.ydd.module.service.IOrderDeliveryService;
- import com.ydd.third.common.utils.StringUtils;
- import com.ydd.third.common.vo.ResObject;
- import com.ydd.third.common.vo.callback.CallBackOrderVo;
- import com.ydd.third.common.vo.callback.ShansongCallbackOrderVo;
- import com.ydd.third.common.vo.callback.ShansongTokenVo;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import javax.annotation.Resource;
- //import com.ydd.third.waimai.meituan.callback.MTCallBa
- @Slf4j
- @RestController
- @RequestMapping("/app/delivery/shansong/callback")
- public class ShansongDeliveryCallback {
- @Autowired
- private DeliveryCallbackApi callback;
- @Resource
- private ApiOrderBackService apiOrderService;
- @Resource
- private ApiDeliveryService apiDeliveryService;
- @Resource
- private IOrderDeliveryService iOrderDeliveryService;
- /**
- * 授权重定向跳转
- *
- * @param
- * @return
- */
- @RequestMapping("/doOAuth")
- public String doOAuth(String code, String thirdStoreId, String state) {
- // String code = params.get("code");
- // String state = params.get("state");
- if (StringUtils.isNotBlank(code) && StringUtils.isNotBlank(state)) {
- ResObject<ShansongTokenVo> res = callback.shansongAuth(code, thirdStoreId, state);
- log.info("res:" + JSONObject.toJSONString(res));
- if (res.getCode() == 0) {
- ShansongTokenVo tokenVo = res.getData();
- String accessToken = tokenVo.getAccessToken();
- String refreshToken = tokenVo.getRefreshToken();
- Long expiresIn = tokenVo.getExpireIn();
- String shopId = tokenVo.getShopId();
- //进行业务处理
- apiDeliveryService.bindCallBack(tokenVo);
- return "获取token成功";
- } else {
- return res.getMsg();
- }
- } else {
- return "非法访问!";
- }
- }
- @PostMapping("/doOrder")
- public String doOrder(@RequestBody JSONObject jsonParam) {
- log.info("闪送回调参数 :" + jsonParam);
- JSONObject res = new JSONObject();
- //@RequestParam Map<String, String> params
- //ShansongCallback callback = new ShansongCallback();
- CallBackOrderVo vo = new CallBackOrderVo();
- vo.setLbClient(DeliveryTypeEnums.SHAN_SONG.getName());
- vo.setParams(jsonParam);
- ResObject<ShansongCallbackOrderVo> callbackRes = (ResObject<ShansongCallbackOrderVo>)callback.doOrder(vo);
- if (callbackRes.getCode() == 0) {
- ShansongCallbackOrderVo orderVo = callbackRes.getData();
- ApiCallBackContent content = new ApiCallBackContent(new ApiCallBackShanSong(orderVo));
- OrderDelivery orderDelivery = iOrderDeliveryService.getOne(new QueryWrapper<OrderDelivery>().eq("child_order_sn",orderVo.getOrderNo()));
- CallBackOrderDto dto = content.createCallBack();
- dto.setParentOrderSn(orderDelivery.getOrderSn());
- apiOrderService.callBackOrder(dto);
- res.put("status", 200); //回调成功
- res.put("msg", "");
- } else {
- res.put("status", 400);
- }
- return res.toJSONString();
- }
- }
|