package com.zcloud.primeport.api;

import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.primeport.domain.model.VehicleApplyE;
import com.zcloud.primeport.dto.*;
import com.zcloud.primeport.dto.clientobject.AppCountCO;
import com.zcloud.primeport.dto.clientobject.FgsVehicleCountCo;
import com.zcloud.primeport.dto.clientobject.VehicleApplyCO;
import com.zcloud.primeport.dto.clientobject.VehicleAuditCO;

import java.util.HashMap;
import java.util.Map;

/**
 * web-client
 *
 * @Author makejava
 * @Date 2026-03-05 11:33:24
 */
public interface VehicleApplyServiceI {
    PageResponse<VehicleApplyCO> listPage(VehicleApplyPageQry qry);

    SingleResponse<VehicleApplyE> add(VehicleApplyAddCmd cmd);

    void edit(VehicleApplyUpdateCmd cmd);

    void remove(Long id);

    void removeBatch(Long[] ids);

    VehicleApplyCO getInfoById(Long id);

    Map<String, Object> checkLicenceNo(String licenceNo, Long id);

    void inspectCarSave(VehicleApplyInspectAddCmd cmd);

    void inspectCarEdit(VehicleApplyInspectUpdateCmd cmd);

    PageResponse<FgsVehicleCountCo> fgsCount(HashMap<String, String> qry);

    PageResponse<VehicleAuditCO> xgfCarApplyList(XgfApplyCarPageQry qry);


    PageResponse<VehicleApplyCO> getCarByVehicleBelongType(VehicleApplyPageQry qry);

    void xgfCarAuthorization(CarAuthCmd cmd);

    Map<String, Object> checkLicenceNoBlack(String licenceNo);

    MultiResponse<AppCountCO> getAppCount();
}

