diff --git a/sql/gamedb.sql b/sql/gamedb.sql index 4f42ca7..8abb63c 100644 --- a/sql/gamedb.sql +++ b/sql/gamedb.sql @@ -39,7 +39,7 @@ DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `idx` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增id', `accountid` varchar(60) NOT NULL DEFAULT '' COMMENT '账号id(channel + "_" + gameid + "_" + openid)', - `user_name` varchar(50) NOT NULL DEFAULT '' COMMENT '用户名字', + `user_name` tinyblob COMMENT '用户名字', `avatar_url` varchar(256) NOT NULL DEFAULT '' COMMENT '用户头像', `rank` int(11) NOT NULL COMMENT '用户排名(世界排名)', `game_times` int(11) NOT NULL COMMENT '游戏场次', @@ -56,6 +56,8 @@ CREATE TABLE `user` ( `add_HP_his` int(11) NOT NULL COMMENT '最多治疗量', `act_share_status` int(11) NOT NULL COMMENT '分享好礼活动状态', `act_share_time` int(11) NOT NULL COMMENT '分享好礼活动时间', + `create_time` int(11) NOT NULL COMMENT '创建时间', + `modify_time` int(11) NOT NULL COMMENT '修改时间', PRIMARY KEY (`idx`), UNIQUE KEY `accountid` (`accountid`) ) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; @@ -80,8 +82,10 @@ CREATE TABLE `skin` ( `skin_level` int(11) NOT NULL COMMENT '皮肤等级', `skin_experience_level` int(11) NOT NULL COMMENT '皮肤体验等级', `skin_experience_type` int(11) NOT NULL COMMENT '皮肤试用类型(0:没试用,1:皮肤体验,2:满级体验)', + `create_time` int(11) NOT NULL COMMENT '创建时间', + `modify_time` int(11) NOT NULL COMMENT '修改时间', PRIMARY KEY (`idx`), - KEY `accountid` (`accountid`) + UNIQUE KEY `skin_uuid` (`accountid`, `skin_id`) ) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; @@ -99,8 +103,10 @@ CREATE TABLE `equip` ( `equip_level` int(11) NOT NULL COMMENT '装备等级', `equip_experience_level` int(11) NOT NULL COMMENT '装备体验等级', `active_time` varchar(50) NOT NULL DEFAULT '有效时间', + `create_time` int(11) NOT NULL COMMENT '创建时间', + `modify_time` int(11) NOT NULL COMMENT '修改时间', PRIMARY KEY (`idx`), - KEY `accountid` (`accountid`) + UNIQUE KEY `equip_uuid` (`accountid`, `equip_id`) ) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; @@ -118,8 +124,10 @@ CREATE TABLE `supplybox` ( `box_num` int(11) NOT NULL COMMENT '补给箱数量', `buy_times` int(11) NOT NULL COMMENT '购买次数', `last_buy_time` varchar(50) NOT NULL DEFAULT '最后一次购买', + `create_time` int(11) NOT NULL COMMENT '创建时间', + `modify_time` int(11) NOT NULL COMMENT '修改时间', PRIMARY KEY (`idx`), - KEY `accountid` (`accountid`) + UNIQUE KEY `box_uuid` (`accountid`, `box_id`) ) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; @@ -136,6 +144,8 @@ CREATE TABLE `sign` ( `sign_days` int(11) NOT NULL COMMENT '已签天数', `signable` int(11) NOT NULL COMMENT '是否可签', `sign_time` varchar(50) NOT NULL DEFAULT '签到时间', + `create_time` int(11) NOT NULL COMMENT '创建时间', + `modify_time` int(11) NOT NULL COMMENT '修改时间', PRIMARY KEY (`idx`), UNIQUE KEY `accountid` (`accountid`) ) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; @@ -152,6 +162,8 @@ CREATE TABLE `hang` ( `idx` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增id', `accountid` varchar(60) NOT NULL DEFAULT '' COMMENT '账号id', `hang_time` varchar(50) NOT NULL DEFAULT '领取时间', + `create_time` int(11) NOT NULL COMMENT '创建时间', + `modify_time` int(11) NOT NULL COMMENT '修改时间', PRIMARY KEY (`idx`), UNIQUE KEY `accountid` (`accountid`) ) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; @@ -171,8 +183,10 @@ CREATE TABLE `quest` ( `quest_num` int(11) NOT NULL COMMENT '任务进度', `quest_type` int(11) NOT NULL COMMENT '任务类型', `quest_state` int(11) NOT NULL COMMENT '任务状态', + `create_time` int(11) NOT NULL COMMENT '创建时间', + `modify_time` int(11) NOT NULL COMMENT '修改时间', PRIMARY KEY (`idx`), - KEY `accountid` (`accountid`) + UNIQUE KEY `quest_uuid` (`accountid`, `quest_id`) ) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; -- @@ -189,6 +203,8 @@ CREATE TABLE `active` ( `num_time` varchar(50) NOT NULL DEFAULT '日活跃度时间', `active_sum` int(11) NOT NULL COMMENT '周活跃度', `sum_time` varchar(50) NOT NULL DEFAULT '周活跃度时间', + `create_time` int(11) NOT NULL COMMENT '创建时间', + `modify_time` int(11) NOT NULL COMMENT '修改时间', PRIMARY KEY (`idx`), UNIQUE KEY `accountid` (`accountid`) ) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; @@ -214,8 +230,10 @@ CREATE TABLE `history_record`( `alive_time` int(11) NOT NULL COMMENT '游戏生存时间', `coin` bigint NOT NULL COMMENT '战斗结算金币', `status` int(11) NOT NULL COMMENT '结算金币领取状态', + `create_time` int(11) NOT NULL COMMENT '创建时间', + `modify_time` int(11) NOT NULL COMMENT '修改时间', PRIMARY KEY (`idx`), - KEY `accountid` (`accountid`) + UNIQUE KEY `history_record_uuid` (`accountid`, `room_uuid`) ) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; diff --git a/webapp/classes/Quest.php b/webapp/classes/Quest.php index 04b9d3d..27d8556 100644 --- a/webapp/classes/Quest.php +++ b/webapp/classes/Quest.php @@ -47,11 +47,11 @@ class Quest{ return; } $row = $conn->execQueryOne('SELECT * FROM quest WHERE accountid=:accountid AND quest_id =:quest_id AND quest_type=:quest_type;', - array( - ':accountid' => $account_id, - ':quest_id' => $quest_id, - ':quest_type' => $quest_type, - )); + array( + ':accountid' => $account_id, + ':quest_id' => $quest_id, + ':quest_type' => $quest_type, + )); if ($row) { if ($row['quest_state'] == 0) { if ($q['condition'] == 7 && $quest_type == 1) { @@ -79,14 +79,15 @@ class Quest{ $quest_state = 0; } } - $ret = $conn->execScript('UPDATE quest SET quest_num=:quest_num, quest_state=:quest_state ' . + $ret = $conn->execScript('UPDATE quest SET quest_num=:quest_num, quest_state=:quest_state, modify_time=:modify_time ' . ' WHERE accountid=:accountid AND quest_id =:quest_id AND quest_type=:quest_type;', array( ':accountid' => $account_id, ':quest_id' => $quest_id, ':quest_type' => $quest_type, ':quest_num' => $quest_num, - ':quest_state' => $quest_state + ':quest_state' => $quest_state, + ':modify_time' => time() )); if (!$ret) { die(); @@ -115,14 +116,17 @@ class Quest{ } } } - $ret = $conn->execScript('INSERT INTO quest(accountid, quest_id, quest_num, quest_type, quest_state) ' . - ' VALUES(:accountid, :quest_id, :quest_num, :quest_type, :quest_state);', + $ret = $conn->execScript('INSERT INTO quest(accountid, quest_id, quest_num, quest_type, quest_state, create_time, modify_time) ' . + ' VALUES(:accountid, :quest_id, :quest_num, :quest_type, :quest_state, :create_time, :modify_time) ' . + ' ON DUPLICATE KEY UPDATE accountid=:accountid, quest_id_quest_id, quest_num_quest_num, quest_type_quest_type, quest_state=:quest_state, modify_time=:modify_time;', array( ':accountid' => $account_id, ':quest_id' => $quest_id, ':quest_num' => $quest_num, ':quest_type' => $quest_type, - ':quest_state'=> $quest_state + ':quest_state'=> $quest_state, + ':create_time' => time(), + ':modify_time' => time() )); if (!$ret) { die(); diff --git a/webapp/controller/ActivityController.class.php b/webapp/controller/ActivityController.class.php index 7857db3..f9bc2df 100644 --- a/webapp/controller/ActivityController.class.php +++ b/webapp/controller/ActivityController.class.php @@ -87,11 +87,12 @@ class ActivityController{ if (time() >= $a['start_date'] && time() < $a['end_date']) { $start_status = 1; } else { - $ret = $conn->execScript('UPDATE skin SET fragment_num=:fragment_num ' . + $ret = $conn->execScript('UPDATE skin SET fragment_num=:fragment_num, modify_time=:modify_time ' . ' WHERE accountid=:accountid AND skin_type=2;', array( ':accountid' => $account_id, - ':fragment_num' => 0 + ':fragment_num' => 0, + ':modify_time' => time() )); if(!$ret){ die(); @@ -133,11 +134,12 @@ class ActivityController{ && $row['act_share_status'] == 1) { $receive_status = 0; - $ret = $conn->execScript('UPDATE user SET act_share_status=:act_share_status ' . + $ret = $conn->execScript('UPDATE user SET act_share_status=:act_share_status, modify_time=:modify_time ' . ' WHERE accountid=:accountid;', array( ':accountid' => $account_id, - ':act_share_status' => $receive_status + ':act_share_status' => $receive_status, + ':modify_time' => time() )); } //任务活动 @@ -206,13 +208,14 @@ class ActivityController{ } else { $skin_status = 3; } - $ret = $conn->execScript('UPDATE skin SET fragment_num=:fragment_num, skin_status=:skin_status, fragment_status=1 ' . + $ret = $conn->execScript('UPDATE skin SET fragment_num=:fragment_num, skin_status=:skin_status, fragment_status=1, modify_time=:modify_time ' . ' WHERE accountid=:accountid AND fragment_id=:fragment_id;', array( ':accountid' => $account_id, ':skin_status' => $skin_status, ':fragment_id' => $item_id, - ':fragment_num' => $item_num + $rowSkin['fragment_num'] + ':fragment_num' => $item_num + $rowSkin['fragment_num'], + ':modify_time' => time() )); break; } @@ -231,13 +234,14 @@ class ActivityController{ if ($row['skin_status'] == 2) { $fragment_num = $row['fragment_num'] - $act['exchange_num']; $time = time(); - $ret = $conn->execScript('UPDATE skin SET fragment_num=:fragment_num, skin_status=1, active_time=:active_time ' . + $ret = $conn->execScript('UPDATE skin SET fragment_num=:fragment_num, skin_status=1, active_time=:active_time, modify_time=:modify_time ' . ' WHERE accountid=:account_id AND skin_id=:skin_id;', array( ':account_id' => $account_id, ':skin_id' => $arr[0][0], ':active_time' => $time, ':fragment_num' => $fragment_num, + ':modify_time' => time() )); if(!$ret){ die(); @@ -248,11 +252,12 @@ class ActivityController{ } case 3: //活动补给箱领取 { - $ret = $conn->execScript('UPDATE user SET act_share_status=1, act_share_time=:act_share_time ' . + $ret = $conn->execScript('UPDATE user SET act_share_status=1, act_share_time=:act_share_time, modify_time=:modify_time ' . ' WHERE accountid=:accountid;', array( ':accountid' => $account_id, - ':act_share_time' => time() + ':act_share_time' => time(), + ':modify_time' => time() )); if (!$ret) { die(); @@ -267,24 +272,28 @@ class ActivityController{ ':box_id' => $item_id )); if (!$row) { - $ret = $conn->execScript('INSERT INTO supplybox(accountid, box_id, box_num, buy_times, last_buy_time) ' . - ' VALUES(:accountid, :box_id, :box_num, 0, 0);', + $ret = $conn->execScript('INSERT INTO supplybox(accountid, box_id, box_num, buy_times, last_buy_time, create_time, modify_time) ' . + ' VALUES(:accountid, :box_id, :box_num, 0, 0, :create_time, :modify_time) ' . + ' ON DUPLICATE KEY UPDATE accountid=:accountid, box_id=:box_id, box_num=:box_num, buy_times=0, last_buy_time=0, modify_time=:modify_time;', array( ':accountid' => $account_id, ':box_id' => $item_id, ':box_num' => 1, + ':create_time' => time(), + ':modify_time' => time() )); if (!$ret) { die(); return; } } else { - $ret = $conn->execScript('UPDATE supplybox SET box_num=:box_num ' . + $ret = $conn->execScript('UPDATE supplybox SET box_num=:box_num, modify_time=:modify_time ' . ' WHERE accountid=:accountid AND box_id=:box_id;', array( ':accountid' => $account_id, ':box_id' => $item_id, ':box_num' => $row['box_num'] + $item_num, + ':modify_time' => time() )); if (!$ret) { die(); @@ -307,13 +316,14 @@ class ActivityController{ return; } if ($row['quest_state'] == 1) { - $ret = $conn->execScript('UPDATE quest SET quest_state=:quest_state ' . + $ret = $conn->execScript('UPDATE quest SET quest_state=:quest_state, modify_time=:modify_time ' . ' WHERE accountid=:accountid AND quest_id =:quest_id AND quest_type=:quest_type;', array( ':accountid' => $account_id, ':quest_id' => $activity_id, ':quest_type' => 3, - ':quest_state' => 2 + ':quest_state' => 2, + ':modify_time' => time() )); if (!$ret) { die(); @@ -325,11 +335,12 @@ class ActivityController{ array( ':accountid' => $account_id )); - $ret = $conn->execScript('UPDATE user SET coin_num=:coin_num ' . + $ret = $conn->execScript('UPDATE user SET coin_num=:coin_num, modify_time=:modify_time' . ' WHERE accountid=:accountid;', array( ':accountid' => $account_id, - ':coin_num' => $item_num + $row1['coin_num'] + ':coin_num' => $item_num + $row1['coin_num'], + ':modify_time' => time() )); if (!$ret) { die(); diff --git a/webapp/controller/EquipController.class.php b/webapp/controller/EquipController.class.php index 0cbe128..d4547b7 100644 --- a/webapp/controller/EquipController.class.php +++ b/webapp/controller/EquipController.class.php @@ -66,11 +66,12 @@ class EquipController{ phpcommon\sendError(ERR_USER_BASE + 3, '金币不足'); die(); } - $ret = $conn->execScript('UPDATE user SET coin_num=:coin_num ' . + $ret = $conn->execScript('UPDATE user SET coin_num=:coin_num, modify_time=:modify_time ' . ' WHERE accountid=:accountid;', array( ':accountid' => $account_id, - ':coin_num' => $rowCoin['coin_num'] - $e['equip_cost'] + ':coin_num' => $rowCoin['coin_num'] - $e['equip_cost'], + ':modify_time' => time() )); return $e; } @@ -103,11 +104,12 @@ class EquipController{ )); foreach ($rows as $row) { if (time() >= $row['active_time'] && $row['active_time'] != 0) { - $ret = $conn->execScript('UPDATE equip SET active_time=0, equip_experience_level=0 ' . + $ret = $conn->execScript('UPDATE equip SET active_time=0, equip_experience_level=0, modify_time=:modify_time ' . ' WHERE accountid=:account_id AND equip_id=:equip_id;', array( ':account_id' => $account_id, - ':equip_id' => $row['equip_id'] + ':equip_id' => $row['equip_id'], + ':modify_time' => time() )); if (!$ret) { die(); @@ -165,14 +167,17 @@ class EquipController{ if (!$row) { $e = $this->subCoin($account_id, $equip_id . '-' . 1); - $ret = $conn->execScript('INSERT INTO equip(accountid, equip_id, equip_level, equip_experience_level, active_time) ' . - ' VALUES(:accountid, :equip_id, :equip_level, :equip_experience_level, :active_time);', + $ret = $conn->execScript('INSERT INTO equip(accountid, equip_id, equip_level, equip_experience_level, active_time, create_time, modify_time) ' . + ' VALUES(:accountid, :equip_id, :equip_level, :equip_experience_level, :active_time, :create_time, modify_time) ' . + ' ON DUPLICATE KEY UPDATE accountid=:accountid, equip_id=:equip_id, equip_level=:equip_level, equip_experience_level=:equip_experience_level, active_time=:active_time, modify_time=:modify_time;', array( ':accountid' => $account_id, ':equip_id' => $equip_id, ':equip_level' => $e['equip_nextlevel'], ':equip_experience_level' => 0, ':active_time' => 0, + ':create_time' => time(), + ':modify_time' => time() )); if (!$ret) { die(); @@ -184,12 +189,13 @@ class EquipController{ return; } $e = $this->subCoin($account_id, $equip_id . '-' . $row['equip_level']); - $ret = $conn->execScript('UPDATE equip SET equip_level=:equip_level ' . + $ret = $conn->execScript('UPDATE equip SET equip_level=:equip_level, modify_time=:modify_time ' . ' WHERE accountid=:account_id AND equip_id=:equip_id;', array( ':account_id' => $account_id, ':equip_id' => $equip_id, - ':equip_level' => $e['equip_nextlevel'] + ':equip_level' => $e['equip_nextlevel'], + ':modify_time' => time() )); if (!$ret) { die(); @@ -237,25 +243,29 @@ class EquipController{ ':equip_id' => $equip_id )); if (!$row) { - $ret = $conn->execScript('INSERT INTO equip(accountid, equip_id, equip_level, equip_experience_level, active_time) ' . - ' VALUES(:accountid, :equip_id, 1, 9, :active_time);', + $ret = $conn->execScript('INSERT INTO equip(accountid, equip_id, equip_level, equip_experience_level, active_time, create_time, modify_time) ' . + ' VALUES(:accountid, :equip_id, 1, 9, :active_time, :create_time, :modify_time) ' . + ' ON DUPLICATE KEY UPDATE accountid=:accountid, equip_id=:equip_id, equip_level=1, equip_experience_level=9, active_time=:active_time, modify_time=:modify_time;', array( ':accountid' => $account_id, ':equip_id' => $equip_id, - ':active_time' => time() + $time + ':active_time' => time() + $time, + ':create_time' => time(), + ':modify_time' => time() )); if (!$ret) { die(); return; } } else { - $ret = $conn->execScript('UPDATE equip SET active_time=:active_time, equip_experience_level=9 ' . - ' WHERE accountid=:account_id AND equip_id=:equip_id;', - array( - ':account_id' => $account_id, - ':equip_id' => $equip_id, - ':active_time' => time() + $time - )); + $ret = $conn->execScript('UPDATE equip SET active_time=:active_time, equip_experience_level=9, modify_time=:modify_time ' . + ' WHERE accountid=:account_id AND equip_id=:equip_id;', + array( + ':account_id' => $account_id, + ':equip_id' => $equip_id, + ':active_time' => time() + $time, + ':modify_time' => time() + )); if (!$ret) { die(); return; diff --git a/webapp/controller/HangController.class.php b/webapp/controller/HangController.class.php index cfee793..13d0231 100644 --- a/webapp/controller/HangController.class.php +++ b/webapp/controller/HangController.class.php @@ -49,12 +49,13 @@ class HangController{ ':accountid' => $account_id )); if ($row) { - $ret = $conn->execScript('UPDATE hang SET hang_time=:hang_time ' . - ' WHERE accountid=:accountid;', - array( - ':accountid' => $account_id, - ':hang_time' => time(), - )); + $ret = $conn->execScript('UPDATE hang SET hang_time=:hang_time, modify_time=:modify_time ' . + ' WHERE accountid=:accountid;', + array( + ':accountid' => $account_id, + ':hang_time' => time(), + ':modify_time' => time() + )); if (!$ret) { die(); return; @@ -74,11 +75,12 @@ class HangController{ array( ':accountid' => $account_id )); - $ret = $conn->execScript('UPDATE user SET coin_num=:coin_num ' . + $ret = $conn->execScript('UPDATE user SET coin_num=:coin_num, modify_time=:modify_time ' . ' WHERE accountid=:accountid;', array( ':accountid' => $account_id, - ':coin_num' => $num + $row['coin_num'] + ':coin_num' => $num + $row['coin_num'], + ':modify_time' => time() )); } echo json_encode(array( @@ -110,11 +112,14 @@ class HangController{ ':accountid' => $account_id )); if (!$row) { - $ret = $conn->execScript('INSERT INTO hang(accountid, hang_time) ' . - ' VALUES(:accountid, :hang_time);', + $ret = $conn->execScript('INSERT INTO hang(accountid, hang_time, create_time, modify_time) ' . + ' VALUES(:accountid, :hang_time, :create_time, :modify_time) ' . + ' ON DUPLICATE KEY UPDATE accountid=:accountid, hang_time=:hang_time, modify_time=:modify_time;', array( ':accountid' => $account_id, - ':hang_time' => time() + ':hang_time' => time(), + ':create_time' => time(), + ':modify_time' => time() )); if (!$ret) { die(); diff --git a/webapp/controller/QuestController.class.php b/webapp/controller/QuestController.class.php index cf52896..240f925 100644 --- a/webapp/controller/QuestController.class.php +++ b/webapp/controller/QuestController.class.php @@ -76,13 +76,16 @@ class QuestController{ { $conn = $this->getMysql($account_id); for ($i = $active_id; $i < $active_id + $task_num; $i++) { - $ret = $conn->execScript('INSERT INTO quest(accountid, quest_id, quest_type, quest_state) ' . - ' VALUES(:accountid, :quest_id, :quest_type, :quest_state);', + $ret = $conn->execScript('INSERT INTO quest(accountid, quest_id, quest_type, quest_state, create_time, modify_time) ' . + ' VALUES(:accountid, :quest_id, :quest_type, :quest_state, :create_time, :modify_time) ' . + ' ON DUPLICATE KEY UPDATE accountid=:accountid, quest_id=:quest_id, quest_type=:quest_type, quest_state=:quest_state, modify_time=:modify_time;', array( ':accountid' => $account_id, ':quest_id' => $i, ':quest_type' => 0, - ':quest_state'=> 0 + ':quest_state'=> 0, + ':create_time' => time(), + ':modify_time' => time() )); } } @@ -101,12 +104,13 @@ class QuestController{ if ($row['quest_state'] != 0 || $active_num < $t['value']) { continue; } - $ret = $conn->execScript('UPDATE quest SET quest_state=:quest_state ' . + $ret = $conn->execScript('UPDATE quest SET quest_state=:quest_state, modify_time=:modify_time ' . ' WHERE accountid=:accountid AND quest_id =:quest_id;', array( ':accountid' => $account_id, ':quest_id' => $quest_id, - ':quest_state' => 1 + ':quest_state' => 1, + ':modify_time' => time() )); if (!$ret) { die(); @@ -117,20 +121,21 @@ class QuestController{ for ($j = 74001; $j < 74004; $j++) { $quest_id = $j; $row = $conn->execQueryOne('SELECT * FROM quest WHERE accountid=:accountid AND quest_id=:quest_id;', - array( - ':accountid' => $account_id, - ':quest_id' => $quest_id - )); + array( + ':accountid' => $account_id, + ':quest_id' => $quest_id + )); $t = $this->getTaskReward($j); if ($row['quest_state'] != 0 || $active_sum < $t['value']) { continue; } - $ret = $conn->execScript('UPDATE quest SET quest_state=:quest_state ' . + $ret = $conn->execScript('UPDATE quest SET quest_state=:quest_state, modify_time=:modify_time ' . ' WHERE accountid=:accountid AND quest_id =:quest_id;', array( ':accountid' => $account_id, ':quest_id' => $quest_id, - ':quest_state' => 1 + ':quest_state' => 1, + ':modify_time' => time() )); if (!$ret) { die(); @@ -143,29 +148,32 @@ class QuestController{ { $conn = $this->getMysql($account_id); if ($flag == 2) { - $ret = $conn->execScript('UPDATE active SET sum_time=:sum_time, active_sum=:active_sum ' . + $ret = $conn->execScript('UPDATE active SET sum_time=:sum_time, active_sum=:active_sum, modify_time=:modify_time ' . ' WHERE accountid=:accountid;', array( ':accountid' => $account_id, ':sum_time' => time(), - ':active_sum' => 0 + ':active_sum' => 0, + ':modify_time' => time() )); } else if ($flag == 1) { - $ret = $conn->execScript('UPDATE active SET num_time=:num_time, active_num=:active_num ' . + $ret = $conn->execScript('UPDATE active SET num_time=:num_time, active_num=:active_num, modify_time=:modify_time ' . ' WHERE accountid=:accountid;', array( ':accountid' => $account_id, ':num_time' => time(), - ':active_num' => 0 + ':active_num' => 0, + ':modify_time' => time() )); } - $ret = $conn->execScript('UPDATE quest SET quest_state=:quest_state ' . + $ret = $conn->execScript('UPDATE quest SET quest_state=:quest_state, modify_time=:modify_time ' . ' WHERE accountid=:accountid AND quest_type=:quest_type AND quest_id<:quest_id;', array( ':accountid' => $account_id, ':quest_type' => 0, ':quest_id' => $quest_id, - ':quest_state' => 0 + ':quest_state' => 0, + ':modify_time' => time() )); } @@ -301,13 +309,14 @@ class QuestController{ } $item_list = array(); if ($row['quest_state'] == 1) { - $ret = $conn->execScript('UPDATE quest SET quest_state=:quest_state ' . + $ret = $conn->execScript('UPDATE quest SET quest_state=:quest_state, modify_time=:modify_time ' . ' WHERE accountid=:accountid AND quest_id =:quest_id AND quest_type=:quest_type;', array( ':accountid' => $account_id, ':quest_id' => $quest_id, ':quest_type' => $quest_type, - ':quest_state' => 2 + ':quest_state' => 2, + ':modify_time' => time() )); if (!$ret) { die(); @@ -351,14 +360,15 @@ class QuestController{ )); if ($item_id == 10001) { $row1 = $conn->execQueryOne('SELECT * FROM user WHERE accountid=:accountid;', - array( - ':accountid' => $account_id - )); - $ret = $conn->execScript('UPDATE user SET coin_num=:coin_num ' . + array( + ':accountid' => $account_id + )); + $ret = $conn->execScript('UPDATE user SET coin_num=:coin_num, modify_time=:modify_time ' . ' WHERE accountid=:accountid;', array( ':accountid' => $account_id, - ':coin_num' => $item_num + $row1['coin_num'] + ':coin_num' => $item_num + $row1['coin_num'], + ':modify_time' => time() )); } } else { @@ -369,14 +379,15 @@ class QuestController{ } $reward = $q['gold']; $row1 = $conn->execQueryOne('SELECT * FROM user WHERE accountid=:accountid;', - array( - ':accountid' => $account_id - )); - $ret = $conn->execScript('UPDATE user SET coin_num=:coin_num ' . + array( + ':accountid' => $account_id + )); + $ret = $conn->execScript('UPDATE user SET coin_num=:coin_num, modify_time=:modify_time ' . ' WHERE accountid=:accountid;', array( ':accountid' => $account_id, - ':coin_num' => $reward + $row1['coin_num'] + ':coin_num' => $reward + $row1['coin_num'], + ':modify_time' => time() )); } if ($row['quest_type'] == 1) { @@ -388,25 +399,29 @@ class QuestController{ if (!$active) { $this->insertActive($account_id, 73001, 5); $this->insertActive($account_id, 74001, 3); - $ret = $conn->execScript('INSERT INTO active(accountid, active_num, num_time, active_sum, sum_time) ' . - ' VALUES(:accountid, :active_num, :num_time, :active_sum, :sum_time);', + $ret = $conn->execScript('INSERT INTO active(accountid, active_num, num_time, active_sum, sum_time, create_time, modify_time) ' . + ' VALUES(:accountid, :active_num, :num_time, :active_sum, :sum_time, :create_time, :modify_time) ' . + ' ON DUPLICATE KEY UPDATE accountid=:accountid, active_num=:active_num, num_time=:num_time, active_sum=:active_sum, sum_time=:sum_time, modify_time=:modify_time;', array( ':accountid' => $account_id, ':active_num' => $q['active_value'], ':num_time' => time(), ':active_sum' => $q['active_value'], - ':sum_time' => time() + ':sum_time' => time(), + ':create_time' => time(), + ':modify_time' => time() )); $this->updateActive($account_id, $q['active_value'], $q['active_value']); } else { $active['active_num'] = $q['active_value'] + $active['active_num']; $active['active_sum'] = $q['active_value'] + $active['active_sum']; - $ret = $conn->execScript('UPDATE active SET active_num=:active_num, active_sum=:active_sum ' . + $ret = $conn->execScript('UPDATE active SET active_num=:active_num, active_sum=:active_sum, modify_time=:modify_time ' . ' WHERE accountid=:accountid;', array( ':accountid' => $account_id, ':active_num' => $active['active_num'], ':active_sum' => $active['active_sum'], + ':modify_time' => time() )); $this->updateActive($account_id, $active['active_num'], $active['active_sum']); } diff --git a/webapp/controller/RoleController.class.php b/webapp/controller/RoleController.class.php index 3e0d3c3..369acc0 100644 --- a/webapp/controller/RoleController.class.php +++ b/webapp/controller/RoleController.class.php @@ -87,12 +87,15 @@ class RoleController{ ':accountid' => $account_id )); if (!$row) { - $ret = $conn->execScript('INSERT INTO user(accountid, user_name, avatar_url, rank, game_times, win_times, kills, harm, add_HP, alive_time, coin_num, integral, kill_his, alive_time_his, harm_his, add_HP_his, act_share_time, act_share_status) ' . - ' VALUES(:accountid, :user_name, :avatar_url, 0, 0, 0, 0, 0, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0);', + $ret = $conn->execScript('INSERT INTO user(accountid, user_name, avatar_url, rank, game_times, win_times, kills, harm, add_HP, alive_time, coin_num, integral, kill_his, alive_time_his, harm_his, add_HP_his, act_share_time, act_share_status, create_time, modify_time) ' . + ' VALUES(:accountid, :user_name, :avatar_url, 0, 0, 0, 0, 0, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, create_time, :modify_time) ' . + ' ON DUPLICATE KEY UPDATE accountid=:accountid, user_name=:user_name, avatar_url=:avatar_url, rank=0, game_times=0, win_times=0, kills=0, harm=0, add_HP=0, alive_time=0, coin_num=100000, integral=0, kill_his=0, alive_time_his=0, harm_his=0, add_HP_his=0, act_share_time=0, act_share_status=0, modify_time=:modify_time;', array( ':accountid' => $account_id, ':user_name' => $user_name, - ':avatar_url' => $avatar_url + ':avatar_url' => $avatar_url, + ':create_time' => time(), + ':modify_time' => time() )); if (!$ret) { die(); @@ -181,7 +184,7 @@ class RoleController{ if ($add_HP_his < $row['add_HP_his']) { $add_HP_his = $row['add_HP_his']; } - $ret = $conn->execScript('UPDATE user SET game_times=:game_times, win_times=:win_times, kills=:kills, harm=:harm, add_HP=:add_HP, alive_time=:alive_time, kill_his=:kill_his, alive_time_his=:alive_time_his, harm_his=:harm_his, add_HP_his=:add_HP_his, coin_num=:coin_num, integral=:integral ' . + $ret = $conn->execScript('UPDATE user SET game_times=:game_times, win_times=:win_times, kills=:kills, harm=:harm, add_HP=:add_HP, alive_time=:alive_time, kill_his=:kill_his, alive_time_his=:alive_time_his, harm_his=:harm_his, add_HP_his=:add_HP_his, coin_num=:coin_num, integral=:integral, modify_time=:modify_time ' . ' WHERE accountid=:accountid;', array( ':game_times' => $row['game_times'] + 1, @@ -196,7 +199,8 @@ class RoleController{ ':add_HP_his' => $add_HP_his, ':accountid' => $account_id, ':coin_num' => $row['coin_num'] + $coin_num, - ':integral' => $row['integral'] + $integral + ':integral' => $row['integral'] + $integral, + ':modify_time' => time() )); if (!$ret) { die(); @@ -204,8 +208,9 @@ class RoleController{ } //插入历史记录 - $ret = $conn->execScript('INSERT INTO history_record(accountid, room_uuid, map_name, game_time, rank, kills, harms, hurts, alive_time, coin, status) ' . - ' VALUES(:accountid, :room_uuid, :map_name, :game_time, :rank, :kills, :harms, :hurts, :alive_time, :coin, 0);', + $ret = $conn->execScript('INSERT INTO history_record(accountid, room_uuid, map_name, game_time, rank, kills, harms, hurts, alive_time, coin, status, create_time, modify_time) ' . + ' VALUES(:accountid, :room_uuid, :map_name, :game_time, :rank, :kills, :harms, :hurts, :alive_time, :coin, 0, :create_time, :modify_time) ' . + ' ON DUPLICATE KEY UPDATE accountid=:accountid, room_uuid=:room_uuid, map_name=:map_name, game_time=:game_time, rank=:rank, kills=:kills, harms=:harms, hurts=:hurts, alive_time=:alive_time, coin=:coin, status=0, modify_time=:modify_time;', array( ':accountid' => $account_id, ':room_uuid' => $room_uuid, @@ -216,7 +221,9 @@ class RoleController{ ':harms' => $harm, ':hurts' => $hurt, ':alive_time' => $alive_time, - ':coin' => $coin_num + ':coin' => $coin_num, + ':create_time' => time(), + ':modify_time' => time() )); if (!$ret) { die(); @@ -407,10 +414,11 @@ class RoleController{ array( ':accountid' => $account_id )); - $ret = $conn->execScript('UPDATE user SET coin_num=:coin_num WHERE accountid=:accountid;', + $ret = $conn->execScript('UPDATE user SET coin_num=:coin_num, modify_time=:modify_time WHERE accountid=:accountid;', array( ':accountid' => $account_id, - ':coin_num' => $coin_num + $rowUser['coin_num'] + ':coin_num' => $coin_num + $rowUser['coin_num'], + ':modify_time' => time() )); echo json_encode(array( diff --git a/webapp/controller/SignController.class.php b/webapp/controller/SignController.class.php index e910ea2..c1b50e9 100644 --- a/webapp/controller/SignController.class.php +++ b/webapp/controller/SignController.class.php @@ -104,13 +104,16 @@ class SignController{ $start_time = $array[0][0] * 3600 + $array[0][1] * 60 + $nowTime; $end_time = $array[1][0] * 3600 + $array[1][1] * 60 + $nowTime; if (!$row) { - $ret = $conn->execScript('INSERT INTO sign(accountid, sign_days, signable, sign_time) ' . - ' VALUES(:accountid, :sign_days, :signable, :sign_time);', + $ret = $conn->execScript('INSERT INTO sign(accountid, sign_days, signable, sign_time, create_time, modify_time) ' . + ' VALUES(:accountid, :sign_days, :signable, :sign_time, :create_time, :modify_time) ' . + ' ON DUPLICATE KEY UPDATE accountid=:accountid, sign_days=:sign_days, signable=:signable, sign_time=:sign_time, modify_time=:modify_time;', array( ':accountid' => $account_id, ':sign_days' => 1, ':signable' => 0, - ':sign_time' => time() + ':sign_time' => time(), + ':create_time' => time(), + ':modify_time' => time() )); if (!$ret) { die(); @@ -127,13 +130,14 @@ class SignController{ if ($nowTime - phpcommon\getdayseconds($row['sign_time']) > 0) { $sign_days = $row['sign_days'] + 1; $signable = 0; - $ret = $conn->execScript('UPDATE sign SET sign_days=:sign_days, sign_time=:sign_time, signable=:signable ' . + $ret = $conn->execScript('UPDATE sign SET sign_days=:sign_days, sign_time=:sign_time, signable=:signable, modify_time=:modify_time ' . ' WHERE accountid=:accountid;', array( ':accountid' => $account_id, ':sign_days' => $sign_days, ':signable' => $signable, - ':sign_time' => time() + ':sign_time' => time(), + ':modify_time' => time() )); if (!$ret) { die(); @@ -146,14 +150,15 @@ class SignController{ )); if ($rowCount != 0) { for ($i = 0; $i < $rowCount; $i++) { - $ret = $conn->execScript('UPDATE quest SET quest_state=:quest_state, quest_num=:quest_num ' . + $ret = $conn->execScript('UPDATE quest SET quest_state=:quest_state, quest_num=:quest_num, modify_time=:modify_time ' . ' WHERE accountid=:accountid AND quest_type=:quest_type1 OR quest_type=:quest_type2;', array( ':accountid' => $account_id, ':quest_num' => 0, ':quest_type1' => 1, ':quest_type2' => 3, - ':quest_state' => 0 + ':quest_state' => 0, + ':modify_time' => time() )); } if (!$ret) { @@ -165,19 +170,19 @@ class SignController{ $quest->triggerQuest(QUEST_DAY_LOGIN, 1, 1, $account_id); $quest->triggerQuest(QUEST_SUM_LOGIN, 2, 1, $account_id); //刷新活动皮肤碎片收集状态 - $rowSkinCount = $conn->execQueryRowCount('SELECT * FROM skin ' . - ' WHERE accountid=:accountid AND skin_type=:skin_type;', - array( - ':accountid' => $account_id, - ':skin_type' => 2 - )); + $rowSkinCount = $conn->execQueryRowCount('SELECT * FROM skin WHERE accountid=:accountid AND skin_type=:skin_type;', + array( + ':accountid' => $account_id, + ':skin_type' => 2 + )); if ($rowSkinCount != 0) { for ($i = 0; $i < $rowSkinCount; $i++) { - $ret = $conn->execScript('UPDATE skin SET fragment_status=:fragment_status ' . + $ret = $conn->execScript('UPDATE skin SET fragment_status=:fragment_status, modify_time=:modify_time ' . ' WHERE accountid=:accountid;', array( ':accountid' => $account_id, - ':fragment_status' => 0 + ':fragment_status' => 0, + ':modify_time' => time() )); } if (!$ret) { @@ -214,12 +219,13 @@ class SignController{ ':accountid' => $account_id, ':fragment_id' => $item_id )); - $ret = $conn->execScript('UPDATE skin SET fragment_num=:fragment_num ' . + $ret = $conn->execScript('UPDATE skin SET fragment_num=:fragment_num, modify_time=:modify_time ' . ' WHERE accountid=:accountid AND fragment_id=:fragment_id;', array( ':accountid' => $account_id, ':fragment_id' => $item_id, - ':fragment_num' => $item_num + $rowSkin['fragment_num'] + ':fragment_num' => $item_num + $rowSkin['fragment_num'], + ':modify_time' => time() )); } @@ -247,11 +253,12 @@ class SignController{ return; } - $ret = $conn->execScript('UPDATE sign SET sign_time=:sign_time, signable=1 ' . + $ret = $conn->execScript('UPDATE sign SET sign_time=:sign_time, signable=1, modify_time=:modify_time ' . ' WHERE accountid=:accountid;', array( ':accountid' => $account_id, ':sign_time' => time(), + ':modify_time' => time() )); if (!$ret) { die(); @@ -275,10 +282,11 @@ class SignController{ array( ':accountid' => $account_id )); - $ret = $conn->execScript('UPDATE user SET coin_num=:coin_num WHERE accountid=:accountid;', + $ret = $conn->execScript('UPDATE user SET coin_num=:coin_num, modify_time=:modify_time WHERE accountid=:accountid;', array( ':accountid' => $account_id, - ':coin_num' => $num + $row2['coin_num'] + ':coin_num' => $num + $row2['coin_num'], + ':modify_time' => time() )); } else if($item_id > 13000 && $item_id < 14000){ $this->addReward($item_id, $num, $account_id); diff --git a/webapp/controller/SkinController.class.php b/webapp/controller/SkinController.class.php index e423f68..f4f7751 100644 --- a/webapp/controller/SkinController.class.php +++ b/webapp/controller/SkinController.class.php @@ -80,32 +80,35 @@ class SkinController{ } else if ($row['skin_type'] == 2) { $skin_status = 3; } - $ret = $conn->execScript('UPDATE skin SET active_time=0, skin_experience_level=0, skin_experience_type=0 ' . + $ret = $conn->execScript('UPDATE skin SET active_time=0, skin_experience_level=0, skin_experience_type=0, modify_time=:modify_time ' . ' WHERE accountid=:account_id AND skin_id=:skin_id;', array( ':account_id' => $row['accountid'], ':skin_id' => $row['skin_id'], + ':modify_time' => time() )); if(!$ret){ die(); return; } if ($row['skin_status'] == 0 && $row['skin_experience_type'] == 1) { - $ret = $conn->execScript('UPDATE skin SET skin_status=:skin_status ' . + $ret = $conn->execScript('UPDATE skin SET skin_status=:skin_status, modify_time=:modify_time ' . ' WHERE accountid=:account_id AND skin_id=:skin_id;', array( ':account_id' => $row['accountid'], ':skin_id' => $row['skin_id'], - ':skin_status' => $skin_status + ':skin_status' => $skin_status, + ':modify_time' => time() )); if(!$ret){ die(); return; } - $ret = $conn->execScript('UPDATE skin SET skin_status=0 ' . + $ret = $conn->execScript('UPDATE skin SET skin_status=0, modify_time=:modify_time ' . ' WHERE accountid = :account_id AND skin_id = 14001;', array( ':account_id' => $row['accountid'], + ':modify_time' => time() )); if(!$ret){ die(); @@ -135,9 +138,9 @@ class SkinController{ return; } $rowCount = $conn->execQueryRowCount('SELECT * FROM skin WHERE accountid = :account_id;', - array( - ':account_id' => $account_id - )); + array( + ':account_id' => $account_id + )); if ($rowCount == 0) { for ($i = 14001; $i <= count($g_conf_skin_cluster) + 14000; $i++) { $s = $this->getSkin($i); @@ -152,14 +155,17 @@ class SkinController{ } else { $skin_status = 2; } - $ret = $conn->execScript('INSERT INTO skin(accountid, skin_id, skin_status, fragment_id, fragment_num, active_time, fragment_status, skin_type, skin_level, skin_experience_level, skin_experience_type) ' . - ' VALUES(:account_id, :skin_id, :skin_status, :fragment_id, 0, 0, 0, :skin_type, 1, 0, 0);', + $ret = $conn->execScript('INSERT INTO skin(accountid, skin_id, skin_status, fragment_id, fragment_num, active_time, fragment_status, skin_type, skin_level, skin_experience_level, skin_experience_type, create_time, modify_time) ' . + ' VALUES(:account_id, :skin_id, :skin_status, :fragment_id, 0, 0, 0, :skin_type, 1, 0, 0, :create_time, :modify_time) ' . + ' ON DUPLICATE KEY UPDATE accountid=:accountid, skin_id=:skin_id, skin_status=:skin_status, fragment_id=:fragment_id, fragment_num=0, active_time=0, fragment_status=0, skin_type=:skin_type, skin_level=1, skin_experience_level=0, skin_experience_type=0, modify_time=:modify_time;', array( ':account_id' => $account_id, ':skin_id' => $i, ':skin_status' => $skin_status, ':fragment_id' => $i - 1000, ':skin_type' => $s['skin_type'], + ':create_time' => time(), + ':modify_time' => time() )); if(!$ret){ die(); @@ -186,8 +192,12 @@ class SkinController{ array( ':account_id' => $account_id, )); - + $skin_id = 0; foreach ($rowsSkin as $rowSkin) { + if ($skin_id == $rowSkin['skin_id']) { + continue; + } + $skin_id = $rowSkin['skin_id']; if ($rowSkin['active_time'] != 0 && $rowSkin['skin_experience_type'] == 2) { $skin_level = 9; } else { @@ -258,11 +268,12 @@ class SkinController{ phpcommon\sendError(ERR_USER_BASE + 3, '金币不足'); return; } - $ret = $conn->execScript('UPDATE user SET coin_num=:coin_num ' . + $ret = $conn->execScript('UPDATE user SET coin_num=:coin_num, modify_time=:modify_time ' . ' WHERE accountid=:accountid;', array( ':accountid' => $account_id, - ':coin_num' => $rowUser['coin_num'] - $coin + ':coin_num' => $rowUser['coin_num'] - $coin, + ':modify_time' => time() )); $fragment_num = 0; @@ -271,13 +282,14 @@ class SkinController{ if ($row['skin_status'] == 0) { $skin_status = 0; } - $ret = $conn->execScript('UPDATE skin SET fragment_num=:fragment_num ,skin_status=:skin_status, active_time=0, skin_experience_type=0 ' . + $ret = $conn->execScript('UPDATE skin SET fragment_num=:fragment_num ,skin_status=:skin_status, active_time=0, skin_experience_type=, modify_time=:modify_time ' . ' WHERE accountid = :account_id AND skin_id = :skin_id;', array( ':account_id' => $account_id, ':skin_id' => $skin_id, ':fragment_num' => $fragment_num, - ':skin_status' => $skin_status + ':skin_status' => $skin_status, + ':modify_time' => time() )); if (!$ret) { die(); @@ -324,23 +336,25 @@ class SkinController{ $skin_status = 3; } } - $using_ret = $conn->execScript('UPDATE skin SET skin_status=:skin_status ' . + $using_ret = $conn->execScript('UPDATE skin SET skin_status=:skin_status, modify_time=:modify_time ' . ' WHERE accountid = :account_id AND skin_id = :skin_id;', array( ':account_id' => $account_id, ':skin_id' => $usingskin_id, - ':skin_status' => $skin_status + ':skin_status' => $skin_status, + ':modify_time' => time() )); if(!$using_ret){ die(); return; } - $exchange_ret = $conn->execScript('UPDATE skin SET skin_status=0 ' . + $exchange_ret = $conn->execScript('UPDATE skin SET skin_status=0, modify_time=:modify_time ' . ' WHERE accountid = :account_id AND skin_id = :skin_id;', array( ':account_id' => $account_id, - ':skin_id' => $exchangeskin_id + ':skin_id' => $exchangeskin_id, + ':modify_time' => time() )); if(!$exchange_ret){ die(); @@ -402,15 +416,16 @@ class SkinController{ $time = $p['param_value']; $ex_type = 1; } - $ret = $conn->execScript('UPDATE skin SET active_time=:active_time, skin_experience_level=:skin_experience_level, skin_experience_type=:skin_experience_type ' . + $ret = $conn->execScript('UPDATE skin SET active_time=:active_time, skin_experience_level=:skin_experience_level, skin_experience_type=:skin_experience_type, modify_time=:modify_time ' . ' WHERE accountid = :account_id AND skin_id = :skin_id;', - array( - ':account_id' => $account_id, - ':skin_id' => $skin_id, - ':active_time' => time() + $time, - ':skin_experience_level' => $ex_level, - ':skin_experience_type' => $ex_type - )); + array( + ':account_id' => $account_id, + ':skin_id' => $skin_id, + ':active_time' => time() + $time, + ':skin_experience_level' => $ex_level, + ':skin_experience_type' => $ex_type, + ':modify_time' => time() + )); if(!$ret){ die(); return; @@ -459,13 +474,14 @@ class SkinController{ phpcommon\sendError(ERR_USER_BASE + 4, '皮肤碎片数量不足'); return; } - $ret = $conn->execScript('UPDATE skin SET skin_level=:skin_level, fragment_num=:fragment_num ' . + $ret = $conn->execScript('UPDATE skin SET skin_level=:skin_level, fragment_num=:fragment_num, modify_time=:modify_time ' . ' WHERE accountid=:account_id AND skin_id=:skin_id;', array( ':account_id' => $account_id, ':skin_id' => $skin_id, ':skin_level' => $d['next_level'], - ':fragment_num' => $row['fragment_num'] - $d['debris_num'] + ':fragment_num' => $row['fragment_num'] - $d['debris_num'], + ':modify_time' => time() )); if (!$ret) { die(); diff --git a/webapp/controller/SupplyBoxController.class.php b/webapp/controller/SupplyBoxController.class.php index 9e239e9..4c153bc 100644 --- a/webapp/controller/SupplyBoxController.class.php +++ b/webapp/controller/SupplyBoxController.class.php @@ -86,14 +86,15 @@ class SupplyBoxController{ )); foreach ($rows as $row) { if (phpcommon\getdayseconds(time()) - phpcommon\getdayseconds($row['last_buy_time']) > 0) { - $ret = $conn->execScript('UPDATE supplybox SET buy_times=:buy_times, last_buy_time=:time ' . - ' WHERE accountid=:accountid AND box_id=:box_id;', - array( - ':accountid' => $account_id, - ':box_id' => $row['box_id'], - ':buy_times' => 0, - ':time' => time() - )); + $ret = $conn->execScript('UPDATE supplybox SET buy_times=:buy_times, last_buy_time=:time, modify_time=:modify_time ' . + ' WHERE accountid=:accountid AND box_id=:box_id;', + array( + ':accountid' => $account_id, + ':box_id' => $row['box_id'], + ':buy_times' => 0, + ':time' => time(), + ':modify_time' => time() + )); if (!$ret) { die(); return; @@ -157,12 +158,15 @@ class SupplyBoxController{ phpcommon\sendError(ERR_USER_BASE + 2, '没有这个宝箱'); return; } else if ($free_open == 1) { - $ret = $conn->execScript('INSERT INTO supplybox(accountid, box_id, box_num, buy_times, last_buy_time) ' . - ' VALUES(:accountid, :box_id, 0, 0, 0);', - array( - ':accountid' => $account_id, - ':box_id' => $box_id, - )); + $ret = $conn->execScript('INSERT INTO supplybox(accountid, box_id, box_num, buy_times, last_buy_time, create_time, modify_time) ' . + ' VALUES(:accountid, :box_id, 0, 0, 0, :create_time, :modify_time) ' . + ' ON DUPLICATE KEY UPDATE accountid=:accountid, box_id=:box_id, box_num=0, buy_times=0, last_buy_time=0, modify_time=:modify_time;', + array( + ':accountid' => $account_id, + ':box_id' => $box_id, + ':create_time' => time(), + ':modify_time' => time() + )); if (!$ret) { die(); return; @@ -175,12 +179,13 @@ class SupplyBoxController{ return; } $box_num = $row['box_num'] - 1; - $ret = $conn->execScript('UPDATE supplybox SET box_num=:box_num ' . + $ret = $conn->execScript('UPDATE supplybox SET box_num=:box_num, modify_time=:modify_time ' . ' WHERE accountid=:accountid AND box_id=:box_id;', array( ':accountid' => $account_id, ':box_id' => $box_id, - ':box_num' => $box_num + ':box_num' => $box_num, + ':modify_time' => time() )); if (!$ret) { die(); @@ -230,15 +235,16 @@ class SupplyBoxController{ )); if ($item_id == 10001) { $row1 = $conn->execQueryOne('SELECT * FROM user WHERE accountid=:accountid;', - array( - ':accountid' => $account_id - )); - $ret = $conn->execScript('UPDATE user SET coin_num=:coin_num ' . - ' WHERE accountid=:accountid;', - array( - ':accountid' => $account_id, - ':coin_num' => $item_num + $row1['coin_num'] - )); + array( + ':accountid' => $account_id + )); + $ret = $conn->execScript('UPDATE user SET coin_num=:coin_num, modify_time=:modify_time ' . + ' WHERE accountid=:accountid;', + array( + ':accountid' => $account_id, + ':coin_num' => $item_num + $row1['coin_num'], + ':modify_time' => time() + )); } else if($item_id > 13000 && $item_id < 14000){ $this->addReward($item_id, $item_num, $account_id); } @@ -287,20 +293,24 @@ class SupplyBoxController{ phpcommon\sendError(ERR_USER_BASE + 3, '金币不足'); return; } - $ret = $conn->execScript('UPDATE user SET coin_num=:coin_num ' . + $ret = $conn->execScript('UPDATE user SET coin_num=:coin_num, modify_time=:modify_time ' . ' WHERE accountid=:accountid;', array( ':accountid' => $account_id, - ':coin_num' => $row['coin_num'] - $s['price'] + ':coin_num' => $row['coin_num'] - $s['price'], + ':modify_time' => time() )); - $ret = $conn->execScript('INSERT INTO supplybox(accountid, box_id, box_num, buy_times, last_buy_time) ' . - ' VALUES(:accountid, :box_id, :box_num, :buy_times, :last_buy_time);', + $ret = $conn->execScript('INSERT INTO supplybox(accountid, box_id, box_num, buy_times, last_buy_time, create_time, modify_time) ' . + ' VALUES(:accountid, :box_id, :box_num, :buy_times, :last_buy_time, :create_time, :modify_time) ' . + ' ON DUPLICATE KEY UPDATE accountid=:accountid, box_id=:box_id, box_num=:box_num, buy_times=:buy_times, last_buy_time=0, modify_time=:modify_time;', array( ':accountid' => $account_id, ':box_id' => $box_id, ':box_num' => 1, ':buy_times' => 1, - ':last_buy_time' => time() + ':last_buy_time' => time(), + ':create_time' => time(), + ':modify_time' => time() )); if (!$ret) { die(); @@ -316,22 +326,24 @@ class SupplyBoxController{ phpcommon\sendError(ERR_USER_BASE + 3, '金币不足'); return; } - $ret = $conn->execScript('UPDATE user SET coin_num=:coin_num ' . + $ret = $conn->execScript('UPDATE user SET coin_num=:coin_num, modify_time=:modify_time ' . ' WHERE accountid=:accountid;', array( ':accountid' => $account_id, - ':coin_num' => $row1['coin_num'] - ($s['price'] * pow($s['parameter'], ($row['buy_times']))) + ':coin_num' => $row1['coin_num'] - ($s['price'] * pow($s['parameter'], ($row['buy_times']))), + ':modify_time' => time() )); $buy_times = $row['buy_times'] + 1; $box_num = $row['box_num'] + 1; - $ret = $conn->execScript('UPDATE supplybox SET box_num=:box_num, buy_times=:buy_times, last_buy_time=:time ' . + $ret = $conn->execScript('UPDATE supplybox SET box_num=:box_num, buy_times=:buy_times, last_buy_time=:time, modify_time=:modify_time ' . ' WHERE accountid=:accountid AND box_id=:box_id;', array( ':accountid' => $account_id, ':box_id' => $box_id, ':box_num' => $box_num, ':buy_times' => $buy_times, - ':time' => time() + ':time' => time(), + ':modify_time' => time() )); if (!$ret) { die(); @@ -356,12 +368,13 @@ class SupplyBoxController{ ':accountid' => $account_id, ':fragment_id' => $item_id )); - $ret = $conn->execScript('UPDATE skin SET fragment_num=:fragment_num ' . + $ret = $conn->execScript('UPDATE skin SET fragment_num=:fragment_num, modify_time=:modify_time ' . ' WHERE accountid=:accountid AND fragment_id=:fragment_id;', array( ':accountid' => $account_id, ':fragment_id' => $item_id, - ':fragment_num' => $item_num + $rowSkin['fragment_num'] + ':fragment_num' => $item_num + $rowSkin['fragment_num'], + ':modify_time' => time() )); } }