new-admin-api/app/controller/api/user/UserExtract.php

90 lines
2.5 KiB
PHP

<?php
namespace app\controller\api\user;
use crmeb\basic\BaseController;
use app\common\repositories\system\groupData\GroupDataRepository;
use think\App;
use app\validate\api\UserExtractValidate as validate;
use app\common\repositories\user\UserExtractRepository as repository;
class UserExtract extends BaseController
{
/**
* @var repository
*/
public $repository;
/**
* UserExtract constructor.
* @param App $app
* @param repository $repository
*/
public function __construct(App $app,repository $repository)
{
parent::__construct($app);
$this->repository = $repository;
}
public function lst()
{
[$page,$limit] = $this->getPage();
$where = $this->request->params(['status']);
[$start,$stop]= $this->request->params(['start','stop'],true);
$where['date'] = $start&&$stop ? date('Y/m/d',$start).'-'.date('Y/m/d',$stop) : '';
$where['uid'] = $this->request->uid();
$data = $this->repository->getList($where,$page,$limit);
$data['list']->each(function($item){
$item['extract_price'] = bcadd((float)$item['extract_price'], (float)$item['withdraw_commission'], 2);
return $item;
});
return app('json')->success($data);
}
public function create(validate $validate)
{
$data = $this->checkParams($validate);
$user = $this->request->userInfo();
if($data['extract_type'] == 3 && !systemConfig('sys_extension_type') ) return app('json')->fail('未开启付款到零钱');
$this->repository->create($user,$data);
return app('json')->success('申请已提交');
}
public function checkParams(validate $validate)
{
$data = $this->request->params([
'extract_type',
'bank_code',
'bank_address',
'alipay_code',
'wechat',
'extract_pic',
'extract_price',
'real_name',
'bank_name',
'bank_type'
]);
$validate->check($data);
return $data;
}
public function bankLst()
{
[$page,$limit] = $this->getPage();
$data = app()->make(GroupDataRepository::class)->groupData('bank_list',0,$page,100);
return app('json')->success($data);
}
public function historyBank()
{
$data = $this->repository->getHistoryBank($this->request->userInfo()->uid);
return app('json')->success($data ?? []);
}
}