完善7日签到
This commit is contained in:
parent
3020c9c5b4
commit
3617774689
@ -34,8 +34,6 @@ class SignController extends BaseAuthedController
|
|||||||
'days' => $day,
|
'days' => $day,
|
||||||
'condition' => $meta['condition'],
|
'condition' => $meta['condition'],
|
||||||
'is_receive' => $state,
|
'is_receive' => $state,
|
||||||
// 'item_id' => $meta['item_id'],
|
|
||||||
// 'item_num' => $meta['num'],
|
|
||||||
'award' => $award
|
'award' => $award
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
@ -51,42 +49,6 @@ class SignController extends BaseAuthedController
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
//首次登录 签到活动开始
|
|
||||||
|
|
||||||
public function sign(){
|
|
||||||
// ...用户登录-login
|
|
||||||
|
|
||||||
//用户是否有签到记录
|
|
||||||
if (SignLog::isSignRecord()){
|
|
||||||
//有签到记录
|
|
||||||
$row = SignLog::find();
|
|
||||||
$paramMeta = \mt\Parameter::getByName('sign_daily_duration');
|
|
||||||
$end_time = myself()->_getDaySeconds($row['createtime']) + $paramMeta['param_value']*24*60*60;
|
|
||||||
//判断当前时间是否结束 并且 上次签到是否领取 并且 签到时间是否满足第二天签到
|
|
||||||
if (myself()->_getNowTime() < $end_time
|
|
||||||
&& $row['is_receive']
|
|
||||||
&& $row['sign_time'] < myself()->_getNowDaySeconds() + 6*60*60){
|
|
||||||
if($row['sign_time'] > myself()->_getNowDaySeconds()){
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
$fieldKv = array(
|
|
||||||
'days' => function(){
|
|
||||||
return "days + 1";
|
|
||||||
},
|
|
||||||
'is_receive' => 0,
|
|
||||||
'sign_time' => myself()->_getNowTime(),
|
|
||||||
'modifytime' => myself()->_getNowTime()
|
|
||||||
);
|
|
||||||
SignLog::update($fieldKv);
|
|
||||||
}
|
|
||||||
|
|
||||||
}else{
|
|
||||||
//未有签到记录
|
|
||||||
SignLog::create();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public function receive(){
|
public function receive(){
|
||||||
$sign_id = getReqVal('sign_id', '');
|
$sign_id = getReqVal('sign_id', '');
|
||||||
$meta = \mt\Sign::get($sign_id);
|
$meta = \mt\Sign::get($sign_id);
|
||||||
|
@ -8,6 +8,7 @@ require_once('models/Gun.php');
|
|||||||
require_once('models/UserSeasonRing.php');
|
require_once('models/UserSeasonRing.php');
|
||||||
require_once('models/Chip.php');
|
require_once('models/Chip.php');
|
||||||
require_once('models/Battle.php');
|
require_once('models/Battle.php');
|
||||||
|
require_once('models/SignLog.php');
|
||||||
|
|
||||||
require_once('mt/Parameter.php');
|
require_once('mt/Parameter.php');
|
||||||
require_once('mt/Drop.php');
|
require_once('mt/Drop.php');
|
||||||
@ -34,6 +35,7 @@ use models\Nft;
|
|||||||
use models\Chip;
|
use models\Chip;
|
||||||
use models\UserSeasonRing;
|
use models\UserSeasonRing;
|
||||||
use models\Battle;
|
use models\Battle;
|
||||||
|
use models\SignLog;
|
||||||
|
|
||||||
class UserController extends BaseAuthedController {
|
class UserController extends BaseAuthedController {
|
||||||
private $init_rank = 'rank_init_rank';
|
private $init_rank = 'rank_init_rank';
|
||||||
@ -72,7 +74,8 @@ class UserController extends BaseAuthedController {
|
|||||||
));
|
));
|
||||||
$userInfo['address'] = $this->_getOpenId();
|
$userInfo['address'] = $this->_getOpenId();
|
||||||
}
|
}
|
||||||
$this->updateLastSeason($userInfo);
|
$this->_updateLastSeason($userInfo);
|
||||||
|
$this->_sign();
|
||||||
$this->_rspData(array(
|
$this->_rspData(array(
|
||||||
'info' => User::show($userInfo),
|
'info' => User::show($userInfo),
|
||||||
));
|
));
|
||||||
@ -874,7 +877,7 @@ class UserController extends BaseAuthedController {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function updateLastSeason($userInfo){
|
private function _updateLastSeason($userInfo){
|
||||||
if (! $userInfo['last_season_id']){
|
if (! $userInfo['last_season_id']){
|
||||||
$currSeasonMeta = mt\RankSeason::getCurrentSeason();
|
$currSeasonMeta = mt\RankSeason::getCurrentSeason();
|
||||||
if ($currSeasonMeta){
|
if ($currSeasonMeta){
|
||||||
@ -885,4 +888,35 @@ class UserController extends BaseAuthedController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function _sign(){
|
||||||
|
//用户是否有签到记录
|
||||||
|
if (SignLog::isSignRecord()){
|
||||||
|
//有签到记录
|
||||||
|
$row = SignLog::find();
|
||||||
|
$paramMeta = \mt\Parameter::getByName('sign_daily_duration');
|
||||||
|
$end_time = myself()->_getDaySeconds($row['createtime']) + $paramMeta['param_value']*24*60*60;
|
||||||
|
//判断当前时间是否结束 并且 上次签到是否领取 并且 签到时间是否满足第二天签到
|
||||||
|
if (myself()->_getNowTime() < $end_time
|
||||||
|
&& $row['is_receive']
|
||||||
|
&& $row['sign_time'] < myself()->_getNowDaySeconds() + 6*60*60){
|
||||||
|
if($row['sign_time'] > myself()->_getNowDaySeconds()){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$fieldKv = array(
|
||||||
|
'days' => function(){
|
||||||
|
return "days + 1";
|
||||||
|
},
|
||||||
|
'is_receive' => 0,
|
||||||
|
'sign_time' => myself()->_getNowTime(),
|
||||||
|
'modifytime' => myself()->_getNowTime()
|
||||||
|
);
|
||||||
|
SignLog::update($fieldKv);
|
||||||
|
}
|
||||||
|
|
||||||
|
}else{
|
||||||
|
//未有签到记录
|
||||||
|
SignLog::create();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,7 @@ require_once('models/UserSeasonRing.php');
|
|||||||
require_once('models/Parachute.php');
|
require_once('models/Parachute.php');
|
||||||
require_once('models/Hero.php');
|
require_once('models/Hero.php');
|
||||||
require_once('models/HeroPreset.php');
|
require_once('models/HeroPreset.php');
|
||||||
|
require_once('models/SignLog.php');
|
||||||
|
|
||||||
use mt;
|
use mt;
|
||||||
use phpcommon;
|
use phpcommon;
|
||||||
@ -99,6 +100,7 @@ class User extends BaseModel {
|
|||||||
'ring_list' => UserSeasonRing::ringList($row['account_id']),
|
'ring_list' => UserSeasonRing::ringList($row['account_id']),
|
||||||
'current_star_num' => $current_star_num,
|
'current_star_num' => $current_star_num,
|
||||||
'next_star_num' => $next_star_num,
|
'next_star_num' => $next_star_num,
|
||||||
|
'status_bar' => self::_getState()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -160,6 +162,22 @@ class User extends BaseModel {
|
|||||||
'parachute_list' => Parachute::getMyParachute(),
|
'parachute_list' => Parachute::getMyParachute(),
|
||||||
'current_star_num' => $current_star_num,
|
'current_star_num' => $current_star_num,
|
||||||
'next_star_num' => $next_star_num,
|
'next_star_num' => $next_star_num,
|
||||||
|
'status_bar' => self::_getState()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function _getState(){
|
||||||
|
$sign_state = 0;
|
||||||
|
$signDb = SignLog::find();
|
||||||
|
$paramMeta = \mt\Parameter::getByName('sign_daily_duration');
|
||||||
|
$end_time = myself()->_getDaySeconds($signDb['createtime'])+$paramMeta['param_value']*24*60*60;
|
||||||
|
if ( myself()->_getNowTime() - $end_time > 0){
|
||||||
|
$sign_state = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return array(
|
||||||
|
"first_top_up" => myself()->_getV(TN_FIRST_TUPOP_STATUS,0),
|
||||||
|
"sign_day" => $sign_state
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user