Files
mier-php/application/admin/model/UserPack.php

83 lines
2.8 KiB
PHP
Raw Normal View History

2025-08-11 10:22:05 +08:00
<?php
namespace app\admin\model;
use think\Model;
use think\Db;
class UserPack extends Model
{
//获取配置参数
public function add_user_pack_gift($aid, $uid, $gid, $num)
{
if($aid != 1) {
return ['code' => 201, 'msg' => '非超管用户不能向背包送礼物', 'data' => null];
}
$map = [];
$map[] = ['is_delete', '=', 1];
$map[] = ['is_show', '=', 1];
$map[] = ['is_can_buy', '=', 2];
$map[] = ['gid', '=', $gid];
$gift_info = Db::name('gift')->where($map)->find();
if(empty($gift_info)) {
return ['code' => 201, 'msg' => '礼物信息不存在', 'data' => null];
}
$user_info = Db::name('user')->find($uid);
if(empty($user_info)) {
return ['code' => 201, 'msg' => '用户信息不存在', 'data' => null];
}
$map = [];
$map[] = ['uid', '=', $uid];
$map[] = ['gid', '=', $gid];
$info = Db::name('user_gift_pack')->where($map)->find();
Db::startTrans();
try {
if($info) {
$data = [
'total_num' => $info['total_num'] + $num,
'num' => $info['num'] + $num,
'admin_id' => $aid,
'admin_add_num' => $info['admin_add_num'] + $num,
'update_time' => time(),
];
Db::name('user_gift_pack')->where('pid', $info['pid'])->update($data);
} else {
$data = [
'total_num' => $num,
'num' => $num,
'admin_id' => $aid,
'admin_add_num' => $num,
'update_time' => time(),
'add_time' => time(),
'gid' => $gid,
'uid' => $uid,
];
Db::name('user_gift_pack')->insert($data);
}
$insert_data = [
'uid' => $uid,
'type' => 5,
'gid' => $gid,
'change_num' => $num,
'after_num' => $num,
'gift_price' => $gift_info['gift_price'],
'total_gift_price' => $gift_info['gift_price'] * $num,
'remarks' => '平台补发',
'update_time' => time(),
'add_time' => time(),
'admin_id' => $aid,
];
Db::name('user_gift_pack_log')->insert($insert_data);
Db::commit();
return ['code' => 200, 'msg' => "修改成功", 'data' => null];
} catch (\Exception $e) {
// 回滚事务
dump($e);
Db::rollback();
return ['code' => 201, 'msg' => "请重试", 'data' => null];
}
}
}