erp_old/app/admin/lists/withdraw/MerchantWithdrawLists.php
2024-05-22 09:39:15 +08:00

84 lines
2.7 KiB
PHP

<?php
namespace app\admin\lists\withdraw;
use app\admin\lists\BaseAdminDataLists;
use app\common\model\auth\Admin;
use app\common\model\bank\Bank;
use app\common\model\merchant\Merchant;
use app\common\model\merchant\MerchantBank;
use app\common\model\supplier\Supplier;
use app\common\model\withdraw\MerchantWithdraw;
use app\common\lists\ListsSearchInterface;
/**
* 商户供应商提现表列表
* Class MerchantWithdrawLists
* @package app\admin\listswithdraw
*/
class MerchantWithdrawLists extends BaseAdminDataLists implements ListsSearchInterface
{
/**
* @notes 设置搜索条件
* @return \string[][]
* @author likeadmin
* @date 2024/05/14 11:21
*/
public function setSearch(): array
{
return [
'=' => ['mer_id', 'supplier_id', 'merchant_bank_id', 'amount', 'is_check', 'is_arrival', 'arrival_proof', 'admin_id'],
];
}
/**
* @notes 获取商户供应商提现表列表
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
* @author likeadmin
* @date 2024/05/14 11:21
*/
public function lists(): array
{
return MerchantWithdraw::where($this->searchWhere)
->field(['id', 'mer_id', 'supplier_id', 'merchant_bank_id', 'amount', 'is_check', 'is_arrival', 'arrival_proof', 'admin_id','create_time'])
->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc'])
->select()->each(function($data){
$merchant_bank = MerchantBank::where('id',$data['merchant_bank_id'])->findOrEmpty();
$bank = Bank::where('id',$merchant_bank['bank_id'])->findOrEmpty();
$merchant_bank['bank_info'] = $bank;
$data['merchant_bank_info'] = $merchant_bank;
if(!empty($data['mer_id'])){
$merchant = Merchant::field('mer_name')->where('mer_id',$data['mer_id'])->findOrEmpty();
$data['mer_name'] = $merchant['mer_name'];
}elseif(!empty($data['supplier_id'])){
$supplier = Supplier::field('mer_name')->where('id',$data['supplier_id'])->findOrEmpty();
$data['mer_name'] = $supplier['mer_name'];
}
$admin = Admin::field('name')->where('id',$data['admin_id'])->findOrEmpty();
$data['admin_name'] = !$admin->isEmpty() ? $admin['name'] : '';
})
->toArray();
}
/**
* @notes 获取商户供应商提现表数量
* @return int
* @author likeadmin
* @date 2024/05/14 11:21
*/
public function count(): int
{
return MerchantWithdraw::where($this->searchWhere)->count();
}
}