game2006api/webapp/models/BattleSettlement.php
hujiabin 3ddb202c62 1
2024-09-18 16:41:00 +08:00

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;
}
}