This commit is contained in:
aozhiwei 2021-12-10 17:13:53 +08:00
parent 8c39302e93
commit 083e563cc5
7 changed files with 72 additions and 230 deletions

View File

@ -12,20 +12,12 @@ class Team(object):
'url': 'webapp/index.php?c=Team&a=createTeam', 'url': 'webapp/index.php?c=Team&a=createTeam',
'params': [ 'params': [
_common.ReqHead(), _common.ReqHead(),
['node_id', 0, '节点id'],
['map_id', 0, '地图id'],
], ],
'response': [ 'response': [
_common.RspHead(), _common.RspHead(),
] ['team_info', _common.TeamInfo(), '队伍信息'],
},
{
'desc': 'resetRoom',
'group': 'Team',
'url': 'webapp/index.php?c=Team&a=resetRoom',
'params': [
_common.ReqHead(),
],
'response': [
_common.RspHead(),
] ]
}, },
{ {
@ -34,42 +26,11 @@ class Team(object):
'url': 'webapp/index.php?c=Team&a=teamInfo', 'url': 'webapp/index.php?c=Team&a=teamInfo',
'params': [ 'params': [
_common.ReqHead(), _common.ReqHead(),
['team_uuid', '', '队伍唯一id'],
], ],
'response': [ 'response': [
_common.RspHead(), _common.RspHead(),
] ['team_info', _common.TeamInfo(), '队伍信息'],
},
{
'desc': 'getSelectHeroTeamInfo',
'group': 'Team',
'url': 'webapp/index.php?c=Team&a=getSelectHeroTeamInfo',
'params': [
_common.ReqHead(),
],
'response': [
_common.RspHead(),
]
},
{
'desc': 'selectHero',
'group': 'Team',
'url': 'webapp/index.php?c=Team&a=selectHero',
'params': [
_common.ReqHead(),
],
'response': [
_common.RspHead(),
]
},
{
'desc': 'readyGame',
'group': 'Team',
'url': 'webapp/index.php?c=Team&a=readyGame',
'params': [
_common.ReqHead(),
],
'response': [
_common.RspHead(),
] ]
}, },
{ {
@ -83,17 +44,6 @@ class Team(object):
_common.RspHead(), _common.RspHead(),
] ]
}, },
{
'desc': 'kickoutMember',
'group': 'Team',
'url': 'webapp/index.php?c=Team&a=kickoutMember',
'params': [
_common.ReqHead(),
],
'response': [
_common.RspHead(),
]
},
{ {
'desc': 'leaveTeam', 'desc': 'leaveTeam',
'group': 'Team', 'group': 'Team',
@ -105,17 +55,6 @@ class Team(object):
_common.RspHead(), _common.RspHead(),
] ]
}, },
{
'desc': 'updateTeam',
'group': 'Team',
'url': 'webapp/index.php?c=Team&a=updateTeam',
'params': [
_common.ReqHead(),
],
'response': [
_common.RspHead(),
]
},
{ {
'desc': 'startGame', 'desc': 'startGame',
'group': 'Team', 'group': 'Team',

View File

@ -302,3 +302,31 @@ class RedDot(object):
['type', 0, '红点类型'], ['type', 0, '红点类型'],
['state', 0, '红点状态 0:无 1:有'], ['state', 0, '红点状态 0:无 1:有'],
] ]
class TeamMember(object):
def __init__(self):
self.fields = [
['account_id', '', '账号id'],
['name', '', '用户名字'],
['sex', 0, '性别'],
['head_id', 0, '头像id'],
['head_frame', 0, '头像框id'],
['level', 0, '等级'],
['exp', 0, '经验'],
['rank', 0, '段位'],
['game_times', 0, '游戏次数'],
['win_times', 0, '胜利次数'],
['kills', 0, '击杀数'],
['createtime', 0, '账号创建时间'],
]
class TeamInfo(object):
def __init__(self):
self.fields = [
['team_uuid', '', '队伍唯一id'],
['map_id', 0, '地图id'],
['state', 0, '0:未开始 1:准备就绪(这时客户端进入长链接走组队逻辑)'],
['member_list', [TeamMember()], '队伍成员列表(包含自己)'],
]

View File

@ -64,16 +64,25 @@ class MissionController extends BaseAuthedController {
$type = getReqVal('type', 0); $type = getReqVal('type', 0);
$missionMetaList = mt\Task::getCustomTypeMetaList($type); $missionMetaList = mt\Task::getCustomTypeMetaList($type);
$missionHash = Mission::allToHash(); $missionHash = Mission::allToHash();
$missionDtoList = array(); $missionDtoList1 = array();
$missionDtoList2 = array();
foreach ($missionMetaList as $missionMeta) { foreach ($missionMetaList as $missionMeta) {
$missionDb = getXVal($missionHash, $missionMeta['id'], null); $missionDb = getXVal($missionHash, $missionMeta['id'], null);
$missionDto = $this->missionService->getMissionDto( $missionDto = $this->missionService->getMissionDto(
$this->userInfo, $this->seasonDb, $missionDb, $missionMeta); $this->userInfo, $this->seasonDb, $missionDb, $missionMeta);
array_push($missionDtoList, $missionDto); if ($missionMeta['type'] == mt\Task::DAILY_MISSON_TYPE) {
if ($missionMeta['subtype'] == mt\Task::DAILY_ACTIVE_VALUE_MISSON_SUBTYPE) {
array_push($missionDtoList1, $missionDto);
} else {
array_push($missionDtoList2, $missionDto);
}
} else {
array_push($missionDtoList1, $missionDto);
}
} }
$this->_rspData(array( $this->_rspData(array(
'mission_list1' => $missionDtoList, 'mission_list1' => $missionDtoList1,
'mission_list2' => array() 'mission_list2' => $missionDtoList2
)); ));
} }

View File

@ -70,10 +70,10 @@ class SeasonCardController extends BaseAuthedController {
'info' => array( 'info' => array(
'season_id' => $this->currSeasonMeta['id'], 'season_id' => $this->currSeasonMeta['id'],
'season_begin_time' => strtotime($this->currSeasonMeta['begin_time']), 'season_begin_time' => strtotime($this->currSeasonMeta['begin_time']),
'season_begin_end' => strtotime($this->currSeasonMeta['end_time']), 'season_end_time' => strtotime($this->currSeasonMeta['end_time']),
'card_lv' => $this->seasonDb ? $this->seasonDb['card_lv'] : 1, 'card_lv' => $this->seasonDb ? $this->seasonDb['card_lv'] : 1,
'card_exp' => $this->seasonDb ? $this->seasonDb['card_exp'] : 0, 'card_exp' => $this->seasonDb ? $this->seasonDb['card_exp'] : 0,
'card_max_exp' => $this->seasonDb ? $this->seasonDb['card_exp'] : 0, 'card_max_exp' => $this->seasonDb ? $this->seasonDb['card_exp'] : 1,
'gift_packages' => $this->getGiftPackages(), 'gift_packages' => $this->getGiftPackages(),
'received_level_rewards1' => $this->getReceivedLevelRewards(SeasonCard::NORMAL_PACKAGE_ID), 'received_level_rewards1' => $this->getReceivedLevelRewards(SeasonCard::NORMAL_PACKAGE_ID),
'received_level_rewards2' => $this->getReceivedLevelRewards(SeasonCard::VIP_PACKAGE_ID), 'received_level_rewards2' => $this->getReceivedLevelRewards(SeasonCard::VIP_PACKAGE_ID),

View File

@ -1,6 +1,5 @@
<?php <?php
class TeamController extends BaseAuthedController { class TeamController extends BaseAuthedController {
public function createTeam() public function createTeam()
@ -84,33 +83,7 @@ class TeamController extends BaseAuthedController {
'team_uuid' => $team_uuid 'team_uuid' => $team_uuid
)); ));
} }
public function resetRoom()//解散房间
{
if (!isset($_REQUEST['team_uuid'])) {
return;
}
$team_uuid = $_REQUEST['team_uuid'];
$r = $this->_getRedis($team_uuid);
$account_id = $_REQUEST['account_id'];
$sessionid = $_REQUEST['session_id'];
$user_db_str = $r->get(TEAMID_KEY . $team_uuid);
if (empty($user_db_str)) {
phpcommon\sendError(ERR_USER_BASE + 1,'session失效1');
return;
}
$user_db = json_decode($user_db_str, true);
if (empty($user_db)) {
phpcommon\sendError(ERR_USER_BASE + 1,'session失效2');
return;
}
$user_db['state'] = 3;
$r->set(TEAMID_KEY . $team_uuid, json_encode($user_db));
$r -> pexpire(TEAMID_KEY . $team_uuid, 1000 * 600);
$this->leaveTeam();
}
public function teamInfo() public function teamInfo()
{ {
if (!isset($_REQUEST['team_uuid'])) { if (!isset($_REQUEST['team_uuid'])) {
@ -160,137 +133,7 @@ class TeamController extends BaseAuthedController {
'map_id' => $user_db['map_id'], 'map_id' => $user_db['map_id'],
)); ));
} }
public function getSelectHeroTeamInfo()
{
if (!isset($_REQUEST['team_uuid'])) {
return;
}
$team_uuid = $_REQUEST['team_uuid'];
$r = $this->_getRedis($team_uuid);
$account_id = $_REQUEST['account_id'];
$sessionid = $_REQUEST['session_id'];
$user_db_str = $r->get(TEAMID_KEY . $team_uuid);
if (empty($user_db_str)) {
phpcommon\sendError(ERR_USER_BASE + 1,'session失效1');
return;
}
$user_db = json_decode($user_db_str, true);
if (empty($user_db)) {
phpcommon\sendError(ERR_USER_BASE + 1,'session失效2');
return;
}
$member_list = array();
foreach ($user_db['member_list'] as $member) {
array_push($member_list, array(
'idx' => $member['idx'],
'account_id' => $member['account_id'],
'name' => $member['name'],
'hiID' => $member['hiID'],
'readyState' => $member['readyState'],
'hiFrameID' => $member['hiFrameID'],
'roomManager' => $member['roomManager'],
'sex' => $member['sex'],
'selectHeroID' => $member['selectHeroID'],
'selectHeroSkinID' => $member['selectHeroSkinID']
));
}
echo json_encode(array(
'errcode' => 0,
'errmsg'=> '',
'team_uuid' => $team_uuid,
'state' => $user_db['state'],
'member_list' => $member_list,
'model' => $user_db['model'],
'map_id' => $user_db['map_id'],
));
}
public function selectHero()
{
if (!isset($_REQUEST['team_uuid'])) {
return;
}
$team_uuid = $_REQUEST['team_uuid'];
$r = $this->_getRedis($team_uuid);
$user_db_str = $r->get(TEAMID_KEY.$team_uuid);
if (empty($user_db_str)) {
phpcommon\sendError(ERR_USER_BASE + 1,'session失效1');
return;
}
$user_db = json_decode($user_db_str, true);
if (empty($user_db)) {
phpcommon\sendError(ERR_USER_BASE + 1, 'session失效2');
return;
}
$type = $_REQUEST['type'];
$acctID = $_REQUEST['account_id'];
// error_log("SelectHero".$type."==".$acctID);
foreach ($user_db['member_list'] as &$memberlist)
{
if($memberlist['account_id'] == $acctID)
{
if($type == 1)
{
$heroID = $_REQUEST['heroID'];
$heroSkinID = $_REQUEST['heroSkinID'];
$memberlist['selectHeroID'] = $heroID;
$memberlist['selectHeroSkinID'] = $heroSkinID;
}
else if($type == 2)
{
$readyState = $_REQUEST['readyState'];
$memberlist['readyState'] = $readyState;
}
break;
}
}
$r->set(TEAMID_KEY . $team_uuid, json_encode($user_db));
$r -> pexpire(TEAMID_KEY . $team_uuid, 1000 * 600);
echo json_encode(array(
'errcode' => 0,
'errmsg' => ''
));
}
public function readyGame()
{
if (!isset($_REQUEST['team_uuid'])) {
return;
}
$team_uuid = $_REQUEST['team_uuid'];
$r = $this->_getRedis($team_uuid);
$user_db_str = $r->get(TEAMID_KEY.$team_uuid);
if (empty($user_db_str)) {
phpcommon\sendError(ERR_USER_BASE + 1,'session失效1');
return;
}
$user_db = json_decode($user_db_str, true);
if (empty($user_db)) {
phpcommon\sendError(ERR_USER_BASE + 1, 'session失效2');
return;
}
$readyState = $_REQUEST['readyState'];
// $user_db['member_list'] = array_values($user_db['member_list']);
$acctID = $_REQUEST['account_id'];
foreach ($user_db['member_list'] as &$memberlist)
{
if($memberlist['account_id'] == $acctID)
{
$memberlist['readyState'] = $readyState;
break;
}
}
$r->set(TEAMID_KEY . $team_uuid, json_encode($user_db));
$r -> pexpire(TEAMID_KEY . $team_uuid, 1000 * 600);
echo json_encode(array(
'errcode' => 0,
'errmsg' => ''
));
}
public function joinTeam() public function joinTeam()
{ {
if (!isset($_REQUEST['team_uuid'])) { if (!isset($_REQUEST['team_uuid'])) {
@ -362,7 +205,7 @@ class TeamController extends BaseAuthedController {
'game_times' => $row['game_times'], 'game_times' => $row['game_times'],
'win_times' => $row['win_times'], 'win_times' => $row['win_times'],
'kills' => $row['kills'], 'kills' => $row['kills'],
'create_time' => $row['create_time'], 'cre3ate_time' => $row['create_time'],
'hiID' => $hiID, 'hiID' => $hiID,
'hiFrameID' => $hiFrameID, 'hiFrameID' => $hiFrameID,
'readyState' => $readyState, 'readyState' => $readyState,

View File

@ -47,6 +47,9 @@ class Task {
const TOTAL_GIVE_FRIEND_GOLD_COUNT_COND = 40; //赠送X个好友金币 const TOTAL_GIVE_FRIEND_GOLD_COUNT_COND = 40; //赠送X个好友金币
const TOTAL_INVITE_FRIEND_ONLINE_TIMES_COND = 41; //邀请X个好友上线 const TOTAL_INVITE_FRIEND_ONLINE_TIMES_COND = 41; //邀请X个好友上线
const TOTAL_CREATE_OR_JOIN_GUILD_COUNT_COND = 42; //创建或加入1个战队 const TOTAL_CREATE_OR_JOIN_GUILD_COUNT_COND = 42; //创建或加入1个战队
const T1OTAL_CREATE_OR_JOIN_GUILD_COUNT_COND = 43; //段位达到X且进行Y场比赛
const DAILY_ACTIVE_VALUE_COND = 44; //每日活跃度达到X
const WEEKLY_ACTIVE_VALUE_COND = 45; //每周活跃度达到X
const DAILY_MISSON_TYPE = 1; const DAILY_MISSON_TYPE = 1;
const ACHIEVEMENT_MISSON_TYPE = 2; const ACHIEVEMENT_MISSON_TYPE = 2;
@ -58,6 +61,8 @@ class Task {
const SEASON_CHALLENGE_MISSON_SUBTYPE = 2; const SEASON_CHALLENGE_MISSON_SUBTYPE = 2;
const SEASON_ACTIVE_MISSON_SUBTYPE = 3; const SEASON_ACTIVE_MISSON_SUBTYPE = 3;
const DAILY_ACTIVE_VALUE_MISSON_SUBTYPE = 1;
const SEASON_MISSON_FLAG = 1; const SEASON_MISSON_FLAG = 1;
const DAILY_MISSION_CUSTOM_TYPE = 1; const DAILY_MISSION_CUSTOM_TYPE = 1;

View File

@ -308,6 +308,24 @@ class MissionService extends BaseService {
$handled = false; $handled = false;
} }
break; break;
case mt\Task::T1OTAL_CREATE_OR_JOIN_GUILD_COUNT_COND:
{
//段位达到X且进行Y场比赛
$handled = false;
}
break;
case mt\Task::DAILY_ACTIVE_VALUE_COND:
{
//每日活跃度达到X
//$handled = false;
}
break;
case mt\Task::WEEKLY_ACTIVE_VALUE_COND:
{
//每周活跃度达到X
$handled = false;
}
break;
default: default:
{ {
} }