erp/app/admin/logic/supplier/SupplierLogic.php
2024-05-10 16:51:19 +08:00

167 lines
5.4 KiB
PHP

<?php
namespace app\admin\logic\supplier;
use app\common\model\supplier\Supplier;
use app\common\logic\BaseLogic;
use think\facade\Db;
/**
* 供应商管理逻辑
* Class SupplierLogic
* @package app\admin\logic\supplier
*/
class SupplierLogic extends BaseLogic
{
/**
* @notes 添加供应商管理
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/04/27 14:33
*/
public static function add(array $params): bool
{
Db::startTrans();
try {
Supplier::create([
'category_id' => $params['category_id'],
'type_id' => $params['type_id'] ?? '',
'mer_name' => $params['mer_name'],
'settle_cycle' => $params['settle_cycle'],
'interest_rate' => $params['interest_rate'],
'sys_labels' => $params['sys_labels'] ?? '',
'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'] ?? '',
'status' => $params['status'] ?? 0,
'commission_rate' => $params['commission_rate'] ?? '',
'commission_switch' => $params['commission_switch'] ?? '',
'long' => $params['long'] ?? '',
'lat' => $params['lat'] ?? '',
'service_phone' => $params['service_phone'],
'mer_money' => $params['mer_money'],
'financial_bank' => $params['financial_bank'] ?? '',
'financial_wechat' => $params['financial_wechat'] ?? '',
'financial_alipay' => $params['financial_alipay'] ?? '',
'financial_type' => $params['financial_type'] ?? ''
]);
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/27 14:33
*/
public static function edit(array $params): bool
{
Db::startTrans();
try {
Supplier::where('id', $params['id'])->update([
'category_id' => $params['category_id'],
'type_id' => $params['type_id'] ?? '',
'mer_name' => $params['mer_name'],
'settle_cycle' => $params['settle_cycle'],
'interest_rate' => $params['interest_rate'],
'sys_labels' => $params['sys_labels'] ?? '',
'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'] ?? '',
'status' => $params['status'] ?? 0,
'commission_rate' => $params['commission_rate'] ?? '',
'commission_switch' => $params['commission_switch'] ?? '',
'long' => $params['long'] ?? '',
'lat' => $params['lat'] ?? '',
'service_phone' => $params['service_phone'],
'mer_money' => $params['mer_money'],
'financial_bank' => $params['financial_bank'] ?? '',
'financial_wechat' => $params['financial_wechat'] ?? '',
'financial_alipay' => $params['financial_alipay'] ?? '',
'financial_type' => $params['financial_type'] ?? ''
]);
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/27 14:33
*/
public static function delete(array $params): bool
{
return Supplier::destroy($params['id']);
}
/**
* @notes 获取供应商管理详情
* @param $params
* @return array
* @author likeadmin
* @date 2024/04/27 14:33
*/
public static function detail($params): array
{
return Supplier::findOrEmpty($params['id'])->toArray();
}
/**
* @notes 设置标签
* @param $params
* @return bool
* @date 2024/04/23 11:28
*/
public static function setLabel($params)
{
try {
$value = $params['sys_labels'];
if (!empty($value)) {
if (!is_array($value)){
$value= ',' . $value . ',';
}else{
$value = ',' . implode(',', $value) . ',';
}
}
Supplier::where('id', $params['id'])->update(['sys_labels' => $value]);
return true;
} catch (\Exception $e) {
self::setError($e->getMessage());
return false;
}
}
}