erp_old/app/admin/lists/merchant/MerchantBankLists.php

83 lines
2.3 KiB
PHP
Raw Normal View History

2024-05-13 16:03:16 +08:00
<?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;
2024-05-13 17:41:29 +08:00
use app\common\model\merchant\Merchant;
2024-05-13 16:03:16 +08:00
use app\common\model\merchant\MerchantBank;
2024-05-13 17:41:29 +08:00
use app\common\model\supplier\Supplier;
2024-05-13 16:03:16 +08:00
/**
* 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;
2024-05-13 17:41:29 +08:00
if($data['user_type'] == 1){
$merchant = Merchant::field('mer_name')->where('mer_id',$data['mer_id'])->findOrEmpty();
$data['mer_name'] = $merchant['mer_name'];
}else{
$supplier = Supplier::field('mer_name')->where('id',$data['supplier_id'])->findOrEmpty();
$data['mer_name'] = $supplier['mer_name'];
}
2024-05-13 16:03:16 +08:00
})
->toArray();
}
/**
* @notes 获取数量
* @return int
* @author likeadmin
* @date 2024/05/13 15:06
*/
public function count(): int
{
return MerchantBank::where($this->searchWhere)->count();
}
}