package com.vci.ubcs.omd.service; import com.vci.ubcs.omd.dto.BtmTypeLinkAttributesDTO; import com.vci.ubcs.omd.entity.BtmTypeAttribute; import com.vci.ubcs.omd.vo.BtmTypeAttributeVO; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.base.BaseService; import java.util.*; /** * Description:业务类型关联属性的服务 * * @author LiHang * @date 2023/4/23 */ public interface IBtmTypeAttributeService extends BaseService { /** * 检查属性存在并添加 * @param btmTypeOid 业务类型主键 * @param attributesDTOList 页面传输对象集合 * @param creator 创建人 * @param now ts时间戳 * @return 保存的显示对象 */ List checkAndInsert(String btmTypeOid, List attributesDTOList, String creator, Date now); /** * 批量插入 * @param records 数据对象集合 */ int batchInsert(List records); /** * 业务类型主键查属性 * @param btmTypeOid 业务类型主键 * @return 查询结果 */ List getAttributeByBtmTypeOid(String btmTypeOid); /** * 根据业务类型主键获取关联的所有属性对象 * * @param oidCollection 业务类型主键集合 * @return 所有的属性对象,包括系统内置属性,key是业务类型主键,value是包含的属性 * @throws ServiceException 业务类型不存在,参数为空或者查询出错时会抛出异常 */ List batchListHasAttributesByBtmTypeOidCollection(Collection oidCollection); /** * 检查属性存在并删除 * @param records 主键集合 * @return 受影响的行数 */ int checkAndRemove(List records); /** * 检查属性存在并添加 * @param btmTypeOid 业务类型主键 * @param attributesDTOList 页面传输对象集合 * @param creator 创建人 * @param now ts时间戳 * @return 保存的显示对象 */ List checkAndUpdate(String btmTypeOid, List attributesDTOList, String creator, Date now); /** * 获取业务类型中的指定属性 * @param id 业务类型的主键 * @param attributeIdCollection 属性的id,若为空则获取全部 * @return 属性的数据对象 */ List selectByBtmTypeIdAndAttributeIds(String id, Collection attributeIdCollection); /** * 通过业务类型的英文名称获取关联的属性 * @param idList 业务类型的英文名称集合 * @return 包含的属性 */ List selectByBtmTypeIds(List idList); }