GoodsAssociation.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <?php
  2. namespace common\models\goods;
  3. use common\enums\StatusEnum;
  4. use common\models\base\BaseActiveRecord;
  5. use Yii;
  6. /**
  7. * This is the model class for table "qimall_goods_association".
  8. *
  9. * @property int $id
  10. * @property int $mall_id 商城id
  11. * @property int $goods_id 商品id
  12. * @property string|null $extra1_goods_id 关联配件商品id
  13. * @property string|null $extra2_goods_id 推荐商品商品id
  14. * @property string|null $extra3_goods_id 预留
  15. * @property string|null $extra4_goods_id 预留
  16. * @property string|null $extra5_goods_id 预留
  17. * @property string|null $extra6_goods_id 预留
  18. * @property string|null $extra7_goods_id 预留
  19. * @property string|null $extra8_goods_id 预留
  20. * @property string|null $extra9_goods_id 预留
  21. * @property string|null $extra10_goods_id 预留
  22. * @property int|null $status 状态[-1:删除;0:禁用;1启用]
  23. * @property int $created_at
  24. * @property int $updated_at
  25. */
  26. class GoodsAssociation extends BaseActiveRecord
  27. {
  28. /**
  29. * {@inheritdoc}
  30. */
  31. public static function tableName()
  32. {
  33. return '{{%goods_association}}';
  34. }
  35. /**
  36. * {@inheritdoc}
  37. */
  38. public function rules()
  39. {
  40. return [
  41. [['mall_id', 'goods_id', 'status', 'created_at', 'updated_at', 'store_id'], 'integer'],
  42. [['extra1_goods_id', 'extra2_goods_id', 'extra3_goods_id', 'extra4_goods_id', 'extra5_goods_id', 'extra6_goods_id', 'extra7_goods_id', 'extra8_goods_id', 'extra9_goods_id', 'extra10_goods_id'], 'string'],
  43. ];
  44. }
  45. /**
  46. * {@inheritdoc}
  47. */
  48. public function attributeLabels()
  49. {
  50. return [
  51. 'id' => 'ID',
  52. 'mall_id' => '商城id',
  53. 'goods_id' => '商品id',
  54. 'extra1_goods_id' => '关联配件商品id',
  55. 'extra2_goods_id' => '推荐商品商品id',
  56. 'extra3_goods_id' => '预留',
  57. 'extra4_goods_id' => '预留',
  58. 'extra5_goods_id' => '预留',
  59. 'extra6_goods_id' => '预留',
  60. 'extra7_goods_id' => '预留',
  61. 'extra8_goods_id' => '预留',
  62. 'extra9_goods_id' => '预留',
  63. 'extra10_goods_id' => '预留',
  64. 'status' => '状态[-1:删除;0:禁用;1启用]',
  65. 'created_at' => 'Created At',
  66. 'updated_at' => 'Updated At',
  67. ];
  68. }
  69. /**
  70. * 保存数据
  71. * @param $params
  72. * @return bool
  73. */
  74. public static function setData($goods_id, $params)
  75. {
  76. try {
  77. // 根据商品id获取商品信息
  78. $where = ['goods_id' => $goods_id, 'mall_id' => $params['mall_id'], 'store_id' => 0, 'status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]];
  79. if (!empty($params['store_id'])) {
  80. $where['store_id'] = $params['store_id'];
  81. }
  82. $model = self::findOne($where);
  83. if (empty($model)) {
  84. $model = new self();
  85. $model->loadDefaultValues();
  86. $model->goods_id = $goods_id;
  87. }
  88. for ($i=1;$i<=10;$i++){
  89. $key = "extra{$i}_goods_id";
  90. if(isset($params[$key])){
  91. $params[$key] = json_encode($params[$key]);
  92. }else{
  93. $params[$key] = json_encode([]);
  94. }
  95. }
  96. if (!$model->load($params, '') || !$model->save(false)) {
  97. throw new \Exception($model->getErrorMessage());
  98. }
  99. return true;
  100. } catch (\Exception $e) {
  101. self::$static_error = $e->getMessage();
  102. return false;
  103. }
  104. }
  105. }