LiveGoods.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace app\wap\model\live;
  12. /**
  13. * 直播带货
  14. */
  15. use app\admin\model\order\StoreOrder;
  16. use app\wap\model\store\StoreProduct;
  17. use basic\ModelBasic;
  18. use service\SystemConfigService;
  19. use traits\ModelTrait;
  20. use app\wap\model\user\User;
  21. use app\wap\model\special\Special;
  22. class LiveGoods extends ModelBasic
  23. {
  24. use ModelTrait;
  25. public static function getLiveGoodsList($where,$page = 0,$limit = 10)
  26. {
  27. $model = self::alias('g');
  28. $model = $model->where('g.is_delete',0);
  29. if ($where['is_show'] != "" && isset($where['is_show'])){
  30. $model = $model->where('g.is_show',$where['is_show']);
  31. }
  32. if ($where['live_id'] != 0 && isset($where['live_id'])){
  33. $model = $model->where('g.live_id',$where['live_id']);
  34. }
  35. $model = $model->field('g.id as live_goods_id,g.special_id, g.sort as gsort, g.fake_sales as gfake_sales,g.type as gfake_type, g.is_show as gis_show, g.sales as gsales');
  36. $model = $model->order('g.sort desc');
  37. if($page && $limit){
  38. $list = $model->page((int)$page,(int)$limit)->select();
  39. }else{
  40. $list = $model->select();
  41. }
  42. $list = count($list) ? $list->toArray() : [];
  43. foreach ($list as $key=>&$item){
  44. if($item['gfake_type']==0){
  45. $special=Special::where('id',$item['special_id'])->where('is_del',0)->find();
  46. if(!$special) {
  47. array_splice($list,$key,1);
  48. continue;
  49. }
  50. $item['id'] =$special['id'];
  51. $item['image'] =$special['image'];
  52. $item['title'] =$special['title'];
  53. $item['member_pay_type'] =$special['member_pay_type'];
  54. $item['member_money'] =$special['member_money'];
  55. $item['money'] =$special['money'];
  56. $item['label'] = $special['label'];
  57. $item['_add_time'] = $special['add_time'];
  58. $item['pink_end_time'] = $special['pink_end_time'] ? strtotime($special['pink_end_time']) : 0;
  59. $item['sales'] = StoreOrder::where(['paid' => 1, 'cart_id' => $special['id'], 'refund_status' => 0,'type'=>0])->count();
  60. //查看拼团状态,如果已结束关闭拼团
  61. if ($special['is_pink'] && $special['pink_end_time'] < time()) {
  62. self::update(['is_pink' => 0], ['id' => $item['live_goods_id']]);
  63. $item['is_pink'] = 0;
  64. }
  65. }else{
  66. $store=StoreProduct::where('id',$item['special_id'])->where('is_del',0)->find();
  67. if(!$store) {
  68. array_splice($list,$key,1);
  69. continue;
  70. }
  71. $item['id'] =$store['id'];
  72. $item['image'] =$store['image'];
  73. $item['title'] =$store['store_name'];
  74. $item['member_pay_type'] =0;
  75. $item['member_money'] =$store['vip_price'];
  76. $item['money'] =$store['price'];
  77. $item['label'] = explode(',',$store['keyword']);
  78. $item['_add_time'] = date('Y-m-d H:i:s',$store['add_time']);
  79. $item['sales'] =$store['sales'];
  80. }
  81. }
  82. $page++;
  83. return ['list'=>$list,'page'=> $page];
  84. }
  85. }