Files
zzp-server/app/adminapi/logic/mall/MallGoodsLogic.php
2026-01-19 14:19:22 +08:00

119 lines
3.2 KiB
PHP

<?php
namespace app\adminapi\logic\mall;
use app\common\model\mall\MallGoods;
use app\common\logic\BaseLogic;
use think\facade\Db;
use app\common\service\FileService;
/**
* 积分、抽奖奖品逻辑
* Class MallGoodsLogic
* @package app\adminapi\logic\mall
*/
class MallGoodsLogic extends BaseLogic
{
/**
* @notes 添加积分、抽奖奖品
* @param array $params
* @return bool
* @author BD
* @date 2024/10/14 23:57
*/
public static function add(array $params): bool
{
Db::startTrans();
try {
$langs = $params['langs'];
MallGoods::create([
'title' => $params['title'],
'image' => $params['image'] ? FileService::setFileUrl($params['image']) : '',
'price' => $params['price'],
'money' => $params['money'],
'point' => $params['point'],
'win_rate' => $params['win_rate'],
'num' => $params['num'],
'type' => $params['type'],
'type2' => $params['type2'],
'is_show' => $params['is_show'],
'sort' => $params['sort'],
'langs' => json_encode($langs, JSON_UNESCAPED_UNICODE),
]);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 编辑积分、抽奖奖品
* @param array $params
* @return bool
* @author BD
* @date 2024/10/14 23:57
*/
public static function edit(array $params): bool
{
Db::startTrans();
try {
$langs = $params['langs'];
MallGoods::where('id', $params['id'])->update([
'title' => $params['title'],
'image' => $params['image'] ? FileService::setFileUrl($params['image']) : '',
'price' => $params['price'],
'money' => $params['money'],
'point' => $params['point'],
'win_rate' => $params['win_rate'],
'num' => $params['num'],
'type' => $params['type'],
'type2' => $params['type2'],
'is_show' => $params['is_show'],
'sort' => $params['sort'],
'langs' => json_encode($langs, JSON_UNESCAPED_UNICODE),
]);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 删除积分、抽奖奖品
* @param array $params
* @return bool
* @author BD
* @date 2024/10/14 23:57
*/
public static function delete(array $params): bool
{
return MallGoods::destroy($params['id']);
}
/**
* @notes 获取积分、抽奖奖品详情
* @param $params
* @return array
* @author BD
* @date 2024/10/14 23:57
*/
public static function detail($params): array
{
return MallGoods::findOrEmpty($params['id'])->toArray();
}
}