game2006api/webapp/models/BattleSettlement.php
hujiabin 4fef5971ca 1
2024-05-31 11:40:19 +08:00

191 lines
5.5 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;
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,$roomMode)
{
$rows = SqlHelper::ormSelect
(myself()->_getSelfMysql(),
't_battle_settlement_single',
array(
'account_id' => $accountId,
)
);
$pvpBattleList = array();
$mobaBattleList = array();
foreach ($rows as $row) {
$data = emptyReplace(json_decode($row['data'], true), array());
if ($data['room_mode'] == self::ROOM_MODE_PVP ) {
array_push($pvpBattleList, self::singleDto($row));
} else if ($data['room_mode'] == self::ROOM_MODE_MOBA) {
array_push($mobaBattleList, self::singleDto($row));
}
}
switch ($roomMode) {
case self::ROOM_MODE_PVP :
{
return $pvpBattleList;
}
case self::ROOM_MODE_MOBA :
{
return $mobaBattleList;
}
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;
}
}