<?php namespace app\api\controller; use app\common\controller\Api; use think\Db; //use app\common\model\wallet; /** * 用户钱包 */ class Userwallet extends Api { protected $noNeedLogin = []; protected $noNeedRight = ['*']; //我的钱包余额 public function my_wallet(){ $wallet = model('wallet')->getwallet($this->auth->id); $this->success('success',$wallet); } //充值记录 public function gold_recharge_log(){ $map = [ 'user_id' => $this->auth->id, 'log_type'=> 10, ]; $list = Db::name('user_gold_log')->field('id,change_value,remain,createtime')->where($map)->order('id desc')->autopage()->select(); $this->success('success',$list); } //我的收益,三个数据 public function my_income_count(){ //累计收益 $map = [ 'user_id' => $this->auth->id, 'log_type'=> ['IN',[21,22,23]], ]; $income_sum = Db::name('user_money_log')->where($map)->sum('change_value'); //可提现总收益 $money_remain = model('wallet')->getwallet($this->auth->id,'money'); //今日收益 $start = strtotime(date('Y-m-d')); $end = $start + 86399; $map['createtime'] = ['between',[$start,$end]]; $today_income_sum = Db::name('user_money_log')->where($map)->sum('change_value'); $result = [ 'income_sum' => $income_sum, 'money_remain' => $money_remain, 'today_income_sum' => $today_income_sum, ]; $this->success('success',$result); } //我的余额日志 public function my_money_log(){ $type = input_post('type',0); $map = [ 'user_id' => $this->auth->id, ]; if($type){ $map['log_type'] = $type; } $list = Db::name('user_money_log')->field('id,log_type,change_value,remain,createtime')->where($map)->order('id desc')->autopage()->select(); if(!empty($list)){ $conf = config('wallet.logtype'); foreach($list as $key => $val){ $list[$key]['log_text'] = isset($conf[$val['log_type']]) ? $conf[$val['log_type']] : ''; } } $this->success('success',$list); } //金币日志 public function my_gold_log(){ $type = input_post('type',0); $map = [ 'user_id' => $this->auth->id, ]; if($type){ $map['log_type'] = $type; } $list = Db::name('user_gold_log')->field('id,log_type,change_value,remain,createtime')->where($map)->order('id desc')->autopage()->select(); if(!empty($list)){ $conf = config('wallet.logtype'); foreach($list as $key => $val){ $list[$key]['log_text'] = isset($conf[$val['log_type']]) ? $conf[$val['log_type']] : ''; } } $this->success('success',$list); } //提现配置 public function take_cash_config(){ $data = [ 'money' => model('wallet')->getwallet($this->auth->id,'money'), 'alipay_account' => $this->auth->alipay_account, 'min' => 1, 'max' => 1000, ]; $this->success('success',$data); } //提现 public function take_cash(){ $money = floatval(input_post('money',0)); if(empty($money)){ $this->error(); } if(empty($this->auth->alipay_account)){ $this->error('请先完善支付宝账号信息'); } $check = Db::name('take_cash')->where(['user_id'=>$this->auth->id,'status'=>0])->find(); if($check){ $this->error('您已经申请了提现,请等待审核'); } $user_money = model('wallet')->getwallet($this->auth->id,'money'); if($money > $user_money){ $this->error('提现金额不能大于可提现余额'); } $data = [ 'user_id' => $this->auth->id, 'number' => $money, 'alipay_account' => $this->auth->alipay_account, 'status' => 0, 'createtime' => time(), 'updatetime' => time(), ]; Db::name('take_cash')->insertGetId($data); //审核时候再扣,或者这里先扣,等需求方确认 $this->success('申请成功请等待审核'); } //提现记录 public function take_cash_log(){ $list = Db::name('take_cash')->where(['user_id'=>$this->auth->id])->autopage()->select(); $this->success('success',$list); } }