AddonsBusinessActivityModel.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <?php
  2. namespace addons\BusinessActivity\common\models;
  3. use common\enums\StatusEnum;
  4. use common\models\user\User;
  5. use yii\db\ActiveQuery;
  6. /**
  7. * This is the model class for table "qimall_addons_business_activity".
  8. *
  9. * @property int $id ID
  10. * @property int $created_at 创建时间
  11. * @property int $updated_at 更新时间
  12. * @property int $mall_id 商城ID
  13. * @property int $status 状态,-1已删除,0禁用,1正常,100已完成
  14. * @property string $name 活动名称
  15. * @property int $start_at 活动开始时间
  16. * @property int $end_at 活动结束时间
  17. * @property int $merchants_user_id 招商负责人
  18. * @property int $venue_user_id 场地负责人
  19. * @property int $participate_num 参会人数
  20. * @property int $activity_status 活动状态,0未开始,1进行中,100已完成
  21. */
  22. class AddonsBusinessActivityModel extends \common\models\base\BaseActiveRecord
  23. {
  24. /**
  25. * {@inheritdoc}
  26. */
  27. public static function tableName()
  28. {
  29. return 'qimall_addons_business_activity';
  30. }
  31. /**
  32. * {@inheritdoc}
  33. */
  34. public function rules()
  35. {
  36. return [
  37. [['created_at', 'updated_at', 'mall_id', 'status', 'start_at', 'end_at', 'merchants_user_id', 'venue_user_id', 'participate_num', 'activity_status'], 'integer'],
  38. [['name'], 'string', 'max' => 20],
  39. ];
  40. }
  41. /**
  42. * {@inheritdoc}
  43. */
  44. public function attributeLabels()
  45. {
  46. return [
  47. 'id' => 'ID',
  48. 'created_at' => 'Created At',
  49. 'updated_at' => 'Updated At',
  50. 'mall_id' => 'Mall ID',
  51. 'status' => 'Status',
  52. 'name' => 'Name',
  53. 'start_at' => 'Start At',
  54. 'end_at' => 'End At',
  55. 'merchants_user_id' => 'Merchans User ID',
  56. 'venue_user_id' => 'Venue User ID',
  57. 'participate_num' => 'Participate Num',
  58. ];
  59. }
  60. /**
  61. * @return ActiveQuery
  62. */
  63. public function getOrder(): ActiveQuery
  64. {
  65. return $this->hasOne(AddonsBusinessActivityOrderModel::class, ['activity_id' => 'id']);
  66. }
  67. /**
  68. * @return ActiveQuery
  69. */
  70. public function getGoods(): ActiveQuery
  71. {
  72. return $this->hasMany(AddonsBusinessActivityGoodsModel::class, ['activity_id' => 'id'])->andWhere(['status' => StatusEnum::ENABLED]);
  73. }
  74. public function getMerchants()
  75. {
  76. return $this->hasOne(User::class, ['id' => 'merchants_user_id']);
  77. }
  78. public function getVenue()
  79. {
  80. return $this->hasOne(User::class, ['id' => 'venue_user_id']);
  81. }
  82. public static function setData(array $params)
  83. {
  84. try {
  85. if (!empty($params['id'])) {
  86. $model = self::findOne(['id' => $params['id'], 'mall_id' => $params['mall_id'], 'status' => StatusEnum::ENABLED]);
  87. } else {
  88. $model = new self();
  89. $model->loadDefaultValues();
  90. }
  91. if (!$model->load($params, '') || !$model->save()) {
  92. throw new \Exception($model->getErrorMessage());
  93. }
  94. return $model;
  95. } catch (\Exception $e) {
  96. self::$static_error = $e->getMessage();
  97. return false;
  98. }
  99. }
  100. }