1.优化开奖逻辑
2.优化后台开奖派彩 3.优化接口规范
This commit is contained in:
@@ -187,12 +187,21 @@ class Admin extends Backend
|
||||
$passwd = $data['password'] ?? '';
|
||||
$data = $this->excludeFields($data);
|
||||
$creatorChannelId = $this->getCreatorChannelId();
|
||||
$groupChannelId = $this->resolveChannelIdFromPrimaryGroup($data['group_arr'] ?? []);
|
||||
if (!$this->auth->isSuperAdmin()) {
|
||||
if ($creatorChannelId === null || $creatorChannelId === '') {
|
||||
return $this->error(__('You have no permission'));
|
||||
}
|
||||
if ($groupChannelId === null || $groupChannelId === '') {
|
||||
return $this->error('所选角色组未绑定渠道');
|
||||
}
|
||||
if ((string) $groupChannelId !== (string) $creatorChannelId) {
|
||||
return $this->error('所选角色组渠道与当前账号不一致');
|
||||
}
|
||||
$data['channel_id'] = $creatorChannelId;
|
||||
$data['parent_admin_id'] = $this->auth->id;
|
||||
} else {
|
||||
$data['channel_id'] = ($groupChannelId === null || $groupChannelId === '') ? null : $groupChannelId;
|
||||
}
|
||||
$data['invite_code'] = $this->generateUniqueInviteCode();
|
||||
$requireCommissionRate = $this->requireCommissionRate($data['group_arr'] ?? []);
|
||||
@@ -343,8 +352,20 @@ class Admin extends Backend
|
||||
$data = $this->excludeFields($data);
|
||||
unset($data['invite_code']);
|
||||
$creatorChannelId = $this->getCreatorChannelId();
|
||||
if (!$this->auth->isSuperAdmin() && $creatorChannelId !== null && $creatorChannelId !== '') {
|
||||
$groupChannelId = $this->resolveChannelIdFromPrimaryGroup($data['group_arr'] ?? []);
|
||||
if (!$this->auth->isSuperAdmin()) {
|
||||
if ($creatorChannelId === null || $creatorChannelId === '') {
|
||||
return $this->error(__('You have no permission'));
|
||||
}
|
||||
if ($groupChannelId === null || $groupChannelId === '') {
|
||||
return $this->error('所选角色组未绑定渠道');
|
||||
}
|
||||
if ((string) $groupChannelId !== (string) $creatorChannelId) {
|
||||
return $this->error('所选角色组渠道与当前账号不一致');
|
||||
}
|
||||
$data['channel_id'] = $creatorChannelId;
|
||||
} else {
|
||||
$data['channel_id'] = ($groupChannelId === null || $groupChannelId === '') ? null : $groupChannelId;
|
||||
}
|
||||
$requireCommissionRate = $this->requireCommissionRate($data['group_arr'] ?? []);
|
||||
if ($requireCommissionRate) {
|
||||
@@ -463,10 +484,24 @@ class Admin extends Backend
|
||||
if ($currentAdmin && !empty($currentAdmin['channel_id'])) {
|
||||
return $currentAdmin['channel_id'];
|
||||
}
|
||||
$channelId = Db::name('channel')
|
||||
->where('admin_id', $this->auth->id)
|
||||
->value('id');
|
||||
return $channelId ?: null;
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array<int|string> $groupIds
|
||||
*/
|
||||
private function resolveChannelIdFromPrimaryGroup(array $groupIds): mixed
|
||||
{
|
||||
if ($groupIds === []) {
|
||||
return null;
|
||||
}
|
||||
$gid = $groupIds[0];
|
||||
if ($gid === null || $gid === '') {
|
||||
return null;
|
||||
}
|
||||
|
||||
return Db::name('admin_group')->where('id', $gid)->value('channel_id');
|
||||
}
|
||||
|
||||
private function generateUniqueInviteCode(): string
|
||||
|
||||
Reference in New Issue
Block a user