123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- package com.ydd.app.callback.controller;
- import com.alibaba.fastjson.JSONObject;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.ydd.api.DeliveryCallbackApi;
- import com.ydd.app.service.ApiDeliveryBindService;
- 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.ApiCallBackDaDa;
- 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.dto.AptCallbackOrderVo;
- 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.DadaCallbackOrderVo;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import javax.annotation.Resource;
- import java.util.Map;
- @Slf4j
- @RestController
- @RequestMapping("/app/delivery/dada/callback")
- public class DadaDeliveryCallback {
- @Autowired
- private DeliveryCallbackApi callback;
- @Resource
- private ApiOrderBackService apiOrderService;
- @Resource
- private IOrderDeliveryService iOrderDeliveryService;
- @Resource
- private ApiDeliveryService apiDeliveryService;
- @Resource
- private ApiDeliveryBindService apiDeliveryBindService;
- @PostMapping("/doOrder")
- public String orderStatus(@RequestBody JSONObject jsonParam){
- JSONObject res = new JSONObject();
- if (null == jsonParam) {
- res.put("code",1);
- return res.toJSONString();
- }
- log.info("达达回调参数 :" + jsonParam);
- //@RequestParam Map<String, String> params
- CallBackOrderVo vo = new CallBackOrderVo();
- vo.setLbClient(DeliveryTypeEnums.DADA.getName());
- vo.setParams(jsonParam);
- Object result = callback.doOrder(vo);
- ObjectMapper objectMapper = new ObjectMapper();
- ResObject callbackRes = objectMapper.convertValue(result, ResObject.class);
- if (callbackRes.getCode() == 0) {
- DadaCallbackOrderVo orderVo = objectMapper.convertValue(callbackRes.getData(), DadaCallbackOrderVo.class);
- orderVo.setType(DeliveryTypeEnums.DADA.getType());
- ApiCallBackContent content = new ApiCallBackContent(new ApiCallBackDaDa(orderVo));
- OrderDelivery orderDelivery = iOrderDeliveryService.getOne(new QueryWrapper<OrderDelivery>().eq("child_order_sn",orderVo.getOrderId()));
- CallBackOrderDto dto = content.createCallBack();
- dto.setParentOrderSn(orderDelivery.getOrderSn());
- apiOrderService.callBackOrder(dto);
- res.put("code",0);
- } else {
- res.put("code",1);
- }
- return res.toJSONString();
- }
- /**
- * 达达授权返回
- * @param params
- */
- @RequestMapping("/doAuth")
- public void doAuth(@RequestParam Map<String, String> params){
- log.info("达达授权回调---->>>>"+JSONObject.toJSONString(params));
- String sourceId = params.get("sourceId");
- String state = params.get("state");
- String shopNo = params.get("shopNo");
- if (StringUtils.isNotBlank(sourceId) && StringUtils.isNotBlank(state)) {
- // 进行业务逻辑处理
- // apiDeliveryService.bindDaDa(sourceId,state,DeliveryTypeEnums.DADA.getType(),shopNo);
- apiDeliveryBindService.bindDaDa(sourceId, state, DeliveryTypeEnums.DADA.getType(), shopNo);
- }
- }
- }
|