/* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ package com.vci.ubcs.code.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.vci.ubcs.code.dto.CodeButtonDTO; import com.vci.ubcs.code.entity.CodeButton; import com.vci.ubcs.code.vo.pagemodel.CodeButtonVO; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.web.pagemodel.DataGrid; import com.vci.ubcs.starter.web.pagemodel.PageHelper; import org.springblade.core.tool.api.R; import java.util.Collection; import java.util.List; import java.util.Map; /** * 模板扩展池 服务类 * * @author yuxc * @since 2023-03-29 */ public interface ICodeButtonService { /** * 自定义分页 * * @param page * @param codebutton * @return */ IPage selectcodebuttonPage(IPage page, CodeButtonVO codebutton); /** * 查询所有的主数据中的按钮扩展 * @param conditionMap 查询条件 * @param pageHelper 分页和排序 * @return 执行结果 * @throws VciBaseException 查询条件和分页出错的时候会抛出异常 */ IPage gridCodeButton(Map conditionMap, PageHelper pageHelper) throws VciBaseException; /** * 增加主数据中的按钮扩展 * @param codeButtonDTO 主数据中的按钮扩展数据传输对象 * @return 执行结果 * @throws VciBaseException 参数为空,唯一项,必输项不通过时会抛出异常 */ CodeButtonVO addSave(CodeButtonDTO codeButtonDTO) throws VciBaseException; /** * 修改主数据中的按钮扩展 * @param codeButtonDTO 主数据中的按钮扩展数据传输对象 * @return 执行结果 * @throws VciBaseException 参数为空,唯一项,必输项不通过时会抛出异常 */ CodeButtonVO editSave(CodeButtonDTO codeButtonDTO) throws VciBaseException; /** * 删除主数据中的按钮扩展 * @param codeButtonDTO 主数据中的按钮扩展数据传输对象,oid和ts需要传输 * @return 删除结果反馈::success:成功,fail:失败 * @throws VciBaseException 参数为空,被引用时抛出异常 */ R deleteCodeButton(CodeButtonDTO codeButtonDTO) throws VciBaseException; /** * 主键获取主数据中的按钮扩展 * @param oid 主键 * @return 主数据中的按钮扩展显示对象 * @throws VciBaseException 参数为空,数据不存在时会抛出异常 */ CodeButtonVO getObjectByOid(String oid) throws VciBaseException; /** * 主键批量获取主数据中的按钮扩展 * @param oidCollections 主键集合,但是受性能影响,建议一次查询不超过10000个 * @return 主数据中的按钮扩展显示对象 * @throws VciBaseException 查询出现异常时会抛出 */ Collection listCodeButtonByOids(Collection oidCollections) throws VciBaseException; /** * 参照主数据中的按钮扩展列表 * @param conditionMap 查询条件 * @param pageHelper 分页和排序 * @return 主数据中的按钮扩展显示对象列表,生效的内容 * @throws VciBaseException 查询条件和分页出错的时候会抛出异常 */ IPage refDataGridCodeButton(Map conditionMap, PageHelper pageHelper) throws VciBaseException; /** * 批量数据对象转换为显示对象 * @param codeButtonDOs 数据对象列表 * @return 显示对象 * @throws VciBaseException 参数为空或者不存在的时候会抛出异常 */ List codeButtonDO2VOs(Collection codeButtonDOs) throws VciBaseException; /** * 数据对象转换为显示对象 * @param codeButtonDO 数据对象 * @return 显示对象 * @throws VciBaseException 拷贝属性出错的时候会抛出异常 */ CodeButtonVO codeButtonDO2VO(CodeButton codeButtonDO) throws VciBaseException; /** * 根据主键批量查询对象 * @param oids 对象主键,使用逗号分隔,但是不能超过1000 * @return 业务对象 */ List selectByPrimaryKeyCollection(Collection oids); /** * 启用 * @param oid 数据传输 * @return 执行结果 */ R enableCodeButton(String oid); /** * 停用 * @param oid 数据传输 * @return 执行结果 */ R disableOrgDuty(String oid); }