erp_old/app/admin/logic/merchant/MerchantLogic.php

157 lines
5.8 KiB
PHP
Raw Normal View History

2024-04-23 18:03:12 +08:00
<?php
2024-05-08 11:31:50 +08:00
namespace app\admin\logic\merchant;
2024-04-23 18:03:12 +08:00
2024-05-08 11:31:50 +08:00
use app\common\model\merchant\Merchant;
2024-04-23 18:03:12 +08:00
use app\common\logic\BaseLogic;
use think\facade\Db;
/**
* 商户列表逻辑
* Class MerchantLogic
2024-05-08 11:31:50 +08:00
* @package app\admin\logic\merchant
2024-04-23 18:03:12 +08:00
*/
class MerchantLogic extends BaseLogic
{
/**
* @notes 添加商户列表
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/04/23 16:35
*/
public static function add(array $params): bool
{
Db::startTrans();
try {
Merchant::create([
'category_id' => $params['category_id'],
2024-05-10 16:51:19 +08:00
'type_id' => $params['type_id'] ?? '',
2024-04-23 18:03:12 +08:00
'mer_name' => $params['mer_name'],
'credit_buy' => $params['credit_buy'],
'settle_cycle' => $params['settle_cycle'],
'interest_rate' => $params['interest_rate'],
2024-05-10 16:51:19 +08:00
'province_id' => $params['province_id'] ?? '',
'city_id' => $params['city_id'] ?? '',
'area_id' => $params['area_id'] ?? '',
'street_id' => $params['street_id'] ?? '',
'village_id' => $params['village_id'] ?? '',
2024-04-23 18:03:12 +08:00
'mer_address' => $params['mer_address'],
2024-05-10 16:51:19 +08:00
'mer_avatar' => $params['mer_avatar'] ?? '',
2024-04-23 18:03:12 +08:00
'mark' => $params['mark'],
'sort' => $params['sort'],
'status' => $params['status'],
2024-05-10 16:51:19 +08:00
'commission_rate' => $params['commission_rate'] ?? '',
'commission_switch' => $params['commission_switch'] ?? '',
'long' => $params['long'] ?? '',
'lat' => $params['lat'] ?? '',
2024-04-23 18:03:12 +08:00
'service_phone' => $params['service_phone'],
'service_user' => $params['service_user'],
2024-04-23 18:03:12 +08:00
'mer_money' => $params['mer_money'],
2024-05-10 16:51:19 +08:00
'financial_bank' => $params['financial_bank'] ?? '',
'financial_wechat' => $params['financial_wechat'] ?? '',
2024-05-10 17:56:02 +08:00
'financial_alipay' => $params['financial_alipay'] ?? '',
'financial_type' => $params['financial_type'] ?? ''
2024-04-23 18:03:12 +08:00
]);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 编辑商户列表
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/04/23 16:35
*/
public static function edit(array $params): bool
{
Db::startTrans();
try {
Merchant::where('mer_id', $params['mer_id'])->update([
2024-05-10 16:51:19 +08:00
'category_id' => $params['category_id'],
'type_id' => $params['type_id'] ?? '',
'mer_name' => $params['mer_name'],
'credit_buy' => $params['credit_buy'],
'settle_cycle' => $params['settle_cycle'],
'interest_rate' => $params['interest_rate'],
'province_id' => $params['province_id'] ?? '',
'city_id' => $params['city_id'] ?? '',
'area_id' => $params['area_id'] ?? '',
'street_id' => $params['street_id'] ?? '',
'village_id' => $params['village_id'] ?? '',
'mer_address' => $params['mer_address'],
'mer_avatar' => $params['mer_avatar'] ?? '',
'mark' => $params['mark'],
'sort' => $params['sort'],
'status' => $params['status'],
'commission_rate' => $params['commission_rate'] ?? '',
'commission_switch' => $params['commission_switch'] ?? '',
'long' => $params['long'] ?? '',
'lat' => $params['lat'] ?? '',
'service_phone' => $params['service_phone'],
'service_user' => $params['service_user'],
2024-05-10 16:51:19 +08:00
'mer_money' => $params['mer_money'],
'financial_bank' => $params['financial_bank'] ?? '',
'financial_wechat' => $params['financial_wechat'] ?? '',
2024-05-10 17:56:02 +08:00
'financial_alipay' => $params['financial_alipay'] ?? '',
'financial_type' => $params['financial_type'] ?? ''
2024-04-23 18:03:12 +08:00
]);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 删除商户列表
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/04/23 16:35
*/
public static function delete(array $params): bool
{
return Merchant::destroy($params['mer_id']);
}
/**
* @notes 获取商户列表详情
* @param $params
* @return array
* @author likeadmin
* @date 2024/04/23 16:35
*/
public static function detail($params): array
{
2024-05-11 14:40:06 +08:00
$data = Merchant::where('mer_id',$params['mer_id'])->findOrEmpty();
$province = Db::name('geo_province')->field('province_name')->where('province_code',$data['province_id'])->findOrEmpty();
$city = Db::name('geo_city')->field('city_name')->where('city_code',$data['city_id'])->findOrEmpty();
$area = Db::name('geo_area')->field('area_name')->where('area_code',$data['area_id'])->findOrEmpty();
$street = Db::name('geo_street')->field('street_name')->where('street_code',$data['street_id'])->findOrEmpty();
$village = Db::name('geo_village')->field('village_name')->where('village_code',$data['village_id'])->findOrEmpty();
$data['province_name'] = !empty($province) ? $province['province_name'] : '';
$data['city_name'] = !empty($city) ? $city['city_name'] : '';
$data['area_name'] = !empty($area) ? $area['area_name'] : '';
$data['street_name'] = !empty($street) ? $street['street_name'] : '';
$data['village_name'] = !empty($village) ? $village['village_name'] : '';
return $data->toArray();
2024-04-23 18:03:12 +08:00
}
}