package cn.iocoder.yudao.module.crm.service.contract; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.crm.controller.admin.contract.vo.command.CrmContractCommandPageReqVO; import cn.iocoder.yudao.module.crm.controller.admin.contract.vo.command.CrmContractCommandRespVO; import cn.iocoder.yudao.module.crm.controller.admin.contract.vo.command.CrmContractCommandSaveReqVO; import jakarta.validation.Valid; public interface CrmContractCommandService { Long createCommand(@Valid CrmContractCommandSaveReqVO createReqVO); void updateCommand(@Valid CrmContractCommandSaveReqVO updateReqVO); void deleteCommand(Long id); CrmContractCommandRespVO getCommand(Long id); PageResult getCommandPage(CrmContractCommandPageReqVO pageReqVO); /** * 执行指令(状态 0/10 -> 20 已完成) */ void executeCommand(Long id); /** * 取消指令(仅待执行/已下发状态可取消) */ void cancelCommand(Long id); Long countByContractId(Long contractId); }