83 lines
2.8 KiB
PHP
83 lines
2.8 KiB
PHP
<?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];
|
|
}
|
|
|
|
}
|
|
}
|