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 = $this->where('sub_user_id', $sub_user_id)->value('user_id'); if(!$invited_user_id){ return ['code' => 0, 'msg' => "未绑定上级用户", 'data' => null]; } $invited_draw_conf = get_system_config_value('invited_draw');//分成比例 $invited_draw = $invited_draw_conf / 100; $invited_draw_money = $money * $invited_draw; //修改用户资金 $reslut = model('common/UserWallet')->change_user_money($invited_user_id, $invited_draw_money, model('common/UserWallet')::MONEYTYPEARNINGS, model('common/UserWallet')::OPERATION_INVITE_REBATE, '邀请用户充值返利'); if($reslut['code'] == 1){ //记录日志 $data = []; $data['user_id'] = $invited_user_id; $data['sub_user_id'] = $sub_user_id; $data['coin'] = $money; $data['earnings'] = $invited_draw_money; $data['proportion'] = $invited_draw_conf; $data['createtime'] = time(); $data['updatetime'] = time(); $res = Db::name('vs_user_invited_income_log')->insert($data); if ($res) { return ['code' => 1, 'msg' => "操作成功", 'data' => null]; } }else{ return ['code' => $reslut['code'], 'msg' => $reslut['code'], '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'] = intval($v['earnings']); $v['proportion'] = intval($v['proportion']); } return ['code' => 1, 'msg' => '获取成功', 'data' => $list]; } }