OcrApiForm.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. namespace common\models\forms;
  3. use common\components\Model;
  4. use common\helpers\Date;
  5. use common\libs\logging\operate\AdminOperate;
  6. use common\models\OcrApi;
  7. use yii\helpers\Json;
  8. /**
  9. * Login form
  10. */
  11. class OcrApiForm extends Model
  12. {
  13. public $id;
  14. public $config;
  15. public function init() {
  16. parent::init();
  17. $this->adminOperateLogger = new AdminOperate([
  18. 'fetchClass' => OcrApi::class,
  19. ]);
  20. }
  21. /**
  22. * @inheritdoc
  23. */
  24. public function rules()
  25. {
  26. return [
  27. [['id', 'config'], 'trim'],
  28. [['id', 'config'], 'required'],
  29. [['id'], 'exist', 'targetClass'=>OcrApi::class, 'targetAttribute'=>'ID'],
  30. ];
  31. }
  32. /**
  33. * 指定校验场景
  34. * @return array
  35. */
  36. public function scenarios()
  37. {
  38. $parentScenarios = parent::scenarios();
  39. $customScenarios = [
  40. 'edit' => ['id', 'config']
  41. ];
  42. return array_merge($parentScenarios, $customScenarios);
  43. }
  44. /**
  45. * 编辑
  46. * @return null|static
  47. */
  48. public function edit(){
  49. if(!$this->validate()){
  50. return null;
  51. }
  52. $this->adminOperateLogger->saveBeforeContent = OcrApi::getConfigById($this->id);
  53. if($this->scenario == 'edit') {
  54. $model = OcrApi::findOne(['ID'=>$this->id]);
  55. $model->UPDATE_ADMIN = \Yii::$app->user->id;
  56. $model->UPDATED_AT = Date::nowTime();
  57. $model->CONFIG = Json::encode($this->config);
  58. } else {
  59. $this->addError('edit', '提交场景不存在');
  60. return null;
  61. }
  62. if(!$model->save()){$this->addErrors($model->getErrors());
  63. return null;
  64. }
  65. $this->adminOperateLogger->saveAfterContent = OcrApi::getConfigById($this->id);
  66. $this->adminOperateLogger->clean()->save([
  67. 'optType' => 'OcrApi配置成功',
  68. ]);
  69. return $model;
  70. }
  71. }