コード例 #1
0
ファイル: LoanService.php プロジェクト: Junyue/zidisha2
 private function changeLoanStage(ConnectionInterface $con, Loan $loan, $oldStatus = null, $newStatus, \DateTime $date = null)
 {
     $date = $date ?: new \DateTime();
     $newLoanStage = new Stage();
     $newLoanStage->setLoan($loan)->setBorrower($loan->getBorrower())->setStatus($newStatus)->setStartDate($date);
     if ($oldStatus) {
         $currentLoanStage = StageQuery::create()->filterByLoan($loan)->findOneByStatus($oldStatus);
         if ($currentLoanStage) {
             $currentLoanStage->setEndDate($date);
             $currentLoanStage->save($con);
         }
     }
     $newLoanStageSuccess = $newLoanStage->save($con);
     if (!$newLoanStageSuccess) {
         throw new \Exception();
     }
 }