ServeBonusUpgradeDirect.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <?php
  2. namespace addons\ServeBonus\common\models;
  3. use common\enums\StatusEnum;
  4. use Yii;
  5. use yii\db\Exception;
  6. /**
  7. * This is the model class for table "{{%addons_servebonus_upgrade_direct}}".
  8. *
  9. * @property int $id
  10. * @property int|null $mall_id 商城ID
  11. * @property int|null $user_id 用户ID
  12. * @property int|null $recommend_uid 被推荐的用户
  13. * @property int|null $status 状态[-1:删除;0:禁用;1启用]
  14. * @property int|null $created_at 创建时间
  15. * @property int|null $updated_at 修改时间
  16. */
  17. class ServeBonusUpgradeDirect extends \common\models\base\BaseActiveRecord
  18. {
  19. /**
  20. * {@inheritdoc}
  21. */
  22. public static function tableName()
  23. {
  24. return '{{%addons_servebonus_upgrade_direct}}';
  25. }
  26. /**
  27. * {@inheritdoc}
  28. */
  29. public function rules()
  30. {
  31. return [
  32. [['mall_id', 'user_id', 'recommend_uid', 'status', 'created_at', 'updated_at'], 'integer'],
  33. ];
  34. }
  35. /**
  36. * {@inheritdoc}
  37. */
  38. public function attributeLabels()
  39. {
  40. return [
  41. 'id' => 'ID',
  42. 'mall_id' => '商城ID',
  43. 'user_id' => '用户ID',
  44. 'recommend_uid' => '被推荐的用户',
  45. 'status' => '状态[-1:删除;0:禁用;1启用]',
  46. 'created_at' => '创建时间',
  47. 'updated_at' => '修改时间',
  48. ];
  49. }
  50. /**
  51. * 保存数据
  52. * @Author: lun
  53. * @DateTime: 2023/4/3 0003 10:57
  54. * @Copyright: copyright (c) 2021 广东七件事集团
  55. * @param $params
  56. * @return bool
  57. */
  58. public static function setData($params)
  59. {
  60. try {
  61. $model = self::findOne(['user_id' => $params['user_id'], 'status' => StatusEnum::ENABLED]);
  62. if ($model) return true;
  63. $model = new self();
  64. $model->mall_id = $params['mall_id'];
  65. $model->user_id = $params['parent_id'];
  66. $model->recommend_uid = $params['user_id'];
  67. if (!$model->save()) throw new Exception($model->getErrorMessage());
  68. // 增加直推用户数量
  69. $res = ServeBonusUpgradeCount::setData($model->mall_id, $model->user_id, 1);
  70. if ($res == false) throw new \Exception(ServeBonusUpgradeCount::getStaticError());
  71. return true;
  72. } catch (\Exception $e) {
  73. self::setStaticError($e->getMessage());
  74. return false;
  75. }
  76. }
  77. }