DeclarationLevelForm.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace common\models\forms;
  3. use common\components\Model;
  4. use common\helpers\Form;
  5. use common\libs\logging\operate\AdminOperate;
  6. use common\models\DeclarationLevel;
  7. /**
  8. * Login form
  9. */
  10. class DeclarationLevelForm extends Model {
  11. public function init() {
  12. parent::init();
  13. $this->adminOperateLogger = new AdminOperate([
  14. 'fetchClass' => DeclarationLevel::class,
  15. ]);
  16. }
  17. /**
  18. * @inheritdoc
  19. */
  20. public function rules() {
  21. return [
  22. ];
  23. }
  24. /**
  25. * 更新级别奖金
  26. * @return bool
  27. * @throws \yii\db\Exception
  28. */
  29. public function updateBonus() {
  30. $beforeData = DeclarationLevel::getBonusConfig();
  31. $this->adminOperateLogger->saveBeforeContent=$beforeData;
  32. $postData = \Yii::$app->request->post('data');
  33. $transaction = \Yii::$app->db->beginTransaction();
  34. try {
  35. foreach ($postData as $value) {
  36. $decLevelModel = DeclarationLevel::findOne(['ID' => $value['ID']]);
  37. if ($decLevelModel) {
  38. $decLevelModel->QY_PERCENT = $value['QY_PERCENT'];
  39. $decLevelModel->QY_TOUCH_CAP = $value['QY_TOUCH_CAP'];
  40. $decLevelModel->QY_BIG_CAP = $value['QY_BIG_CAP'];
  41. $decLevelModel->FX_MIN_DEEP = $value['FX_MIN_DEEP'];
  42. $decLevelModel->FX_MAX_DEEP = $value['FX_MAX_DEEP'];
  43. $decLevelModel->FX_PERCENT = $value['FX_PERCENT'];
  44. $decLevelModel->GL_ODD_DEEP_ONE = $value['GL_ODD_DEEP_ONE'];
  45. $decLevelModel->GL_ODD_DEEP_TWO = $value['GL_ODD_DEEP_TWO'];
  46. $decLevelModel->GL_ODD_DEEP_THREE = $value['GL_ODD_DEEP_THREE'];
  47. if (!$decLevelModel->save()) {
  48. throw new \Exception(Form::formatErrorsForApi($decLevelModel->getErrors()));
  49. }
  50. }
  51. }
  52. $transaction->commit();
  53. } catch (\Exception $e) {
  54. $transaction->rollBack();
  55. $this->addError('updateBonus', $e->getMessage());
  56. return null;
  57. }
  58. $afterData = DeclarationLevel::getBonusConfig();
  59. $this->adminOperateLogger->saveAfterContent=$afterData;
  60. unset($beforeData,$afterData);
  61. $this->adminOperateLogger->clean()->save([
  62. 'optType' => '更新级别奖金配置',
  63. ]);
  64. return true;
  65. }
  66. }