* 客户收益管理 */ namespace app\allwin\controller; use app\allwin\model\Bank as ModelBank; use app\allwin\model\BankBill; use app\allwin\model\BankCash; use app\allwin\model\AllwinStore; use think\facade\Request; use think\helper\Time; use app\common\model\SystemUserBank; use app\common\model\SystemUser; class Bank extends Common{ public function initialize(){ parent::initialize(); $this->assign('pathMaps', [['name'=>'账号余额','url'=>url("bank/index")]]); } /** * 客户收益管理 * @return void */ public function index(int $types = 0){ $condition = []; $condition[] = ['member_miniapp_id','=',$this->member_miniapp_id]; $time = Request::param('time/d',0); if($time){ switch ($time) { case 2: list($start, $end) = Time::yesterday(); break; case 30: list($start, $end) = Time::month(); break; case 60: list($start, $end) = Time::lastMonth(); break; default: list($start, $end) = Time::today(); break; } $condition[] = ['update_time','>=',$start]; $condition[] = ['update_time','<=',$end]; } $starttime = Request::param('starttime/s'); $endtime = Request::param('endtime/s'); if($starttime){ $condition[] = ['update_time','>=',strtotime($starttime)]; } if($endtime){ $condition[] = ['update_time','<=',strtotime($endtime)]; } $view['receipts'] = BankBill::where($condition)->where('money','>',0)->sum('money'); //收入 $view['expenses'] = BankBill::where($condition)->where('money','<',0)->sum('money'); //支付 $view['time'] = $time; $view['starttime'] = $starttime; $view['endtime'] = $endtime; //查询帐号 switch ($types) { case 1: $order = 'income_money desc'; break; case 2: $order = 'money desc'; break; case 3: $order = 'lack_money desc'; break; case 4: $order = 'shop_money desc'; break; default: $order = 'update_time desc'; break; } $keyword = trim(input('get.keyword','','htmlspecialchars')); $view['list'] = ModelBank::bank($this->member_miniapp_id,$keyword)->order($order)->paginate(20,false,['query'=>['types' => $types]]); $view['income'] = ModelBank::bank($this->member_miniapp_id,$keyword)->sum('income_money'); $view['points'] = ModelBank::bank($this->member_miniapp_id,$keyword)->sum('shop_money'); $view['money'] = ModelBank::bank($this->member_miniapp_id,$keyword)->sum('money'); $view['keyword']= $keyword; $view['types'] = $types; return view()->assign($view); } /** * 客户收益记录 * @return void */ public function bill(int $uid){ $this->path[] = ['name'=>'账单管理','url'=>'javascript:;']; $where['user_id'] = $uid; $view['list'] = BankBill::bill($where); $view['pathMaps'] = $this->path; return view()->assign($view); } /** * 客户提现 */ public function cash($types = 0){ $keyword = trim(input('get.keyword','','htmlspecialchars')); $condition = []; $condition['member_miniapp_id'] = $this->member_miniapp_id; if(!empty($keyword)){ //$condition['system_user.phone_uid'] = $keyword; } switch ($types) { case 1: $state = -1; break; case 2: $state = 1; break; default: $state = 0; break; } $condition['state'] = $state; $view['list'] = BankCash::where($condition)->order('id desc')->paginate(20,false,['query' => ['types' => $types]]); $view['money'] = ModelBank::bank($this->member_miniapp_id,$keyword)->sum('money'); $view['lack_money'] = ModelBank::bank($this->member_miniapp_id,$keyword)->sum('lack_money'); $view['now_money'] = BankCash::where(['member_miniapp_id' =>$this->member_miniapp_id,'state' => 0])->sum('money'); $view['realmoney'] = BankCash::where(['member_miniapp_id' =>$this->member_miniapp_id,'state' => 1])->sum('realmoney'); $view['back_money'] = BankCash::where(['member_miniapp_id' =>$this->member_miniapp_id,'state' => -1])->sum('money'); $view['keyword'] = $keyword; $view['types'] = $types; $view['pathMaps'] = [['name'=>' 提现管理','url' => url("bank/cash")]]; return view()->assign($view); } /** * 客户审核 */ public function cashpass(int $id){ if(request()->isAjax()){ $data = [ 'id' => input('post.id/d'), 'ispass' => input('post.ispass/d'), 'miniapp_id' => $this->member_miniapp_id, 'realmoney' => input('post.realmoney/f') ]; $validate = $this->validate($data,'Bank.cash'); if(true !== $validate){ return json(['code'=>0,'msg'=>$validate]); } $result = ModelBank::isPass($data,$this->member_miniapp_id); return json($result); }else{ $cash = BankCash::where(['member_miniapp_id' => $this->member_miniapp_id,'id' => $id])->find();; if(empty($cash)){ $this->error('未找到到申请提现内容'); } $setting = model('AllwinConfig')->getConfig($this->member_miniapp_id); $is_manage = AllwinStore::manageStore($cash->user_id); if(empty($is_manage)){ $realmoney = money($cash->money - $cash->money*($setting->cash_charges/1000)); }else{ $realmoney = $cash->money; } $view['cash'] = $cash; $view['realmoney'] = $realmoney; $view['bank'] = ModelBank::where(['user_id' => $cash->user_id])->find(); $view['info'] = SystemUserBank::where(['user_id' => $cash->user_id])->find(); $view['wechat'] = SystemUser::where(['id' => $cash->user_id])->field('id,miniapp_uid,phone_uid,official_uid')->find(); $view['config'] = $setting ; return view()->assign($view); } } }