table = $prefix . 'vs_user_invited'; parent::__construct($data); } /* * 绑定推荐人(手动或后台绑定) */ public function invited_bind($init_code,$user_id){ $invited_user_info = model('User')->where('init_code', $init_code)->find(); if (!$invited_user_info) { return ['code' => 0, 'msg' => "邀请码错误", 'data' => null]; } //查询用户信息 $user_info = model('User')->where('id', $user_id)->find(); //查询绑定关系 $bind_reslut = DB::name('vs_user_invited')->where('sub_user_id', $user_id)->find(); if ($bind_reslut) { return ['code' => 0, 'msg' => "您已经绑定过上级用户", 'data' => null]; } if ($init_code == $user_info['init_code']) { return ['code' => 0, 'msg' => "自己不能绑定自己", 'data' => null]; } //绑定 $reslut = model('Invited')->insert([ 'user_id' => $invited_user_info['id'], 'sub_user_id' => $user_id, 'init_code' => $init_code, 'createtime' => time(), ]); if (!$reslut) { return ['code' => 0, 'msg' => "绑定失败", 'data' => null]; } //每日邀请1个好友注册app 【完成任务】 model('DailyTasks')->tasks_complete($invited_user_info['id'],6); return ['code' => 1, 'msg' => "操作成功", 'data' => null]; } //下级充值推荐人收益计算 public function invited_reward($sub_user_id,$money,$invited_user_id){ //查询下级用户充值总金额 $sub_user_all_money = db::name('vs_user_recharge') ->where('user_id', $sub_user_id) ->where('pay_status',2)->sum('money'); if($sub_user_all_money > 1000){ return ['code' => 1, 'msg' => "下级充值金额大于1000元不需返利", 'data' => null]; } $invited_draw_conf = get_system_config_value('invited_draw');//分成比例 $invited_draw = $invited_draw_conf / 100; $invited_draw_money = $money * $invited_draw; $invited_draw_money = $invited_draw_money / intval(get_system_config_value('rmb_coin_ratio')); //金币换算成钻石 //增加余额并记录日志 $wallet_update = model('api/UserWallet')->change_user_cion_log($invited_user_id,$invited_draw_money,0,6,'邀请用户充值返利'); if(!$wallet_update){ return ['code' => 0, 'msg' => "邀请给上级返利失败", 'data' => null]; } return ['code' => 1, 'msg' => "操作成功", 'data' => null]; } //账单明细 public function get_bill_list($user_id,$page=1,$page_size=10){ $map = [ 'user_id' => $user_id, ]; $list = DB::name("vs_user_invited_income_log") ->where($map) ->field('id,user_id,sub_user_id,coin,earnings,proportion,createtime') ->order('id desc') ->page($page,$page_size) ->select(); foreach ($list as $k => &$v) { $v['createtime'] = date('Y年m月d H:i', $v['createtime']); //查询用户昵称 $v['nickname'] = model('User')->where('id', $v['sub_user_id'])->value('nickname'); $v['coin'] = intval($v['coin']); $v['earnings'] = number_format($v['earnings'], 2, '.', ''); // 保留两位小数 $v['proportion'] = intval($v['proportion']); } return ['code' => 1, 'msg' => '获取成功', 'data' => $list]; } }