This commit is contained in:
aozhiwei 2022-02-25 16:30:45 +08:00
parent 4fc4b6dc3d
commit 3a33f74470
3 changed files with 62 additions and 4 deletions

View File

@ -7,6 +7,8 @@ use phpcommon\SqlHelper;
class BigData extends BaseModel {
const OFFER_REWARD_MISSION_TYPE = 'offer.reward.missions';
public static function getData($type)
{
$row = SqlHelper::ormSelectOne(

View File

@ -82,7 +82,7 @@ class Task {
if ($type == self::OFFER_REWARD_MISSION_CUSTOM_TYPE) {
foreach ($missionService->getOfferRewardMissions() as $missionId) {
$meta = self::get($missionId);
if ($meta) {
if ($meta && $meta['type'] == self::OFFER_REWARD_MISSON_TYPE) {
array_push($metaList, $meta);
}
}
@ -119,6 +119,21 @@ class Task {
return $meta['type'] == self::OFFER_REWARD_MISSION_CUSTOM_TYPE;
}
public static function getOfferRewardMissions($excludeMetas)
{
$metas = array();
foreach (self::getMetaList() as $meta) {
if ($meta['type'] == self::OFFER_REWARD_MISSON_TYPE) {
if (!array_find($excludeMetas, function($val) {
})) {
array_push($metas, $meta);
}
}
}
return $metas;
}
protected static function getMetaList()
{
if (!self::$metaList) {

View File

@ -3,16 +3,39 @@
namespace services;
require_once('mt/Task.php');
require_once('mt/Parameter.php');
require_once('models/Mission.php');
require_once('models/Battle.php');
require_once('models/BigData.php');
use phpcommon\SqlHelper;
use mt;
use models\User;
use models\Mission;
use models\Battle;
use models\BigData;
/*
offer.reward.missions
{
"refreshtime": 0,
"missions": [
{
"mission_id": 100,
"createtime": 0,
"modifytime": 0,
"sendtime": 0,
"objects": [
{
"type": 1,
"id": 23142
}
]
}
]
}
*/
class MissionService extends BaseService {
private $userInfo = null;
@ -21,6 +44,7 @@ class MissionService extends BaseService {
private $seasonBattleData = array();
private $thisWeekBattleData = array();
private $todayBattleData = array();
private $offerRewartdMission = array();
public function init($userInfo, $seasonDb)
{
@ -48,6 +72,16 @@ class MissionService extends BaseService {
'modifytime' => myself()->_getNowTime(),
);
}
$this->offerRewartdMission = BigData::getData(BigData::OFFER_REWARD_MISSION_TYPE);
if (!$this->offerRewartdMission) {
$this->offerRewartdMission = array();
}
{
$refreshTime = getXVal($this->offerRewartdMission, 'refreshtime');
if (myself()->_getNowDaySeconds() > $refreshTime) {
$this->refreshOfferRewardMission();
}
}
}
public function getMissionDto($userInfo, $seasonDb, $missionDb, $missionMeta)
@ -513,10 +547,17 @@ class MissionService extends BaseService {
return myself()->_getV($x, $y);
}
public function getOfferRewardMissions()
private function refreshOfferRewardMission()
{
$missions = array();
return $missions;
$this->offerRewartdMission = myself()->_getNowTime();
$num = mt\Parameter::getVal('wanted_refresh_mission_num', 0);
$sentMissions = array();
foreach ($this->offerRewartdMission as $mission) {
if ($mission['sendtime'] > 0) {
array_push($sentMissions, $mission);
}
}
$metas = mt\Task::getOfferRewardMissions($this->offerRewartdMission['missions']);
}
private function getOfferRewardMissionInfo($missionId)