public function actionPass($id)
 {
     $model = Apply::findOne(['id' => $id, 'status' => Apply::STATUS_PENDING]);
     if (!$model) {
         throw new BadRequestHttpException('参数错误!');
     }
     $transaction = Yii::$app->db->beginTransaction();
     try {
         $model->status = Apply::STATUS_PASSED;
         if (!$model->save(false)) {
             throw new \Exception('操作失败!');
         }
         $modelApplyLog = new ApplyLog();
         $modelApplyLog->apply_id = $id;
         $modelApplyLog->remark = '申请通过。';
         if (!$modelApplyLog->save(false)) {
             throw new \Exception('申请日志记录失败!');
         }
         $transaction->commit();
         if (!empty($model->store->cellphone)) {
             Yii::$app->smser->send($model->store->cellphone, "亲爱的店长,恭喜您的采购订单{$model->apply_sn}申请成功,我们的工作人员很快会与您取得联系。");
         }
         Yii::$app->session->setFlash('success', '操作成功!');
     } catch (\Exception $e) {
         $transaction->rollBack();
         Yii::$app->session->setFlash('danger', $e->getMessage());
     }
     return $this->redirect(['view', 'id' => $id]);
 }
 /**
  * Creates a form model given an apply id.
  *
  * @param  string                          $id
  * @param  array                           $config name-value pairs that will be used to initialize the object properties
  * @throws \yii\base\InvalidParamException if waybill sn is empty or not valid
  */
 public function __construct($id, $config = [])
 {
     if (empty($id) || !is_numeric($id)) {
         throw new InvalidParamException('参数错误!');
     }
     $this->_apply = Apply::findOne($id);
     if (!$this->_apply) {
         throw new InvalidParamException('未找到该申请!');
     }
     if ($this->_apply->status !== Apply::STATUS_PENDING) {
         throw new InvalidParamException('请求错误!');
     }
     parent::__construct($config);
 }
 public function actionCancel($id)
 {
     $model = Apply::findOne(['id' => $id, 'status' => Apply::STATUS_REJECTED, 'store_id' => Yii::$app->user->identity->store_id]);
     if (!$model) {
         throw new BadRequestHttpException('参数错误!');
     }
     $transaction = Yii::$app->db->beginTransaction();
     try {
         $model->status = Apply::STATUS_CANCELLED;
         if (!$model->save(false)) {
             throw new \Exception('操作失败!');
         }
         $modelApplyLog = new ApplyLog();
         $modelApplyLog->apply_id = $id;
         $modelApplyLog->remark = '取消申请。';
         if (!$modelApplyLog->save(false)) {
             throw new \Exception('申请日志记录失败!');
         }
         $transaction->commit();
         Yii::$app->session->setFlash('success', '操作成功!');
     } catch (\Exception $e) {
         $transaction->rollBack();
         Yii::$app->session->setFlash('danger', $e->getMessage());
     }
     return $this->redirect(['view', 'id' => $id]);
 }