|
@@ -0,0 +1,183 @@
|
|
|
|
+package com.ydd.third.controller;
|
|
|
|
+
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
|
+import com.ydd.third.common.vo.ResObject;
|
|
|
|
+import com.ydd.third.common.vo.waimai.*;
|
|
|
|
+import com.ydd.third.waimai.Client;
|
|
|
|
+import com.ydd.third.waimai.meituan.MeituanCallback;
|
|
|
|
+import com.ydd.third.waimai.meituan.MeituanClient;
|
|
|
|
+import lombok.RequiredArgsConstructor;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
|
+
|
|
|
|
+import java.util.Map;
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * 美团外卖相关api
|
|
|
|
+ * @author 叶君翔
|
|
|
|
+ * @date 2021/11/10 11:59
|
|
|
|
+ */
|
|
|
|
+@RestController
|
|
|
|
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
|
|
|
|
+public class MeiTuanController {
|
|
|
|
+
|
|
|
|
+ private final MeituanClient meituanClient;
|
|
|
|
+
|
|
|
|
+ private final MeituanCallback meituanCallback;
|
|
|
|
+
|
|
|
|
+ private final Client client;
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 同步骑手位置
|
|
|
|
+ */
|
|
|
|
+ @PostMapping(value="/meituan/syncRiderPosition")
|
|
|
|
+ public ResObject syncRiderPosition(@RequestBody SyncRiderPositionStatusVo syncRiderPositionVo) {
|
|
|
|
+ return meituanClient.syncRiderPosition(syncRiderPositionVo);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 获取美团解除绑定URL
|
|
|
|
+ */
|
|
|
|
+ @PostMapping(value="/meituan/shopReleaseBindUrl")
|
|
|
|
+ public String shopReleaseBindUrl(@RequestParam("token") String token, @RequestParam("shopCode") String shopCode, @RequestParam("businessId") String businessId) {
|
|
|
|
+ return meituanClient.shopReleaseBindUrl(token, shopCode, businessId);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 门店映射URL
|
|
|
|
+ */
|
|
|
|
+ @PostMapping(value="/meituan/storeMapUrl")
|
|
|
|
+ public String storeMapUrl(@RequestParam("shopCode") String shopCode, @RequestParam("shopName") String shopName, @RequestParam("mtBindType") Integer mtBindType) {
|
|
|
|
+ return meituanClient.storeMapUrl(shopCode, shopName, mtBindType);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 确认订单
|
|
|
|
+ */
|
|
|
|
+ @PostMapping(value="/meituan/confirmOrder")
|
|
|
|
+ public ResObject confirmOrder(@RequestBody ConfirmOrderVo confirmOrderVo) {
|
|
|
|
+ return meituanClient.confirmOrder(confirmOrderVo);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 门店映射回调
|
|
|
|
+ */
|
|
|
|
+ @PostMapping(value="/meituan/doStoreMap")
|
|
|
|
+ ResObject<MeituanShopMappingResultVo> doStoreMap(@RequestParam Map<String, String> params) {
|
|
|
|
+ return meituanCallback.doStoreMap(params);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 门店解除绑定
|
|
|
|
+ */
|
|
|
|
+ @PostMapping(value="/meituan/doShopReleaseBind")
|
|
|
|
+ ResObject<MeituanShopReleaseBindResultVo> doShopReleaseBind(@RequestParam Map<String, String> params) {
|
|
|
|
+ return meituanCallback.doShopReleaseBind(params);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 隐私号-降级回调
|
|
|
|
+ */
|
|
|
|
+ @PostMapping(value="/meituan/doPrivacyNoDecline")
|
|
|
|
+ ResObject doPrivacyNoDecline(@RequestParam Map<String, String> params) {
|
|
|
|
+ return meituanCallback.doPrivacyNoDecline(params);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 处理催单回调
|
|
|
|
+ */
|
|
|
|
+ @PostMapping(value="/meituan/doRemindOrder")
|
|
|
|
+ ResObject<MeituanRemindOrderResultVo> doRemindOrder(@RequestParam Map<String, String> params) {
|
|
|
|
+ return meituanCallback.doRemindOrder(params);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 处理订单部分退款回调
|
|
|
|
+ */
|
|
|
|
+ @PostMapping(value="/meituan/doOrderPartRefund")
|
|
|
|
+ public ResObject<MeituanOrderPartRefundResultVo> doOrderPartRefund(@RequestParam Map<String, String> params) {
|
|
|
|
+ return meituanCallback.doOrderPartRefund(params);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 处理订单完成回调
|
|
|
|
+ */
|
|
|
|
+ @PostMapping(value="/meituan/doFinishOrder")
|
|
|
|
+ ResObject<MeituanOrderResultVo> doFinishOrder(@RequestParam Map<String, String> params) {
|
|
|
|
+ return meituanCallback.doFinishOrder(params);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 处理已确认的订单回调
|
|
|
|
+ */
|
|
|
|
+ @PostMapping(value="/meituan/doConfirmOrder")
|
|
|
|
+ ResObject<MeituanOrderResultVo> doConfirmOrder(@RequestParam Map<String, String> params) {
|
|
|
|
+ return meituanCallback.doConfirmOrder(params);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 处理订单退款回调
|
|
|
|
+ */
|
|
|
|
+ @PostMapping(value="/meituan/doOrderRefund")
|
|
|
|
+ ResObject<MeituanOrderRefundResultVo> doOrderRefund(@RequestParam Map<String, String> params) {
|
|
|
|
+ return meituanCallback.doOrderRefund(params);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 处理订单取消回调
|
|
|
|
+ */
|
|
|
|
+ @PostMapping(value="/meituan/doCancelOrder")
|
|
|
|
+ ResObject<MeituanOrderCancelResultVo> doCancelOrder(@RequestParam Map<String, String> params) {
|
|
|
|
+ return meituanCallback.doCancelOrder(params);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 接收新订单推送
|
|
|
|
+ */
|
|
|
|
+ @PostMapping(value="/meituan/doWmNewOrder")
|
|
|
|
+ ResObject<MeituanWmoperOrderResultVo> doWmNewOrder(@RequestBody JSONObject jsonObject) {
|
|
|
|
+ return meituanCallback.doWmNewOrder(jsonObject);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 接收新订单推送
|
|
|
|
+ */
|
|
|
|
+ @PostMapping(value="/meituan/doNewOrder")
|
|
|
|
+ ResObject<MeituanOrderResultVo> doNewOrder(@RequestParam Map<String, String> params) {
|
|
|
|
+ return meituanCallback.doNewOrder(params);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 查询订单详情-外卖非接单
|
|
|
|
+ */
|
|
|
|
+ @GetMapping(value="/meituan/queryOrderDetail")
|
|
|
|
+ ResObject<MeituanWmOrderResultVo> queryOrderDetail(@RequestParam("appAuthToken") String appAuthToken, @RequestParam("orderId") String orderId) {
|
|
|
|
+ return meituanClient.queryOrderDetail(appAuthToken, orderId);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 外卖非接单-查询自配送订单的收货人信息
|
|
|
|
+ */
|
|
|
|
+ @GetMapping(value="/meituan/getRecipientInfo")
|
|
|
|
+ ResObject<MeituanWmRecipientInfoResultVo> getRecipientInfo(@RequestParam("appAuthToken") String appAuthToken, @RequestParam("orderId") String orderId){
|
|
|
|
+ return meituanClient.getRecipientInfo(appAuthToken, orderId);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 自配订单同步配送信息
|
|
|
|
+ */
|
|
|
|
+ @GetMapping(value="/syncRiderPositionStatus")
|
|
|
|
+ ResObject syncRiderPositionStatus(@RequestBody SyncRiderPositionStatusVo vo) {
|
|
|
|
+ return client.syncRiderPositionStatus(vo);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 查询菜品
|
|
|
|
+ */
|
|
|
|
+ @GetMapping(value="/queryFoodList")
|
|
|
|
+ ResObject queryFoodList(@RequestParam("authToken") String authToken) {
|
|
|
|
+ return meituanClient.queryFoodList(authToken);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+}
|