ReservationServiceStoreGoods.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. namespace addons\ReservationService\common\models;
  3. use addons\Store\common\models\StoreGoods;
  4. use common\enums\StatusEnum;
  5. use common\models\base\BaseActiveRecord;
  6. use Yii;
  7. /**
  8. * This is the model class for table "qimall_addons_reservation_service_store_goods".
  9. *
  10. * @property int $id ID
  11. * @property int $user_id 用户ID
  12. * @property int $store_id 门店id
  13. * @property int $goods_id 绑定的商品ID
  14. * @property int $created_at 创建时间
  15. * @property int $updated_at 更新时间
  16. * @property int $mall_id 商城ID
  17. * @property int $status 状态0禁用,-1删除,1正常
  18. */
  19. class ReservationServiceStoreGoods extends BaseActiveRecord
  20. {
  21. /**
  22. * {@inheritdoc}
  23. */
  24. public static function tableName()
  25. {
  26. return '{{%addons_reservation_service_store_goods}}';
  27. }
  28. /**
  29. * {@inheritdoc}
  30. */
  31. public function rules()
  32. {
  33. return [
  34. [['user_id', 'store_id', 'goods_id', 'created_at', 'updated_at', 'mall_id', 'status'], 'integer'],
  35. [['mall_id'], 'required'],
  36. ];
  37. }
  38. /**
  39. * {@inheritdoc}
  40. */
  41. public function attributeLabels()
  42. {
  43. return [
  44. 'id' => 'ID',
  45. 'user_id' => 'User ID',
  46. 'store_id' => 'Store ID',
  47. 'goods_id' => 'Goods ID',
  48. 'created_at' => 'Created At',
  49. 'updated_at' => 'Updated At',
  50. 'mall_id' => 'Mall ID',
  51. 'status' => 'Status',
  52. ];
  53. }
  54. public function getGoods()
  55. {
  56. return $this->hasMany(StoreGoods::class, ['goods_id' => 'id']);
  57. }
  58. public static function setData($params)
  59. {
  60. ReservationServiceStoreGoods::updateAll(['status'=>StatusEnum::DELETE],['user_id'=>$params['user_id'],'mall_id'=>$params['mall_id'],'store_id'=>$params['store_id']]);
  61. if (empty($params['goods_ids'])) {
  62. return true;
  63. }
  64. foreach ($params['goods_ids'] as $goods_id) {
  65. $model = self::find()->where(['store_id' => $params['store_id'], 'user_id' => $params['user_id'], 'goods_id' => $goods_id])->one();
  66. if (empty($model)) {
  67. $model = new self();
  68. $model->loadDefaultValues();
  69. $model->store_id = $params['store_id'];
  70. $model->user_id = $params['user_id'];
  71. $model->goods_id = $goods_id;
  72. $model->mall_id = $params['mall_id'];
  73. }else{
  74. $model->status = StatusEnum::ENABLED;
  75. }
  76. $model->save();
  77. }
  78. }
  79. }