GoodsListPromotion.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
  9. * 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
  10. * =========================================================
  11. */
  12. namespace addon\presale\event;
  13. use addon\presale\model\Presale;
  14. /**
  15. * 商品营销活动信息
  16. */
  17. class GoodsListPromotion
  18. {
  19. /**
  20. * 商品营销活动信息
  21. * @param $param
  22. * @return array
  23. */
  24. public function handle($param)
  25. {
  26. if (empty($param[ 'promotion' ]) || $param[ 'promotion' ] != 'presale') return [];
  27. $condition[] = [
  28. [ 'pp.site_id', '=', $param[ 'site_id' ] ],
  29. [ 'pp.status', '=', 1 ]
  30. ];
  31. if ($param[ 'promotion_name' ]) {
  32. $condition[] = [ 'pp.presale_name', 'like', '%' . $param[ 'promotion_name' ] . '%' ];
  33. }
  34. if (!empty($param[ 'goods_name' ])) {
  35. $condition[] = [ 'g.goods_name', 'like', '%' . $param[ 'goods_name' ] . '%' ];
  36. }
  37. if (!empty($param[ 'select_type' ]) && $param[ 'select_type' ] == 'selected' && isset($param[ 'goods_ids' ])) {
  38. $condition[] = [ 'g.goods_id', 'in', $param[ 'goods_ids' ] ];
  39. }
  40. if (!empty($param[ 'category_id' ])) {
  41. $condition[] = [ 'g.category_id', 'like', '%,' . $param[ 'category_id' ] . ',%' ];
  42. }
  43. if (!empty($param[ 'label_id' ])) {
  44. $condition[] = [ 'g.label_id', '=', $param[ 'label_id' ] ];
  45. }
  46. if (!empty($param[ 'goods_class' ])) {
  47. $condition[] = [ 'g.goods_class', '=', $param[ 'goods_class' ] ];
  48. }
  49. $model = new Presale();
  50. $list = $model->getPresaleGoodsPageList($condition, $param[ 'page' ], $param[ 'page_size' ], 'pp.presale_id desc');
  51. return $list;
  52. }
  53. }