99 lines
2.3 KiB
PHP
99 lines
2.3 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace app\store\logic\change_price_log;
|
||
|
|
||
|
|
||
|
use app\common\model\change_price_log\ChangePriceLog;
|
||
|
use app\common\logic\BaseLogic;
|
||
|
use support\exception\BusinessException;
|
||
|
use think\facade\Db;
|
||
|
|
||
|
|
||
|
/**
|
||
|
* 价格变更记录逻辑
|
||
|
* Class ChangePriceLogLogic
|
||
|
* @package app\store\logic\change_price_log
|
||
|
*/
|
||
|
class ChangePriceLogLogic extends BaseLogic
|
||
|
{
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @notes 添加价格变更记录
|
||
|
* @param array $params
|
||
|
* @return bool
|
||
|
* @author admin
|
||
|
* @date 2025/01/10 15:54
|
||
|
*/
|
||
|
public static function add(array $params): bool
|
||
|
{
|
||
|
Db::startTrans();
|
||
|
try {
|
||
|
ChangePriceLog::create([
|
||
|
'product_id' => $params['product_id'],
|
||
|
'group_id' => $params['group_id'],
|
||
|
'before_price' => $params['before_price'],
|
||
|
'after_price' => $params['after_price']
|
||
|
]);
|
||
|
|
||
|
Db::commit();
|
||
|
return true;
|
||
|
} catch (\Throwable $e) {
|
||
|
Db::rollback();
|
||
|
throw new BusinessException($e->getMessage());
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @notes 编辑价格变更记录
|
||
|
* @param array $params
|
||
|
* @return bool
|
||
|
* @author admin
|
||
|
* @date 2025/01/10 15:54
|
||
|
*/
|
||
|
public static function edit(array $params): bool
|
||
|
{
|
||
|
Db::startTrans();
|
||
|
try {
|
||
|
ChangePriceLog::where('id', $params['id'])->update([
|
||
|
'product_id' => $params['product_id'],
|
||
|
'group_id' => $params['group_id'],
|
||
|
'before_price' => $params['before_price'],
|
||
|
'after_price' => $params['after_price']
|
||
|
]);
|
||
|
|
||
|
Db::commit();
|
||
|
return true;
|
||
|
} catch (\Throwable $e) {
|
||
|
Db::rollback();
|
||
|
throw new BusinessException($e->getMessage());
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @notes 删除价格变更记录
|
||
|
* @param array $params
|
||
|
* @return bool
|
||
|
* @author admin
|
||
|
* @date 2025/01/10 15:54
|
||
|
*/
|
||
|
public static function delete(array $params): bool
|
||
|
{
|
||
|
return ChangePriceLog::destroy($params['id']);
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @notes 获取价格变更记录详情
|
||
|
* @param $params
|
||
|
* @return array
|
||
|
* @author admin
|
||
|
* @date 2025/01/10 15:54
|
||
|
*/
|
||
|
public static function detail($params): array
|
||
|
{
|
||
|
return ChangePriceLog::findOrEmpty($params['id'])->toArray();
|
||
|
}
|
||
|
}
|