GoodsListPromotion.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * =========================================================
  9. */
  10. namespace addon\fenxiao\event;
  11. use app\model\goods\Goods as GoodsModel;
  12. /**
  13. * 商品营销活动信息
  14. */
  15. class GoodsListPromotion
  16. {
  17. /**
  18. * 商品营销活动信息
  19. * @param $param
  20. * @return array
  21. */
  22. public function handle($param)
  23. {
  24. if (empty($param[ 'promotion' ]) || $param[ 'promotion' ] != 'fenxiao') return [];
  25. $alias = 'g';
  26. $join = [];
  27. $condition = [
  28. [ 'g.is_delete', '=', 0 ],
  29. [ 'g.site_id', '=', $param[ 'site_id' ] ],
  30. [ 'g.is_fenxiao', '=', 1 ],
  31. [ 'g.goods_state', '=', 1 ]
  32. ];
  33. if(!empty($param['goods_name'])){
  34. $condition[] = ['g.goods_name', 'like', '%'.$param['goods_name'].'%'];
  35. }
  36. if (!empty($param['select_type']) && $param['select_type'] == 'selected' && isset($param['goods_ids'])) {
  37. $condition[] = [ 'g.goods_id', 'in', $param['goods_ids'] ];
  38. }
  39. if (!empty($param['category_id'])) {
  40. $condition[] = [ 'g.category_id', 'like', '%,' . $param['category_id'] . ',%' ];
  41. }
  42. if (!empty($param['label_id'])) {
  43. $condition[] = [ 'g.label_id', '=', $param['label_id'] ];
  44. }
  45. if (!empty($param['goods_class'])) {
  46. $condition[] = [ 'g.goods_class', '=', $param['goods_class'] ];
  47. }
  48. $model = new GoodsModel();
  49. $field = 'g.goods_id,g.goods_name,g.goods_class_name,g.goods_image,g.price,g.goods_stock,g.create_time,g.is_virtual,g.sku_id';
  50. $list = $model->getGoodsPageList($condition, $param[ 'page' ], $param[ 'page_size' ], 'g.create_time desc', $field, $alias, $join);
  51. return $list;
  52. }
  53. }