WIN-2308041133\Administrator 5 months ago
parent
commit
8f8e85fb4b
1 changed files with 18 additions and 11 deletions
  1. 18 11
      application/api/controller/Platform.php

+ 18 - 11
application/api/controller/Platform.php

@@ -170,8 +170,8 @@ class Platform extends Api
     }
 //    每日分红
     public function dividend_day(){
-//                 Db::startTrans();
-//         try {
+                 Db::startTrans();
+         try {
 //        获取所有用户贡献值列表
         $vid_list = model('video_user')->where('contribution','>',0)->column('vid');
         $vid_list = array_unique($vid_list);  //需要分红的短剧id
@@ -186,8 +186,12 @@ class Platform extends Api
             foreach ($vid_list as $k => $v) {
                 $count = model('video_user')->where('vid',$v)->field('sum(contribution) as count')->find();
                 $count = $count['count'];  //该短剧的总贡献值
+                var_dump($count);
                 $income = model('video_platform_record')->where('vid', $v)->where('createtime', 'between', [$yesterdayStart, $yesterdayEnd])->sum('num');  //该短剧昨日收益
                 $each_income = $income / $count;  //每点贡献值的收益
+                var_dump($income);
+                var_dump($each_income);
+
                 $user_list = model('video_user')->where('vid', $v)->where('contribution','>',0)->select();
                 $name = model('Videolist')->where('id', $v)->value('name');  //该短剧名称
                 if (empty($name)){
@@ -195,25 +199,28 @@ class Platform extends Api
                 }
                 if($user_list) {
                     foreach ($user_list as $key => $value) {
-                        $user_income = $value['contribution'] * $each_income;  //该用户该短剧的收益
+//                        $user_income = $value['contribution'] * $each_income;  //该用户该短剧的收益
+                        var_dump($value['contribution']);
+                        var_dump($each_income);die();
+                        $user_income = bcmul($value['contribution'],$each_income,18);  //该用户该短剧的收益
                         $money = model('User')->where('id',$value['uid'])->value('money');  //该用户当前余额
-                        $after = bcadd($money,$user_income,2);  //该用户分红后余额
+                        $after = bcadd($money,$user_income,18);  //该用户分红后余额
                         MoneyLog::create(['user_id' => $value['uid'], 'money' =>$user_income  , 'before' => $money, 'after' => $after, 'memo' => $name.'每日收益分红']);
                         $res = model('User')->where('id', $value['uid'])->update(['money' => $after]);  //更新用户余额
 
-                        $income_after = bcadd($value['income'],$value['income'],2);  //该用户总收益
+                        $income_after = bcadd($value['income'],$user_income,18);  //该用户总收益
                         $res2=model('video_user')->where('id',$value['id'])->update(['income' => $income_after]);  //更新用户收益
                     }
                 }
             }
         }
 //                     // 提交事务
-//             Db::commit();
-//         } catch (\Exception $e) {
-//             // 回滚事务
-//             var_dump($e);
-//             Db::rollback();
-//         }
+             Db::commit();
+         } catch (\Exception $e) {
+             // 回滚事务
+             var_dump($e);
+             Db::rollback();
+         }
         $this->success('分红完成');
     }
 //    用户贡献值变动记录