202 lines
5.9 KiB
PHP
202 lines
5.9 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 ROOM_MODE_MOBA = 2;
|
|
|
|
const MATCH_MODE_PVP = 0;
|
|
const MATCH_MODE_RANK = 1;
|
|
|
|
const PVP_MODE_TYPE = 1;
|
|
const MOBA_MODE_TYPE = 2;
|
|
const CIRCUIT_MODE_TYPE = 3;
|
|
|
|
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 findSingle($battleUuid){
|
|
$row = SqlHelper::ormSelectOne
|
|
(myself()->_getSelfMysql(),
|
|
't_battle_settlement_single',
|
|
array(
|
|
'account_id' => myself()->_getAccountId(),
|
|
'battle_uuid' => $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(
|
|
'data' => json_encode($data),
|
|
'modifytime' => myself()->_getNowTime(),
|
|
),
|
|
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,$type)
|
|
{
|
|
$rows = SqlHelper::ormSelect
|
|
(myself()->_getSelfMysql(),
|
|
't_battle_settlement_single',
|
|
array(
|
|
'account_id' => $accountId,
|
|
)
|
|
);
|
|
$pvpBattleList = array();
|
|
$mobaBattleList = array();
|
|
$circuitBattleList = array();
|
|
foreach ($rows as $row) {
|
|
$data = emptyReplace(json_decode($row['data'], true), array());
|
|
if ($data['battle_history_type'] == self::PVP_MODE_TYPE ) {
|
|
array_push($pvpBattleList, self::singleDto($row));
|
|
} else if ($data['battle_history_type'] == self::MOBA_MODE_TYPE) {
|
|
array_push($mobaBattleList, self::singleDto($row));
|
|
}else if($data['battle_history_type'] == self::CIRCUIT_MODE_TYPE){
|
|
array_push($circuitBattleList, self::singleDto($row));
|
|
}
|
|
}
|
|
switch ($type) {
|
|
case self::PVP_MODE_TYPE :
|
|
{
|
|
return $pvpBattleList;
|
|
}
|
|
case self::MOBA_MODE_TYPE :
|
|
{
|
|
return $mobaBattleList;
|
|
}
|
|
case self::CIRCUIT_MODE_TYPE :
|
|
{
|
|
return $circuitBattleList;
|
|
}
|
|
default : {
|
|
return array();
|
|
}
|
|
}
|
|
}
|
|
|
|
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),
|
|
'modifytime' => myself()->_getNowTime(),
|
|
),
|
|
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;
|
|
}
|
|
|
|
public static function findTeamByRoomUuid($targetId, $roomUuid)
|
|
{
|
|
$rows = SqlHelper::ormSelect
|
|
(myself()->_getMysql($targetId),
|
|
't_battle_settlement_team',
|
|
array(
|
|
'room_uuid' => $roomUuid,
|
|
)
|
|
);
|
|
return $rows;
|
|
}
|
|
|
|
|
|
}
|