package com.xiaopeng.api.feignClient.order;
|
|
import com.xiaopeng.api.dto.order.GetOrderNumDto;
|
import com.xiaopeng.api.dto.order.PopOrderDto;
|
import com.xiaopeng.api.dto.statistics.OrderStatisticsDTO;
|
import com.xiaopeng.api.dto.statistics.StatisticsQueryDTO;
|
import com.xiaopeng.api.factory.order.XpOrderClientFallbackFactory;
|
import com.xiaopeng.api.model.order.XpOrder;
|
import com.xiaopeng.api.vo.order.OrderTrajectoryVo;
|
import com.xiaopeng.common.core.domain.R;
|
import com.xiaopeng.common.core.dto.ServiceNameConstantsEnum;
|
import org.springframework.cloud.openfeign.FeignClient;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
/**
|
* 订单Feign客户端
|
*
|
* @author mitao
|
*/
|
@FeignClient(contextId = "XpOrderClient",
|
value = ServiceNameConstantsEnum.XP_ORDER_SERVICE,
|
fallbackFactory = XpOrderClientFallbackFactory.class)
|
public interface XpOrderClient {
|
|
/**
|
* 获取订单统计数据
|
*
|
* @param query 查询参数
|
* @return 订单统计数据
|
*/
|
@PostMapping("/logan/inner/order/statistics")
|
R<OrderStatisticsDTO> getOrderStatistics(@RequestBody StatisticsQueryDTO query);
|
|
|
/**
|
* 查询是否有未支付订单 或 正在进行的订单
|
*/
|
@PostMapping("/logan/inner/order/has-unpaid-order")
|
R<Long> hasUnPaodOrder(@RequestParam String uid);
|
|
|
/**
|
* 通过订单id查询订单信息
|
*
|
* @param orderId 订单id
|
* @return 订单详情
|
*/
|
@PostMapping("/logan/inner/order/queryOrderById")
|
R<XpOrder> queryOrderById(@RequestParam Long orderId);
|
|
/**
|
* 添加订单
|
*
|
* @param xpOrder 订单信息
|
*/
|
@PostMapping("/logan/inner/order/addOrder")
|
R<Long> addOrder(@RequestBody XpOrder xpOrder);
|
|
|
/**
|
* 取消订单
|
*
|
* @param orderId 订单id
|
*/
|
@PostMapping("/logan/inner/order/cancelOrder")
|
R<?> cancelOrder(@RequestParam("orderId") String orderId);
|
|
|
/**
|
* 通过订单编号查询订单信息
|
*
|
* @param orderNo 订单编号
|
* @return 订单详情
|
*/
|
@PostMapping("/logan/inner/order/queryOrderByOrderNo")
|
R<XpOrder> queryOrderByOrderNo(@RequestParam String orderNo);
|
|
|
/**
|
* 获取订单数量
|
*
|
* @param
|
* @return 订单数量
|
*/
|
@PostMapping("/logan/inner/order/getOrderNum")
|
R<Integer> getOrderNum(@RequestBody GetOrderNumDto dto);
|
|
|
|
/**
|
* 当日取消订单次数
|
*
|
* @param
|
* @return 订单数量
|
*/
|
@PostMapping("/inner/order/todayCancellationCount")
|
R<Integer> todayCancellationCount(@RequestParam Long userId);
|
|
/**
|
* 查询指定城市进行中的订单数量(status=1)
|
*
|
* @param cityId 开通城市ID
|
* @return 进行中订单数量
|
*/
|
@GetMapping("/logan/inner/order/countActiveOrders")
|
R<Integer> countActiveOrdersByCityId(@RequestParam("cityId") Long cityId);
|
|
|
/**
|
* 成功操作下发命令后调用 用于弹出redis队列的获取成功的数据
|
*/
|
@PostMapping("/logan/inner/order/popOrder")
|
R<?> popOrder(@RequestBody PopOrderDto dto);
|
|
/**
|
* 修改订单信息
|
*
|
* @param xpOrder 订单信息
|
*/
|
@PostMapping("/logan/inner/order/updateOrder")
|
R<?> updateOrder(@RequestBody XpOrder xpOrder);
|
|
|
/**
|
* 修改订单状态
|
* @param orderId
|
* @param status
|
* @return
|
*/
|
@PostMapping("/logan/inner/v1/order/updateOrderStatus")
|
R<String> updateOrderStatus(@RequestParam Long orderId,
|
@RequestParam Integer status,
|
@RequestParam Boolean orderException);
|
/**
|
* 行驶中车辆异常,订单状态修改- 修改状态=7 再修改 金额-再将状态修改成8
|
* @param orderId
|
* @return
|
*/
|
@PostMapping("/logan/inner/v1/order/carAbnormalUpdateOrderStatus")
|
R<String> carAbnormalUpdateOrderStatus(@RequestParam Long orderId);
|
|
|
/**
|
* 保存订单轨迹数据
|
* @param orderTrajectory
|
* @return
|
*/
|
@PostMapping("/logan/inner/v1/order/saveVehicleLocation")
|
R<String> saveVehicleLocation(@RequestBody OrderTrajectoryVo orderTrajectory);
|
|
|
|
|
}
|