1.优化接口返回中间信息ui_text(中文)ui_text_en(英文)
2.修复BUG色子点数权重配置-权重配比-顺时针/逆时针显示错误
This commit is contained in:
@@ -48,7 +48,12 @@
|
|||||||
</ElTableColumn>
|
</ElTableColumn>
|
||||||
<ElTableColumn label="显示文本" min-width="100" align="center">
|
<ElTableColumn label="显示文本" min-width="100" align="center">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<ElInput v-model="row.ui_text" size="small" placeholder="显示文本" />
|
<ElInput v-model="row.ui_text" size="small" placeholder="显示文本(中文)" />
|
||||||
|
</template>
|
||||||
|
</ElTableColumn>
|
||||||
|
<ElTableColumn label="显示文本(英文)" min-width="120" align="center">
|
||||||
|
<template #default="{ row }">
|
||||||
|
<ElInput v-model="row.ui_text_en" size="small" placeholder="显示文本(英文)" />
|
||||||
</template>
|
</template>
|
||||||
</ElTableColumn>
|
</ElTableColumn>
|
||||||
<ElTableColumn label="真实结算" min-width="110" align="center">
|
<ElTableColumn label="真实结算" min-width="110" align="center">
|
||||||
@@ -114,7 +119,12 @@
|
|||||||
</ElTableColumn>
|
</ElTableColumn>
|
||||||
<ElTableColumn label="显示信息" min-width="140" align="center">
|
<ElTableColumn label="显示信息" min-width="140" align="center">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<ElInput v-model="row.ui_text" size="small" placeholder="显示信息" />
|
<ElInput v-model="row.ui_text" size="small" placeholder="显示信息(中文)" />
|
||||||
|
</template>
|
||||||
|
</ElTableColumn>
|
||||||
|
<ElTableColumn label="显示信息(英文)" min-width="160" align="center">
|
||||||
|
<template #default="{ row }">
|
||||||
|
<ElInput v-model="row.ui_text_en" size="small" placeholder="显示信息(英文)" />
|
||||||
</template>
|
</template>
|
||||||
</ElTableColumn>
|
</ElTableColumn>
|
||||||
<ElTableColumn label="实际中奖" min-width="120" align="center">
|
<ElTableColumn label="实际中奖" min-width="120" align="center">
|
||||||
@@ -185,6 +195,7 @@
|
|||||||
id: number
|
id: number
|
||||||
grid_number: number
|
grid_number: number
|
||||||
ui_text: string
|
ui_text: string
|
||||||
|
ui_text_en: string
|
||||||
real_ev: number
|
real_ev: number
|
||||||
tier: string
|
tier: string
|
||||||
remark: string
|
remark: string
|
||||||
@@ -217,10 +228,11 @@
|
|||||||
id: Number(raw.id) ?? 0,
|
id: Number(raw.id) ?? 0,
|
||||||
grid_number: Number(raw.grid_number) ?? 0,
|
grid_number: Number(raw.grid_number) ?? 0,
|
||||||
ui_text: String(raw.ui_text ?? ''),
|
ui_text: String(raw.ui_text ?? ''),
|
||||||
|
ui_text_en: String((raw as any).ui_text_en ?? ''),
|
||||||
real_ev: Number(raw.real_ev) ?? 0,
|
real_ev: Number(raw.real_ev) ?? 0,
|
||||||
tier: String(raw.tier ?? ''),
|
tier: String(raw.tier ?? ''),
|
||||||
remark: String(raw.remark ?? ''),
|
remark: String(raw.remark ?? ''),
|
||||||
weight: toWeight(raw.weight)
|
weight: toWeight((raw as any).weight)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -329,6 +341,7 @@
|
|||||||
id: r.id,
|
id: r.id,
|
||||||
grid_number: r.grid_number,
|
grid_number: r.grid_number,
|
||||||
ui_text: r.ui_text,
|
ui_text: r.ui_text,
|
||||||
|
ui_text_en: r.ui_text_en,
|
||||||
real_ev: r.real_ev,
|
real_ev: r.real_ev,
|
||||||
tier: r.tier,
|
tier: r.tier,
|
||||||
remark: r.remark
|
remark: r.remark
|
||||||
|
|||||||
@@ -16,7 +16,10 @@
|
|||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="前端显示文本" prop="ui_text">
|
<el-form-item label="前端显示文本" prop="ui_text">
|
||||||
<el-input v-model="formData.ui_text" placeholder="请输入前端显示文本" />
|
<el-input v-model="formData.ui_text" placeholder="请输入前端显示文本(中文)" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="前端显示文本(英文)" prop="ui_text_en">
|
||||||
|
<el-input v-model="formData.ui_text_en" placeholder="请输入前端显示文本(英文)" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="真实资金结算" prop="real_ev">
|
<el-form-item label="真实资金结算" prop="real_ev">
|
||||||
<el-input-number v-model="formData.real_ev" placeholder="请输入真实资金结算" />
|
<el-input-number v-model="formData.real_ev" placeholder="请输入真实资金结算" />
|
||||||
@@ -111,6 +114,7 @@
|
|||||||
const rules = reactive<FormRules>({
|
const rules = reactive<FormRules>({
|
||||||
grid_number: [{ required: true, message: '色子点数必需填写', trigger: 'blur' }],
|
grid_number: [{ required: true, message: '色子点数必需填写', trigger: 'blur' }],
|
||||||
ui_text: [{ required: true, message: '前端显示文本必需填写', trigger: 'blur' }],
|
ui_text: [{ required: true, message: '前端显示文本必需填写', trigger: 'blur' }],
|
||||||
|
ui_text_en: [{ max: 255, message: '前端显示文本(英文)长度需小于 255 字符', trigger: 'blur' }],
|
||||||
real_ev: [{ required: true, message: '真实资金结算必需填写', trigger: 'blur' }],
|
real_ev: [{ required: true, message: '真实资金结算必需填写', trigger: 'blur' }],
|
||||||
tier: [{ required: true, message: '所属档位必需填写', trigger: 'blur' }],
|
tier: [{ required: true, message: '所属档位必需填写', trigger: 'blur' }],
|
||||||
weight: [{ type: 'number', min: 0, max: 10000, message: '大奖权重 0~10000', trigger: 'blur' }]
|
weight: [{ type: 'number', min: 0, max: 10000, message: '大奖权重 0~10000', trigger: 'blur' }]
|
||||||
@@ -128,6 +132,7 @@
|
|||||||
id: null,
|
id: null,
|
||||||
grid_number: null,
|
grid_number: null,
|
||||||
ui_text: '',
|
ui_text: '',
|
||||||
|
ui_text_en: '',
|
||||||
real_ev: '',
|
real_ev: '',
|
||||||
tier: '',
|
tier: '',
|
||||||
remark: '',
|
remark: '',
|
||||||
|
|||||||
@@ -88,6 +88,27 @@ class GameController extends BaseController
|
|||||||
$list = array_values(array_filter($list, function ($row) {
|
$list = array_values(array_filter($list, function ($row) {
|
||||||
return (string) ($row['tier'] ?? '') !== 'BIGWIN';
|
return (string) ($row['tier'] ?? '') !== 'BIGWIN';
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
$lang = $request->header('lang', 'zh');
|
||||||
|
if (!is_string($lang) || $lang === '') {
|
||||||
|
$lang = 'zh';
|
||||||
|
}
|
||||||
|
$langLower = strtolower($lang);
|
||||||
|
$isEn = $langLower === 'en' || str_starts_with($langLower, 'en-');
|
||||||
|
|
||||||
|
if ($isEn) {
|
||||||
|
foreach ($list as $index => $row) {
|
||||||
|
$uiEn = '';
|
||||||
|
if (is_array($row) && array_key_exists('ui_text_en', $row) && $row['ui_text_en'] !== null) {
|
||||||
|
$uiEn = (string) $row['ui_text_en'];
|
||||||
|
}
|
||||||
|
if ($uiEn !== '') {
|
||||||
|
$row['ui_text'] = $uiEn;
|
||||||
|
}
|
||||||
|
$list[$index] = $row;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return $this->success($list);
|
return $this->success($list);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -123,6 +144,37 @@ class GameController extends BaseController
|
|||||||
try {
|
try {
|
||||||
$logic = new PlayStartLogic();
|
$logic = new PlayStartLogic();
|
||||||
$data = $logic->run($userId, (int)$direction);
|
$data = $logic->run($userId, (int)$direction);
|
||||||
|
|
||||||
|
$lang = $request->header('lang', 'zh');
|
||||||
|
if (!is_string($lang) || $lang === '') {
|
||||||
|
$lang = 'zh';
|
||||||
|
}
|
||||||
|
$langLower = strtolower($lang);
|
||||||
|
$isEn = $langLower === 'en' || str_starts_with($langLower, 'en-');
|
||||||
|
|
||||||
|
if (is_array($data) && array_key_exists('reward_config_id', $data)) {
|
||||||
|
$rewardConfigId = (int) $data['reward_config_id'];
|
||||||
|
if ($rewardConfigId > 0) {
|
||||||
|
$configRow = DiceRewardConfig::getCachedById($rewardConfigId);
|
||||||
|
if ($configRow !== null) {
|
||||||
|
$uiText = '';
|
||||||
|
$uiTextEn = '';
|
||||||
|
if (array_key_exists('ui_text', $configRow) && $configRow['ui_text'] !== null) {
|
||||||
|
$uiText = (string) $configRow['ui_text'];
|
||||||
|
}
|
||||||
|
if (array_key_exists('ui_text_en', $configRow) && $configRow['ui_text_en'] !== null) {
|
||||||
|
$uiTextEn = (string) $configRow['ui_text_en'];
|
||||||
|
}
|
||||||
|
if ($isEn && $uiTextEn !== '') {
|
||||||
|
$data['ui_text'] = $uiTextEn;
|
||||||
|
} else {
|
||||||
|
$data['ui_text'] = $uiText;
|
||||||
|
}
|
||||||
|
$data['ui_text_en'] = $uiTextEn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return $this->success($data);
|
return $this->success($data);
|
||||||
} catch (ApiException $e) {
|
} catch (ApiException $e) {
|
||||||
return $this->fail($e->getMessage(), ReturnCode::BUSINESS_ERROR);
|
return $this->fail($e->getMessage(), ReturnCode::BUSINESS_ERROR);
|
||||||
|
|||||||
@@ -161,7 +161,7 @@ class DiceRewardConfigLogic extends BaseLogic
|
|||||||
}
|
}
|
||||||
$id = (int) $row['id'];
|
$id = (int) $row['id'];
|
||||||
$data = [];
|
$data = [];
|
||||||
foreach (['grid_number', 'ui_text', 'real_ev', 'tier', 'remark'] as $field) {
|
foreach (['grid_number', 'ui_text', 'ui_text_en', 'real_ev', 'tier', 'remark'] as $field) {
|
||||||
if (array_key_exists($field, $row)) {
|
if (array_key_exists($field, $row)) {
|
||||||
$data[$field] = $row[$field];
|
$data[$field] = $row[$field];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ use support\think\Cache;
|
|||||||
* @property $id ID
|
* @property $id ID
|
||||||
* @property $grid_number 色子点数
|
* @property $grid_number 色子点数
|
||||||
* @property $ui_text 前端显示文本
|
* @property $ui_text 前端显示文本
|
||||||
|
* @property $ui_text_en 前端显示文本(英文)
|
||||||
* @property $real_ev 真实资金结算
|
* @property $real_ev 真实资金结算
|
||||||
* @property $tier 所属档位
|
* @property $tier 所属档位
|
||||||
* @property $weight 权重(仅 BIGWIN 使用,0-10000)
|
* @property $weight 权重(仅 BIGWIN 使用,0-10000)
|
||||||
@@ -65,6 +66,17 @@ class DiceRewardConfig extends BaseModel
|
|||||||
return $inst['list'] ?? [];
|
return $inst['list'] ?? [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function getCachedById(int $id): ?array
|
||||||
|
{
|
||||||
|
$list = self::getCachedList();
|
||||||
|
foreach ($list as $row) {
|
||||||
|
if (isset($row['id']) && (int) $row['id'] === $id) {
|
||||||
|
return $row;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 重新从数据库加载并写入缓存(按档位+权重抽 grid_number,含 by_tier、by_tier_grid)
|
* 重新从数据库加载并写入缓存(按档位+权重抽 grid_number,含 by_tier、by_tier_grid)
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ class DiceRewardConfigValidate extends BaseValidate
|
|||||||
protected $rule = [
|
protected $rule = [
|
||||||
'grid_number' => 'require|integer|between:5,30',
|
'grid_number' => 'require|integer|between:5,30',
|
||||||
'ui_text' => 'require',
|
'ui_text' => 'require',
|
||||||
|
'ui_text_en' => 'max:255',
|
||||||
'real_ev' => 'require',
|
'real_ev' => 'require',
|
||||||
'tier' => 'require',
|
'tier' => 'require',
|
||||||
'type' => 'number',
|
'type' => 'number',
|
||||||
@@ -36,8 +37,8 @@ class DiceRewardConfigValidate extends BaseValidate
|
|||||||
];
|
];
|
||||||
|
|
||||||
protected $scene = [
|
protected $scene = [
|
||||||
'save' => ['grid_number', 'ui_text', 'real_ev', 'tier', 'type'],
|
'save' => ['grid_number', 'ui_text', 'ui_text_en', 'real_ev', 'tier', 'type'],
|
||||||
'update' => ['grid_number', 'ui_text', 'real_ev', 'tier', 'type', 'weight'],
|
'update' => ['grid_number', 'ui_text', 'ui_text_en', 'real_ev', 'tier', 'type', 'weight'],
|
||||||
'batch_update' => ['grid_number', 'ui_text', 'real_ev', 'tier', 'remark'],
|
'batch_update' => ['grid_number', 'ui_text', 'ui_text_en', 'real_ev', 'tier', 'remark'],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user