171 lines
5.0 KiB
PHP
171 lines
5.0 KiB
PHP
<?php
|
|
|
|
namespace models;
|
|
|
|
use mt;
|
|
use phpcommon\SqlHelper;
|
|
|
|
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)
|
|
{
|
|
SqlHelper::upsert
|
|
(myself()->_getSelfMysql(),
|
|
't_battle_settlement',
|
|
array(
|
|
'account_id' => myself()->_getAccountId(),
|
|
'battle_uniid' => $battleUuid,
|
|
),
|
|
array(),
|
|
array(
|
|
'account_id' => myself()->_getAccountId(),
|
|
'battle_uniid' => $battleUuid,
|
|
'data' => $data,
|
|
'createtime' => myself()->_getNowTime(),
|
|
'modifytime' => myself()->_getNowTime(),
|
|
)
|
|
);
|
|
}
|
|
|
|
public static function find($battleUuid)
|
|
{
|
|
$row = SqlHelper::ormSelectOne
|
|
(myself()->_getSelfMysql(),
|
|
't_battle_settlement',
|
|
array(
|
|
'account_id' => myself()->_getAccountId(),
|
|
'battle_uniid' => $battleUuid,
|
|
)
|
|
);
|
|
return $row;
|
|
}
|
|
|
|
public static function addSingle($battleUuid, $roomUuid, $data)
|
|
{
|
|
SqlHelper::upsert
|
|
(myself()->_getSelfMysql(),
|
|
't_battle_settlement_single',
|
|
array(
|
|
'account_id' => myself()->_getAccountId(),
|
|
'battle_uuid' => $battleUuid,
|
|
),
|
|
array(),
|
|
array(
|
|
'account_id' => myself()->_getAccountId(),
|
|
'battle_uuid' => $battleUuid,
|
|
'room_uuid' => $roomUuid,
|
|
'data' => json_encode($data),
|
|
'createtime' => myself()->_getNowTime(),
|
|
'modifytime' => myself()->_getNowTime(),
|
|
)
|
|
);
|
|
}
|
|
|
|
public static function getSingleList($accountId,$roomMode, $matchMode)
|
|
{
|
|
$rows = SqlHelper::ormSelect
|
|
(myself()->_getSelfMysql(),
|
|
't_battle_settlement_single',
|
|
array(
|
|
'account_id' => $accountId,
|
|
)
|
|
);
|
|
$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
|
|
(myself()->_getSelfMysql(),
|
|
't_battle_settlement_team',
|
|
array(
|
|
'battle_uuid' => $battleUuid,
|
|
'room_uuid' => $roomUuid,
|
|
),
|
|
array(
|
|
'data' => json_encode($data)
|
|
),
|
|
array(
|
|
'battle_uuid' => $battleUuid,
|
|
'room_uuid' => $roomUuid,
|
|
'data' => json_encode($data),
|
|
'createtime' => myself()->_getNowTime(),
|
|
'modifytime' => myself()->_getNowTime(),
|
|
)
|
|
);
|
|
}
|
|
|
|
public static function findTeam($battleUuid, $roomUuid)
|
|
{
|
|
$row = SqlHelper::ormSelectOne
|
|
(myself()->_getSelfMysql(),
|
|
't_battle_settlement_team',
|
|
array(
|
|
'battle_uuid' => $battleUuid,
|
|
'room_uuid' => $roomUuid,
|
|
)
|
|
);
|
|
return $row;
|
|
}
|
|
|
|
public static function findTeamByTargetId($targetId,$battleUuid, $roomUuid)
|
|
{
|
|
$row = SqlHelper::ormSelectOne
|
|
(myself()->_getMysql($targetId),
|
|
't_battle_settlement_team',
|
|
array(
|
|
'battle_uuid' => $battleUuid,
|
|
'room_uuid' => $roomUuid,
|
|
)
|
|
);
|
|
return $row;
|
|
}
|
|
|
|
|
|
}
|