source = $this->request->header('source'); $this->merId = $this->request->header('merId'); } //首页商品列表 public function product_lst() { [$page, $limit] = $this->getPage(); $ProductRepository=app() -> make(ProductRepository::class); $where=[ 'is_used'=>1, 'mer_status'=>1, 'is_show'=>1, 'is_hide'=>0, 'is_del' => 0, 'status' => 1, ]; $product_id_yin = explode('=',systemConfig('product_ids_yin')); $Productmodel=new Product(); $da_cang_product=$Productmodel->where('type',5) ->whereNotIn('product_id',$product_id_yin)->where($where)->page($page,50)->order('returrn_profit_rate DESC')->select()->toArray(); foreach ($da_cang_product as &$da_cang){ $da_cang['flag']='1'; // $da_cang['yanglao']=bcmul(bcmul($da_cang['dc_price'],'0.1',2),'0.5',2); $da_cang['yanglao']=set_price_rtrim($ProductRepository->yanglaojin($da_cang['product_id'])); $dacang_price=Db::name('store_product_attr_value')->where('product_id',$da_cang['product_id'])->order('dacang_price','asc')->limit(1)->value('dacang_price'); $da_cang['da_cang_price']=set_price_rtrim($dacang_price); $da_cang['shop_name'] = Db::name('merchant')->where('mer_id',$da_cang['mer_id'])->value('mer_name'); } return app('json')->success($da_cang_product); } //会员免费商品 public function free_product() { $Productmodel=new Product(); $data=$Productmodel->field('store_name,image,price,product_id')->where('product_id',systemConfig('vip_exclusive_product'))->find(); if($data) return app('json')->success($data); return app('json')->fail('暂无数据'); } //大仓banner public function banner($type) { if($this->source=='yhc'){ $banner = merchantGroupData($this->merId,$type); }else{ $banner = systemGroupData($type); } return app('json')->success($banner); } //签到 public function sgin() { $uid=$this->request->uid(); $year=date('Y',time()); $month=date('m',time()); $day=date('d',time()); //查到最后一天签到记录 $signdata=Db::name('sign')->where('uid',$uid)->where('status',1)->order('num','desc')->find(); if($signdata){ if($year==$signdata['year']&&$month==$signdata['month']&&$day==$signdata['day']){ return app('json')->fail('今日已签到'); } } if(!$signdata){ $pension=$this->one_sign($uid); }elseif($signdata['num']>=1&&$signdata['num']<8){ $res=$this->lianxu_sign($signdata['day'],$uid); if($res==0){ $this->one_sign($uid); }else { $pension = rand('1', '50'); $pension=$pension*0.01; Db::name('sign')->insert(['uid' => $uid, 'year' => $year, 'month' => $month, 'day' => $day,'num' => $signdata['num'] + 1, 'pension' => $pension, 'status' => 1]); } }elseif($signdata['num']==8){ $res=$this->lianxu_sign($signdata['day'],$uid); if($res==0){ Db::name('sign')->where('uid',$uid)->update(['status'=>3]); $this->one_sign($uid); }else { $pension = rand('10', '100'); $pension=$pension*0.01; Db::name('sign')->insert(['uid' => $uid, 'year' => $year, 'month' => $month, 'day' => $day, 'num' => $signdata['num'] + 1, 'pension' => $pension, 'status' => 1]); } }else{ $pension='0.00'; } return app('json')->success($pension); } //首次签到 public function one_sign($uid) { $year=date('Y',time()); $month=date('m',time()); $day=date('d',time()); $pension=['0.5','0.6','1']; $pensions=array_rand($pension); Db::name('sign')->insert(['uid'=>$uid,'year'=>$year,'month'=>$month,'day'=>$day,'num'=>1,'pension'=>$pension[$pensions],'status'=>1]); return $pension[$pensions]; } //签到是否正常 public function lianxu_sign($day,$uid) { $data=date('d',time()-86400); if($data==$day){ return 1;//正常签到 }else{ Db::name('sign')->where('uid',$uid)->where('status','1')->update(['status'=>3]); return 0;//中断签到 } } //每日结算已达到九天签到的养老金 public function jiesuanpension() { //已达到九天的用户 $uid=Db::name('sign')->where('num',9)->where('status',1)->field('uid,id')->select()->toArray(); $pension=0; foreach ($uid as $k => $v){ $pension=Db::name('sign')->where('uid',$v['uid'])->where('status',1)->sum('pension'); if($pension!=0) { $billData = [ 'uid' => $v['uid'], 'link_id' => 0, 'pm' => 1, 'title' => '签到养老金', 'category' => 'now_money', 'type' => 'commission', 'number' => $pension, 'balance' => 0, 'mark' => '连续签到9天得' . $pension . '养老金', 'create_time' => date("Y-m-d H:i:s", time()), 'status' => 1, 'order_sn' => "111111111111111111", 'type_shop' => 0, 'commission_type' => 5, 'order_type' => 1, 'source' => 0, 'gzc' => 0, ]; Db::name('user_bill')->insert($billData); Db::name('sign')->where('uid',$v['uid'])->where('status',1)->update(['status'=>2]); Db::name('user')->where('uid',$v['uid'])->inc('annuity',$pension); Db::name('user')->where('uid',$v['uid'])->inc('annuity_num',1); } echo "签到:给用户".$v['uid'].'--'.$pension.'养老金';echo "
"; } } public function sign_lst() { $uid=$this->request->uid(); $today=date('d',time()); $year=date('Y',time()); $month=date('m',time()); //签到天数 $sign_day=Db::name('sign')->where('uid',$uid)->where('status',1)->order('num','desc')->find(); if($sign_day){ if($today!=$sign_day['day']||$sign_day['year']!=$year||$month!=$sign_day['month']) { $res = $this->lianxu_sign($sign_day['day'], $uid); if ($res==1) { $sign_day = $sign_day['num']; } else { $sign_day = 0; } }else{ $sign_day=$sign_day['num']; } }else{ $sign_day=0; } $pensions=Db::name('sign')->where('uid',$uid)->where('status',1)->sum('pension'); $return_data=['pension'=>$pensions,'sign_day'=>$sign_day]; return app('json')->success($return_data); // //查今天有没有签到 // $data=explode("-",date('Y-m-d')); // $year = $data[0]; // $month = $data[1]; // $day = $data[2]; // $signdata=Db::name('sign') // ->where('uid',$uid) // ->where('status',1) // ->where('year',$year) // ->where('month',$month) // ->where('day',$day) // ->find(); // dump($signdata); // if($signdata){ // $pensions=Db::name('sign')->where('uid',$uid)->where('status',1)->sum('pension'); // //签到天数 // $sign_day=Db::name('sign')->where('uid',$uid)->where('status',1)->order('num','desc')->value('num'); // }else{ // //查昨天有没有签到 // $data=explode("-",date('Y-m-d',time()-86400)); // $year = $data[0]; // $month = $data[1]; // $day = $data[2]; // $signdata=Db::name('sign') // ->where('uid',$uid) // ->where('status',1) // ->where('year',$year) // ->where('month',$month) // ->where('day',$day) // ->find(); // //昨天没有签到 // if(!$signdata){ // $pensions=$sign_day=0; // }else{ // //昨天签到了 // $pensions=Db::name('sign')->where('uid',$uid)->where('status',1)->sum('pension'); // //签到天数 // $sign_day=Db::name('sign')->where('uid',$uid)->where('status',1)->order('num','desc')->value('num'); // } // } $return_data=['pension'=>$pensions,'sign_day'=>$sign_day??0]; return app('json')->success($return_data); } public function sign_today() { $uid=$this->request->uid(); $today=date('d',time()); $year=date('Y',time()); $month=date('m',time()); $where=[ 'day'=>$today, 'month'=>$month, 'year'=>$year ]; $res=Db::name('sign')->where('uid',$uid)->where($where)->find(); if($res){ return app('json')->success(1); }else{ return app('json')->success(0); } } }