新人任务

This commit is contained in:
hujiabin 2024-10-11 12:05:19 +08:00
parent d7072c4c23
commit 6ccd751f0d
17 changed files with 472 additions and 2 deletions

59
doc/RookieTask.py Normal file
View File

@ -0,0 +1,59 @@
# -*- coding: utf-8 -*-
import _common
class RookieTask(object):
def __init__(self):
self.apis = [
{
'name': 'bindRookieTask',
'desc': '记录用户新人任务开启',
'group': 'RookieTask',
'url': 'webapp/index.php?c=RookieTask&a=bindRookieTask',
'params': [
_common.ReqHead(),
],
'response': [
_common.RspHead(),
]
},{
'name': 'taskList',
'desc': '新人任务列表',
'group': 'RookieTask',
'url': 'webapp/index.php?c=RookieTask&a=taskList',
'params': [
_common.ReqHead(),
],
'response': [
_common.RspHead(),
['!task_list1', [Task()], '任务列表1'],
['!task_list2', [Task()], '任务列表2'],
]
},{
'name': 'commitTaskS',
'desc': '提交任务',
'group': 'RookieTask',
'url': 'webapp/index.php?c=RookieTask&a=commitTaskS',
'params': [
_common.ReqHead(),
['task_id', [Task()], '任务id'],
],
'response': [
_common.RspHead(),
['award', _common.Award(), '奖励信息'],
['property_chg', _common.PropertyChg(), '属性变更'],
]
},
]
class Task(object):
def __init__(self):
self.fields = [
['task_id', 0, '任务id'],
['current', 0, '任务进度-当前'],
['target', 0, '任务进度-目标'],
['state', 0, '任务状态 0:未完成 1:完成未领取 2:完成已领取 3:未到时间'],
]

View File

@ -2139,3 +2139,58 @@ CREATE TABLE `t_user_bind_gold_record` (
) ENGINE=InnoDB AUTO_INCREMENT=10000 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `t_user_rookie_task_bind`
--
DROP TABLE IF EXISTS `t_user_rookie_task_bind`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `t_user_rookie_task_bind` (
`idx` bigint NOT NULL AUTO_INCREMENT COMMENT '自增id',
`account_id` varchar(60) NOT NULL DEFAULT '' COMMENT '账号id(channel + "_" + gameid + "_" + openid)',
`createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
`modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间',
PRIMARY KEY (`idx`),
UNIQUE KEY `account_id` (`account_id`)
) ENGINE=InnoDB AUTO_INCREMENT=10000 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `t_rookie_task`
--
DROP TABLE IF EXISTS `t_rookie_task`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `t_rookie_task` (
`idx` bigint NOT NULL AUTO_INCREMENT COMMENT '自增id',
`account_id` varchar(60) NOT NULL DEFAULT '' COMMENT '账号id(channel + "_" + gameid + "_" + openid)',
`task_id` int(11) NOT NULL DEFAULT '0' COMMENT '任务id',
`createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
`modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间',
PRIMARY KEY (`idx`),
UNIQUE KEY `account_id_task` (`account_id`, `task_id`)
) ENGINE=InnoDB AUTO_INCREMENT=10000 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `t_rookie_task_value`
--
DROP TABLE IF EXISTS `t_rookie_task_value`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `t_rookie_task_value` (
`idx` bigint NOT NULL AUTO_INCREMENT COMMENT '自增id',
`account_id` varchar(60) NOT NULL DEFAULT '' COMMENT '账号id(channel + "_" + gameid + "_" + openid)',
`task_type` int(11) NOT NULL DEFAULT '0' COMMENT '任务id',
`value` int(11) NOT NULL DEFAULT '0' COMMENT '任务进度',
`createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
`modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间',
PRIMARY KEY (`idx`),
UNIQUE KEY `account_id_task` (`account_id`, `task_type`)
) ENGINE=InnoDB AUTO_INCREMENT=10000 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
/*!40101 SET character_set_client = @saved_cs_client */;

View File

@ -14,6 +14,36 @@ CREATE TABLE `t_user_bind_gold_record` (
PRIMARY KEY (`idx`)
) ENGINE=InnoDB AUTO_INCREMENT=10000 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
CREATE TABLE `t_user_rookie_task_bind` (
`idx` bigint NOT NULL AUTO_INCREMENT COMMENT '自增id',
`account_id` varchar(60) NOT NULL DEFAULT '' COMMENT '账号id(channel + "_" + gameid + "_" + openid)',
`createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
`modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间',
PRIMARY KEY (`idx`),
UNIQUE KEY `account_id` (`account_id`)
) ENGINE=InnoDB AUTO_INCREMENT=10000 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
CREATE TABLE `t_rookie_task` (
`idx` bigint NOT NULL AUTO_INCREMENT COMMENT '自增id',
`account_id` varchar(60) NOT NULL DEFAULT '' COMMENT '账号id(channel + "_" + gameid + "_" + openid)',
`task_id` int(11) NOT NULL DEFAULT '0' COMMENT '任务id',
`createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
`modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间',
PRIMARY KEY (`idx`),
UNIQUE KEY `account_id_task` (`account_id`, `task_id`)
) ENGINE=InnoDB AUTO_INCREMENT=10000 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
CREATE TABLE `t_rookie_task_value` (
`idx` bigint NOT NULL AUTO_INCREMENT COMMENT '自增id',
`account_id` varchar(60) NOT NULL DEFAULT '' COMMENT '账号id(channel + "_" + gameid + "_" + openid)',
`task_type` int(11) NOT NULL DEFAULT '0' COMMENT '任务id',
`value` int(11) NOT NULL DEFAULT '0' COMMENT '任务进度',
`createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
`modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间',
PRIMARY KEY (`idx`),
UNIQUE KEY `account_id_task` (`account_id`, `task_type`)
) ENGINE=InnoDB AUTO_INCREMENT=10000 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
insert into version (version) values(2024092401);
commit;

View File

@ -27,6 +27,7 @@ define('V_ITEM_REVIVE_COIN', 140001); //复活币
define('V_ITEM_CHIP_META', 100007); //芯片升级材料
define('V_ITEM_GOLD_BULLION_1W', 10017); //金砖1w
define('V_ITEM_GOLD_BULLION_10W', 10018); //金砖10w
define('V_ITEM_ROOKIE_TASK_POINT', 10027); //新人七日任务积分
define('TN_BEGIN', 8001);
define('TN_ACTIVE', 8002);

View File

@ -6,6 +6,7 @@ require_once('mt/Drop.php');
require_once('mt/Hero.php');
require_once('mt/LootConfig.php');
require_once('mt/StakingVip.php');
require_once('mt/RookieTask.php');
require_once('models/Bag.php');
require_once('models/Hero.php');
@ -443,6 +444,7 @@ class BagController extends BaseAuthedController {
);
$this->_decItems($costItems);
$this->openBattleBox($itemDb,$itemMeta,$itemNum,$costItems);
myself()->_callModelStatic('RookieTask','incTaskVal',mt\RookieTask::PIGGY_BANK_OPEN_BOX_TIMES_COND,$itemNum);
}
private function openBattleBox($itemDb,$itemMeta,$itemNum,$costItems){

View File

@ -26,6 +26,7 @@ require_once('mt/Drop.php');
require_once('mt/StarLevel.php');
require_once('mt/BattlePass.php');
require_once('mt/AchievementsCycle.php');
require_once('mt/RookieTask.php');
use phpcommon\SqlHelper;
use models\Bag;
@ -346,7 +347,16 @@ class BaseAuthedController extends BaseController {
public function _isVirtualItem($itemId)
{
return in_array($itemId, array(V_ITEM_BIND_GOLD,V_ITEM_GOLD, V_ITEM_DIAMOND, V_ITEM_EXP, V_ITEM_ACTIVE,V_ITEM_BCEG,V_ITEM_STAR));
return in_array($itemId, array(
V_ITEM_BIND_GOLD,
V_ITEM_GOLD,
V_ITEM_DIAMOND,
V_ITEM_EXP,
V_ITEM_ACTIVE,
V_ITEM_BCEG,
V_ITEM_STAR,
V_ITEM_ROOKIE_TASK_POINT,
));
}
public function _addVirtualItem($itemId, $itemNum)
@ -450,6 +460,12 @@ class BaseAuthedController extends BaseController {
case V_ITEM_BIND_GOLD:
{
$this->_incDailyV(TN_DAILY_BIND_GOLD, 0,$itemNum);
myself()->_callModelStatic('RookieTask','incTaskVal',mt\RookieTask::PIGGY_BANK_GOLD_COND,$itemNum);
}
break;
case V_ITEM_ROOKIE_TASK_POINT:
{
myself()->_callModelStatic('RookieTask','incTaskVal',\mt\RookieTask::TOTAL_COMMIT_TASK_TIMES_COND,$itemNum);
}
break;
default:

View File

@ -8,6 +8,7 @@ require_once('mt/BattleRandAttribute.php');
require_once('mt/EconomyAttribute.php');
require_once('mt/Manufacture.php');
require_once('mt/Parameter.php');
require_once('mt/RookieTask.php');
require_once('services/PropertyChgService.php');
require_once('services/AwardService.php');
@ -299,6 +300,7 @@ class ChipController extends BaseAuthedController
));
$this->_addItems($items,$awardService,$propertyChgService);
}
myself()->_callModelStatic('RookieTask','incTaskVal',\mt\RookieTask::SALVAGE_CHIP_TIMES_COND,count($uniidArr));
$propertyChgService->addChip();
$propertyChgService->addBagChg();
$event = array(

View File

@ -4,6 +4,7 @@ require_once('models/Chip.php');
require_once('models/ChipPage.php');
require_once('models/Hero.php');
require_once('mt/EconomyAttribute.php');
require_once('mt/RookieTask.php');
require_once('services/ChipPageService.php');
require_once('services/PropertyChgService.php');
@ -88,6 +89,7 @@ class ChipPageController extends BaseAuthedController
$this->_decItems($costItems);
$propertyChgService->addUserChg();
ChipPage::unlockSlot($chipPageDb,$slotId);
myself()->_callModelStatic('RookieTask','incTaskVal',\mt\RookieTask::OPEN_CHIP_SLOT_TIMES_COND,1);
$this->_rspData(array(
'property_chg' => $propertyChgService->toDto(),
));
@ -144,6 +146,7 @@ class ChipPageController extends BaseAuthedController
ChipPage::update($hero_unnid,array(
'data' => json_encode($data)
));
myself()->_callModelStatic('RookieTask','incTaskVal',\mt\RookieTask::EMBED_CHIP_COND,1);
$newChipPageDb = ChipPage::find($hero_unnid);
$chipPageDto = ChipPage::toDtoInfo($newChipPageDb);
$this->_rspData(array(

View File

@ -5,6 +5,7 @@ require_once('services/LootService.php');
require_once('mt/AchievementsPower.php');
require_once('mt/AchievementsCycle.php');
require_once('mt/Parameter.php');
require_once('mt/RookieTask.php');
require_once('models/HashRate.php');
use models\HashRate;
@ -134,6 +135,13 @@ class HashRateController extends BaseAuthedController
$rewardNum = $reward[0]['item_num'];
HashRate::add($taskMeta['id'],$currentPeriod['id']);
HashRate::rewardAdd($currentPeriod['id'],$rewardNum);
if ($taskMeta['task_type'] == \mt\AchievementsPower::TYPE5){
myself()->_callModelStatic('RookieTask','incTaskVal',mt\RookieTask::HASH_RATE_DRAW_REWARD_TIMES_COND,1);
}else{
myself()->_callModelStatic('RookieTask','incTaskVal',mt\RookieTask::HASH_TASK_COMMIT_TIMES_COND,1);
}
myself()->_callModelStatic('RookieTask','incTaskVal',mt\RookieTask::TOTAL_HASH_RATE_VALUE_COND,$rewardNum);
// //刷新任务
// $refreshTimes = myself()->_getDailyV(TN_HASH_DAILY_REFRESH_TIMES,0);
// $refreshTimesMax = \mt\Parameter::getVal('economy_account_compute_refresh_max',5);
@ -169,6 +177,7 @@ class HashRateController extends BaseAuthedController
return;
}
$this->hashRateService->refreshHashRateTask($taskMeta,$currentPeriod['id']);
myself()->_callModelStatic('RookieTask','incTaskVal',mt\RookieTask::HASH_TASK_REFRESH_TIMES_COND,1);
$this->_rspOk();
}

View File

@ -0,0 +1,78 @@
<?php
require_once('services/PropertyChgService.php');
require_once('services/AwardService.php');
require_once('services/RookieTaskService.php');
require_once('mt/RookieTask.php');
require_once('models/RookieTask.php');
use models\RookieTask;
class RookieTaskController extends BaseAuthedController {
public function bindRookieTask(){
RookieTask::bindUser();
$this->_rspOk();
}
public function taskList(){
$day = getReqVal('day', 1);
$metaList = \mt\RookieTask::getCustomDayMetaList($day);
$taskList1 = array();
foreach ($metaList as $meta){
$metaDto = \services\RookieTaskService::getTaskDto($meta);
array_push($taskList1,$metaDto);
}
$metaList2 = \mt\RookieTask::getCustomDayMetaList();
$taskList2 = array();
foreach ($metaList2 as $meta){
$metaDto = \services\RookieTaskService::getTaskDto($meta);
array_push($taskList2,$metaDto);
}
$this->_rspData(array(
'task_list1' => $taskList1,
'task_list2' => $taskList2,
));
}
public function commitTaskS(){
$task_id = getReqVal('task_id', 0);
$taskMeta = mt\RookieTask::find($task_id);
if (!$taskMeta) {
$this->_rspErr(1, 'task_id parameter error');
return;
}
$taskMetaDto = \services\RookieTaskService::getTaskDto($taskMeta);
if (!$taskMetaDto) {
$this->_rspErr(10, 'server internal error');
return;
}
if ($taskMetaDto['state'] == \services\RookieTaskService::RECEIVED_STATE) {
$this->_rspErr(2, "Can't get it again");
return;
}
if ($taskMetaDto['state'] == \services\RookieTaskService::NOT_FINISHED_STATE) {
$this->_rspErr(3, 'task objectives not achieved');
return;
}
if ($taskMetaDto['state'] == \services\RookieTaskService::UNARRIVED_TIME_STATE) {
$this->_rspErr(3, 'The task is not started');
return;
}
$dropMeta = mt\Drop::get($taskMeta['reward']);
if (!$dropMeta) {
$this->_rspErr(10, 'server internal error:' . $taskMeta['reward']);
return;
}
$propertyChgService = new services\PropertyChgService();
$awardService = new services\AwardService();
$this->_scatterDrop('rookieTask:' . $task_id, $dropMeta, $awardService, $propertyChgService);
RookieTask::add($task_id);
$this->_rspData(array(
'award' => $awardService->toDto(),
'property_chg' => $propertyChgService->toDto(),
));
}
}

View File

@ -4,6 +4,7 @@ require_once('services/AwardService.php');
require_once('mt/ServerTaskTime.php');
require_once('mt/Parameter.php');
require_once('mt/RookieTask.php');
require_once('models/Hero.php');
@ -51,6 +52,7 @@ class SavingPotController extends BaseAuthedController {
$this->_addItems($items, $awardService,$propertyChgService);
$this->_setDailyV(TN_DAILY_DRAW_BIND_GOLD_STATE, 0,1);
$this->_setDailyV(TN_DAILY_BIND_GOLD, 0,0);
myself()->_callModelStatic('RookieTask','incTaskVal',mt\RookieTask::PIGGY_BANK_OPEN_TIMES_COND,1);
SqlHelper::insert
(myself()->_getSelfMysql(),
't_user_bind_gold_record',
@ -97,6 +99,7 @@ class SavingPotController extends BaseAuthedController {
$this->_addItems($items, $awardService,$propertyChgService);
$this->_setDailyV(TN_DAILY_DRAW_BIND_GOLD_STATE, 0,1);
$this->_setDailyV(TN_DAILY_BIND_GOLD, 0,0);
myself()->_callModelStatic('RookieTask','incTaskVal',mt\RookieTask::PIGGY_BANK_DRAW_TIMES_COND,1);
SqlHelper::insert
(myself()->_getSelfMysql(),
't_user_bind_gold_record',

View File

@ -2,16 +2,19 @@
namespace events;
require_once('mt/RookieTask.php');
class Synthesis
{
public static function onHroSyn($params){
myself()->_callServiceStatic('HashRateService', 'onSynHero', $params);
myself()->_callModelStatic('RookieTask','incTaskVal',\mt\RookieTask::SYN_HERO_TIMES_COND,$params);
}
public static function onChipSyn($params){
myself()->_callServiceStatic('HashRateService', 'onSynChip', $params);
myself()->_callModelStatic('RookieTask','incTaskVal',\mt\RookieTask::SYN_CHIP_TIMES_COND,$params);
}
public static function onSkinSyn($params){

View File

@ -2,12 +2,13 @@
namespace events;
require_once('mt/RookieTask.php');
class Upgrade
{
public static function onHeroUpgrade(){
myself()->_callServiceStatic('HashRateService', 'onUpLvHero');
myself()->_callModelStatic('RookieTask','incTaskVal',\mt\RookieTask::UP_HERO_TIMES_COND,1);
}
public static function onChipUpgrade(){

View File

@ -0,0 +1,111 @@
<?php
namespace models;
use mt;
use phpcommon\SqlHelper;
class RookieTask extends BaseModel
{
public static function bindUser(){
$row = SqlHelper::ormSelectOne(
myself()->_getSelfMysql(),
't_user_rookie_task_bind',
array(
'account_id' => myself()->_getAccountId(),
)
);
if (!$row){
SqlHelper::insert(
myself()->_getSelfMysql(),
't_user_rookie_task_bind',
array(
'account_id' => myself()->_getAccountId(),
'createtime' => myself()->_getNowTime(),
'modifytime' => myself()->_getNowTime(),
)
);
}
}
public static function getMyStarTime(){
$row = SqlHelper::ormSelectOne(
myself()->_getSelfMysql(),
't_user_rookie_task_bind',
array(
'account_id' => myself()->_getAccountId(),
)
);
if (!$row){
self::bindUser();
$row = SqlHelper::ormSelectOne(
myself()->_getSelfMysql(),
't_user_rookie_task_bind',
array(
'account_id' => myself()->_getAccountId(),
)
);
}
return myself()->_getDaySeconds($row['createtime']);
}
public static function incTaskVal($taskType,$value){
SqlHelper::upsert(
myself()->_getSelfMysql(),
't_rookie_task_value',
array(
'account_id' => myself()->_getAccountId(),
'task_type' => $taskType,
),
array(
'value' => function () use ($value){
return "value + ${value}";
},
'modifytime' => myself()->_getNowTime(),
),
array(
'account_id' => myself()->_getAccountId(),
'task_type' => $taskType,
'value' => $value,
'createtime' => myself()->_getNowTime(),
'modifytime' => myself()->_getNowTime(),
)
);
}
public static function getCurrentVal($taskType){
$row = SqlHelper::ormSelectOne(
myself()->_getSelfMysql(),
't_rookie_task_value',
array(
'account_id' => myself()->_getAccountId(),
'task_type' => $taskType,
)
);
return $row ? $row['value'] : 0;
}
public static function find($taskId){
return SqlHelper::ormSelectOne(
myself()->_getSelfMysql(),
't_rookie_task',
array(
'account_id' => myself()->_getAccountId(),
'task_id' => $taskId,
)
);
}
public static function add($taskId){
SqlHelper::insert(
myself()->_getSelfMysql(),
't_rookie_task',
array(
'account_id' => myself()->_getAccountId(),
'task_id' => $taskId,
'createtime' => myself()->_getNowTime(),
'modifytime' => myself()->_getNowTime(),
)
);
}
}

53
webapp/mt/RookieTask.php Normal file
View File

@ -0,0 +1,53 @@
<?php
namespace mt;
use phpcommon;
class RookieTask {
const BATTLE_TIMES_COND = 1; //进行X场比赛
const PIGGY_BANK_GOLD_COND = 3; //存钱罐累积金币
const PIGGY_BANK_OPEN_TIMES_COND = 4; //砸开X次存钱罐
const PIGGY_BANK_DRAW_TIMES_COND = 5; //取出X次存钱罐
const PIGGY_BANK_OPEN_BOX_TIMES_COND = 6; //存钱罐金币开宝箱次数
const HASH_TASK_COMMIT_TIMES_COND = 7; //算力任务完成次数
const TOTAL_HASH_RATE_VALUE_COND = 8; //算力累积达到X
const HASH_RATE_BUYS_COND = 9; //使用算力购买x次道具
const HASH_TASK_REFRESH_TIMES_COND = 10; //刷新x次算力任务
const HASH_RATE_DRAW_REWARD_TIMES_COND = 11;//领取x次算力累积奖励
const SYN_CHIP_TIMES_COND = 12; //合成x次芯片
const SALVAGE_CHIP_TIMES_COND = 13; //分解x次芯片
const OPEN_CHIP_SLOT_TIMES_COND = 14; //开启芯片x槽位
const EMBED_CHIP_COND = 15; //镶嵌x个芯片
const ADD_FRIENDS_COND = 16; //添加x名好友
const AND_FRIENDS_BATTLE_COND = 17; //和好友完成x场战斗
const UP_HERO_TIMES_COND = 18; //进阶x次英雄
const SYN_HERO_TIMES_COND = 19; //合成x次英雄
const TOTAL_COMMIT_TASK_TIMES_COND = 101; //累积任务积分达到X
public static function getCustomDayMetaList($day=0){
$metaList = array();
foreach (self::getMetaList() as $meta) {
if ($meta['task_day'] == $day) {
array_push($metaList, $meta);
}
}
return $metaList;
}
public static function find($id){
return getXVal(self::getMetaList(), $id);
}
protected static function getMetaList()
{
if (!self::$metaList) {
self::$metaList = getMetaTable('rookietask@rookietask.php');
}
return self::$metaList;
}
protected static $metaList;
}

View File

@ -0,0 +1,42 @@
<?php
namespace services;
require_once('mt/RookieTask.php');
require_once('models/RookieTask.php');
use models\RookieTask;
use phpcommon;
class RookieTaskService extends BaseService
{
const NOT_FINISHED_STATE = 0; //未完成
const FINISHED_STATE = 1; //完成未领取
const RECEIVED_STATE = 2; //完成已领取
const UNARRIVED_TIME_STATE = 3;//未到时间
public static function getTaskDto($taskMeta){
$taskDto = array(
'task_id' => $taskMeta['id'],
'current' => RookieTask::getCurrentVal($taskMeta['type']),
'target' => getXVal($taskMeta, 'target', 1),
'state' => self::NOT_FINISHED_STATE,
);
$starTime = RookieTask::getMyStarTime();
if ($taskMeta['task_day'] > 0){
$time = ($taskMeta['task_day']-1) * 86400;
if (myself()->_getNowDaySeconds() < $starTime+$time){
$taskDto['state'] = self::UNARRIVED_TIME_STATE;
}
}
if ($taskDto['current'] >= $taskDto['target']) {
$taskDto['current'] = $taskDto['target'];
$taskDto['state'] = self::FINISHED_STATE;
}
$taskDb = RookieTask::find($taskMeta['id']);
if ($taskDb){
$taskDto['state'] = self::RECEIVED_STATE;
}
return $taskDto;
}
}

View File

@ -16,6 +16,7 @@ require_once('mt/ServerTaskTime.php');
require_once('mt/MapMode.php');
require_once('mt/BattleReward.php');
require_once('mt/CircuitTime.php');
require_once('mt/RookieTask.php');
require_once('models/Season.php');
require_once('models/Battle.php');
@ -104,6 +105,7 @@ class TameBattleDataService extends BaseService {
return false;
}
myself()->_fireEvent('Battle','onSettlement',$this->battleInfo);
myself()->_callModelStatic('RookieTask','incTaskVal',mt\RookieTask::BATTLE_TIMES_COND,1);
//记录战斗有效行为
// $this->_updateBattleData();
//记录战斗数据的排行榜