DicePlayRecord添加字段super_win_coin和reward_win_coin记录不同的中奖金额类型

This commit is contained in:
2026-03-07 11:09:41 +08:00
parent fe1ceeb4fb
commit e312154b0f
15 changed files with 280 additions and 60 deletions

View File

@@ -21,8 +21,10 @@ use think\model\relation\BelongsTo;
* @property $player_id 玩家id
* @property $lottery_config_id 彩金池配置
* @property $lottery_type 抽奖类型
* @property $is_win 中奖
* @property $win_coin 赢取平台币
* @property $is_win 是否中大奖:豹子号[1,1,1,1,1]~[5,5,5,5,5]为1否则0
* @property $win_coin 赢取平台币= super_win_coin + reward_win_coin
* @property $super_win_coin 中大奖平台币(豹子时发放)
* @property $reward_win_coin 摇色子中奖平台币
* @property $direction 方向:0=顺时针,1=逆时针
* @property $reward_config_id 奖励配置id
* @property $lottery_id 奖池
@@ -111,7 +113,25 @@ class DicePlayRecord extends BaseModel
}
}
/** 中奖 */
/**
* 是否豹子号中大奖5 个点数相同且为 1~5 之一
* @param int[] $rollArray 摇取点数数组,如 [1,1,1,1,1]
* @return bool
*/
public static function isSuperWin(array $rollArray): bool
{
if (count($rollArray) !== 5) {
return false;
}
$unique = array_unique($rollArray);
if (count($unique) !== 1) {
return false;
}
$value = reset($unique);
return in_array($value, [1, 2, 3, 4, 5], true);
}
/** 是否中大奖 */
public function searchIsWinAttr($query, $value)
{
if ($value !== '' && $value !== null) {
@@ -135,6 +155,38 @@ class DicePlayRecord extends BaseModel
}
}
/** 中大奖平台币下限 */
public function searchSuperWinCoinMinAttr($query, $value)
{
if ($value !== '' && $value !== null) {
$query->where('super_win_coin', '>=', $value);
}
}
/** 中大奖平台币上限 */
public function searchSuperWinCoinMaxAttr($query, $value)
{
if ($value !== '' && $value !== null) {
$query->where('super_win_coin', '<=', $value);
}
}
/** 摇色子中奖平台币下限 */
public function searchRewardWinCoinMinAttr($query, $value)
{
if ($value !== '' && $value !== null) {
$query->where('reward_win_coin', '>=', $value);
}
}
/** 摇色子中奖平台币上限 */
public function searchRewardWinCoinMaxAttr($query, $value)
{
if ($value !== '' && $value !== null) {
$query->where('reward_win_coin', '<=', $value);
}
}
/** 按奖励配置前端显示文本模糊diceRewardConfig.ui_text */
public function searchRewardUiTextAttr($query, $value)
{