feat: 베팅시 유산포인트 로그에 추가

This commit is contained in:
2022-02-05 07:43:28 +00:00
committed by Gitea
parent f6fbb94ecc
commit 6650cd2e41
2 changed files with 32 additions and 27 deletions
+8 -7
View File
@@ -10,10 +10,9 @@ use sammo\DTO\BettingItem;
use sammo\Validator; use sammo\Validator;
use sammo\GameConst; use sammo\GameConst;
use sammo\KVStorage; use sammo\KVStorage;
use sammo\UserLogger;
use sammo\Util; use sammo\Util;
use function sammo\getAllNationStaticInfo;
class Bet extends \sammo\BaseAPI class Bet extends \sammo\BaseAPI
{ {
public function validateArgs(): ?string public function validateArgs(): ?string
@@ -91,8 +90,7 @@ class Bet extends \sammo\BaseAPI
if ($remainPoint < $amount) { if ($remainPoint < $amount) {
return '유산포인트가 충분하지 않습니다.'; return '유산포인트가 충분하지 않습니다.';
} }
} } else {
else {
$remainPoint = $db->queryFirstField('SELECT gold FROM general WHERE no = %i', $session->generalID) ?? 0; $remainPoint = $db->queryFirstField('SELECT gold FROM general WHERE no = %i', $session->generalID) ?? 0;
if ($remainPoint < GameConst::$generalMinimumGold + $amount) { if ($remainPoint < GameConst::$generalMinimumGold + $amount) {
return '금이 부족합니다.'; return '금이 부족합니다.';
@@ -113,10 +111,13 @@ class Bet extends \sammo\BaseAPI
'ng_betting', 'ng_betting',
$bettingItem->toArray(), $bettingItem->toArray(),
['amount' => $db->sqleval('amount + %i', $amount)] ['amount' => $db->sqleval('amount + %i', $amount)]
); if($bettingInfo->reqInheritancePoint){ );
if ($bettingInfo->reqInheritancePoint) {
$inheritStor->setValue('previous', [$remainPoint - $amount, null]); $inheritStor->setValue('previous', [$remainPoint - $amount, null]);
} $userLogger = new UserLogger($userID);
else{ $userLogger->push("{$amount} 포인트를 베팅에 사용", "inheritPoint");
$userLogger->flush();
} else {
$db->update('general', [ $db->update('general', [
'gold' => $db->sqleval('gold - %i', $amount) 'gold' => $db->sqleval('gold - %i', $amount)
], 'no = %i', $session->generalID); ], 'no = %i', $session->generalID);
+6 -2
View File
@@ -78,8 +78,10 @@
<div class="col-2 text-end">{{ amount.toLocaleString() }}</div> <div class="col-2 text-end">{{ amount.toLocaleString() }}</div>
<div <div
class="col-3 text-center" class="col-3 text-center"
>{{ myBettings.has(betType) ? `(${myBettings.get(betType)?.toLocaleString()} -> ${((myBettings.get(betType)??0) * bettingAmount / amount).toLocaleString()})` : '' }}</div> >{{ myBettings.has(betType) ? `(${myBettings.get(betType)?.toLocaleString()} -> ${((myBettings.get(betType) ?? 0) * bettingAmount / amount / ((info.isExclusive && info.selectCnt > 1) ? 1 : 2)).toLocaleString()})` : '' }}</div>
<div class="col-2 text-end">{{ (bettingAmount / amount).toFixed(1) }}</div> <div
class="col-2 text-end"
>{{ (bettingAmount / amount / ((info.isExclusive && info.selectCnt > 1) ? 1 : 2)).toFixed(1) }}</div>
</div> </div>
</div> </div>
</template> </template>
@@ -130,10 +132,12 @@ type BettingInfo = {
name: string; name: string;
finished: boolean; finished: boolean;
selectCnt: number; selectCnt: number;
isExclusive?: boolean;
reqInheritancePoint: boolean; reqInheritancePoint: boolean;
openYearMonth: number; openYearMonth: number;
closeYearMonth: number; closeYearMonth: number;
candidates: SelectItem[]; candidates: SelectItem[];
winner?: number[];
} }
type BettingListResponse = ValidResponse & { type BettingListResponse = ValidResponse & {