p2 project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

128 lines
4.6 KiB

<?php
namespace app\model;
/**
* @property int user_id
* @property string true_name
* @property string bank_name
* @property string bank_code
* @property string bank_card
* @property string bank_phone
* @property string bank_email
* @property string bank_country
* @property string identity_card
* @property int is_default
* @property string create_time
* @property string update_time
*/
class UserBankModel extends BaseModel
{
protected $name = 'user_bank';
protected $pk = 'id';
public static function getUserBankList($data): array
{
$count = self::where('user_id', $data['user_id'])->count();
$list = self::where('user_id', $data['user_id'])->field("id,true_name,bank_name,bank_card,bank_phone,bank_email,is_default,identity_card,ifsc,branch_name,branch_phone")
->page($data['page'], $data['page_size'])->select();
if (empty($list)) {
return [];
} else {
return [
'total' => $count,
'list' => $list->toArray()
];
}
}
public static function getUserBankInfoById(array $data, $file = '*'): array
{
$info = self::where($data)->find();
if (empty($info)) {
return [];
} else {
return $info->toArray();
}
}
public static function delUserBankById(array $data)
{
self::where([
'id' => $data['id'],
'user_id' => $data['user_id'],
])->delete();
}
public static function InsertUserBank(array $data)
{
$self = new self;
if ($data['is_default'] == 1) {
$self::updateDefault($data['user_id']);
}
if ($data['id'] > 0) {
$self::where([
'id' => $data['id'],
'user_id' => $data['user_id'],
])->save([
'true_name' => $data['true_name'],
'identity_card' => isset($data['identity_card']) ? $data['identity_card'] : '',
'bank_card' => $data['bank_card'],
'bank_name' => $data['bank_name'],
'bank_email' => isset($data['bank_email']) ? $data['bank_email'] : '',
'bank_phone' => isset($data['bank_phone']) ? $data['bank_phone'] : '',
'user_address' => isset($data['user_address']) ? $data['user_address'] : '',
'bank_address' => isset($data['bank_address']) ? $data['bank_address'] : '',
'branch_name' => isset($data['branch_name']) ? $data['branch_name'] : '',
'branch_phone' => isset($data['branch_phone']) ? $data['branch_phone'] : '',
'ifsc' => isset($data['ifsc']) ? $data['ifsc'] : '',
'bank_code' => $data['bank_code'],
'bank_country' => $data['bank_country'],
'is_default' => $data['is_default'],
'update_time' => date('Y-m-d H:i:s')
]);
} else {
$self->user_id = $data['user_id'];
$self->true_name = $data['true_name'];
$self->bank_card = $data['bank_card'];
$self->bank_name = $data['bank_name'];
if (isset($data['bank_email'])) {
$self->bank_email = $data['bank_email'];
}
if (isset($data['identity_card'])) {
$self->identity_card = $data['identity_card'];
}
if (isset($data['bank_phone'])) {
$self->bank_phone = $data['bank_phone'];
}
if (isset($data['ifsc'])) {
$self->ifsc = $data['ifsc'];
}
if (isset($data['bank_address'])) {
$self->bank_address = $data['bank_address'];
}
if (isset($data['user_address'])) {
$self->user_address = $data['user_address'];
}
if (isset($data['branch_name'])) {
$self->branch_name = $data['branch_name'];
}
if (isset($data['branch_phone'])) {
$self->branch_phone = $data['branch_phone'];
}
$self->bank_code = $data['bank_code'];
$self->bank_country = $data['bank_country'];
$self->is_default = $data['is_default'];
$self->create_time = date('Y-m-d H:i:s');
$self->update_time = date('Y-m-d H:i:s');
$self->save();
}
}
public static function updateDefault(int $user_id)
{
self::where([
'user_id' => $user_id
])->save([
'is_default' => 0,
'update_time' => date('Y-m-d H:i:s')
]);
}
}