2025-11-11 16:23:50 +08:00

92 lines
2.2 KiB
Java

package com.cdzy.operations.service;
import com.cdzy.common.model.request.PageParam;
import com.cdzy.operations.model.dto.EbikeBikeInfoDto;
import com.cdzy.operations.model.dto.EbikeDto;
import com.cdzy.operations.model.dto.EbikeUserBikeInfo;
import com.cdzy.operations.model.dto.EbikeUserLockDto;
import com.cdzy.operations.model.entity.EbikeBikeInfo;
import com.cdzy.operations.model.vo.EbikeBatchLaunchVo;
import com.cdzy.operations.model.vo.EbikeBatchUnLaunchVo;
import com.cdzy.operations.model.vo.EbikeBikeBindVo;
import com.cdzy.operations.model.vo.EbikeBikeRadiusVo;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import org.postgresql.geometric.PGpolygon;
import java.util.List;
/**
* 服务层。
*
* @author attiya
* @since 2025-10-17
*/
public interface EbikeBikeInfoService extends IService<EbikeBikeInfo> {
/**
* 整车绑定同时生成车辆编号
* @param bindVo 绑定信息
*/
void bind(EbikeBikeBindVo bindVo);
/**
* 查询区域内车辆
* @param polygon 区域
* @return 列表
*/
List<EbikeBikeInfo> list(PGpolygon polygon);
/**
* 上架车辆分页查询
* @param pageParam 分页参数
* @return 结果
*/
Page<EbikeBikeInfoDto> launchPage(PageParam pageParam);
/**
* 未上架车辆分页查询
* @param pageParam 分页参数
* @return 结果
*/
Page<EbikeBikeInfoDto> unLaunchPage(PageParam pageParam);
/**
* 批量上架
* @param launchVo 上架参数
*/
void batchLaunch(EbikeBatchLaunchVo launchVo);
/**
* 批量下架
* @param launchVo 下架参数
*/
void batchUnLaunch(EbikeBatchUnLaunchVo launchVo);
/**
* 车辆
* @param radiusVo 半径信息
* @return 车辆列表
*/
List<EbikeDto> userRadiusList(EbikeBikeRadiusVo radiusVo);
/**
* 用户开锁
* @param bikeCode 车辆编号
*/
void openLock(String bikeCode);
/**
* 用户获取车辆详情
* @param bikeCode 车辆编号
* @return 详情
*/
EbikeUserBikeInfo bikeInfo(String bikeCode);
/**
* 用户关锁
* @param bikeCode 车辆编号
*/
EbikeUserLockDto lock(String bikeCode);
}