Home.php 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  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. $cate_arr=[];
  30. $list = Db::name('store_category')
  31. -> where('is_show',1)
  32. -> when( !$this->source ,function($query) use ($merid){
  33. $query->where('pid',564);
  34. })
  35. -> when( $this->source =='yhc',function($q) use ($cate_arr,$merid){
  36. $q->where(function($q1) use ($cate_arr) {
  37. $q1->where(function($query) use ($cate_arr) {
  38. $query->where('pid', 564)->whereIn('cate_name', $cate_arr);
  39. })->whereOr('mer_id', 496);
  40. });
  41. })
  42. -> field('store_category_id,cate_name')
  43. -> order('sort desc')
  44. -> group('cate_name')
  45. -> select();
  46. return app('json')->success($list);
  47. }
  48. //大仓列表商品1
  49. public function da_cang_product_lst()
  50. {
  51. [$page, $limit] = $this->getPage();
  52. $classify = $this -> request -> params(['classify','keyword']);
  53. $where=[
  54. 'is_used'=>1,
  55. 'mer_status'=>1,
  56. // 'type'=>5,
  57. 'is_show'=>1,
  58. 'is_hide'=>0,
  59. 'is_del' => 0
  60. ];
  61. $product_id=[];
  62. $cateIds=[];
  63. if (isset($classify['classify']) && !empty($classify['classify'])){
  64. $where['cate_id'] = $classify['classify'];
  65. }
  66. $make2 = app()->make(Goods::class);
  67. $gongProduct439=$make2->getJoinProduct439();
  68. $ProductRepository=app() -> make(ProductRepository::class);
  69. $product_data=Db::name('store_product')->where($where)
  70. ->when(isset($classify['keyword']) && !empty($classify['keyword']), function ($query) use ($classify) {
  71. $query->where('store_name', 'like', "%" . $classify['keyword'] . "%");
  72. })->when(!$this->source, function ($q1) use ($gongProduct439) {
  73. $q1->where(function ($query) use ($gongProduct439) {
  74. $query->whereNotIn('spu_id', $gongProduct439)->whereOr("spu_id is null");
  75. });
  76. })->when(!$this->source, function ($query) {
  77. $query->where('type=5 or mer_id= 595');
  78. // $query2->where('spu_id IS NOT NULL')->whereOr("mer_id","321");
  79. // })->when(isset($product_id) && count($product_id), function ($query) use ($product_id) {
  80. // $query->whereIn('product_id',$product_id);
  81. // })
  82. })
  83. ->order('sort desc,create_time desc')
  84. ->page($page,$limit)
  85. ->select()->toArray();
  86. // echo Db::getlastsql();die;
  87. foreach ($product_data as &$product){
  88. $product['price']=set_price_rtrim($product['price']);
  89. $product['cost']=set_price_rtrim($product['cost']);
  90. $product['ot_price']=set_price_rtrim($product['ot_price']);
  91. $product['flag']='1';
  92. $product['yanglao']=set_price_rtrim($ProductRepository->yanglaojin($product['product_id'],0,1));//养老金
  93. $product['yanglao']=isset($product['yanglao']) && $product['yanglao']!=''? $product['yanglao']:0;
  94. $dacang_price=Db::name('store_product_attr_value')->where('product_id',$product['product_id'])->order('dacang_price','asc')->limit(1)->value('dacang_price');
  95. $product['da_cang_price']=set_price_rtrim($dacang_price);
  96. $product['yanglao_price']= $product['yanglao'];
  97. if($product['spu_id']!=''){
  98. $product['type']=5;
  99. }
  100. if(isset($product['type'])){
  101. $product['type']=(int)$product['type'];
  102. }
  103. }
  104. return app('json')->success($product_data);
  105. }
  106. //大仓介绍
  107. public function introduce($id)
  108. {
  109. $data=Db::name('big_warehouse')->where('id',$id)->find();//查询ID为它的数据
  110. if($data)
  111. return app('json')->success($data);
  112. return app('json')->fail('');
  113. }
  114. //大仓首页商品列表
  115. public function dc_home_product($id)
  116. {
  117. [$page, $limit] = $this->getPage();
  118. $where=[
  119. 'is_used'=>1,
  120. 'mer_status'=>1,
  121. 'type'=>5,
  122. 'is_show'=>1,
  123. 'is_hide'=>0,
  124. 'is_del' => 0
  125. ];
  126. $ProductRepository=app() -> make(ProductRepository::class);
  127. $product_data=Db::name('store_product')->where('dc_id',$id)->where($where)->page($page,$limit)->select()->toArray();
  128. foreach ($product_data as &$product){
  129. $product['flag']='1';
  130. $product['yanglao']=$ProductRepository->yanglaojin($product['product_id']);//养老金
  131. $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');
  132. }
  133. return app('json')->success($product_data);
  134. }
  135. //大仓首页商户
  136. public function dc_home_merchant($id)
  137. {
  138. $data=Db::name('merchant')->where('dc_id',$id)->field('mer_id,mer_name,mer_avatar')->select()->toArray();
  139. return app('json')->success($data);
  140. }
  141. }