erp_old/app/admin/lists/merchant/MerchantBankLists.php
2024-05-14 17:37:13 +08:00

83 lines
2.3 KiB
PHP

<?php
namespace app\admin\lists\merchant;
use app\admin\lists\BaseAdminDataLists;
use app\common\lists\ListsSearchInterface;
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;
/**
* MerchantBank列表
* Class MerchantBankLists
* @package app\admin\listsmerchant
*/
class MerchantBankLists extends BaseAdminDataLists implements ListsSearchInterface
{
/**
* @notes 设置搜索条件
* @return \string[][]
* @author likeadmin
* @date 2024/05/13 15:06
*/
public function setSearch(): array
{
return [
'=' => ['mer_id', 'bank_id', 'is_own', 'is_check'],
'%like%' => ['bank_code', 'bank_branch', 'name'],
];
}
/**
* @notes 获取列表
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
* @author likeadmin
* @date 2024/05/13 15:06
*/
public function lists(): array
{
return MerchantBank::where($this->searchWhere)
->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc'])
->select()->each(function($data){
$admin = Admin::field('name')->where('id',$data['admin_id'])->findOrEmpty();
$bank = Bank::field('name,image')->where('id',$data['bank_id'])->findOrEmpty();
$data['admin_name'] = !$admin->isEmpty() ? $admin['name'] : '';
$data['bank_info'] = $bank;
$data['is_own_text'] = $data['is_own'] == 0 ? '个人账户' : '对公账户';
$data['is_check_text'] = $data->is_check_text;
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'];
}
})
->toArray();
}
/**
* @notes 获取数量
* @return int
* @author likeadmin
* @date 2024/05/13 15:06
*/
public function count(): int
{
return MerchantBank::where($this->searchWhere)->count();
}
}