123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- <?php
- namespace app\api\controller;
- use app\admin\model\DayRecord;
- use app\admin\model\Record;
- use app\common\controller\Api;
- use think\Db;
- /**
- * 首页接口
- */
- class Index extends Api
- {
- protected $noNeedLogin = ['*'];
- protected $noNeedRight = ['*'];
- public function _initialize()
- {
- $this->recordModel= new \app\admin\model\greenroom\Record;
- $this->adminModel= new \app\admin\model\Admin;
- $this->userlinkModel= new \app\admin\model\greenroom\Userlink;
- }
- /**
- * 首页
- *
- */
- public function index()
- {
- $this->success('请求成功');
- }
- //跟新收益
- public function upincome(){
- $maxId = $this->recordModel->max('id');
- $recorddata= $this->recordModel
- ->field('sum(income) as income ,uid as id')
- ->where("id", "<=", $maxId)
- ->where(['status'=>0])
- ->group('uid')
- ->select();
- $temp=$userids=[];
- $returndata='1';
- Db::startTrans();
- if($recorddata){
- $returndata='12';
- foreach ($recorddata as $key=>$val){
- $temp[$val['id']]=$val['income'];
- $userids[]=$val['id'];
- }
- $admindata=db('admin')->where(['id'=>['in',$userids]])->select();
- $upincome=[];
- foreach ($admindata as $k=>$vl){
- if(isset($temp[$vl['id']])){
- $upincome[]=['id'=>$vl['id'],'money'=>$vl['money']+$temp[$vl['id']]];
- }
- }
- if($upincome){
- $returndata='123';
- $this->adminModel->saveAll($upincome);
- $this->recordModel->where("id", "<=", $maxId)->where(['status'=>0])->update(['status'=>1]);
- }
- }
- Db::commit();
- return $returndata;
- }
- /**
- * 跑链接收益
- *
- */
- public function runrecord()
- {
- $nowtime = time();
- $spacetime = 10 * 60;
- $returndata='';
- $userdata = db('admin')->field("id")
- ->where(['livetime'=>['gt', $nowtime - $spacetime]])
- ->where(['incomeendtime'=>['gt', $nowtime]])
- ->select();
- Db::startTrans();
- if (!$userdata) {
- $returndata= 'no data';
- } else {
- // Db::startTrans();
- $userids = array_column($userdata, 'id');
- $userlink = db('userlink')
- ->join(['fa_link'], 'fa_userlink.link_id = fa_link.id')
- ->field("fa_link.link as link,
- fa_link.id as link_id,
- fa_userlink.uid as uid,
- fa_userlink.id as userlinkid,
- fa_userlink.income as income,
- fa_link.minincome as minincome,
- fa_link.maxincome as maxincome
- ")->where(['uid'=>['in', $userids]])->select();
- if (!$userlink) {
- $returndata='no data1';
- } else {
- $savedata =$userlinkdata= [];
- foreach ($userlink as $key => $val) {
- $income=mt_rand($val['minincome'] * 10000, $val['maxincome'] * 10000) / 10000;
- $savedata[] = ['income' => $income,
- 'time' => $nowtime,
- 'link' => $val['link'],
- 'uid' => $val['uid'],
- 'status' => 0
- ];
- $userlinkdata[]=['id'=>$val['userlinkid'],'income'=>$val['income']+$income];
- }
- print_r($userlinkdata);
- print_r($savedata);
- // $this->userlinkModel->saveAll($userlinkdata);
- // $this->recordModel->saveAll($savedata);
- $returndata= 'insert ' . count($savedata) . ' record';
- }
- // Db::commit();
- }
- return $returndata;
- }
- public function oldrecord()
- {
- $beginYesterday=mktime(0,0,0,date('m'),date('d') - 1,date('Y'));
- $endYesterday = mktime(0,0,0,date('m'),date('d'),date('Y'));
- // 统计前面的收益
- $total = Record::where('time', ">=", $beginYesterday)
- ->where("time", '<', $endYesterday)
- ->field('sum(income) as income, count(id) as num,uid as id')
- ->group("uid")
- ->select();
- $date = date("Y-m-d", $beginYesterday);
- Db::startTrans();
- foreach ($total as $item)
- {
- DayRecord::create([
- "uid" => $item->id,
- "addtime" => $date,
- "link_num" => $item->num,
- "income" => bcmul('1', $item->income, 4)
- ]);
- }
- Record::where('time', ">=", $beginYesterday)
- ->where("time", '<', $endYesterday)
- ->where('status', 1)
- ->delete();
- Db::commit();
- // $beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
- // $userlink = db('userlink')->select();
- // $uplink=[];
- // foreach ($userlink as $key=>$val){
- // if($val['dayincome']>0){
- // $uplinktemp=[
- // 'id'=>$val['id'],
- // 'dayincome'=>0,
- // 'oldincome'=>$val['dayincome'],
- // ];
- // if($val['endtime']<$beginYesterday){
- // $uplinktemp['oldincome']=0;
- // }
- // $uplink[]= $uplinktemp;
- // }
- // }
- // $this->userlinkModel->saveAll($uplink);
- }
- }
|