Files
jsowell-charger-web/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java
2023-07-26 18:05:54 +08:00

229 lines
5.8 KiB
Java

package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.OrderBasicInfo;
import com.jsowell.pile.domain.OrderDetail;
import com.jsowell.pile.dto.*;
import com.jsowell.pile.vo.base.MerchantOrderInfoVO;
import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO;
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.RefundOrder;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.time.LocalDateTime;
import java.util.List;
/**
* 订单Mapper接口
*
* @author jsowell
* @date 2022-09-30
*/
@Repository
public interface OrderBasicInfoMapper {
/**
* 查询订单
*
* @param id 订单主键
* @return 订单
*/
OrderBasicInfo selectOrderBasicInfoById(Long id);
/**
* 条件查询订单基础信息
* @param info
* @return
*/
OrderBasicInfo getOrderBasicInfo(OrderBasicInfo info);
/**
* 查询订单列表
*
* @param orderBasicInfo 订单
* @return 订单集合
*/
List<OrderListVO> selectOrderBasicInfoList(QueryOrderDTO orderBasicInfo);
/**
* 新增订单
*
* @param orderBasicInfo 订单
* @return 结果
*/
int insertOrderBasicInfo(OrderBasicInfo orderBasicInfo);
/**
* 修改订单
*
* @param orderBasicInfo 订单
* @return 结果
*/
int updateOrderBasicInfo(OrderBasicInfo orderBasicInfo);
/**
* 批量删除订单
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
int deleteOrderBasicInfoByIds(Long[] ids);
/**
* 批量删除订单详情
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
int deleteOrderDetailByOrderCodes(Long[] ids);
/**
* 批量新增订单详情
*
* @param orderDetailList 订单详情列表
* @return 结果
*/
int batchOrderDetail(List<OrderDetail> orderDetailList);
/**
* 通过订单主键删除订单详情信息
*
* @param id 订单ID
* @return 结果
*/
int deleteOrderDetailByOrderCode(Long id);
/**
* 修改订单详情
* @param orderDetail 订单详情
*/
int updateOrderDetail(OrderDetail orderDetail);
/**
* 通过订单号查询订单基本信息
*
* @param orderCode 订单号
* @return
*/
OrderBasicInfo getOrderInfoByOrderCode(String orderCode);
OrderBasicInfo getOrderInfoByTransactionCode(String transactionCode);
/**
* 根据桩编号和枪口号查询某状态订单
*
* @param pileSn 桩编号
* @param connectorCode 枪口号
* @param orderStatus 订单状态
* @return 订单
*/
OrderBasicInfo queryOrderBasicInfo(@Param("pileSn") String pileSn, @Param("connectorCode") String connectorCode, @Param("orderStatus") String orderStatus);
/**
* 通过订单号查询订单详情
*
* @param orderCode 订单号
* @return 订单详情
*/
OrderDetail getOrderDetailByOrderCode(@Param("orderCode") String orderCode);
/**
* 通过会员Id和订单状态查询订单信息
*
* @param memberId 会员id
* @param orderStatusList 订单状态集合
* @param dateTime
* @return
*/
List<OrderVO> getListByMemberIdAndOrderStatus(@Param("memberId") String memberId,
@Param("orderStatusList") List<String> orderStatusList,
@Param("dateTime") LocalDateTime dateTime,
@Param("stationId") String stationId);
/**
* 将某订单修改为某状态
* @param orderCode 订单号
* @param orderStatus 修改为某状态
*/
void updateOrderStatusByOrderCode(@Param("orderCode") String orderCode, @Param("orderStatus") String orderStatus);
/**
* 首页订单数据展示
* @param dto 首页信息查询dto
* @return
*/
List<IndexOrderInfoVO> getIndexOrderInfo(@Param("dto") IndexQueryDTO dto);
/**
* 获取超过15分钟的待支付状态订单
* @return
*/
List<OrderBasicInfo> getUnpaidOrderListOver15Min(@Param("createTime") String createTime);
/**
* 根据orderId批量修改订单状态
* @param orderIds
* @param orderStatus
*/
void updateOrderStatusById(@Param("orderIds") List<String> orderIds, @Param("orderStatus") String orderStatus);
/**
* 通过订单号查询订单信息(小程序发送消息用)
* @param orderCode
* @return
*/
SendMessageVO selectOrderInfoByOrderCode(@Param("orderCode") String orderCode);
List<OrderBasicInfo> selectOrderListByTimeRangeAndStatus(@Param("startTime") String startTime,
@Param("endTime") String endTime,
@Param("orderStatus") String orderStatus,
@Param("payStatus") String payStatus);
/**
* 个人桩查询充电数据
* @param dto
* @return
*/
List<PersonPileConnectorSumInfoVO> getAccumulativeInfo(QueryPersonPileDTO dto);
List<OrderBasicInfo> getAppointmentOrder(LocalDateTime dateTime);
List<OrderVO> getListByOrderCodes(@Param("orderCodes") List<String> orderCodes);
/**
* 联联平台 获取累计数据用
* @param dto
* @return
*/
List<AccumulativeInfoVO> getAccumulativeInfoForLianLian(QueryStationInfoDTO dto);
List<OrderDetail> queryElecAmountNullList();
int batchUpdateOrderDetail(@Param("list") List<OrderDetail> orderDetailList);
List<OrderDetail> getOrderDetailList(List<String> orderCodes);
List<OrderBasicInfo> tempQueryWeChatRefundOrders(@Param("startTime") String startTime, @Param("endTime") String endTime);
/**
* 获取运营商订单列表
* @param dto
* @return
*/
List<MerchantOrderInfoVO> getMerchantOrderInfoList(@Param("dto") QueryMerchantOrderDTO dto);
List<RefundOrder> batchRefundQuery(List<String> orderCodeList);
/**
* 根据订单编号
* @param orderCodeList 订单编号列表
* @return
*/
List<OrderBasicInfo> queryOrderList(@Param("orderCodeList") List<String> orderCodeList);
}