2023-03-04 16:29:55 +08:00
|
|
|
|
package com.jsowell.pile.service;
|
|
|
|
|
|
|
|
|
|
|
|
import com.jsowell.common.core.domain.ykc.RealTimeMonitorData;
|
|
|
|
|
|
import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
|
|
|
|
|
|
import com.jsowell.pile.domain.OrderBasicInfo;
|
|
|
|
|
|
import com.jsowell.pile.domain.OrderDetail;
|
2023-03-30 15:35:14 +08:00
|
|
|
|
import com.jsowell.pile.dto.GenerateOrderDTO;
|
2023-03-04 16:29:55 +08:00
|
|
|
|
import com.jsowell.pile.dto.IndexQueryDTO;
|
|
|
|
|
|
import com.jsowell.pile.dto.QueryOrderDTO;
|
|
|
|
|
|
import com.jsowell.pile.dto.QueryPersonPileDTO;
|
|
|
|
|
|
import com.jsowell.pile.vo.uniapp.OrderVO;
|
|
|
|
|
|
import com.jsowell.pile.vo.uniapp.PersonPileConnectorSumInfoVO;
|
|
|
|
|
|
import com.jsowell.pile.vo.uniapp.SendMessageVO;
|
|
|
|
|
|
import com.jsowell.pile.vo.web.IndexOrderInfoVO;
|
|
|
|
|
|
import com.jsowell.pile.vo.web.OrderListVO;
|
|
|
|
|
|
import com.jsowell.pile.vo.web.OrderTotalDataVO;
|
|
|
|
|
|
import com.jsowell.wxpay.dto.WeChatRefundDTO;
|
|
|
|
|
|
|
2023-03-25 11:10:15 +08:00
|
|
|
|
import java.time.LocalDateTime;
|
2023-03-04 16:29:55 +08:00
|
|
|
|
import java.util.List;
|
2023-03-30 15:35:14 +08:00
|
|
|
|
import java.util.Map;
|
2023-03-04 16:29:55 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 订单Service接口
|
|
|
|
|
|
*
|
|
|
|
|
|
* @author jsowell
|
|
|
|
|
|
* @date 2022-09-30
|
|
|
|
|
|
*/
|
|
|
|
|
|
public interface IOrderBasicInfoService {
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 查询订单
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param id 订单主键
|
|
|
|
|
|
* @return 订单
|
|
|
|
|
|
*/
|
|
|
|
|
|
OrderBasicInfo selectOrderBasicInfoById(Long id);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 条件查询订单基础信息
|
|
|
|
|
|
* @param info
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
OrderBasicInfo getOrderBasicInfo(OrderBasicInfo info);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 查询订单列表
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param dto 订单
|
|
|
|
|
|
* @return 订单集合
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<OrderListVO> selectOrderBasicInfoList(QueryOrderDTO dto);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 查询充电中的订单,没有数据权限校验,后管不要用
|
|
|
|
|
|
* @param pileSn
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<OrderListVO> selectChargingOrder(String pileSn);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 修改订单
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param orderBasicInfo 订单
|
|
|
|
|
|
* @return 结果
|
|
|
|
|
|
*/
|
|
|
|
|
|
int updateOrderBasicInfo(OrderBasicInfo orderBasicInfo);
|
|
|
|
|
|
|
2023-04-15 09:36:02 +08:00
|
|
|
|
// 清订单缓存
|
|
|
|
|
|
void cleanCacheByOrderCode(String orderCode, String transactionCode);
|
|
|
|
|
|
|
2023-03-04 16:29:55 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 批量删除订单
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param ids 需要删除的订单主键集合
|
|
|
|
|
|
* @return 结果
|
|
|
|
|
|
*/
|
|
|
|
|
|
int deleteOrderBasicInfoByIds(Long[] ids);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 通过订单号查询订单信息
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param orderCode 订单号
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
OrderBasicInfo getOrderInfoByOrderCode(String orderCode);
|
|
|
|
|
|
|
2023-03-13 16:06:18 +08:00
|
|
|
|
OrderBasicInfo getOrderInfoByTransactionCode(String transactionCode);
|
|
|
|
|
|
|
2023-03-04 16:29:55 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 通过桩号和枪口号查询充电中的状态
|
|
|
|
|
|
* @param pileSn 桩编号
|
|
|
|
|
|
* @param connectorCode 枪口号
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
OrderBasicInfo queryChargingByPileSnAndConnectorCode(String pileSn, String connectorCode);
|
|
|
|
|
|
|
|
|
|
|
|
OrderBasicInfo queryChargingByPileConnectorCode(String pileConnectorCode);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 根据交易记录结算订单
|
|
|
|
|
|
* @param data 交易记录数据
|
|
|
|
|
|
* @param orderBasicInfo
|
|
|
|
|
|
*/
|
|
|
|
|
|
void settleOrder(TransactionRecordsData data, OrderBasicInfo orderBasicInfo);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 关闭15分钟未支付订单
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
int close15MinutesOfUnpaidOrders();
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 通过订单号查询订单详情
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param orderCode 订单号
|
|
|
|
|
|
* @return 订单详情
|
|
|
|
|
|
*/
|
|
|
|
|
|
OrderDetail getOrderDetailByOrderCode(String orderCode);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 通过会员Id和订单状态查询订单信息
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param memberId 会员id
|
|
|
|
|
|
* @param orderStatusList 订单状态集合
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<OrderVO> getListByMemberIdAndOrderStatus(String memberId, List<String> orderStatusList);
|
|
|
|
|
|
|
2023-04-11 16:13:06 +08:00
|
|
|
|
List<OrderVO> getListByMemberIdAndOrderStatus(String memberId, List<String> orderStatusList, LocalDateTime dateTime);
|
|
|
|
|
|
|
2023-03-04 16:29:55 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 结算订单退款和用户余额退款调这个方法
|
|
|
|
|
|
*/
|
|
|
|
|
|
void weChatRefund(WeChatRefundDTO dto);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 保存非法订单记录
|
|
|
|
|
|
*/
|
|
|
|
|
|
void saveAbnormalOrder(TransactionRecordsData data);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取充电实时数据
|
|
|
|
|
|
* @param orderCode 订单编号
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<RealTimeMonitorData> getChargingRealTimeData(String orderCode);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 首页订单数据展示
|
|
|
|
|
|
* @param dto 首页信息查询dto
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<IndexOrderInfoVO> getIndexOrderInfo(IndexQueryDTO dto);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取超过15分钟的待支付状态订单
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<OrderBasicInfo> getUnpaidOrderListOver15Min();
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 根据orderId批量修改订单状态
|
|
|
|
|
|
* @param orderIds
|
|
|
|
|
|
* @param orderStatus
|
|
|
|
|
|
*/
|
|
|
|
|
|
void updateOrderStatusById(List<String> orderIds, String orderStatus);
|
|
|
|
|
|
|
2023-03-16 17:09:35 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 通过订单状态和支付状态 转换订单状态描述
|
|
|
|
|
|
* @param orderStatus 订单状态
|
|
|
|
|
|
* @param payStatus 支付状态
|
|
|
|
|
|
* @return 订单状态描述
|
|
|
|
|
|
*/
|
|
|
|
|
|
String transformOrderStatusDescribe(String orderStatus, String payStatus);
|
|
|
|
|
|
|
2023-03-04 16:29:55 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 查询时间段内订单总金额和总用电量
|
|
|
|
|
|
*/
|
|
|
|
|
|
OrderTotalDataVO getOrderTotalData(QueryOrderDTO orderBasicInfo);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 通过订单号查询订单信息(小程序发送消息用)
|
|
|
|
|
|
* @param orderCode
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
SendMessageVO selectOrderInfoByOrderCode(String orderCode);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 充电桩启动失败
|
|
|
|
|
|
* @param orderCode
|
|
|
|
|
|
* @param failedReasonMsg
|
|
|
|
|
|
*/
|
|
|
|
|
|
void chargingPileFailedToStart(String orderCode, String failedReasonMsg);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 充电桩启动成功
|
|
|
|
|
|
* @param orderCode
|
|
|
|
|
|
*/
|
|
|
|
|
|
void chargingPileStartedSuccessfully(String orderCode);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 关闭启动失败的订单
|
|
|
|
|
|
*/
|
|
|
|
|
|
void closeStartFailedOrder(String startTime, String endTime);
|
|
|
|
|
|
|
2023-04-14 15:22:27 +08:00
|
|
|
|
List<OrderVO> getListByOrderCodes(List<String> orderCodes);
|
|
|
|
|
|
|
2023-03-04 16:29:55 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 个人桩查询充电数据
|
|
|
|
|
|
* @param dto
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<PersonPileConnectorSumInfoVO> getAccumulativeInfo(QueryPersonPileDTO dto);
|
2023-03-09 16:52:57 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 修改订单状态为异常(桩离线时调用)
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param pileSn
|
|
|
|
|
|
*/
|
|
|
|
|
|
void updateOrderStatusAsAbnormal(String pileSn);
|
2023-03-13 16:06:18 +08:00
|
|
|
|
|
2023-03-25 11:10:15 +08:00
|
|
|
|
List<OrderBasicInfo> getAppointmentOrder(LocalDateTime dateTime);
|
2023-03-30 15:35:14 +08:00
|
|
|
|
|
|
|
|
|
|
Map<String, Object> generateOrderByCard(GenerateOrderDTO dto);
|
2023-03-04 16:29:55 +08:00
|
|
|
|
}
|