DadaDeliveryCallback.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package com.ydd.app.callback.controller;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import com.fasterxml.jackson.databind.ObjectMapper;
  5. import com.ydd.api.DeliveryCallbackApi;
  6. import com.ydd.app.service.ApiDeliveryBindService;
  7. import com.ydd.app.service.ApiDeliveryService;
  8. import com.ydd.app.service.ApiOrderBackService;
  9. import com.ydd.app.service.impl.ApiCallBackContent;
  10. import com.ydd.app.service.impl.ApiCallBackDaDa;
  11. import com.ydd.common.enums.DeliveryTypeEnums;
  12. import com.ydd.module.domain.OrderDelivery;
  13. import com.ydd.module.dto.CallBackOrderDto;
  14. import com.ydd.module.service.IOrderDeliveryService;
  15. import com.ydd.third.common.dto.AptCallbackOrderVo;
  16. import com.ydd.third.common.utils.StringUtils;
  17. import com.ydd.third.common.vo.ResObject;
  18. import com.ydd.third.common.vo.callback.CallBackOrderVo;
  19. import com.ydd.third.common.vo.callback.DadaCallbackOrderVo;
  20. import lombok.extern.slf4j.Slf4j;
  21. import org.springframework.beans.factory.annotation.Autowired;
  22. import org.springframework.web.bind.annotation.*;
  23. import javax.annotation.Resource;
  24. import java.util.Map;
  25. @Slf4j
  26. @RestController
  27. @RequestMapping("/app/delivery/dada/callback")
  28. public class DadaDeliveryCallback {
  29. @Autowired
  30. private DeliveryCallbackApi callback;
  31. @Resource
  32. private ApiOrderBackService apiOrderService;
  33. @Resource
  34. private IOrderDeliveryService iOrderDeliveryService;
  35. @Resource
  36. private ApiDeliveryService apiDeliveryService;
  37. @Resource
  38. private ApiDeliveryBindService apiDeliveryBindService;
  39. @PostMapping("/doOrder")
  40. public String orderStatus(@RequestBody JSONObject jsonParam){
  41. JSONObject res = new JSONObject();
  42. if (null == jsonParam) {
  43. res.put("code",1);
  44. return res.toJSONString();
  45. }
  46. log.info("达达回调参数 :" + jsonParam);
  47. //@RequestParam Map<String, String> params
  48. CallBackOrderVo vo = new CallBackOrderVo();
  49. vo.setLbClient(DeliveryTypeEnums.DADA.getName());
  50. vo.setParams(jsonParam);
  51. Object result = callback.doOrder(vo);
  52. ObjectMapper objectMapper = new ObjectMapper();
  53. ResObject callbackRes = objectMapper.convertValue(result, ResObject.class);
  54. if (callbackRes.getCode() == 0) {
  55. DadaCallbackOrderVo orderVo = objectMapper.convertValue(callbackRes.getData(), DadaCallbackOrderVo.class);
  56. orderVo.setType(DeliveryTypeEnums.DADA.getType());
  57. ApiCallBackContent content = new ApiCallBackContent(new ApiCallBackDaDa(orderVo));
  58. OrderDelivery orderDelivery = iOrderDeliveryService.getOne(new QueryWrapper<OrderDelivery>().eq("child_order_sn",orderVo.getOrderId()));
  59. CallBackOrderDto dto = content.createCallBack();
  60. dto.setParentOrderSn(orderDelivery.getOrderSn());
  61. apiOrderService.callBackOrder(dto);
  62. res.put("code",0);
  63. } else {
  64. res.put("code",1);
  65. }
  66. return res.toJSONString();
  67. }
  68. /**
  69. * 达达授权返回
  70. * @param params
  71. */
  72. @RequestMapping("/doAuth")
  73. public void doAuth(@RequestParam Map<String, String> params){
  74. log.info("达达授权回调---->>>>"+JSONObject.toJSONString(params));
  75. String sourceId = params.get("sourceId");
  76. String state = params.get("state");
  77. String shopNo = params.get("shopNo");
  78. if (StringUtils.isNotBlank(sourceId) && StringUtils.isNotBlank(state)) {
  79. // 进行业务逻辑处理
  80. // apiDeliveryService.bindDaDa(sourceId,state,DeliveryTypeEnums.DADA.getType(),shopNo);
  81. apiDeliveryBindService.bindDaDa(sourceId, state, DeliveryTypeEnums.DADA.getType(), shopNo);
  82. }
  83. }
  84. }