package com.ruoyi.other.service;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.ruoyi.account.api.model.TVinManagement;
|
import com.ruoyi.other.api.domain.TFleet;
|
import com.ruoyi.other.api.dto.FleetExportDTO;
|
import com.ruoyi.other.api.dto.FleetImportDTO;
|
import com.ruoyi.other.api.dto.FleetQueryDTO;
|
|
import java.util.List;
|
|
/**
|
* <p>
|
* 车队管理 服务类
|
* </p>
|
*
|
* @author mxcd
|
* @since 2026-09-22
|
*/
|
public interface TFleetService extends IService<TFleet> {
|
|
/**
|
* 批量导入车队(Excel 解析结果),校验并入库
|
*
|
* @param items Excel 解析出的车队数据
|
* @return 导入结果提示
|
*/
|
String importFleets(List<FleetImportDTO> items);
|
|
/**
|
* 按条件查询车队导出列表(含公司名称回填)
|
*
|
* @param query 导出查询条件
|
* @return 导出数据
|
*/
|
List<FleetExportDTO> selectExportList(FleetQueryDTO query);
|
|
/**
|
* 分页查询车队下的VIN码车辆(远程调用VIN管理服务,含VIN码、车牌号、手机号、初始分配额度、启用状态)
|
*
|
* @param fleetId 车队ID
|
* @param current 当前页码
|
* @param size 每页数量
|
* @return VIN码车辆分页数据
|
*/
|
Page<TVinManagement> selectVinPage(Integer fleetId, Integer current, Integer size);
|
|
/**
|
* 填充车队列表聚合字段(VIN车辆数、可充电站数、累计充电量/电费/服务费),
|
* 供车队管理分页列表与导出列表共用,任一远程调用异常时该字段为 0(不阻塞整体加载)。
|
*
|
* @param fleets 车队记录列表(原地修改)
|
*/
|
void fillAggregates(List<TFleet> fleets);
|
|
/**
|
* 删除车队(先远程解绑该车队下的 VIN码/充电卡/白名单车队归属,解绑成功后再删除车队)。
|
* 解绑失败时抛出异常并中止删除,车队与绑定关系均保持一致。
|
*
|
* @param ids 车队ID列表(自动去重、过滤空值)
|
* @return 是否删除成功
|
*/
|
boolean deleteFleets(List<Integer> ids);
|
|
}
|