Home.php 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. <?php
  2. namespace app\controller\api\warehouse;
  3. use app\common\model\store\product\Product;
  4. use app\common\repositories\store\order\StoreOrderRepository;
  5. use app\common\repositories\store\product\ProductRepository;
  6. use app\controller\merchant\gong\Goods;
  7. use crmeb\basic\BaseController;
  8. use think\App;
  9. use think\facade\Db;
  10. class Home extends BaseController
  11. {
  12. private $source;
  13. private $merId;
  14. public function __construct(App $app)
  15. {
  16. parent::__construct($app);
  17. $this->source = request()->header('source');
  18. $this->merId = request()->header('merId');
  19. }
  20. //大仓列表
  21. public function da_cang_lst()
  22. {
  23. $list=Db::name('big_warehouse')->where('status',1)->field('id,logo,warehouse_name')->select()->toArray();
  24. return app('json')->success($list);
  25. }
  26. //大仓分类
  27. public function classify(){
  28. // $merid=$this->merId;
  29. $merid = $this->request->param('mer_id');
  30. $cate_arr=[];
  31. $list = Db::name('store_category')
  32. -> where('is_show',1)
  33. -> when( !$this->source ,function($query) use ($merid){
  34. $query->where('pid',564);
  35. })
  36. -> when( $this->source =='yhc',function($q) use ($cate_arr,$merid){
  37. $q->where(function($q1) use ($cate_arr) {
  38. $q1->where(function($query) use ($cate_arr) {
  39. $query->where('pid', 564)->whereIn('cate_name', $cate_arr);
  40. })->whereOr('mer_id', 496);
  41. });
  42. })
  43. -> field('store_category_id,cate_name')
  44. -> order('sort desc')
  45. -> group('cate_name')
  46. -> select();
  47. if ($merid) {
  48. foreach ($list as $key => $item) {
  49. $product = Db::name('store_product')
  50. ->where('is_show',1)
  51. ->where('status',1)
  52. ->where('mer_id',$merid)
  53. ->where('cate_id',$item['store_category_id'])
  54. ->limit(1)
  55. ->find();
  56. if(!$product) unset($list[$key]);
  57. }
  58. }
  59. return app('json')->success($list);
  60. }
  61. //大仓列表商品1
  62. public function da_cang_product_lst()
  63. {
  64. [$page, $limit] = $this->getPage();
  65. $classify = $this -> request -> params(['classify','keyword']);
  66. $where=[
  67. 'is_used'=>1,
  68. 'mer_status'=>1,
  69. // 'type'=>5,
  70. 'is_show'=>1,
  71. 'is_hide'=>0,
  72. 'is_del' => 0
  73. ];
  74. $product_id=[];
  75. $cateIds=[];
  76. if (isset($classify['classify']) && !empty($classify['classify'])){
  77. $where['cate_id'] = $classify['classify'];
  78. }
  79. $make2 = app()->make(Goods::class);
  80. $gongProduct439=$make2->getJoinProduct439();
  81. $ProductRepository=app() -> make(ProductRepository::class);
  82. $product_data=Db::name('store_product')->where($where)
  83. ->when(isset($classify['keyword']) && !empty($classify['keyword']), function ($query) use ($classify) {
  84. $query->where('store_name', 'like', "%" . $classify['keyword'] . "%");
  85. })->when(!$this->source, function ($q1) use ($gongProduct439) {
  86. $q1->where(function ($query) use ($gongProduct439) {
  87. $query->whereNotIn('spu_id', $gongProduct439)->whereOr("spu_id is null");
  88. });
  89. })->when(!$this->source, function ($query) {
  90. $query->where('type=5 or mer_id= 595');
  91. // $query2->where('spu_id IS NOT NULL')->whereOr("mer_id","321");
  92. // })->when(isset($product_id) && count($product_id), function ($query) use ($product_id) {
  93. // $query->whereIn('product_id',$product_id);
  94. // })
  95. })
  96. ->order('sort desc,create_time desc')
  97. ->page($page,$limit)
  98. ->select()->toArray();
  99. // echo Db::getlastsql();die;
  100. foreach ($product_data as &$product){
  101. $product['price']=set_price_rtrim($product['price']);
  102. $product['cost']=set_price_rtrim($product['cost']);
  103. $product['ot_price']=set_price_rtrim($product['ot_price']);
  104. $product['flag']='1';
  105. $product['yanglao']=set_price_rtrim($ProductRepository->yanglaojin($product['product_id'],0,1));//养老金
  106. $product['yanglao']=isset($product['yanglao']) && $product['yanglao']!=''? $product['yanglao']:0;
  107. $dacang_price=Db::name('store_product_attr_value')->where('product_id',$product['product_id'])->order('dacang_price','asc')->limit(1)->value('dacang_price');
  108. $product['da_cang_price']=set_price_rtrim($dacang_price);
  109. $product['yanglao_price']= $product['yanglao'];
  110. if($product['spu_id']!=''){
  111. $product['type']=5;
  112. }
  113. if(isset($product['type'])){
  114. $product['type']=(int)$product['type'];
  115. }
  116. }
  117. return app('json')->success($product_data);
  118. }
  119. //大仓介绍
  120. public function introduce($id)
  121. {
  122. $data=Db::name('big_warehouse')->where('id',$id)->find();//查询ID为它的数据
  123. if($data)
  124. return app('json')->success($data);
  125. return app('json')->fail('');
  126. }
  127. //大仓首页商品列表
  128. public function dc_home_product($id)
  129. {
  130. [$page, $limit] = $this->getPage();
  131. $where=[
  132. 'is_used'=>1,
  133. 'mer_status'=>1,
  134. 'type'=>5,
  135. 'is_show'=>1,
  136. 'is_hide'=>0,
  137. 'is_del' => 0
  138. ];
  139. $ProductRepository=app() -> make(ProductRepository::class);
  140. $product_data=Db::name('store_product')->where('dc_id',$id)->where($where)->page($page,$limit)->select()->toArray();
  141. foreach ($product_data as &$product){
  142. $product['flag']='1';
  143. $product['yanglao']=$ProductRepository->yanglaojin($product['product_id']);//养老金
  144. $product['da_cang_price']=Db::name('store_product_attr_value')->where('product_id',$product['product_id'])->order('dacang_price','asc')->limit(1)->value('dacang_price');
  145. }
  146. return app('json')->success($product_data);
  147. }
  148. //大仓首页商户
  149. public function dc_home_merchant($id)
  150. {
  151. $data=Db::name('merchant')->where('dc_id',$id)->field('mer_id,mer_name,mer_avatar')->select()->toArray();
  152. return app('json')->success($data);
  153. }
  154. }