Пример #1
0
 /**
  * (string) actionRetrieve : 恢复记录
  * @return string
  * @throws Exception
  */
 public function actionRetrieve()
 {
     $oldPreferences = Yii::$app->request->post('oldPreferences');
     $error = '';
     $message = '';
     foreach ($oldPreferences as $preferences) {
         $model = new Preferences();
         //转化为[attr1 => val1, attr2 => val2, attr3 => val3, ..] 数据格式进行块赋值
         $model->attributes = \yii\helpers\Json::decode($preferences);
         if ($model->save()) {
             $message .= "<li>系统配置参数<{$model->name1}({$model->codes})>恢复成功;</li>";
         } else {
             $error = '恢复操作发生意外,错误信息:' . \yii\helpers\Json::encode($model->errors);
             throw new Exception($error);
         }
     }
     if ($error) {
         return Json::encode(['message' => $error, 'status' => 'failed']);
     } else {
         return Json::encode(['message' => $message, 'status' => 'success']);
     }
 }
Пример #2
0
 /**
  * (void) set : 新增或修改指定classmark及codes对应的参数名
  * @static
  * @param $classmark : 参数类型
  * @param $codes : 参数编码
  * @param $name1 : 参数名称
  * @param string $classmarkcn : 中文参数类型
  * @param integer $changemark : 参数修改标识,默认为1
  * @param integer $status : 参数是否启用, 默认为启用(1)
  * @return bool
  * @throws \Exception
  * @throws \yii\db\Exception
  */
 public static function set($classmark, $codes, $name1, $classmarkcn = '', $changemark = 1, $status = 1)
 {
     $trans = self::getDb()->beginTransaction();
     try {
         $preferences = self::find()->where(['classmark' => $classmark, 'codes' => $codes])->one();
         if ($preferences) {
             $preferences->name1 = $name1;
         } else {
             $preferences = new Preferences();
             $preferences->codes = $codes;
             $preferences->name1 = $name1;
             $preferences->classmark = $classmark;
             $preferences->changemark = $changemark;
             $preferences->classmarkcn = $classmarkcn;
             //? $classmarkcn : $classmark;
             $preferences->status = $status;
         }
         if ($preferences->validate()) {
             $preferences->save();
             $trans->commit();
             return true;
             //$returnMsg = '参数类型>>>' . $classmarkcn . '-' . $classmark . '<<<新增或修改>>>'.$name1.'-'.$codes.'<<<成功!';
             //Yii::$app->getSession()->setFlash('success',$returnMsg);
         } else {
             // 验证失败:$errors 是一个包含错误信息的数组
             $trans->rollBack();
             return false;
             //$errors = $preferences->errors;
             //Yii::$app->getSession()->setFlash('danger',\yii\helpers\Json::encode($errors));
         }
     } catch (\Exception $e) {
         $trans->rollBack();
         throw $e;
     }
 }