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]; } } }