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.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.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 params CallBackOrderVo vo = new CallBackOrderVo(); vo.setLbClient(DeliveryTypeEnums.DADA.getName()); vo.setParams(jsonParam); ResObject callbackRes = (ResObject)callback.doOrder(vo); if (callbackRes.getCode() == 0) { DadaCallbackOrderVo orderVo = callbackRes.getData(); orderVo.setType(DeliveryTypeEnums.DADA.getType()); ApiCallBackContent content = new ApiCallBackContent(new ApiCallBackDaDa(orderVo)); OrderDelivery orderDelivery = iOrderDeliveryService.getOne(new QueryWrapper().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 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); } } }