无关风月
2024-09-05 3cc94cc2d189e6ff55d657854599ad77ef8f6bf8
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
package com.ruoyi.order.service;
 
import com.baomidou.mybatisplus.extension.service.IService;
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.common.core.web.page.PageInfo;
import com.ruoyi.order.api.model.ChargingListQuery;
import com.ruoyi.order.api.model.TChargingOrder;
import com.ruoyi.order.api.model.TChargingOrderRefund;
import com.ruoyi.order.api.query.ChargingOrderQuery;
import com.ruoyi.order.api.query.UploadRealTimeMonitoringDataQuery;
import com.ruoyi.order.api.vo.ChargingOrderTimeVO;
import com.ruoyi.order.api.vo.TCharingOrderVO;
import com.ruoyi.order.dto.*;
import com.ruoyi.order.vo.ChargingOrderListInfoVO;
 
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;
import java.util.Map;
 
/**
 * <p>
 *  服务类
 * </p>
 *
 * @author xiaochen
 * @since 2024-08-07
 */
public interface TChargingOrderService extends IService<TChargingOrder> {
    
    
    /**
     * 获取小程序充电记录列表数据
     * @param query
     * @return
     */
    Map<String, Object> getMyChargingOrderList(GetMyChargingOrderList query);
    
    
    /**
     * 获取小程序充电记录明细
     * @param id
     * @return
     */
    MyChargingOrderInfo getMyChargingOrderInfo(String id);
    
    
    /**
     * 获取待开票订单列表
     * @param query
     * @return
     */
    List<MyChargingOrderList> getNoInvoicedOrder(GetNoInvoicedOrder query);
    
    
    /**
     * 充电支付
     * @param addChargingOrder
     * @return
     */
    AjaxResult paymentChargingOrder(AddChargingOrder addChargingOrder);
    
    
    /**
     * 支付成功后的回调处理逻辑
     * @param paymentType 支付方式:1=微信,2=支付宝
     * @param out_trade_no 业务流水号
     * @param transaction_id 三方支付流水号
     * @param attach 附加数据
     * @return
     */
    AjaxResult chargingOrderCallback(Integer paymentType, String out_trade_no, String transaction_id, String attach);
    
    
    /**
     * 充电启动失败后的退款回调处理
     * @param out_refund_no
     * @param refund_id
     * @param tradeState
     * @param success_time
     * @return
     */
    AjaxResult chargingOrderStartupFailureWxRefund(String out_refund_no, String refund_id, String tradeState, String success_time);
 
 
 
    /**
     * 获取充电中的详情
     * @param id
     * @return
     */
    ChargingDetails getChargingDetails(Integer id);
    
    
    /**
     * 停止充电
     * @param id
     * @return
     */
    AjaxResult stopCharging(String id);
 
    TCharingOrderVO chargingOrder(ChargingOrderQuery dto);
 
    R<PageInfo<PayOrderDto>> payOrderQuery(PayOrderQueryDto payOrderQueryDto);
 
    R<PageInfo<TChargingOrderRefund>> getRefundList(ChargingRefundDto chargingRefundDto);
 
    List<ChargingOrderGroup> chargingOrderGroup(ChargingPercentProvinceDto chargingPercentProvinceDto);
 
    List<SixChargingDto> charge(LocalDate sixBefore, List<Integer> siteIds);
 
    List<SixCircleDto> circle(List<Integer> siteIds,LocalDate sixBefore);
 
    Map<String, BigDecimal> countAll(LocalDate sixBefore);
 
    List<Map<String, BigDecimal>> getSumByType(List<Long> chargingOrderIds);
 
    List<Map<String, BigDecimal>> getDateData(List<Long> chargingOrderIds);
 
    List<Map<String, BigDecimal>> getWeekData(List<Long> chargingOrderIds);
 
    List<Map<String, BigDecimal>> getMonthData(List<Long> chargingOrderIds);
 
    List<Map<String, BigDecimal>> getYearData(List<Long> chargingOrderIds);
 
    ChargingOrderTimeVO chargingList(ChargingListQuery dto);
 
    R payRefund(PayOrderRefundDto payOrderQueryDto);
 
    ChargingOrderListInfoVO chargingInfo(String uid);
 
 
    /**
     * 处理充电订单实时监控数据相关的业务逻辑
     * @param query
     */
    void chargeMonitoring(UploadRealTimeMonitoringDataQuery query);
}