123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199 |
- <?php
- namespace App\Http\Controllers;
- use App\Models\Activity;
- use App\Models\Goodtest;
- use App\Models\OrderDetail;
- use App\Models\Ordertest;
- use App\Models\User;
- use Carbon\Carbon;
- use Illuminate\Support\Facades\Auth;
- use Illuminate\Support\Facades\Cache;
- class GoodtestController extends Controller{
- public function GetGoodStatus(){
- $activity=Activity::where('is_ing',1)->first();
- $time=Carbon::now();
- $status=false;
- if ($time>=$activity->start_time && $time<=$activity->end_time){
- if ($activity->set_company_buy_num==1){
- $status=true;
- }
- }
- return $this->success(['status'=>$status]);
- }
- public function good_show(){
- $id=Auth::user()->id;
- $user=User::find($id);
- $time=Carbon::now();
- $activity=Activity::where('is_ing',1)->first();
- if ($time>=$activity->start_time && $time<=$activity->end_time){
- if ($time<Carbon::today()->addHours(9) || $time>Carbon::today()->addHours(21)){
- return $this->success_list([]);
- }
- }
- $re=[];
- $mobile=Auth::user()->mobile;
- // if (in_array($mobile,[15286818088])){
- $datas=Goodtest::whereIn('is_show',[2,3])->where('is_deleted',0)->count();
- if ($datas>0){
- $data=Goodtest::whereIn('is_show',[2,3])->where('is_deleted',0)->groupBy('main_attr')->orderBy('sort')->select('main_attr','attr_id')->get();
- $i=0;
- $re=[];
- foreach ($data as $k=>$v){
- $sec_attr=Goodtest::whereIn('is_show',[2,3])
- ->where('is_deleted',0)
- ->where('main_attr',$v->main_attr)
- ->groupBy('sec_attr')
- ->orderBy('sort')
- ->select('sec_attr','name','goods_num','money','unit','main_img','banner_img','id','attr_id','show_time','off_time','main_attr')
- ->get();
- foreach ($sec_attr as $ke=>$va){
- $size=Goodtest::whereIn('is_show',[2,3])->where('is_deleted',0)->where('main_attr',$v->main_attr)->where('sec_attr',$va->sec_attr)->select('storage','size','id')->get()->toArray();
- // $now=Carbon::now()->timestamp;
- // if ($va->show_time==null){
- // $re[$i]['limit_time']=false;
- // }else{
- // if (strtotime($va->show_time)<$now&&strtotime($va->off_time)>$now){
- // $re[$i]['limit_time']=true;
- // $re[$i]['show_time']=$va->show_time->toDateTimeString();
- // $re[$i]['off_time']=$va->off_time->toDateTimeString();
- // }
- // }
- $re[$i]['step']=1;
- if($user->level=='3'){
- if($activity && $activity->set_company_buy_num==1){
- if ($time>=$activity->start_time && $time<=$activity->end_time){
- if ($time>=Carbon::today()->addHours(9) && $time<=Carbon::today()->addHours(21)){
- if($va->main_attr=='大卫博士精装版'){
- $re[$i]['step']=6;
- }elseif($va->main_attr=='大卫博士高腰版' || $va->main_attr=='大卫博士青春版'){
- $re[$i]['step']=3;
- }
- }
- }
- }
- }
- $re[$i]['name']=$va->name;
- $re[$i]['goods_list']=$size;
- $re[$i]['attr_id']=$va->attr_id;
- $re[$i]['size_id']=array_column($size,'id');
- $re[$i]['size']=array_column($size,'size');
- $re[$i]['storage']=array_column($size,'storage');
- $re[$i]['goods_num']=$va->goods_num;
- $re[$i]['money']=$va->money;
- $re[$i]['unit']=$va->unit;
- $re[$i]['main_img']=$va->main_img;
- $re[$i]['banner_img']=json_decode($va->banner_img);
- // $re[$i]['banner_img']=[$va->main_img];
- $re[$i]['sec_attr']=$va->sec_attr;
- $i++;
- }
- }
- }else{
- return $this->success_list([]);
- }
- // }
- //else{
- // $datas=Goodtest::whereIn('is_show',[2,3])->where('main_attr','<>','大卫博士青春版')->where('is_deleted',0)->count();
- // if ($datas>0){
- // $data=Goodtest::whereIn('is_show',[2,3])->where('is_deleted',0)->where('main_attr','<>','大卫博士青春版')->groupBy('main_attr')->orderBy('sort')->select('main_attr','attr_id')->get();
- // $i=0;
- // $re=[];
- // foreach ($data as $k=>$v){
- // $sec_attr=Goodtest::whereIn('is_show',[2,3])
- // ->where('is_deleted',0)
- // ->where('main_attr',$v->main_attr)
- // ->groupBy('sec_attr')
- // ->orderBy('sort')
- // ->select('sec_attr','name','goods_num','money','unit','main_img','banner_img','id','attr_id','show_time','off_time')
- // ->get();
- // foreach ($sec_attr as $ke=>$va){
- // $size=Goodtest::whereIn('is_show',[2,3])->where('is_deleted',0)->where('main_attr',$v->main_attr)->where('sec_attr',$va->sec_attr)->select('storage','size','id')->get()->toArray();
- //// $now=Carbon::now()->timestamp;
- //// if ($va->show_time==null){
- //// $re[$i]['limit_time']=false;
- //// }else{
- //// if (strtotime($va->show_time)<$now&&strtotime($va->off_time)>$now){
- //// $re[$i]['limit_time']=true;
- //// $re[$i]['show_time']=$va->show_time->toDateTimeString();
- //// $re[$i]['off_time']=$va->off_time->toDateTimeString();
- //// }
- //// }
- // $re[$i]['name']=$va->name;
- // $re[$i]['attr_id']=$va->attr_id;
- // $re[$i]['size_id']=array_column($size,'id');
- // $re[$i]['size']=array_column($size,'size');
- // $re[$i]['storage']=array_column($size,'storage');
- // $re[$i]['goods_num']=$va->goods_num;
- // $re[$i]['money']=$va->money;
- // $re[$i]['unit']=$va->unit;
- // $re[$i]['main_img']=$va->main_img;
- // $re[$i]['banner_img']=json_decode($va->banner_img);
- //// $re[$i]['banner_img']=[$va->main_img];
- // $re[$i]['sec_attr']=$va->sec_attr;
- // $i++;
- // }
- // }
- // }else{
- // return $this->success_list([]);
- // }
- // }
- // dd($re);
- return $this->success_list($re);
- }
- public function again_order(){
- $order_detail=OrderDetail::where('order_id',7)->groupBy('goods_name')->get();
- foreach ($order_detail as $k=>$v){
- $data=OrderDetail::where('goods_name',$v->goods_name)->where('order_id',7)->with(['get_good'])->get();
- $size=[];
- $size_id=[];
- $num=[];
- dump($data);
- foreach ($data as $ke=>$va){
- $size[$ke]=$va->goods_size;
- $size_id[$ke]=$va->goods_id;
- $num[$ke]=$va->num;
- }
- $re[$k]['size']=$size;
- $re[$k]['size_id']=$size_id;
- $re[$k]['num']=$num;
- $re[$k]['name']=$v->goods_name;
- $re[$k]['main_img']=$data[0]->get_good->main_img;
- }
- dd($re);
- }
- public function AddDataGood(){
- // $re=User::where('level',3)->whereNull('deleted_at')->whereNotIn('mobile',['13837111367','15617601787'])->pluck('mobile')->toArray();
- // if (in_array(13837111367,$re)){
- // dd(1);
- // }
- // dd(2);
- // dump($request->isEmptyString('id'));
- // dd($request->inputs('id',2));
- $good=Goodtest::where('is_deleted',0)->get();
- foreach ($good as $k=>$v){
- $num=$v->storage;
- Cache::forget('dwbs_good_num'.$v->id);
- Cache::put('dwbs_good_num'.$v->id,$num,3600*24*7);
- $ids=Ordertest::where('created_at','>','2021-08-04 08:00:00')->where('is_deleted',0)->pluck('id');
- $nums=Orderdetail::whereIn('order_id',$ids)->where('goods_id',$v->id)->sum('num');
- $n=$nums;
- dump(Cache::get('dwbs_good_num'.$v->id).'=========='.$v->name.$v->size.'('.$v->id.')'.'======='.$v->storage.'======'.$n);
- // dump(Cache::get('dwbs_good_num'.$v->id).'=========='.$v->name.$v->size.'('.$v->id.')'.'======='.$v->storage);
- }
- // Cache::forever('dwbs_good_num74',500);
- // 70
- }
- }
|