update 财务接口兼容地区切换

This commit is contained in:
chenbo 2023-12-08 18:04:13 +08:00
parent 3fabc64250
commit 65c3fccd2c

View File

@ -2,13 +2,16 @@
namespace app\controller\api\dataview; namespace app\controller\api\dataview;
use app\common\dao\user\UserBillDao;
use app\common\dao\user\UserExtractDao;
use app\common\repositories\BaseRepository; use app\common\repositories\BaseRepository;
use app\common\repositories\system\merchant\FinancialRecordRepository; use app\common\repositories\system\merchant\FinancialRecordRepository;
use app\common\repositories\user\UserBillRepository; use app\common\repositories\user\UserBillRepository;
use app\common\repositories\user\UserExtractRepository;
use crmeb\basic\BaseController; use crmeb\basic\BaseController;
use think\App; use think\App;
use think\facade\Db;
use think\exception\ValidateException; use think\exception\ValidateException;
class Finance extends BaseController class Finance extends BaseController
{ {
/** /**
@ -20,10 +23,15 @@ class Finance extends BaseController
public $streetCode; // 镇街道地区码 public $streetCode; // 镇街道地区码
public $token;
public function __construct(App $app, BaseRepository $repository) public function __construct(App $app, BaseRepository $repository)
{ {
parent::__construct($app); parent::__construct($app);
$this->repository = $repository; $this->repository = $repository;
$this->token = trim($this->request->header('X-Token'));
$this->areaCode = $this->request->param('areaCode', ''); $this->areaCode = $this->request->param('areaCode', '');
$this->streetCode = $this->request->param('streetCode', ''); $this->streetCode = $this->request->param('streetCode', '');
@ -33,29 +41,58 @@ class Finance extends BaseController
} }
// 提现记录 // 提现记录
public function withdrawList(UserExtractRepository $repository) public function withdrawList(UserExtractDao $dao)
{ {
[$page,$limit] = $this->getPage(); [$page,$limit] = $this->getPage();
$where = $this->request->params(['status','keyword','date','extract_type']); $where = $this->request->params(['status','keyword','date','extract_type']);
return app('json')->success($repository->getList($where,$page,$limit)); $query = $dao->search($where)->with(['user' => function ($query) {
$query->field('uid,avatar,nickname');
}]);
$query->join('user_address', 'user_address.uid = UserExtract.uid')->where(function ($query){
if ($this->streetCode != '') {
$query->where('user_address.street_code', $this->streetCode);
} else {
$query->where('user_address.district_code', $this->areaCode);
} }
});
$count = $query->count();
$list = $query->page($page, $limit)->select();
return app('json')->success(compact('count', 'list'));
}
// 资金记录 // 资金记录
public function billList(UserBillRepository $repository) public function billList(UserBillRepository $repository)
{ {
$dao = app()->make(UserBillDao::class);
[$page, $limit] = $this->getPage(); [$page, $limit] = $this->getPage();
$where = $this->request->params(['keyword', 'date', 'type']); $where = $this->request->params(['keyword', 'date', 'type']);
return app('json')->success($repository->getList($where, $page, $limit)); $query = $dao->searchJoin($where)->field('ua.street')->leftJoin('user_address ua', 'b.uid = ua.uid')->where(function ($query){
if ($this->streetCode != '') {
$query->where('ua.street_code', $this->streetCode);
} else {
$query->where('ua.district_code', $this->areaCode);
}
})->order('a.create_time DESC');
$count = $query->count();
$list = $query->page($page, $limit)->select();
return app('json')->success(compact('count', 'list'));
} }
// 账单管理统计标题 // 账单管理统计标题
public function financialRecordTitle(FinancialRecordRepository $repository) public function financialRecordTitle(FinancialRecordRepository $repository)
{ {
$where = $this->request->params(['date']); $where = $this->request->params(['date']);
$where['is_mer'] = $this->request->merId() ?? 0 ; $where['is_mer'] = $this->request->get('mer_id') ?? 0 ;
if($where['is_mer'] == 0){ if($where['is_mer'] == 0){
$data = $repository->getAdminTitle($where); $data = $repository->getAdminTitle($where);
}else{ }else{
$where['mer_id'] = $this->request->get('mer_id') ?? 0 ;
$data = $repository->getMerchantTitle($where); $data = $repository->getMerchantTitle($where);
} }
return app('json')->success($data); return app('json')->success($data);
@ -65,11 +102,11 @@ class Finance extends BaseController
{ {
[$page, $limit] = $this->getPage(); [$page, $limit] = $this->getPage();
$where = $this->request->params([['type',1],'date']); $where = $this->request->params([['type',1],'date']);
$where['is_mer'] = $this->request->merId() ?? 0 ; $where['is_mer'] = $this->request->get('mer_id') ?? 0 ;
try {
$merchant = $this->request->merchant();
}catch (\Exception $e){
$merchant = []; $merchant = [];
if($where['is_mer'] != 0){
$where['mer_id'] = $this->request->get('mer_id') ?? 0 ;
$merchant = Db::name('merchant')->find($where['mer_id']);
} }
$data = $repository->getAdminList($where,$page, $limit,$merchant); $data = $repository->getAdminList($where,$page, $limit,$merchant);
return app('json')->success($data); return app('json')->success($data);
@ -80,7 +117,7 @@ class Finance extends BaseController
$repository = app()->make(FinancialRecordRepository::class); $repository = app()->make(FinancialRecordRepository::class);
$date = $this->request->param('date'); $date = $this->request->param('date');
$where['date'] = empty($date) ? date('Y-m-d',time()) : $date ; $where['date'] = empty($date) ? date('Y-m-d',time()) : $date ;
$where['is_mer'] = $this->request->merId() ?? 0 ; $where['is_mer'] = $this->request->param('mer_id') ?? 0 ;
if($this->request->merId()){ if($this->request->merId()){
$merchant = $this->request->merchant(); $merchant = $this->request->merchant();
$data = $repository->merDetail($type,$where,$merchant); $data = $repository->merDetail($type,$where,$merchant);