Skip to content

Commit 34be042

Browse files
committed
抽奖的奖品数量设置
1 parent e6b6920 commit 34be042

23 files changed

Lines changed: 1062 additions & 122 deletions

CHANGELOG/v2.3.0/CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,17 @@ v2.3 - Shiroko (砂狼白子) release 1
77
- 新增 **设置搜索**,支持子项页定位,且能高亮显示搜索结果
88
- 新增 **人脸抽取**,支持摄像头分辨率选择
99
- 新增 **独立名单配置**,点名/闪抽/抽奖按名单可独立配置
10+
- 新增 **抽取方式**,抽奖支持数量模式
11+
- 新增 **数量设置**,支持批量配置
1012

1113
## 💡 功能优化
1214

1315
- 优化 **人脸抽取**,默认模型更改为 version-RFB-640.onnx
16+
- 优化 **奖数显示**,按抽取方式统计
17+
- 优化 **抽奖表格**,新增奖品数量列
18+
- 优化 **奖品名单导入**,支持数量字段
19+
- 优化 **奖池文件格式**,新增数量字段
20+
- 优化 **剩余名单**,抽奖显示序号数量
1421

1522
## 🐛 修复问题
1623

app/Language/modules/extraction_settings.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -929,6 +929,11 @@
929929
"name": "半重复抽取次数",
930930
"description": "设置每人被抽中多少次后清除抽取记录",
931931
},
932+
"draw_type": {
933+
"name": "抽取方式",
934+
"description": "设置抽奖抽取方式",
935+
"combo_items": ["份数模式", "数量模式"],
936+
},
932937
"default_pool": {
933938
"name": "默认抽取名单",
934939
"description": "设置默认使用的抽取名单",
@@ -1077,9 +1082,9 @@
10771082
"description": "Set the maximum picked times of each person to clean history",
10781083
},
10791084
"draw_type": {
1080-
"name": "Picking method",
1081-
"description": "Set lottery function",
1082-
"combo_items": {"0": "Random pick", "1": "Fair pick"},
1085+
"name": "Draw type",
1086+
"description": "Set lottery draw type",
1087+
"combo_items": {"0": "Piece mode", "1": "Count mode"},
10831088
},
10841089
"font_size": {
10851090
"name": "Font size",
@@ -1252,9 +1257,9 @@
12521257
"description": "各人が何回抽選された後に履歴を消去するかを設定",
12531258
},
12541259
"draw_type": {
1255-
"name": "抽選方法",
1256-
"description": "抽選機能を設定",
1257-
"combo_items": {"0": "ランダム抽選", "1": "公平抽選"},
1260+
"name": "抽選方式",
1261+
"description": "抽選方式を設定",
1262+
"combo_items": {"0": "份数モード", "1": "数量モード"},
12581263
},
12591264
"font_size": {
12601265
"name": "フォントサイズ",

app/Language/modules/list_management.py

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@
169169
},
170170
"prize_setting": {"name": "设置奖品", "description": "设置奖品名称"},
171171
"prize_weight_setting": {"name": "设置权重", "description": "设置奖品中奖权重"},
172+
"prize_count_setting": {"name": "设置数量", "description": "设置奖品中奖数量"},
172173
"export_prize_name": {
173174
"name": "导出奖品名单",
174175
"description": "将奖品名单导出到文件",
@@ -193,6 +194,10 @@
193194
"name": "Weight settings",
194195
"description": "Set prize weight",
195196
},
197+
"prize_count_setting": {
198+
"name": "Count settings",
199+
"description": "Set prize count",
200+
},
196201
"export_prize_name": {
197202
"name": "Export prize list",
198203
"description": "Export prize list to file",
@@ -217,6 +222,10 @@
217222
"name": "重み設定",
218223
"description": "賞品の当選重みを設定",
219224
},
225+
"prize_count_setting": {
226+
"name": "数量設定",
227+
"description": "賞品の当選数量を設定",
228+
},
220229
"export_prize_name": {
221230
"name": "賞品リストをエクスポート",
222231
"description": "賞品リストをファイルにエクスポート",
@@ -233,7 +242,7 @@
233242
"description": "选择要显示的抽奖奖池",
234243
},
235244
"HeaderLabels": {
236-
"name": ["存在", "序号", "奖品", "权重"],
245+
"name": ["存在", "序号", "奖品", "权重", "数量"],
237246
"description": "抽奖表格的列标题",
238247
},
239248
},
@@ -244,7 +253,13 @@
244253
"description": "Select the pool to show",
245254
},
246255
"HeaderLabels": {
247-
"name": {"0": "Exist", "1": "Serial", "2": "Prize", "3": "Weight"},
256+
"name": {
257+
"0": "Exist",
258+
"1": "Serial",
259+
"2": "Prize",
260+
"3": "Weight",
261+
"4": "Count",
262+
},
248263
"description": "The column title of the lottery table",
249264
},
250265
},
@@ -255,7 +270,7 @@
255270
"description": "表示する抽選賞プールを選択",
256271
},
257272
"HeaderLabels": {
258-
"name": ["存在", "番号", "賞品", "重み"],
273+
"name": ["存在", "番号", "賞品", "重み", "数量"],
259274
"description": "抽選テーブルの列タイトル",
260275
},
261276
},
@@ -364,6 +379,16 @@
364379
"description": "奖品权重设置通知内容",
365380
},
366381
},
382+
"prize_count_setting": {
383+
"title": {
384+
"name": "奖品数量设置",
385+
"description": "奖品数量设置通知标题",
386+
},
387+
"content": {
388+
"name": "已打开奖品数量设置窗口",
389+
"description": "奖品数量设置通知内容",
390+
},
391+
},
367392
"export": {
368393
"title": {
369394
"success": {"name": "导出成功", "description": "导出成功通知标题"},
@@ -503,6 +528,16 @@
503528
"description": "Prizes reset notification content",
504529
},
505530
},
531+
"prize_count_setting": {
532+
"title": {
533+
"name": "Prize count settings",
534+
"description": "Prize count settings notification title",
535+
},
536+
"content": {
537+
"name": "The prize count setting window has been opened",
538+
"description": "Prize count settings notification content",
539+
},
540+
},
506541
"export": {
507542
"title": {
508543
"success": {

app/Language/modules/lottery_list.py

Lines changed: 196 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -396,11 +396,16 @@
396396
"name": "权重列 (可选):",
397397
"description": "权重列标签",
398398
},
399+
"column_mapping_count_column": {
400+
"name": "数量列 (可选):",
401+
"description": "数量列标签",
402+
},
399403
"column_mapping_none": {"name": "无", "description": "无选项文本"},
400404
"data_preview_title": {"name": "数据预览", "description": "数据预览区域标题"},
401405
"prize_id": {"name": "序号", "description": "序号列标题"},
402406
"prize_name": {"name": "奖池名称", "description": "奖池名称列标题"},
403407
"weight": {"name": "权重", "description": "权重列标题"},
408+
"count": {"name": "数量", "description": "数量列标题"},
404409
"buttons_import": {"name": "导入", "description": "导入按钮文本"},
405410
"file_loaded_title": {
406411
"name": "文件已加载",
@@ -535,6 +540,10 @@
535540
"name": "Weight column (optional):",
536541
"description": "Column label of Weight",
537542
},
543+
"column_mapping_count_column": {
544+
"name": "Count column (optional):",
545+
"description": "Column label of Count",
546+
},
538547
"column_mapping_none": {"name": "None", "description": "Text of None"},
539548
"data_preview_title": {
540549
"name": "Data preview",
@@ -543,6 +552,7 @@
543552
"prize_id": {"name": "Serial", "description": "Serial Number Title"},
544553
"prize_name": {"name": "Pool name", "description": "Title of Pool name list"},
545554
"weight": {"name": "Weight", "description": "Column title of Weight"},
555+
"count": {"name": "Count", "description": "Column title of Count"},
546556
"buttons_import": {"name": "Import", "description": "Button text of Import"},
547557
"file_loaded_title": {
548558
"name": "File loaded",
@@ -683,6 +693,10 @@
683693
"name": "重み列(オプション):",
684694
"description": "重み列ラベル",
685695
},
696+
"column_mapping_count_column": {
697+
"name": "数量列(オプション):",
698+
"description": "数量列ラベル",
699+
},
686700
"column_mapping_none": {
687701
"name": "なし",
688702
"description": "なしオプションのテキスト",
@@ -694,6 +708,7 @@
694708
"prize_id": {"name": "番号", "description": "番号列タイトル"},
695709
"prize_name": {"name": "賞プール名", "description": "賞プール名列タイトル"},
696710
"weight": {"name": "重み", "description": "重み列タイトル"},
711+
"count": {"name": "数量", "description": "数量列タイトル"},
697712
"buttons_import": {
698713
"name": "インポート",
699714
"description": "インポートボタンのテキスト",
@@ -1501,3 +1516,184 @@
15011516
},
15021517
},
15031518
}
1519+
1520+
# 数量设置窗口
1521+
count_setting = {
1522+
"ZH_CN": {
1523+
"title": {"name": "数量设置", "description": "设置数量窗口标题"},
1524+
"description": {
1525+
"name": "在此窗口中,您可以设置奖品的数量\n每行输入一个数量值,系统会将其存储到奖品名单文件中\n\n请每行只输入一个数量值,例如:\n1\n2\n3",
1526+
"description": "数量设置窗口描述",
1527+
},
1528+
"input_title": {"name": "数量列表", "description": "数量输入区域标题"},
1529+
"input_placeholder": {
1530+
"name": "请输入数量,每行一个数量",
1531+
"description": "数量输入框占位符",
1532+
},
1533+
"save_button": {"name": "保存", "description": "保存按钮文本"},
1534+
"cancel_button": {"name": "取消", "description": "取消按钮文本"},
1535+
"error_title": {"name": "错误", "description": "错误消息标题"},
1536+
"success_title": {"name": "成功", "description": "成功消息标题"},
1537+
"info_title": {"name": "提示", "description": "信息消息标题"},
1538+
"no_counts_error": {
1539+
"name": "请至少输入一个数量值",
1540+
"description": "未输入数量时的错误提示",
1541+
},
1542+
"invalid_counts_error": {
1543+
"name": "以下数量包含非法字符或无法解析: {counts}",
1544+
"description": "数量输入校验失败提示",
1545+
},
1546+
"save_error": {"name": "保存数量失败", "description": "保存数量失败提示"},
1547+
"success_message": {
1548+
"name": "成功创建 {count} 个数量选项",
1549+
"description": "数量创建成功提示",
1550+
},
1551+
"no_new_counts_message": {
1552+
"name": "所有数量选项已存在,未创建新的数量选项",
1553+
"description": "未创建新数量提示",
1554+
},
1555+
"unsaved_changes_title": {
1556+
"name": "未保存的更改",
1557+
"description": "未保存更改标题",
1558+
},
1559+
"unsaved_changes_message": {
1560+
"name": "您有未保存的更改。确定要关闭窗口吗?",
1561+
"description": "未保存更改提示内容",
1562+
},
1563+
"discard_button": {"name": "放弃更改", "description": "放弃更改按钮文本"},
1564+
"continue_editing_button": {
1565+
"name": "继续编辑",
1566+
"description": "继续编辑按钮文本",
1567+
},
1568+
"count_deleted_title": {
1569+
"name": "数量选项已删除",
1570+
"description": "删除数量提示标题",
1571+
},
1572+
"count_deleted_message": {
1573+
"name": "数量选项 '{count}' 已从输入框中移除,请保存更改以永久删除",
1574+
"description": "删除数量提示内容",
1575+
},
1576+
},
1577+
"EN_US": {
1578+
"title": {"name": "Count settings", "description": "Set count window title"},
1579+
"description": {
1580+
"name": "In this window, you can set the count of prizes\nEnter one count per line, and the system will store it in the prize list file\n\nPlease enter only one count per line, e.g.:\n1\n2\n3",
1581+
"description": "Count settings window description",
1582+
},
1583+
"input_title": {"name": "Count list", "description": "Count input area title"},
1584+
"input_placeholder": {
1585+
"name": "Please enter count, one per row",
1586+
"description": "Count input placeholder",
1587+
},
1588+
"save_button": {"name": "Save", "description": "Button text of Save"},
1589+
"cancel_button": {"name": "Cancel", "description": "Button text of Cancel"},
1590+
"error_title": {"name": "Error", "description": "Message title of Error"},
1591+
"success_title": {"name": "Success", "description": "Message title of Success"},
1592+
"info_title": {"name": "Prompt", "description": "Message title of Info"},
1593+
"no_counts_error": {
1594+
"name": "Please enter at least one count value",
1595+
"description": "Error hint when no count entered",
1596+
},
1597+
"invalid_counts_error": {
1598+
"name": "The following counts include invalid characters or can not be parsed: {counts}",
1599+
"description": "Error hint when count validation failed",
1600+
},
1601+
"save_error": {
1602+
"name": "Failed to save counts",
1603+
"description": "Save error hint",
1604+
},
1605+
"success_message": {
1606+
"name": "Succeed creating {count} count options",
1607+
"description": "Success message of count creation",
1608+
},
1609+
"no_new_counts_message": {
1610+
"name": "All count options already exist, no new count options have been created",
1611+
"description": "Tips when not created new counts",
1612+
},
1613+
"unsaved_changes_title": {
1614+
"name": "Unsaved changes",
1615+
"description": "Unsaved change dialog title",
1616+
},
1617+
"unsaved_changes_message": {
1618+
"name": "You have unsaved changes. Are you sure you want to close the window?",
1619+
"description": "Unsaved change dialog content",
1620+
},
1621+
"discard_button": {"name": "Discard changes", "description": "Discard button"},
1622+
"continue_editing_button": {
1623+
"name": "Keep editing",
1624+
"description": "Continue button",
1625+
},
1626+
"count_deleted_title": {
1627+
"name": "Count option deleted",
1628+
"description": "Deleted count option title",
1629+
},
1630+
"count_deleted_message": {
1631+
"name": "Detected that the count option '{count}' have been removed from the input box. Please save your changes to permanently delete it",
1632+
"description": "Deleted count option content",
1633+
},
1634+
},
1635+
"JA_JP": {
1636+
"title": {"name": "数量設定", "description": "数量ウィンドウのタイトルを設定"},
1637+
"description": {
1638+
"name": "このウィンドウで賞品の数量を設定できます\n1行に1つの数量を入力すると、システムは賞品名簿ファイルに保存します\n\n1行に1つの数量のみを入力してください。例:\n1\n2\n3",
1639+
"description": "数量設定ウィンドウの説明",
1640+
},
1641+
"input_title": {
1642+
"name": "数量リスト",
1643+
"description": "数量入力エリアのタイトル",
1644+
},
1645+
"input_placeholder": {
1646+
"name": "数量を入力してください、1行に1つの数量",
1647+
"description": "数量入力ボックスのプレースホルダー",
1648+
},
1649+
"save_button": {"name": "保存", "description": "保存ボタンのテキスト"},
1650+
"cancel_button": {
1651+
"name": "キャンセル",
1652+
"description": "キャンセルボタンのテキスト",
1653+
},
1654+
"error_title": {"name": "エラー", "description": "エラーメッセージのタイトル"},
1655+
"success_title": {"name": "成功", "description": "成功メッセージのタイトル"},
1656+
"info_title": {"name": "プロンプト", "description": "情報メッセージのタイトル"},
1657+
"no_counts_error": {
1658+
"name": "少なくとも1つの数量を入力してください",
1659+
"description": "数量が入力されていない場合のエラーヒント",
1660+
},
1661+
"invalid_counts_error": {
1662+
"name": "以下の数量に不正な文字が含まれているか、解析できません: {counts}",
1663+
"description": "数量検証失敗時のエラーヒント",
1664+
},
1665+
"save_error": {
1666+
"name": "数量の保存に失敗しました",
1667+
"description": "数量保存時のエラーヒント",
1668+
},
1669+
"success_message": {
1670+
"name": "{count}個の新しい数量オプションを作成しました",
1671+
"description": "数量作成成功時のメッセージ",
1672+
},
1673+
"no_new_counts_message": {
1674+
"name": "すべての数量オプションが既に存在するため、新しい数量オプションは作成されませんでした",
1675+
"description": "新しい数量が作成されなかった場合のメッセージ",
1676+
},
1677+
"unsaved_changes_title": {
1678+
"name": "未保存の変更",
1679+
"description": "未保存変更ダイアログのタイトル",
1680+
},
1681+
"unsaved_changes_message": {
1682+
"name": "未保存の変更があります。ウィンドウを閉じますか?",
1683+
"description": "未保存変更ダイアログの内容",
1684+
},
1685+
"discard_button": {"name": "変更を破棄", "description": "破棄ボタンのテキスト"},
1686+
"continue_editing_button": {
1687+
"name": "編集を続ける",
1688+
"description": "継続ボタンのテキスト",
1689+
},
1690+
"count_deleted_title": {
1691+
"name": "数量が削除されました",
1692+
"description": "数量削除ヒントのタイトル",
1693+
},
1694+
"count_deleted_message": {
1695+
"name": "数量 '{count}' が入力ボックスから削除されたことが検出されました。変更を保存して永久に削除してください",
1696+
"description": "数量削除ヒントの内容",
1697+
},
1698+
},
1699+
}

0 commit comments

Comments
 (0)