This commit is contained in:
2025-10-11 14:49:25 +08:00
parent ac9182c566
commit 7415193bba
5 changed files with 68 additions and 127 deletions

View File

@@ -4,6 +4,7 @@ namespace app\api\controller;
use app\common\controller\BaseCom;
use app\common\service\RedpacketService;
use think\Db;
/**
* 红包接口
@@ -32,14 +33,13 @@ class Redpacket extends BaseCom
public function grab()
{
$redpacketId = $this->request->post('redpacket_id');
$password = $this->request->post('password', '');
if (empty($redpacketId)) {
return V(0, '红包ID不能为空');
}
$service = new RedpacketService();
$reslut = $service->grabWithResult($redpacketId, $this->uid, $password);
$reslut = $service->grabWithResult($redpacketId, $this->uid);
return V($reslut['code'], $reslut['msg'], $reslut['data']);
}
@@ -49,21 +49,20 @@ class Redpacket extends BaseCom
*/
public function grabResult()
{
$user = $this->auth->getUser();
$redpacketId = $this->request->get('redpacket_id');
if (empty($redpacketId)) {
$this->error('红包ID不能为空');
return V(0, '红包ID不能为空');
}
$service = new RedpacketService();
$result = $service->getGrabResult($redpacketId, $user->id);
$result = $service->getGrabResult($redpacketId, $this->uid);
if (!$result) {
$this->error('红包不存在');
return V(0, '红包不存在');
}
$this->success('获取成功', $result);
return V(1, '获取成功', $result);
}
/**
@@ -72,25 +71,19 @@ class Redpacket extends BaseCom
public function detail()
{
$redpacketId = $this->request->get('redpacket_id');
$currentUserId = $this->auth->isLogin() ? $this->auth->id : 0;
if (empty($redpacketId)) {
$this->error('红包ID不能为空');
return V(0, '红包ID不能为空');
}
try {
$service = new RedpacketService();
$detail = $service->getDetail($redpacketId, $currentUserId);
$service = new RedpacketService();
$detail = $service->getDetail($redpacketId, $this->uid);
if (!$detail) {
$this->error('红包不存在');
}
$this->success('获取成功', $detail);
} catch (\Exception $e) {
$this->error($e->getMessage());
if (!$detail) {
return V(0, '红包不存在');
}
return V(1, '获取成功', $detail);
}
/**
@@ -101,4 +94,12 @@ class Redpacket extends BaseCom
$options = \app\common\model\Redpacket::$countdownOptions;
$this->success('获取成功', $options);
}
// 获取房间内红包列表
public function roomRedPackets()
{
$roomId = $this->request->get('room_id');
$result = Db::name('redpacket')->where(['room_id' => $roomId, 'status' => [1, 0]])->select();
return V(1, '获取成功', $result);
}
}