Goods.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * =========================================================
  9. */
  10. namespace addon\jielong\api\controller;
  11. use addon\jielong\model\Jielong as JielongModel;
  12. use app\api\controller\BaseApi;
  13. use addon\jielong\model\Poster;
  14. use app\model\goods\Goods as GoodsModel;
  15. /**
  16. * 社群接龙
  17. */
  18. class Goods extends BaseApi
  19. {
  20. //社群接龙活动列表
  21. public function jielongPage()
  22. {
  23. $page = isset($this->params[ 'page' ]) ? $this->params[ 'page' ] : 1;
  24. $page_size = isset($this->params[ 'page_size' ]) ? $this->params[ 'page_size' ] : PAGE_LIST_ROWS;
  25. $condition = [
  26. [ 'status', 'in', '0,1' ],// 状态(0未开始 1进行中 2已结束)
  27. [ 'is_delete', '=', 0 ],
  28. [ 'site_id', '=', $this->site_id ]
  29. ];
  30. $jielong_model = new JielongModel();
  31. $list = $jielong_model->getJielongActivityPageList($condition, $page, $page_size);
  32. return $this->response($list);
  33. }
  34. //社群接龙活动详情
  35. public function jielongDetail()
  36. {
  37. $page = isset($this->params[ 'page' ]) ? $this->params[ 'page' ] : 1;
  38. $page_size = isset($this->params[ 'page_size' ]) ? $this->params[ 'page_size' ] : PAGE_LIST_ROWS;
  39. $jielong_id = isset($this->params[ 'jielong_id' ]) ? $this->params[ 'jielong_id' ] : 0;
  40. if (empty($jielong_id)) {
  41. return $this->response($this->error('', 'REQUEST_JIELONG_ID'));
  42. }
  43. $condition = [
  44. [ 'pjg.jielong_id', '=', $jielong_id ],
  45. [ 'g.goods_state', '=', 1 ],
  46. [ 'g.is_delete', '=', 0 ],
  47. [ 'g.site_id', '=', $this->site_id ]
  48. ];
  49. $jielong_model = new JielongModel();
  50. $list = $jielong_model->getJielongActivityDetail($condition, $page, $page_size, '', '', $jielong_id);
  51. $token = $this->checkToken();
  52. if ($token[ 'code' ] >= 0) {
  53. if (!empty($list[ 'data' ][ 'list' ])) {
  54. $goods = new GoodsModel();
  55. foreach ($list[ 'data' ][ 'list' ] as $k => $v) {
  56. // 是否参与会员等级折扣
  57. $goods_member_price = $goods->getGoodsPrice($v[ 'sku_id' ], $this->member_id);
  58. $goods_member_price = $goods_member_price[ 'data' ];
  59. if (!empty($goods_member_price[ 'member_price' ])) {
  60. $list[ 'data' ][ 'list' ][ $k ][ 'member_price' ] = $goods_member_price[ 'member_price' ];
  61. }
  62. //购物车数量
  63. $list[ 'data' ][ 'list' ][ $k ][ 'cart_num' ] = $jielong_model->getCartNum($jielong_id, $v[ 'goods_id' ], $this->member_id, $this->site_id);;
  64. }
  65. }
  66. }
  67. return $this->response($list);
  68. }
  69. //社群接龙购买列表
  70. public function jielongBuyPage()
  71. {
  72. $page = isset($this->params[ 'page' ]) ? $this->params[ 'page' ] : 1;
  73. $page_size = isset($this->params[ 'page_size' ]) ? $this->params[ 'page_size' ] : PAGE_LIST_ROWS;
  74. $jielong_id = isset($this->params[ 'jielong_id' ]) ? $this->params[ 'jielong_id' ] : 0;
  75. if (empty($jielong_id)) {
  76. return $this->response($this->error('', 'REQUEST_JIELONG_ID'));
  77. }
  78. $condition = [
  79. [ 'o.pay_status', '=', '1' ],
  80. [ 'pjo.jielong_id', '=', $jielong_id ],
  81. [ 'pjo.site_id', '=', $this->site_id ]
  82. ];
  83. $jielong_model = new JielongModel();
  84. $list = $jielong_model->getJielongBuyPageList($condition, $page, $page_size);
  85. //list 中的count就是接龙人数
  86. return $this->response($list);
  87. }
  88. /**
  89. * 接龙活动海报
  90. */
  91. public function poster()
  92. {
  93. if (!empty($qrcode_param)) return $this->response($this->error('', '缺少必须参数qrcode_param'));
  94. $promotion_type = 'jielong';
  95. $qrcode_param = json_decode($this->params[ 'qrcode_param' ], true);
  96. $qrcode_param[ 'source_member' ] = $qrcode_param[ 'source_member' ] ?? 0;
  97. $poster = new Poster();
  98. $res = $poster->goods($this->params[ 'app_type' ], $this->params[ 'page' ], $qrcode_param, $promotion_type, $this->site_id);
  99. return $this->response($res);
  100. }
  101. }