package ${packageName}.service;

import com.shkj.common.core.domain.Result;
import SwitchStatusEntity;
import ${packageName}.domain.${ClassName};
import ${packageName}.vo.${ClassName}Vo;
import ${packageName}.bo.${ClassName}QueryBo;
import ${packageName}.bo.${ClassName}AddBo;
import ${packageName}.bo.${ClassName}EditBo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * ${functionName}Service接口
 *
 * @author ${author}
 * @date ${datetime}
 */
public interface I${ClassName}Service extends IService<${ClassName}> {
	/**
	 * 查询单个
	 *
     * @param id
     * @return
     */
	Result<${ClassName}Vo> queryById(${pkColumn.javaType} ${pkColumn.javaField});

	/**
     * 查询列表
     *
     * @param bo
     * @return
     */
	List<${ClassName}Vo> queryList(${ClassName}QueryBo bo);

	/**
	 * 根据新增业务对象插入${functionName}
	 * @param bo ${functionName}新增业务对象
	 * @return
	 */
	Result<Boolean> insertByAddBo(${ClassName}AddBo bo);

	/**
	 * 根据编辑业务对象修改${functionName}
	 * @param bo ${functionName}编辑业务对象
	 * @return
	 */
	Result<Boolean> updateByEditBo(${ClassName}EditBo bo);

	/**
	 * 校验并删除数据
	 * @param ids 主键集合
	 * @param isValid 是否校验,true-删除前校验,false-不校验
	 * @return
	 */
	Result<Boolean> deleteWithValidById(List<Long> ids, Boolean isValid);


}
