| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268 |
- <?php
- namespace app\controller\api\newhome;
- use app\common\model\store\product\Product;
- use app\common\repositories\store\product\ProductRepository;
- use app\controller\api\store\product\Jt;
- use crmeb\basic\BaseController;
- use think\App;
- use think\facade\Db;
- class Newhome extends BaseController
- {
- private $merId;
- private $source;
- public function __construct(App $app)
- {
- parent::__construct($app);
- $this->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 "<br>";
- }
- }
- 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);
- }
- }
- }
|