CreditsLogForm.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. namespace common\forms;
  3. use Yii;
  4. use yii\base\Model;
  5. use common\models\member\Member;
  6. use common\models\member\Level;
  7. use common\models\member\Account;
  8. /**
  9. * Class CreditsLogForm
  10. * @package common\models\forms
  11. * @author jianyan74 <751393839@qq.com>
  12. */
  13. class CreditsLogForm extends Model
  14. {
  15. /**
  16. * @var Member
  17. */
  18. public $member;
  19. /**
  20. * @var Account
  21. */
  22. public $account;
  23. public $num = 0;
  24. public $group;
  25. public $remark = '';
  26. public $map_id = 0;
  27. /**
  28. * 是否消费
  29. *
  30. * @var bool
  31. */
  32. public $is_consume = false;
  33. /**
  34. * 是否累计
  35. *
  36. * @var bool
  37. */
  38. public $is_accumulate = true;
  39. /**
  40. * 是否赠送
  41. *
  42. * @var bool
  43. */
  44. public $is_give = false;
  45. /**
  46. * 更新会员等级
  47. *
  48. * @var bool
  49. */
  50. public $update_level = true;
  51. /**
  52. * 支付类型
  53. *
  54. * @var int
  55. */
  56. public $pay_type = 0;
  57. /**
  58. * 字段类型(请不要占用)
  59. *
  60. * @var string
  61. */
  62. public $type;
  63. /**
  64. * 更新级别
  65. *
  66. * @param float $consume_money 累计消费金额
  67. * @param int $accumulate_integral 累计积分
  68. * @param int $accumulate_growth 累计成长值
  69. * @return false
  70. */
  71. public function updateLevel(float $consume_money, int $accumulate_integral, int $accumulate_growth)
  72. {
  73. if (empty($this->member)) {
  74. return false;
  75. }
  76. /** @var Level $level */
  77. $level = Yii::$app->services->memberLevel->getLevel(
  78. (int)$this->member->current_level,
  79. (int)$this->member->level_expiration_time,
  80. $consume_money,
  81. $accumulate_integral,
  82. $accumulate_growth
  83. );
  84. $level != false && Member::updateAll(['current_level' => $level->level], ['id' => $this->member->id]);
  85. }
  86. }
粤ICP备19079148号