package com.iailab.module.bpm.service.definition; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.util.collection.CollectionUtils; import com.iailab.module.bpm.controller.admin.definition.vo.form.BpmFormPageReqVO; import com.iailab.module.bpm.controller.admin.definition.vo.form.BpmFormSaveReqVO; import com.iailab.module.bpm.dal.dataobject.definition.BpmFormDO; import javax.validation.Valid; import java.util.Collection; import java.util.List; import java.util.Map; /** * 动æ€è¡¨å• Service æŽ¥å£ * * @author @风里雾里 */ public interface BpmFormService { /** * 创建动æ€è¡¨å• * * @param createReqVO åˆ›å»ºä¿¡æ¯ * @return ç¼–å· */ Long createForm(@Valid BpmFormSaveReqVO createReqVO); /** * 更新动æ€è¡¨å• * * @param updateReqVO æ›´æ–°ä¿¡æ¯ */ void updateForm(@Valid BpmFormSaveReqVO updateReqVO); /** * åˆ é™¤åŠ¨æ€è¡¨å• * * @param id ç¼–å· */ void deleteForm(Long id); /** * 获得动æ€è¡¨å• * * @param id ç¼–å· * @return 动æ€è¡¨å• */ BpmFormDO getForm(Long id); /** * 获得动æ€è¡¨å•åˆ—表 * * @return 动æ€è¡¨å•åˆ—表 */ List<BpmFormDO> getFormList(); /** * 获得动æ€è¡¨å•åˆ—表 * * @param ids ç¼–å· * @return 动æ€è¡¨å•åˆ—表 */ List<BpmFormDO> getFormList(Collection<Long> ids); /** * 获得动æ€è¡¨å• Map * * @param ids ç¼–å· * @return 动æ€è¡¨å• Map */ default Map<Long, BpmFormDO> getFormMap(Collection<Long> ids) { return CollectionUtils.convertMap(this.getFormList(ids), BpmFormDO::getId); } /** * 获得动æ€è¡¨å•åˆ†é¡µ * * @param pageReqVO 分页查询 * @return 动æ€è¡¨å•åˆ†é¡µ */ PageResult<BpmFormDO> getFormPage(BpmFormPageReqVO pageReqVO); }