xuhy
2024-09-11 936442ac6cad186e866c7921ff4cbb5dca35c89c
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
package com.ruoyi.order.api.feignClient;
 
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.dto.ChargingOrderGroup;
import com.ruoyi.common.core.dto.ChargingPercentProvinceDto;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.order.api.factory.ChargingOrderFallbackFactory;
import com.ruoyi.order.api.model.ChargingListQuery;
import com.ruoyi.order.api.model.TChargingOrder;
import com.ruoyi.order.api.model.TSettlementConfirm;
import com.ruoyi.order.api.query.TChargingCountQuery;
import com.ruoyi.order.api.query.UploadRealTimeMonitoringDataQuery;
import com.ruoyi.order.api.vo.ChargingBillVO;
import com.ruoyi.order.api.vo.SettlementTotalVO;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import com.ruoyi.order.api.vo.GetChargingOrderByLicensePlate;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
 
import java.util.List;
 
/**
 * 充电订单服务
 * @author ruoyi
 */
@FeignClient(contextId = "ChargingOrderClient", value = ServiceNameConstants.ORDER_SERVICE, fallbackFactory = ChargingOrderFallbackFactory.class)
public interface ChargingOrderClient {
    @PostMapping(value = "/t-charging-order/useOrderCount")
    R<Long> useOrderCount(@RequestParam("userId") Long userId);
    @PostMapping(value = "/t-charging-order/chargingBillListR")
    R<ChargingBillVO> chargingBillListR(@RequestBody ChargingListQuery dto);
    @PostMapping(value = "/t-charging-order/detail")
    R<TChargingOrder> orderDetail(@RequestParam("orderId") Long orderId);
 
 
    @PostMapping(value = "/t-charging-order/getList")
    R<List<TChargingOrder>> getList(@RequestParam("siteId") Integer siteId);
 
    @PostMapping(value = "/t-charging-order/getBySiteIdAndTime")
    R<List<ChargingOrderGroup>> getBySiteIdAndTime(@RequestBody ChargingPercentProvinceDto chargingPercentProvinceDto);
 
 
 
 
    /**
     * 查询会员在本月有多少次享受了充电折扣
     * @param req
     * @return
     */
    @PostMapping(value = "/t-charging-order/getChargingCount")
    public R<Integer> getChargingCount(@RequestBody TChargingCountQuery req);
    
    
    /**
     * 根据充电枪获取正在充电的订单
     * @param chargingGunId 充电枪id
     * @return
     */
    @PostMapping(value = "/t-charging-order/getOrderDetailByGunId")
    R<TChargingOrder> getOrderDetailByGunId(@RequestParam("chargingGunId") Integer chargingGunId);
 
    /**
     * 获取用户最近使用车辆充电的车辆id
     * @return
     */
    @GetMapping(value = "/t-charging-order/getCar")
    public R<Long> getCar();
    
    
    /**
     * 处理充电订单实时监控数据相关的业务逻辑
     * @param query
     * @return
     */
    @PostMapping(value = "/t-charging-order/chargeMonitoring")
    void chargeMonitoring(@RequestBody UploadRealTimeMonitoringDataQuery query);
 
    /**
     * 通过流水号查询订单
     * @param code
     * @return
     */
    @PostMapping(value = "/t-charging-order/getOrderByCode/{code}")
    R<TChargingOrder> getOrderByCode(@PathVariable("code") String code);
    
    
    /**
     * 充电解释后处理逻辑
     * @param code
     */
    @PostMapping("/t-charging-order/endCharge")
    void endCharge(@RequestParam("code") String code);
    
    
    /**
     * 硬件异常结束充电后的处理逻辑
     * @param code
     */
    @PostMapping("/t-charging-order/excelEndCharge")
    void excelEndCharge(@RequestParam("code") String code);
 
 
    /**
     * 根据车牌号和时间查询有效的充电数据
     * @param query
     * @return
     */
    @PostMapping("/t-charging-order/getChargingOrderByLicensePlate")
    R<TChargingOrder> getChargingOrderByLicensePlate(@RequestBody GetChargingOrderByLicensePlate query);
 
    /**
     * 获取充电结算记录
     * @param uid
     * @return
     */
    @GetMapping(value = "/financial/settlement/downloadSettlement/{uid}")
    public R<TSettlementConfirm> downloadSettlement(@PathVariable("uid") String uid);
 
    @GetMapping(value = "/financial/settlement/settlementTotalR")
    public R<SettlementTotalVO> settlementTotalR(String time);
 
    /**
     * 修改充电订单
     * @param chargingOrder
     * @return
     */
    @PostMapping("/t-charging-order/updateChargingOrder")
    R<String> updateChargingOrder(@RequestBody TChargingOrder chargingOrder);
 
    /**
     * 手动停止充电
     * @param id
     * @return
     */
    @PutMapping(value = "/t-charging-order/stopCharging/{id}")
    R<String> stopCharging(@PathVariable("id") String id);
}