1
This commit is contained in:
parent
bb81294415
commit
ee31a8c76a
@ -9,8 +9,8 @@ class EventRanking(object):
|
||||
{
|
||||
'name': 'eventRankingList',
|
||||
'desc': '排行活动列表',
|
||||
'group': 'History',
|
||||
'url': 'webapp/index.php?c=Battle&a=eventRankingList',
|
||||
'group': 'EventRanking',
|
||||
'url': 'webapp/index.php?c=EventRanking&a=eventRankingList',
|
||||
'params': [
|
||||
_common.ReqHead(),
|
||||
],
|
||||
@ -19,5 +19,21 @@ class EventRanking(object):
|
||||
['!list', [_common.EventRankingList()], '活动列表'],
|
||||
]
|
||||
},
|
||||
{
|
||||
'name': 'activityRankingList',
|
||||
'desc': '活动排行榜',
|
||||
'group': 'EventRanking',
|
||||
'url': 'webapp/index.php?c=EventRanking&a=activityRankingList',
|
||||
'params': [
|
||||
_common.ReqHead(),
|
||||
['wave', 0, '活动轮数'],
|
||||
['type', 0, '排行榜类型 1:生存榜 2:击杀榜 3:英雄升级 4:英雄升阶'],
|
||||
['page', 0, '页码(可选)'],
|
||||
],
|
||||
'response': [
|
||||
_common.RspHead(),
|
||||
['ranking_list', _common.RankingListEx(), '排行榜数据']
|
||||
]
|
||||
},
|
||||
|
||||
]
|
||||
|
@ -579,6 +579,14 @@ class RankingList(object):
|
||||
['!ranking_list', [RankingItem()], '排行榜'],
|
||||
['my_ranked', RankingItem(), '我的排名(如果ranked<1则表示自己未上榜)'],
|
||||
]
|
||||
class GuildEx(object):
|
||||
|
||||
def __init__(self):
|
||||
self.fields = [
|
||||
['guild_id', 0, '工会id'],
|
||||
['guild_name', '', '工会名称'],
|
||||
['guild_badge', '', '工会头像']
|
||||
]
|
||||
|
||||
class RankingItemEx(object):
|
||||
|
||||
@ -586,6 +594,7 @@ class RankingItemEx(object):
|
||||
self.fields = [
|
||||
['ranked', 0, '排名'],
|
||||
['user', UserSimple(), '用户信息'],
|
||||
['guild', GuildEx(), '工会信息'],
|
||||
['value', 0, '存活时间 击杀数'],
|
||||
['rewardNum', 0, '奖励'],
|
||||
['extraRewardNum', 0, '额外奖励'],
|
||||
|
@ -124,6 +124,23 @@ class BaseController {
|
||||
return $this->marketDbConn;
|
||||
}
|
||||
|
||||
public function _getRelationDbMysql()
|
||||
{
|
||||
if ($this->marketDbConn) {
|
||||
return $this->marketDbConn;
|
||||
}
|
||||
$mysql_conf = getMarketMysqlConfig(crc32(''));
|
||||
$this->marketDbConn = new phpcommon\Mysql(array(
|
||||
'host' => $mysql_conf['host'],
|
||||
'port' => $mysql_conf['port'],
|
||||
'user' => $mysql_conf['user'],
|
||||
'passwd' => $mysql_conf['passwd'],
|
||||
'dbname' => getXVal($mysql_conf, 'dbname', 'relationdb1')
|
||||
));
|
||||
return $this->marketDbConn;
|
||||
}
|
||||
|
||||
|
||||
public function _getRedis($data)
|
||||
{
|
||||
$redis_conf = getRedisConfig(crc32($data));
|
||||
|
@ -1,11 +1,13 @@
|
||||
<?php
|
||||
require_once('models/User.php');
|
||||
require_once('models/Guild.php');
|
||||
|
||||
require_once('mt/EventRanking.php');
|
||||
|
||||
require_once('services/RankActivityService.php');
|
||||
|
||||
use models\User;
|
||||
use models\Guild;
|
||||
class EventRankingController extends BaseAuthedController
|
||||
{
|
||||
public function eventRankingList(){
|
||||
@ -161,25 +163,41 @@ class EventRankingController extends BaseAuthedController
|
||||
)
|
||||
);
|
||||
$ranked = 0;
|
||||
// print_r($userInfo);die;
|
||||
|
||||
foreach ($rows as $row) {
|
||||
$ranked += 1;
|
||||
$guildDb = Guild::find($row['guild_id']);
|
||||
// $guildDb = null;
|
||||
if (!$userInfo['guild_id']){
|
||||
$this->myRanked = array();
|
||||
}else if($userInfo['guild_id'] && $userInfo['guild_id'] == $row['guild_id']){
|
||||
$this->myRanked['ranked'] = $ranked;
|
||||
$this->myRanked['user'] = $row['guild_id'];
|
||||
$this->myRanked['user'] = array();
|
||||
$this->myRanked['guild'] = Guild::toSimple($guildDb);
|
||||
$this->myRanked['value'] = $row['value'];
|
||||
$this->myRanked['rewardNum'] = $this->celAward($wave,$type,$ranked)['rewardNum'];
|
||||
$this->myRanked['extraRewardNum'] = $this->celAward($wave,$type,$ranked)['extraRewardNum'];
|
||||
$this->myRanked['modifytime'] = $row['modifytime'];
|
||||
}else{
|
||||
// $this->myRanked['value'] = $row['value'];
|
||||
// $this->myRanked['user'] = $row['guild_id'];
|
||||
$guildDb = Guild::find($userInfo['guild_id']);
|
||||
$value = myself()->_getSelfMysql()->execQuery(
|
||||
'SELECT guild_id,SUM(value) AS value FROM t_rank_activity ' .
|
||||
'WHERE wave=:wave AND type=:type AND guild_id=:guild_id ' .
|
||||
'GROUP BY guild_id limit 1',
|
||||
array(
|
||||
':wave' => $wave,
|
||||
':type' => $type,
|
||||
':guild_id'=>$userInfo['guild_id']
|
||||
)
|
||||
);
|
||||
$this->myRanked['user'] = array();
|
||||
$this->myRanked['guild'] =Guild::toSimple($guildDb);
|
||||
$this->myRanked['value'] =$value[0]['value'];
|
||||
}
|
||||
array_push($rankingList, array(
|
||||
'ranked' => $ranked,
|
||||
'user' => $row['guild_id'],
|
||||
'user' => array(),
|
||||
'guild'=>Guild::toSimple($guildDb),
|
||||
'value' => $row['value'],
|
||||
'rewardNum' => $this->celAward($wave,$type,$ranked)['rewardNum'],
|
||||
'extraRewardNum' => $this->celAward($wave,$type,$ranked)['extraRewardNum'],
|
||||
|
32
webapp/models/Guild.php
Normal file
32
webapp/models/Guild.php
Normal file
@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace models;
|
||||
|
||||
use mt;
|
||||
use phpcommon\SqlHelper;
|
||||
class Guild extends BaseModel
|
||||
{
|
||||
public static function find($guildId){
|
||||
$row = SqlHelper::ormSelectOne(
|
||||
myself()->_getRelationDbMysql(),
|
||||
'guild',
|
||||
array(
|
||||
'guild_id' => $guildId,
|
||||
)
|
||||
);
|
||||
return $row;
|
||||
}
|
||||
|
||||
public static function toSimple($row){
|
||||
if (! $row){
|
||||
return array();
|
||||
}
|
||||
return array(
|
||||
'guild_id' => $row['guild_id'],
|
||||
'guild_name' => $row['guild_name'],
|
||||
'guild_badge' => $row['guild_badge']
|
||||
);
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user