Class AbstractCommandHandler<C extends com.sankcrm.erp.contract.application.command.AbstractCommCommand<Contract>>

java.lang.Object
com.sankcrm.erp.contract.application.command.AbstractCommandHandler<C>
All Implemented Interfaces:
com.sankcrm.erp.bus.CommandHandler<Contract,C>
Direct Known Subclasses:
ContractCreateCommandHandler, ContractUpdateCommandHandler

@Transactional(rollbackFor=java.lang.Exception.class, timeout=180) public abstract class AbstractCommandHandler<C extends com.sankcrm.erp.contract.application.command.AbstractCommCommand<Contract>> extends Object implements com.sankcrm.erp.bus.CommandHandler<Contract,C>
处理合同内容
Since:
1.3.0
Author:
zhsxin
  • Constructor Details

    • AbstractCommandHandler

      public AbstractCommandHandler()
  • Method Details

    • handle

      public Contract handle(C command) throws com.sankcrm.erp.common.exception.CoreException
      Specified by:
      handle in interface com.sankcrm.erp.bus.CommandHandler<Contract,C extends com.sankcrm.erp.contract.application.command.AbstractCommCommand<Contract>>
      Throws:
      com.sankcrm.erp.common.exception.CoreException
    • saveContext

      protected List<SignatoryBo> saveContext(Contract contract, ContextBo context, List<SignatoryBo> signatories)
      保存合同内容
      Parameters:
      contract - 合同信息
      context - 合同内容
      signatories - 签约人
    • checkTemplate

      protected abstract Optional<ContractTemplate> checkTemplate(C command)
      检查合同模板
      Parameters:
      command - 命令
      Returns:
      模板信息
    • checkSignatory

      protected List<SignatoryBo> checkSignatory(Contract contract, ContextBo context, C command)
      检查签约人
      Parameters:
      contract - 合同信息
      context - 合同内容
      command - 命令
      Returns:
      签约人信息
    • saveSignatory

      protected void saveSignatory(Contract contract, List<SignatoryBo> signatories)
      保存签约人
      Parameters:
      contract - 合同信息
      signatories - 签约人信息
    • initContract

      protected abstract Contract initContract(ContractSupplier supplier, ContextBo context, C command) throws com.sankcrm.erp.common.exception.CoreException
      初始化合同信息
      Parameters:
      supplier - 合同渠道信息
      context - 合同内容
      command - 命令
      Returns:
      合同信息
      Throws:
      com.sankcrm.erp.common.exception.CoreException
    • save

      protected Contract save(Contract contract, C command)
      保存合同信息
      Parameters:
      contract - 合同信息
      command - 命令
      Returns:
      合同信息
    • save

      protected abstract Contract save(Contract contract)
      保存合同信息
      Parameters:
      contract - 合同信息
      Returns:
      合同信息