DistributionUpgradeDirect.php 2.3 KB

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