查看战绩及详情

This commit is contained in:
hujiabin 2023-03-22 20:45:42 +08:00
parent 14885e8260
commit 536f0a4456
4 changed files with 111 additions and 43 deletions

View File

@ -27,7 +27,8 @@ class Battle(object):
'url': 'webapp/index.php?c=Battle&a=getBattleHistory', 'url': 'webapp/index.php?c=Battle&a=getBattleHistory',
'params': [ 'params': [
_common.ReqHead(), _common.ReqHead(),
['mode', '', ' 1:pvp 2:pve'] ['room_mode', '', ' 0:pvp 1:pve'],
['pvp_mode', '', ' 0:匹配 1:排位']
], ],
'response': [ 'response': [
_common.RspHead(), _common.RspHead(),
@ -41,7 +42,8 @@ class Battle(object):
'url': 'webapp/index.php?c=Battle&a=showBattleHistory', 'url': 'webapp/index.php?c=Battle&a=showBattleHistory',
'params': [ 'params': [
_common.ReqHead(), _common.ReqHead(),
['battle_uniid', '', ' 战斗唯一id'] ['battle_uuid', '', ' 战斗唯一id'],
['room_uuid', '', ' 房间唯一id']
], ],
'response': [ 'response': [
_common.RspHead(), _common.RspHead(),

View File

@ -373,8 +373,12 @@ class BattleController extends BaseAuthedController {
} }
public function getBattleHistory(){ public function getBattleHistory(){
$mode = getReqVal('mode', 0); $room_mode = getReqVal('room_mode', 0);
$historyList = BattleHistory::orderBy(BattleHistory::getMyBattleHistoryByMode($mode),'desc'); $pvp_mode = getReqVal('pvp_mode', 0);
$singleList = BattleSettlement::getSingleList($room_mode,$pvp_mode);
$historyList = BattleHistory::orderBy($singleList,'desc');
// print_r($data);die;
// $historyList = BattleHistory::orderBy(BattleHistory::getMyBattleHistoryByMode($mode),'desc');
$data = array(); $data = array();
foreach ($historyList as $k=>$history){ foreach ($historyList as $k=>$history){
if ($k < 20){ if ($k < 20){
@ -386,13 +390,19 @@ class BattleController extends BaseAuthedController {
)); ));
} }
public function showBattleHistory(){ public function showBattleHistory(){
$battleUnid = getReqVal('battle_uniid', 0); $battleUuid = getReqVal('battle_uuid', 0);
if ( !$battleUnid){ $roomUuid = getReqVal('room_uuid', 0);
if ( !$battleUuid){
$this->_rspErr(1,'param error'); $this->_rspErr(1,'param error');
return; return;
} }
$row = BattleSettlement::find($battleUnid); if ( !$roomUuid){
$this->_rspErr(1,'param error');
return;
}
$row = BattleSettlement::findTeam($battleUuid,$roomUuid);
if (!$row){ if (!$row){
$this->_rspErr(1,'param error'); $this->_rspErr(1,'param error');
return; return;

View File

@ -141,12 +141,12 @@ class MissionController extends BaseAuthedController {
$this->_rspErr(3, 'Mission objectives not achieved'); $this->_rspErr(3, 'Mission objectives not achieved');
return; return;
} }
if ($missionMeta['condition'] == mt\Task::FINISHED_ALL_DAILY_MISSION_COND) { // if ($missionMeta['condition'] == mt\Task::FINISHED_ALL_DAILY_MISSION_COND) {
if (!$this->specMissionIsFinished($missionDto, $missionMeta)) { // if (!$this->specMissionIsFinished($missionDto, $missionMeta)) {
$this->_rspErr(3, 'Mission objectives not achieved'); // $this->_rspErr(3, 'Mission objectives not achieved');
return; // return;
} // }
} // }print_r($missionMeta);die;
if ($missionDto['state'] != Mission::RECEIVEABLE_STATE) { if ($missionDto['state'] != Mission::RECEIVEABLE_STATE) {
$this->_rspErr(3, 'Unknown mission status'); $this->_rspErr(3, 'Unknown mission status');
return; return;

View File

@ -7,41 +7,47 @@ use phpcommon\SqlHelper;
class BattleSettlement extends BaseModel class BattleSettlement extends BaseModel
{ {
const ROOM_MODE_PVP = 0;
// const MATCH_MODE_MATCH = 1;
const ROOM_MODE_PVE = 1;
const MATCH_MODE_PVP = 0;
const MATCH_MODE_RANK = 1;
public static function add($battleUuid, $data) public static function add($battleUuid, $data)
{ {
SqlHelper::upsert SqlHelper::upsert
(myself()->_getSelfMysql(), (myself()->_getSelfMysql(),
't_battle_settlement', 't_battle_settlement',
array( array(
'account_id' => myself()->_getAccountId(), 'account_id' => myself()->_getAccountId(),
'battle_uniid' => $battleUuid, 'battle_uniid' => $battleUuid,
), ),
array( array(),
), array(
array( 'account_id' => myself()->_getAccountId(),
'account_id' => myself()->_getAccountId(), 'battle_uniid' => $battleUuid,
'battle_uniid' => $battleUuid, 'data' => $data,
'data' => $data, 'createtime' => myself()->_getNowTime(),
'createtime' => myself()->_getNowTime(), 'modifytime' => myself()->_getNowTime(),
'modifytime' => myself()->_getNowTime(), )
) );
);
} }
public static function find($battleUuid) public static function find($battleUuid)
{ {
$row = SqlHelper::ormSelectOne $row = SqlHelper::ormSelectOne
(myself()->_getSelfMysql(), (myself()->_getSelfMysql(),
't_battle_settlement', 't_battle_settlement',
array( array(
'account_id' => myself()->_getAccountId(), 'account_id' => myself()->_getAccountId(),
'battle_uniid' => $battleUuid, 'battle_uniid' => $battleUuid,
) )
); );
return $row; return $row;
} }
public static function addSingle($battleUuid,$roomUuid, $data) public static function addSingle($battleUuid, $roomUuid, $data)
{ {
SqlHelper::upsert SqlHelper::upsert
(myself()->_getSelfMysql(), (myself()->_getSelfMysql(),
@ -50,8 +56,7 @@ class BattleSettlement extends BaseModel
'account_id' => myself()->_getAccountId(), 'account_id' => myself()->_getAccountId(),
'battle_uuid' => $battleUuid, 'battle_uuid' => $battleUuid,
), ),
array( array(),
),
array( array(
'account_id' => myself()->_getAccountId(), 'account_id' => myself()->_getAccountId(),
'battle_uuid' => $battleUuid, 'battle_uuid' => $battleUuid,
@ -63,7 +68,57 @@ class BattleSettlement extends BaseModel
); );
} }
public static function addTeam($battleUuid,$roomUuid, $data) public static function getSingleList($roomMode, $matchMode)
{
$rows = SqlHelper::ormSelect
(myself()->_getSelfMysql(),
't_battle_settlement_single',
array(
'account_id' => myself()->_getAccountId(),
)
);
$pvpMatchList = array();
$pvpRankList = array();
$pveMatchList = array();
foreach ($rows as $row) {
$data = emptyReplace(json_decode($row['data'], true), array());
if ($data['room_mode'] == self::ROOM_MODE_PVP && $data['pvp_mode'] == self::MATCH_MODE_PVP) {
array_push($pvpMatchList, self::singleDto($row));
} else if ($data['room_mode'] == self::ROOM_MODE_PVP && $data['pvp_mode'] == self::MATCH_MODE_RANK) {
array_push($pvpRankList, self::singleDto($row));
} else if ($data['room_mode'] == self::ROOM_MODE_PVE) {
array_push($pveMatchList, self::singleDto($row));
}
}
switch ($roomMode) {
case self::ROOM_MODE_PVP :
{
switch ($matchMode) {
case self::MATCH_MODE_PVP :
{
return $pvpMatchList;
}
case self::MATCH_MODE_RANK :
{
return $pvpRankList;
}
}
}
case self::ROOM_MODE_PVE :
{
return $pveMatchList;
}
}
}
public static function singleDto($row){
$data = emptyReplace(json_decode($row['data'], true), array());
$data['room_uuid'] = $row['room_uuid'];
$data['idx'] = $row['idx'];
return $data;
}
public static function addTeam($battleUuid, $roomUuid, $data)
{ {
SqlHelper::upsert SqlHelper::upsert
(myself()->_getSelfMysql(), (myself()->_getSelfMysql(),
@ -72,8 +127,7 @@ class BattleSettlement extends BaseModel
'battle_uuid' => $battleUuid, 'battle_uuid' => $battleUuid,
'room_uuid' => $roomUuid, 'room_uuid' => $roomUuid,
), ),
array( array(),
),
array( array(
'battle_uuid' => $battleUuid, 'battle_uuid' => $battleUuid,
'room_uuid' => $roomUuid, 'room_uuid' => $roomUuid,
@ -84,7 +138,8 @@ class BattleSettlement extends BaseModel
); );
} }
public static function findTeam($battleUuid,$roomUuid){ public static function findTeam($battleUuid, $roomUuid)
{
$row = SqlHelper::ormSelectOne $row = SqlHelper::ormSelectOne
(myself()->_getSelfMysql(), (myself()->_getSelfMysql(),
't_battle_settlement_team', 't_battle_settlement_team',
@ -96,4 +151,5 @@ class BattleSettlement extends BaseModel
return $row; return $row;
} }
} }