119 lines
3.2 KiB
PHP
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();
|
|
}
|
|
} |