yyy
2026-04-24 0348799e5ad942f9e421c06c7a8bdeeea1f6e2c1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
package com.xiaopeng.api.feignClient.vehicleConvoy;
 
import com.xiaopeng.api.dto.operation.VehiclePositionByVinDto;
import com.xiaopeng.api.dto.vehicleConvoy.ServiceVehicleListDto;
import com.xiaopeng.api.dto.vehicleConvoy.UpdateVehicleStateDto;
import com.xiaopeng.api.factory.vehicleConvoy.XpVehicleClientFallbackFactory;
import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
import com.xiaopeng.api.vo.vehicleConvoy.VehicleDoorStatusVo;
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.*;
 
import java.util.List;
 
/**
 * 车辆Feign客户端
 *
 * @author mitao
 */
@FeignClient(contextId = "XpVehicleClient",
        value = ServiceNameConstantsEnum.XP_VEHICLE_CONVOY_SERVICE,
        fallbackFactory = XpVehicleClientFallbackFactory.class)
public interface XpVehicleClient {
 
    /**
     * 根据ID列表批量查询车辆信息
     *
     * @param ids 车辆ID列表
     * @return 车辆列表
     */
    @PostMapping("/logan/inner/vehicle/listByIds")
    R<List<XpVehicle>> listByIds(@RequestBody List<Long> ids);
    /**
     * 查询车辆列表
     *
     * @return 车辆列表
     */
    @PostMapping("/logan/inner/vehicle/listVehicle")
    R<List<XpVehicle>> listVehicle();
    /**
     * 根据ID查询车辆信息
     *
     * @param id 车辆ID
     * @return 车辆
     */
    @GetMapping("/logan/inner/vehicle/queryById")
    R<XpVehicle> queryById(@RequestParam Long id);
    /**
     * 修改车辆信息
     *
     * @param xpVehicle 车辆信息
     * @return 车辆
     */
    @PostMapping("/logan/inner/vehicle/updateVehicleById")
    R<String> updateVehicleById(@RequestBody XpVehicle xpVehicle);
 
    /**
     * 根据车牌号查询车辆信息
     * @param plateNumber
     * @return
     */
    @PostMapping("/logan/inner/vehicle/listByPlateNumber")
    R<List<XpVehicle>> listByPlateNumber(@RequestParam("plateNumber") String plateNumber);
 
 
    /**
     * 根据围栏id查询空闲车辆
     *
     */
    @GetMapping("/logan/inner/vehicle/listByFenceId")
    R<List<XpVehicle>> listByFenceId(@RequestParam("fenceId") Long fenceId);
 
    /**
     * 根据围栏id查询所有绑定车辆(不过滤状态)
     */
    @GetMapping("/logan/inner/vehicle/listAllByFenceId")
    R<List<XpVehicle>> listAllByFenceId(@RequestParam("fenceId") Long fenceId);
 
 
    /**
     * 查询车辆信息 进行筛选
     */
    @PostMapping("/logan/inner/vehicle/queryVehiclePositionByVin")
    R<List<String>> queryVehiclePositionByVin(@RequestBody VehiclePositionByVinDto dto);
 
    /**
     * 根据车辆vin查询车辆信息
     *
     * @param vehicleVin
     * @return
     */
    @GetMapping("/logan/inner/vehicle/findByVehicleVin")
    R<XpVehicle> findByVehicleVin(@RequestParam("vehicleVin") String vehicleVin);
 
 
 
 
    /**
     * 根据车辆xpuid查询车辆信息
     *
     * @param xpuid
     * @return
     */
    @GetMapping("/logan/inner/vehicle/findByVehicleXpuId")
    R<XpVehicle> findByVehicleXpuId(@RequestParam("xpuid") String xpuid);
 
    /**
     * 修改车辆状态
     *
     * @param updateVehicleStateDto
     * @return
     */
    @PostMapping("/logan/inner/vehicle/updateVehicleStatus")
    R<?> updateVehicleStatus(@RequestBody UpdateVehicleStateDto updateVehicleStateDto);
 
    /**
     * 根据车辆id查询车辆所属的车队id
     *
     * @param vehicleId
     * @return
     */
    @GetMapping("/logan/inner/vehicle/findFleetIdByVehicleId")
    R<Long> findFleetIdByVehicleId(@RequestParam Long vehicleId);
 
 
    /**
     * 获取车辆后备箱开关状态
     * @param uid
     * @param id
     * @return
     */
    @PostMapping("/logan/inner/vi/vehicle/getVehicleTrunkOpenStatus")
    R<Boolean> getVehicleTrunkOpenStatus(@RequestParam("uid") Long uid, @RequestParam("id") Long id);
 
 
    /**
     * 分页获取运营车辆列表
     * @param dto
     * @return
     */
    @PostMapping("/logan/inner/vehicle/getServiceVehicleList")
    R<List<XpVehicle>> getServiceVehicleList(@RequestBody ServiceVehicleListDto dto);
 
 
 
    /**
     * 根据订单id查询四门三盖状态
     * @param orderId
     * @return
     */
    @GetMapping("/logan/inner/vehicle/getVehicleDoorStatus/{orderId}")
    R<VehicleDoorStatusVo> getVehicleDoorStatus(@PathVariable Long orderId);
}