DeclarationLevelForm.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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. $decLevelModel->INCOME_CAP = $value['INCOME_CAP'];
  48. if (!$decLevelModel->save()) {
  49. throw new \Exception(Form::formatErrorsForApi($decLevelModel->getErrors()));
  50. }
  51. }
  52. }
  53. $transaction->commit();
  54. } catch (\Exception $e) {
  55. $transaction->rollBack();
  56. $this->addError('updateBonus', $e->getMessage());
  57. return null;
  58. }
  59. $afterData = DeclarationLevel::getBonusConfig();
  60. $this->adminOperateLogger->saveAfterContent=$afterData;
  61. unset($beforeData,$afterData);
  62. $this->adminOperateLogger->clean()->save([
  63. 'optType' => '更新级别奖金配置',
  64. ]);
  65. return true;
  66. }
  67. }