From 2efd1415908c665e02f3166c7ca4bf441f63e365 Mon Sep 17 00:00:00 2001 From: hujiabin Date: Thu, 9 Feb 2023 14:15:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=88=92=E5=AD=90=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/_common.py | 3 +++ sql/gamedb.sql | 1 + webapp/controller/UserController.class.php | 15 +++++++++++++++ webapp/models/User.php | 8 ++++++++ webapp/mt/LevelUp.php | 10 ++++++++++ 5 files changed, 37 insertions(+) create mode 100644 webapp/mt/LevelUp.php diff --git a/doc/_common.py b/doc/_common.py index 7711c7f8..fba7acb7 100644 --- a/doc/_common.py +++ b/doc/_common.py @@ -151,6 +151,8 @@ class UserInfo(object): ['guild_name', '', '工会名称'], ['parachute', '', '当前使用的降落伞id'], ['!parachute_list', [0], '拥有的降落伞列表'], + ['ring_id', 0, '勋章(戒指)ID'], + ['!ring_list', [0], '勋章(戒指)列表'], ] class UserSimple(object): @@ -940,6 +942,7 @@ class BattleReward(object): ['weapon1', BattleCegReward(), '武器1奖励'], ['weapon2', BattleCegReward(), '武器2奖励'], ['!items', [BattleItemReward()], '碎片奖励'], + ['lvInfo', [['oldLv',0,'老等级'],['newLv',0,'新等级']], '等级信息'], ] class BattleRankScore(object): diff --git a/sql/gamedb.sql b/sql/gamedb.sql index 4c5563f5..cb3071fc 100644 --- a/sql/gamedb.sql +++ b/sql/gamedb.sql @@ -66,6 +66,7 @@ CREATE TABLE `t_user` ( `guild_job` int(11) NOT NULL DEFAULT '0' COMMENT '工会职位', `guild_name` varchar(255) NOT NULL DEFAULT '' COMMENT '工会名称', `parachute` int(11) NOT NULL DEFAULT '0' COMMENT '降落伞ID', + `ring_id` int(11) NOT NULL DEFAULT '0' COMMENT '戒指id', PRIMARY KEY (`idx`), UNIQUE KEY `account_id` (`account_id`), KEY `channel` (`channel`) diff --git a/webapp/controller/UserController.class.php b/webapp/controller/UserController.class.php index 2346a138..d4cd34e6 100644 --- a/webapp/controller/UserController.class.php +++ b/webapp/controller/UserController.class.php @@ -501,6 +501,21 @@ class UserController extends BaseAuthedController { return false; } } + ), + 'ring_id' => array( + 'field_name' => 'ring_id', + 'val_func' => function ($val) { + return $val; + }, + 'valid_func' => function ($val, &$errCode, &$errMsg) { + if (User::isValidRing($val)) { + return true; + } else { + $errCode = 1; + $errMsg = 'ring_id parameter error'; + return false; + } + } ) ); $fieldsKv = array(); diff --git a/webapp/models/User.php b/webapp/models/User.php index 0746e1c7..ae9221a4 100644 --- a/webapp/models/User.php +++ b/webapp/models/User.php @@ -73,6 +73,8 @@ class User extends BaseModel { 'guild_name' => $row['guild_name'], 'parachute' => $row['parachute'] ? $row['parachute'] : Parachute::$parachute, 'parachute_list' => Parachute::getMyParachute(), + 'ring_id' => $row['ring_id'], + 'ring_list' => UserSeasonRing::ringList($row['account_id']), ); } @@ -110,6 +112,7 @@ class User extends BaseModel { 'guild_id' => $row['guild_id'], 'guild_job' => $row['guild_job'], 'guild_name' => $row['guild_name'], + 'ring_id' => $row['ring_id'], 'ring_list' => UserSeasonRing::ringList($row['account_id']), 'parachute' => $row['parachute'] ? $row['parachute'] : Parachute::$parachute, 'parachute_list' => Parachute::getMyParachute(), @@ -161,6 +164,11 @@ class User extends BaseModel { return in_array($parachute, $parachuteList); } + public static function isValidRing($parachute){ + $ringList = UserSeasonRing::ringList(myself()->_getAccountId()); + return in_array($parachute, $ringList); + } + private static function getHeadList($userInfo) { $headList = emptyReplace(json_decode($userInfo['head_list'], true), array()); diff --git a/webapp/mt/LevelUp.php b/webapp/mt/LevelUp.php new file mode 100644 index 00000000..684d8b1a --- /dev/null +++ b/webapp/mt/LevelUp.php @@ -0,0 +1,10 @@ +