Parcourir la source

活动抽奖,其余统计接口

lizhen_gitee il y a 2 mois
Parent
commit
ab72d4484c
1 fichiers modifiés avec 49 ajouts et 6 suppressions
  1. 49 6
      application/api/controller/Active.php

+ 49 - 6
application/api/controller/Active.php

@@ -42,7 +42,7 @@ class Active extends Api
         $qipao_count = $this->get_qipao_count();
 
         //我今天打开的气泡数量
-        $my_count = Db::name('active_user_number')->whereTime('createtime','today')->where('user_id',$this->auth->id)->count();
+        $my_count = Db::name('active_user_number')->where('createdate',date('Ymd'))->where('user_id',$this->auth->id)->count();
 
         if($my_count + 1 > $qipao_count){
             $this->error('可收集气泡不足');
@@ -67,6 +67,7 @@ class Active extends Api
             'user_id' => $this->auth->id,
             'number'  => $this->get_rand_number(),
             'createtime' => time(),
+            'createdate' => date('Ymd'),
         ];
         Db::name('active_user_number')->insertGetId($data);
 
@@ -93,14 +94,14 @@ class Active extends Api
         $box_count = $box_count_config[date('N')];//今天开N个
 
         //所有已存在的不重复号码,打乱之后,取前N个
-        $box = Db::name('active_user_number')->whereTime('createtime','today')->group('number')->column('number');
+        $box = Db::name('active_user_number')->where('createdate',date('Ymd'))->group('number')->column('number');
         shuffle($box);
         $box_count = $box_count > count($box) ? count($box) : $box_count;
         $gift_number = array_chunk($box,$box_count)[0]; //中奖数组,不重复
         $gift_number = implode(',',$gift_number);
 
         //中奖列表
-        $list = Db::name('active_user_number')->whereTime('createtime','today')->where('number','IN',$gift_number)->select();
+        $list = Db::name('active_user_number')->where('createdate',date('Ymd'))->where('number','IN',$gift_number)->select();
         $log_ids = array_column($list,'id');//id更新快一点
 
         //每股中奖额度
@@ -137,6 +138,15 @@ class Active extends Api
         }
 
         //开奖记录
+        $week = [
+            1 => '周一',
+            2 => '周二',
+            3 => '周三',
+            4 => '周四',
+            5 => '周五',
+            6 => '周六',
+            7 => '周日',
+        ];
         $log = [
             'gift_number' => $gift_number,
             'jiangchi'    => $jiangchi,
@@ -144,6 +154,7 @@ class Active extends Api
             'price'       => $price,
             'usercount'   => count($fajiang),
             'opendate'    => date('Ymd'),
+            'openweek'        => $week[date('N')],
             'createtime'  => time(),
         ];
         $log_id = Db::name('active_log')->insertGetId($log);
@@ -157,15 +168,47 @@ class Active extends Api
     }
 
     //开奖结果
-    public function active_result(){}
+    public function active_log(){
+        $list = Db::name('active_log')->order('id desc')->autopage()->select();
+
+
+        foreach($list as $key => &$val){
+            $val['opendate'] = '第'.$val['opendate'].'期';
+        }
+        $this->success('success',$list);
+    }
 
     //参与统计
-    //参与日志
+    public function my_active_tongji(){
+        //中奖总额
+        $gold_sum = Db::name('user_gold_log')->where('user_id',$this->auth->id)->where('log_type',91)->sum('change_value');
+        //中奖次数
+        $gift_times = Db::name('user_gold_log')->where('user_id',$this->auth->id)->where('log_type',91)->count('id');
+        //参与次数
+        $join_times = Db::name('active_user_number')->where('user_id',$this->auth->id)->group('createdate')->count('id');
+
+        $rs = [
+            'gold_sum' => $gold_sum,
+            'gift_times' => $gift_times,
+            'join_times' => $join_times,
+        ];
+        $this->success('success',$rs);
+    }
+
+    //活动参与日志
+    public function my_active_log(){
+
+    }
+
     //历史中奖
+    public function my_gold_log(){
+        $list = Db::name('user_gold_log')->where('user_id',$this->auth->id)->where('log_type',91)->autopage()->order('id desc')->select();
+        $this->success('success',$list);
+    }
 
     //我今天已经领取的气泡,数字
     private function get_my_number(){
-        $list = Db::name('active_user_number')->whereTime('createtime','today')->where('user_id',$this->auth->id)->order('id asc')->select();
+        $list = Db::name('active_user_number')->where('createdate',date('Ymd'))->where('user_id',$this->auth->id)->order('id asc')->select();
         return $list;
     }