ApiCallBackApt.java 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package com.ydd.app.service.impl;
  2. import com.ydd.app.service.ApiCallBack;
  3. import com.ydd.common.enums.DeliveryTypeEnums;
  4. import com.ydd.common.utils.StringUtils;
  5. import com.ydd.module.dto.CallBackOrderDto;
  6. import com.ydd.module.enums.OrderStatusEnum;
  7. import com.ydd.third.common.dto.AptCallbackOrderVo;
  8. import lombok.extern.slf4j.Slf4j;
  9. import java.math.BigDecimal;
  10. /**
  11. * Project:lb-server
  12. * Class:ApiCallBackApt
  13. * Description:TODO
  14. * Time:2021/3/11 14:50
  15. *
  16. * @author zoe
  17. */
  18. @Slf4j
  19. public class ApiCallBackApt extends ApiCallBack {
  20. private final AptCallbackOrderVo aptCallbackOrderVo;
  21. public ApiCallBackApt(AptCallbackOrderVo aptCallbackOrderVo) {
  22. this.aptCallbackOrderVo = aptCallbackOrderVo;
  23. }
  24. /**
  25. * 状态
  26. * state=1 订单退回发布中等待骑手接单 (只有此状态,可以取消)-待接单1
  27. * state=8 订单已接单 -待配送3
  28. * state=31 订单已接单(转派订单)-待配送3
  29. * state=21 已经到店-待配送3
  30. * state=22 已经取货 (可以判断送货中)-配送中
  31. * state=9 订单请求完成 -已完成4
  32. * state=10 订单待评价-已完成4
  33. * state=11 订单已完成-已完成4
  34. * state=3 订单取消无退款 -已取消 -1
  35. * state=7 订单取消退款 -已取消 -1
  36. *
  37. * *
  38. * *
  39. * * 自配送状态
  40. * * 美团:logisticsStatus,必须
  41. * * 0 配送单发往配送 10 配送单已确认 15 骑手已到店 20 骑手已取餐 40 骑手已送达 100 配送单已取消
  42. * *
  43. * * 饿了么配送状态
  44. * * 饿了么-state 必选
  45. * * DELIVERY_START-商家已送出
  46. * * DELIVERY_CANCEL-商家已取消
  47. * * DELIVERY_COMPLETE-商家已送达
  48. * * DELIVERY_KNIGHT_ACCEPT-骑手已接单
  49. * * DELIVERY_KNIGHT_REACH_SHOP-骑手到店
  50. */
  51. @Override
  52. public CallBackOrderDto createCallBack() {
  53. CallBackOrderDto dto = new CallBackOrderDto();
  54. dto.setOrderSn(aptCallbackOrderVo.getThirdOrderId());
  55. dto.setRiderName(aptCallbackOrderVo.getReceive());
  56. dto.setRiderPhone(aptCallbackOrderVo.getReceivePhone());
  57. if(aptCallbackOrderVo.getOrderId()!=null){
  58. dto.setOutOrderId(aptCallbackOrderVo.getOrderId()+"");
  59. }
  60. try{
  61. String gps = aptCallbackOrderVo.getGps();
  62. if(StringUtils.isNotBlank(gps)){
  63. String[] lan = gps.split(",");
  64. dto.setRiderLat(new BigDecimal(lan[1]));
  65. dto.setRiderLng(new BigDecimal(lan[0]));
  66. }
  67. }catch (Exception e){
  68. log.error("gps 为空");
  69. }
  70. dto.setDeliveryType(DeliveryTypeEnums.AIPT.getType());
  71. if (aptCallbackOrderVo.getState().equals(1)){
  72. dto.setOrderStatus(OrderStatusEnum.ORDERS_TO_BE_RECEIVED.status);
  73. dto.setOrderMtStatus(0);
  74. dto.setOrderEleRetaiStatus("4");
  75. }
  76. if (aptCallbackOrderVo.getState().equals(8) || aptCallbackOrderVo.getState().equals(31) || aptCallbackOrderVo.getState().equals(21)){
  77. dto.setOrderStatus(OrderStatusEnum.TO_BE_DELIVERED.status);
  78. dto.setOrderMtStatus(10);
  79. dto.setOrderEleStatus("DELIVERY_KNIGHT_ACCEPT");
  80. dto.setOrderEleRetaiStatus("7");
  81. }
  82. if (aptCallbackOrderVo.getState().equals(22)){
  83. dto.setOrderStatus(OrderStatusEnum.IN_DELIVERY.status);
  84. dto.setOrderMtStatus(15);
  85. dto.setOrderEleStatus("DELIVERY_KNIGHT_REACH_SHOP");
  86. dto.setOrderEleRetaiStatus("21");
  87. }
  88. if (aptCallbackOrderVo.getState().equals(9) || aptCallbackOrderVo.getState().equals(10) || aptCallbackOrderVo.getState().equals(11)){
  89. dto.setOrderStatus(OrderStatusEnum.FINISH.status);
  90. dto.setOrderMtStatus(40);
  91. dto.setOrderEleStatus("DELIVERY_COMPLETE");
  92. dto.setOrderEleRetaiStatus("16");
  93. }
  94. if (aptCallbackOrderVo.getState().equals(3) || aptCallbackOrderVo.getState().equals(7)){
  95. dto.setOrderStatus(OrderStatusEnum.CANCEL.status);
  96. dto.setOrderMtStatus(100);
  97. dto.setOrderEleStatus("DELIVERY_CANCEL");
  98. dto.setOrderEleRetaiStatus("10");
  99. }
  100. return dto;
  101. }
  102. }