红包第3次修改

This commit is contained in:
2025-10-11 15:02:13 +08:00
parent 8556184c1a
commit e76bf26819

View File

@@ -438,44 +438,85 @@ class RedpacketService
} }
} }
/** /**
* 验证创建红包数据 * 验证创建红包数据
*/ */
private function validateCreateData($data) private function validateCreateData($data)
{ {
if (empty($data['user_id'])) { if (empty($data['user_id'])) {
return V(0, '用户ID不能为空'); return ['code' => 0, 'msg' => '用户ID不能为空', 'data' => null];
} }
if (!in_array($data['type'], [Redpacket::TYPE_NORMAL, Redpacket::TYPE_PASSWORD])) { if (!in_array($data['type'], [Redpacket::TYPE_NORMAL, Redpacket::TYPE_PASSWORD])) {
return V(0, '红包类型错误'); return ['code' => 0, 'msg' => '红包类型错误', 'data' => null];
} }
if ($data['type'] == Redpacket::TYPE_PASSWORD && empty($data['password'])) { if ($data['type'] == Redpacket::TYPE_PASSWORD && empty($data['password'])) {
return V(0, '口令红包必须设置口令'); return ['code' => 0, 'msg' => '口令红包必须设置口令', 'data' => null];
} }
if (!in_array($data['coin_type'], [Redpacket::COIN_GOLD, Redpacket::COIN_DIAMOND])) { if (!in_array($data['coin_type'], [Redpacket::COIN_GOLD, Redpacket::COIN_DIAMOND])) {
return V(0, '币种类型错误'); return ['code' => 0, 'msg' => '币种类型错误', 'data' => null];
} }
if ($data['total_amount'] <= 0 || $data['total_count'] <= 0) { if ($data['total_amount'] <= 0 || $data['total_count'] <= 0) {
return V(0, '金额和数量必须大于0'); return ['code' => 0, 'msg' => '金额和数量必须大于0', 'data' => null];
} }
if ($data['total_amount'] < $data['total_count']) { if ($data['total_amount'] < $data['total_count']) {
return V(0, '总金额不能小于总个数'); return ['code' => 0, 'msg' => '总金额不能小于总个数', 'data' => null];
} }
// 验证领取条件 // 验证领取条件
if (isset($data['conditions'])) { if (isset($data['conditions'])) {
$res_con = $this->validateConditions($data['conditions']); $res_con = $this->validateConditions($data['conditions']);
if ($res_con !== true) { if ($res_con !== true) {
return $res_con; return $res_con;
} }
} }
return V(1, '验证成功');
return ['code' => 1, 'msg' => '验证成功', 'data' => null];
} }
/**
* 验证创建红包数据
*/
// private function validateCreateData($data)
// {
// if (empty($data['user_id'])) {
// return V(0, '用户ID不能为空');
// }
//
// if (!in_array($data['type'], [Redpacket::TYPE_NORMAL, Redpacket::TYPE_PASSWORD])) {
// return V(0, '红包类型错误');
// }
//
// if ($data['type'] == Redpacket::TYPE_PASSWORD && empty($data['password'])) {
// return V(0, '口令红包必须设置口令');
// }
//
// if (!in_array($data['coin_type'], [Redpacket::COIN_GOLD, Redpacket::COIN_DIAMOND])) {
// return V(0, '币种类型错误');
// }
//
// if ($data['total_amount'] <= 0 || $data['total_count'] <= 0) {
// return V(0, '金额和数量必须大于0');
// }
//
// if ($data['total_amount'] < $data['total_count']) {
// return V(0, '总金额不能小于总个数');
// }
//
// // 验证领取条件
// if (isset($data['conditions'])) {
// $res_con = $this->validateConditions($data['conditions']);
// if ($res_con !== true) {
// return $res_con;
// }
// }
// return V(1, '验证成功');
// }
/** /**
* 验证领取条件 * 验证领取条件