BlindboxGoods.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * =========================================================
  9. */
  10. namespace addon\blindbox\shop\controller;
  11. use app\shop\controller\BaseShop;
  12. use addon\blindbox\model\BlindboxGoods as BlindboxGoodsModel;
  13. use addon\blindbox\model\Order as OrderModel;
  14. class BlindboxGoods extends BaseShop
  15. {
  16. /**
  17. * 盲盒分类列表
  18. * @return array|mixed
  19. */
  20. public function lists()
  21. {
  22. $blindbox_id = input('blindbox_id', 0);
  23. if (request()->isAjax()) {
  24. $page = input('page', 1);
  25. $page_size = input('page_size', PAGE_LIST_ROWS);
  26. $status= input('status', '');
  27. $goods_name = input('goods_name', 0);
  28. if($status != ''){
  29. $condition[] = ['a.status', '=', $status];
  30. }
  31. if($goods_name){
  32. $condition[] = ['gs.sku_name', 'like', '%' . $goods_name . '%'];
  33. }
  34. $condition[] = ['a.site_id', '=', $this->site_id];
  35. $condition[] = ['a.blindbox_id', '=', $blindbox_id];
  36. $blindbox_goods = new BlindboxGoodsModel();
  37. $order = 'a.id desc';
  38. $field = 'a.*,b.blindbox_name,gs.sku_name,gs.sku_image,gs.price,bo.is_dispatch,bo.status as order_status,bo.pay_type_name,bo.member_id,bo.order_number,bo.price as order_price,m.nickname';
  39. $alias = 'a';
  40. $join = [
  41. ['blindbox b', 'b.blindbox_id = a.blindbox_id', 'left'],
  42. ['goods_sku gs', 'gs.sku_id = a.sku_id', 'left'],
  43. ['blindbox_order bo','bo.blindbox_goods_id = a.id','left'],
  44. ['member m','bo.member_id = m.member_id','left']
  45. ];
  46. $data = $blindbox_goods->getBlindboxGoodsPageList($condition, $page, $page_size, $order, $field, $alias, $join);
  47. return $data;
  48. } else {
  49. $this->assign('blindbox_id', $blindbox_id);
  50. return $this->fetch("blindbox_goods/lists");
  51. }
  52. }
  53. /**
  54. * 新增盲盒盒子
  55. * @return array|mixed
  56. */
  57. public function add()
  58. {
  59. if (request()->isAjax()) {
  60. $blindbox_id = input('blindbox_id', 0);
  61. $sku_id_arr = input('sku_id_arr', []);
  62. $data = [
  63. 'blindbox_id' => $blindbox_id,
  64. 'sku_id_arr' => $sku_id_arr,
  65. 'site_id' => $this->site_id,
  66. ];
  67. $blindbox_goods = new BlindboxGoodsModel();
  68. $res = $blindbox_goods->addBlindboxGoods($data);
  69. return $res;
  70. }
  71. }
  72. /**
  73. * 编辑盲盒盒子
  74. * @return array|mixed
  75. */
  76. public function edit()
  77. {
  78. if (request()->isAjax()) {
  79. $blindbox_id = input('blindbox_id', 0);
  80. $id = input('id', 0);
  81. $sku_id = input('sku_id', 0);
  82. $data = [
  83. 'blindbox_id' => $blindbox_id,
  84. 'id' => $id,
  85. 'sku_id' => $sku_id,
  86. 'site_id' => $this->site_id,
  87. ];
  88. $blindbox_goods = new BlindboxGoodsModel();
  89. $res = $blindbox_goods->editBlindboxGoods($data);
  90. return $res;
  91. }
  92. }
  93. /**
  94. * 批量删除盲盒盒子
  95. */
  96. public function dels(){
  97. if (request()->isAjax()) {
  98. $blindbox_id = input('blindbox_id', 0);
  99. $ids = input('ids', 0);
  100. $sku_ids = input('sku_ids', 0);
  101. $blindbox_goods = new BlindboxGoodsModel();
  102. $data = [
  103. 'blindbox_id' => $blindbox_id,
  104. 'ids' => $ids,
  105. 'sku_ids' => $sku_ids,
  106. 'site_id' => $this->site_id,
  107. ];
  108. $res = $blindbox_goods->delBlindboxGoods($data);
  109. return $res;
  110. }
  111. }
  112. /**
  113. * 盲盒盒子 订单
  114. * @return array
  115. */
  116. public function boxOrderInfo()
  117. {
  118. if (request()->isAjax()) {
  119. $blindbox_goods_id = input('id', 0);
  120. $data = [
  121. 'promotion_id' => $blindbox_goods_id,
  122. 'promotion_type' => 'blindbox',
  123. 'site_id' => $this->site_id,
  124. ];
  125. $order_model = new OrderModel();
  126. $info = $order_model->getOrderInfo($data);
  127. return $info;
  128. }
  129. }
  130. }