lihaiMiddleOffice/app/psi/logic/warehouse_storage/WarehouseStorageLogic.php

103 lines
2.4 KiB
PHP

<?php
namespace app\psi\logic\warehouse_storage;
use app\common\model\psi\warehouse_storage\WarehouseStorage;
use app\common\logic\BaseLogic;
use Exception;
use think\facade\Db;
/**
* PsiWarehouseStorage逻辑
* Class WarehouseStorageLogic
* @package app\psi\logic\warehouse_storage
*/
class WarehouseStorageLogic extends BaseLogic
{
/**
* @notes 添加
* @param array $params
* @return bool
* @author admin
* @date 2025/03/03 11:07
*/
public static function add(array $params): bool
{
Db::startTrans();
try {
WarehouseStorage::create([
'warehouse_id' => $params['warehouse_id'],
'product_id' => $params['product_id'],
'nums' => $params['nums'],
'is_verify' => $params['is_verify'],
'price' => $params['price']
]);
Db::commit();
return true;
} catch (\Throwable $e) {
Db::rollback();
throw new Exception($e->getMessage());
}
}
/**
* @notes 编辑
* @param array $params
* @return bool
* @author admin
* @date 2025/03/03 11:07
*/
public static function edit(array $params,$admin_id=0): bool
{
if (empty($params['remark'])) {
throw new Exception('请输入备注');
}
Db::startTrans();
try {
$find=WarehouseStorage::where('id',$params['id'])->find();
if($find){
$find->save(['nums'=>$params['nums']]);
// SqlChannelLog('WarehouseProductStorege', $params['id'], $params['nums'], 0,Request()->url(),$admin_id, $params['remark']);
}
Db::commit();
return true;
} catch (\Throwable $th) {
Db::rollback();
throw new Exception($th->getMessage());
}
return false;
}
/**
* @notes 删除
* @param array $params
* @return bool
* @author admin
* @date 2025/03/03 11:07
*/
public static function delete(array $params): bool
{
return WarehouseStorage::destroy($params['id']);
}
/**
* @notes 获取详情
* @param $params
* @return array
* @author admin
* @date 2025/03/03 11:07
*/
public static function detail($params): array
{
return WarehouseStorage::findOrEmpty($params['id'])->toArray();
}
}