success('返回成功', $this->request->param()); } /** * 无需登录的接口 * */ public function test1() { $this->success('返回成功', ['action' => 'test1']); } /** * 需要登录的接口 * */ public function test2() { $this->success('返回成功', ['action' => 'test2']); } /** * 需要登录且需要验证有相应组的权限 * */ public function test3() { $this->success('返回成功', ['action' => 'test3']); } //订单算奖金。计划任务的逻辑 public function test4(){ $order_id = 488359520289034240; $product_list = Db::name('unishop_order_product')->where('order_id',$order_id)->select();//已支付 foreach($product_list as $key => $product){ //收益 $shouyi = bcmul($product['number'],$product['pifa_shouyi'],0); } $user_id = 1; //我的下级数量 Db::name('user')->where('intro_uid',$user_id)->count(); //我的上级id $my_intro_uid = Db::name('user')->where('id',$user_id)->value('intro_uid'); //我的上上级id $two_intro_uid =Db::name('user')->where('id',$my_intro_uid)->value('intro_uid') ?: 0; } public function auto_order(){ $nowtime = time(); $toweek = date('w',$nowtime); if($toweek == 0){ //周日不结算(自动到下周一结算) exit; } $tendays_ago = $this->jiesuan_tendays_ago(); // Db::startTrans(); $order_map = [ 'status' => 1, 'have_paid' => ['lt',$tendays_ago], 'jiesuantime' => 0, ]; $order_list = Db::name('unishop_order')->where($order_map)->where('have_paid','gt',0)->limit(10)->select(); foreach($order_list as $key => $order){ //获取直推人数 //获取业绩 //确定代理商等级,拿对应比例 //给直推 //给间推 //标记为结算 $jiesuan = Db::name('unishop_order')->where('id',$order['id'])->update(['jiesuantime'=>$nowtime]); //批发的都卖出 $pifa = Db::name('unishop_order_product')->where('order_id',$order['id'])->update(['pifa_status'=>1]); } Db::rollback(); } //结算要按10天算 public function jiesuan_tendays_ago(){ $nowtime = time(); /*if(input('date','')){ $nowtime = strtotime(input('date','')); }*/ $today = strtotime(date('Y-m-d',$nowtime)); $toweek = date('w',$nowtime); $enum = [ 1 => 11, 2 => 11, 3 => 11, 4 => 10, 5 => 10, 6 => 10, 0 => 10, //这一天没人结算 ]; $rs = $today - ($enum[$toweek] * 86400); // dump(date('Y-m-d',$rs)); return $rs; } }