DadaDeliveryCallback.java 3.4 KB

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