cec记录
This commit is contained in:
parent
6e179337e0
commit
99de6c1a45
18
doc/Other.py
18
doc/Other.py
@ -43,4 +43,22 @@ class Other(object):
|
||||
], '信息'],
|
||||
]
|
||||
},
|
||||
{
|
||||
'name': 'getCecRewardHistory',
|
||||
'desc': 'cec历史记录界面',
|
||||
'group': 'Other',
|
||||
'url': 'webapp/index.php?c=Other&a=getCecRewardHistory',
|
||||
'params': [
|
||||
_common.ReqHead(),
|
||||
],
|
||||
'response': [
|
||||
_common.RspHead(),
|
||||
['!list', [
|
||||
['type',0,'1:排位 2:算力 3:质押'],
|
||||
['cecVal',0,'cec数量'],
|
||||
['createtime',0,'获取时间']
|
||||
], '历史记录'],
|
||||
['cec',0,'cec'],
|
||||
]
|
||||
},
|
||||
]
|
@ -120,6 +120,8 @@ class ComputingPowerController extends BaseAuthedController
|
||||
return ;
|
||||
}
|
||||
$param = explode('|',$hashRateMeta['parameter']);
|
||||
$paramEd = explode(':',$param[0]);
|
||||
$paramEx = explode(':',$param[1]);
|
||||
$crystalNum = 0;
|
||||
switch ($itemId){
|
||||
case ComputingPower::CRYSTAL1 : {
|
||||
@ -129,22 +131,22 @@ class ComputingPowerController extends BaseAuthedController
|
||||
$starNum = myself()->_getV(TN_TOTAL_STAR_NUM,0);
|
||||
$starNumEd = myself()->_getV(TN_TOTAL_STAR_NUM,-1);
|
||||
$starNumEx = $starNum - $starNumEd ;
|
||||
$crystalNum = max(0,floor($killsNumEx / $param[0]) +
|
||||
floor($starNumEx / $param[1]) );
|
||||
$crystalNum = max(0,floor($killsNumEx / $paramEd[0]) * $paramEd[1] +
|
||||
floor($starNumEx / $paramEx[0]) * $paramEx[1] );
|
||||
}
|
||||
break;
|
||||
case ComputingPower::CRYSTAL2 : {
|
||||
$consumeCost = myself()->_getV(TN_TOTAL_DIAMOND_CONSUME,0);
|
||||
$consumeCostEd = myself()->_getV(TN_TOTAL_DIAMOND_CONSUME,-1);
|
||||
$consumeCostEx = $consumeCost - $consumeCostEd ;
|
||||
$crystalNum = max(0,floor($consumeCostEx / \services\HashRateService::EXCHANGE_RATE / $param[0]));
|
||||
$crystalNum = max(0,floor($consumeCostEx / \services\HashRateService::EXCHANGE_RATE / $paramEd[0]) * $paramEd[1]);
|
||||
}
|
||||
break;
|
||||
case ComputingPower::CRYSTAL3 : {
|
||||
$consumeCost = myself()->_getV(TN_TOTAL_CEG_CONSUME,0);
|
||||
$consumeCostEd = myself()->_getV(TN_TOTAL_CEG_CONSUME,-1);
|
||||
$consumeCostEx = $consumeCost - $consumeCostEd;
|
||||
$crystalNum = max(0,floor($consumeCostEx / \services\HashRateService::EXCHANGE_RATE / $param[0]));
|
||||
$crystalNum = max(0,floor($consumeCostEx / \services\HashRateService::EXCHANGE_RATE / $paramEd[0]) * $paramEd[1]);
|
||||
}
|
||||
break;
|
||||
case ComputingPower::CRYSTAL4 : {
|
||||
@ -155,7 +157,7 @@ class ComputingPowerController extends BaseAuthedController
|
||||
}
|
||||
$rate = Parameter::getVal('cec_exchange_rate',10);
|
||||
$cecVal = Staking::getStakingTotalValue();
|
||||
$crystalNum = max(0,floor($cecVal / $rate / $param[0]));
|
||||
$crystalNum = max(0,floor($cecVal / $rate / $paramEd[0]) * $paramEd[1]);
|
||||
|
||||
}
|
||||
}
|
||||
@ -184,18 +186,19 @@ class ComputingPowerController extends BaseAuthedController
|
||||
$killsNumEd = myself()->_getV(TN_TOTAL_KILLS_NUM,-1);
|
||||
$starNum = myself()->_getV(TN_TOTAL_STAR_NUM,0);
|
||||
$starNumEd = myself()->_getV(TN_TOTAL_STAR_NUM,-1);
|
||||
$newKillsNum = floor(($killsNum-$killsNumEd)/$param[0]) * $param[0];
|
||||
//floor($killsNumEx / $paramEd[0]) * $paramEd[1] 222 100:3 222/100=2 2*3=6 6/3=2 2*100
|
||||
$newKillsNum = floor(($killsNum-$killsNumEd)/$paramEd[0]) * $paramEd[0];
|
||||
myself()->_incV(TN_TOTAL_KILLS_NUM,-1,$newKillsNum);
|
||||
$newStarNum = floor(($starNum-$starNumEd)/$param[1]) * $param[1];
|
||||
$newStarNum = floor(($starNum-$starNumEd)/$paramEx[0]) * $paramEx[0];
|
||||
myself()->_incV(TN_TOTAL_STAR_NUM,-1,$newStarNum);
|
||||
}
|
||||
break;
|
||||
case ComputingPower::CRYSTAL2 : {
|
||||
myself()->_incV(TN_TOTAL_DIAMOND_CONSUME,-1,$crystalNum * $param[0] * \services\HashRateService::EXCHANGE_RATE);
|
||||
myself()->_incV(TN_TOTAL_DIAMOND_CONSUME,-1,$crystalNum / $paramEd[1] * $paramEd[0] * \services\HashRateService::EXCHANGE_RATE);
|
||||
}
|
||||
break;
|
||||
case ComputingPower::CRYSTAL3 : {
|
||||
myself()->_incV(TN_TOTAL_CEG_CONSUME,-1,$crystalNum * $param[0] * \services\HashRateService::EXCHANGE_RATE);
|
||||
myself()->_incV(TN_TOTAL_CEG_CONSUME,-1,$crystalNum / $paramEd[1] * $paramEd[0] * \services\HashRateService::EXCHANGE_RATE);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -9,6 +9,9 @@ require_once('models/Fragment.php');
|
||||
require_once('models/Season.php');
|
||||
require_once('models/SignLog.php');
|
||||
require_once('models/RankingSetRecord.php');
|
||||
require_once('models/Staking.php');
|
||||
require_once('models/SeasonRanking.php');
|
||||
require_once('models/RewardsCec.php');
|
||||
|
||||
use models\SignLog;
|
||||
use phpcommon\SqlHelper;
|
||||
@ -16,6 +19,9 @@ use models\Mission;
|
||||
use models\Fragment;
|
||||
use models\Season;
|
||||
use models\RankingSetRecord;
|
||||
use models\Staking;
|
||||
use models\SeasonRanking;
|
||||
use models\RewardsCec;
|
||||
class OtherController extends BaseAuthedController {
|
||||
const MISSION = 1;
|
||||
const PIECE = 2;
|
||||
@ -113,4 +119,49 @@ class OtherController extends BaseAuthedController {
|
||||
));
|
||||
}
|
||||
|
||||
public function getCecRewardHistory(){
|
||||
$historyList = array();
|
||||
$totalCecVal = 0;
|
||||
SeasonRanking::getSeasonList(function ($row) use (&$historyList,&$totalCecVal) {
|
||||
if ($row && $row['ranking_point'] > 0){
|
||||
$totalCecVal += ($row['ranking_point'] * 0.15);
|
||||
array_push($historyList,array(
|
||||
'type' => 1,
|
||||
'cecVal' => $row['ranking_point'] * 0.15,
|
||||
'createtime' => $row['createtime'],
|
||||
));
|
||||
}
|
||||
});
|
||||
|
||||
\models\RewardsCec::all(function ($row) use (&$historyList,&$totalCecVal) {
|
||||
if ($row){
|
||||
$totalCecVal += $row['reward_cec'];
|
||||
array_push($historyList,array(
|
||||
'type' => 2,
|
||||
'cecVal' => $row['reward_cec'],
|
||||
'createtime' => $row['createtime'],
|
||||
));
|
||||
}
|
||||
});
|
||||
|
||||
$stakingDb = Staking::all(myself()->_getAddress());
|
||||
foreach ($stakingDb as $row) {
|
||||
if ($row['status'] == Staking::REDEEM_STATUS) {
|
||||
$item = Staking::toDto($row);
|
||||
$totalCecVal += $item['total_rewards'];
|
||||
array_push($historyList, array(
|
||||
"type" => 3,
|
||||
"cecVal" => $item['total_rewards'],
|
||||
"createtime" => $item['redeem_time']
|
||||
));
|
||||
}
|
||||
}
|
||||
$this->_rspData(array(
|
||||
'cec'=>$totalCecVal,
|
||||
'list'=>$historyList,
|
||||
));
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -9,6 +9,20 @@ use phpcommon\SqlHelper;
|
||||
use phpcommon;
|
||||
class RewardsCec extends BaseModel
|
||||
{
|
||||
|
||||
public static function all($cb){
|
||||
SqlHelper::ormSelect(
|
||||
myself()->_getSelfMysql(),
|
||||
't_hash_rate_reward',
|
||||
array(
|
||||
'account_id' => myself()->_getAccountId(),
|
||||
),
|
||||
function ($row) use($cb) {
|
||||
$cb($row);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
public static function getTotalCecNum(){
|
||||
$rows = SqlHelper::ormSelect(
|
||||
myself()->_getSelfMysql(),
|
||||
|
@ -43,41 +43,45 @@ class HashRateService extends BaseService
|
||||
'param1' => floatval($killsNumEx),
|
||||
'param2' => floatval($starNumEx),
|
||||
);
|
||||
$totalNum = max(0,floor($killsNumEx / $param[0]) +
|
||||
floor($starNumEx / $param[1]) );
|
||||
$paramKill = explode(':',$param[0]);
|
||||
$paramStar = explode(':',$param[1]);
|
||||
$totalNum = max(0,floor($killsNumEx / $paramKill[0]) * $paramKill[1] +
|
||||
floor($starNumEx / $paramStar[0]) * $paramStar[1] );
|
||||
$crystalDto['pending'] = intval($totalNum);
|
||||
$crystalDto['state'] = $crystalDto['pending'] > 0 ? self::RECEIVED_STATE : self::NONE_STATE;
|
||||
}
|
||||
break;
|
||||
case 2 : {
|
||||
// 游戏内消费总价值
|
||||
$param = explode(':',$hashRateMeta['parameter']);
|
||||
$consumeCost = myself()->_getV(TN_TOTAL_DIAMOND_CONSUME,0);
|
||||
$consumeCostEd = myself()->_getV(TN_TOTAL_DIAMOND_CONSUME,-1);
|
||||
$consumeCostEx = $consumeCost - $consumeCostEd ;
|
||||
$crystalDto['total'] = array(
|
||||
'param1' => floatval($consumeCostEx / self::EXCHANGE_RATE),
|
||||
);
|
||||
$totalNum = max(0,floor($consumeCostEx / self::EXCHANGE_RATE / $hashRateMeta['parameter']));
|
||||
$totalNum = max(0,floor($consumeCostEx / self::EXCHANGE_RATE / $param[0]) * $param[1]);
|
||||
$crystalDto['pending'] = intval($totalNum);
|
||||
$crystalDto['state'] = $crystalDto['pending'] > 0 ? self::RECEIVED_STATE : self::NONE_STATE;
|
||||
}
|
||||
break;
|
||||
case 3 : {
|
||||
// Market交易总价值
|
||||
$param = explode(':',$hashRateMeta['parameter']);
|
||||
$consumeCost = myself()->_getV(TN_TOTAL_CEG_CONSUME,0);
|
||||
$consumeCostEd = myself()->_getV(TN_TOTAL_CEG_CONSUME,-1);
|
||||
$consumeCostEx = $consumeCost - $consumeCostEd ;
|
||||
$crystalDto['total'] = array(
|
||||
'param1' => floatval($consumeCostEx / self::EXCHANGE_RATE),
|
||||
);
|
||||
$totalNum = max(0,floor($consumeCostEx / self::EXCHANGE_RATE / $hashRateMeta['parameter']));
|
||||
$totalNum = max(0,floor($consumeCostEx / self::EXCHANGE_RATE / $param[0]) * $param[1]);
|
||||
$crystalDto['pending'] = intval($totalNum);
|
||||
$crystalDto['state'] = $crystalDto['pending'] > 0 ? self::RECEIVED_STATE : self::NONE_STATE;
|
||||
}
|
||||
break;
|
||||
case 4 : {
|
||||
// 质压总价值
|
||||
|
||||
$param = explode(':',$hashRateMeta['parameter']);
|
||||
$rate = Parameter::getVal('cec_exchange_rate',10);
|
||||
$cecVal = Staking::getStakingTotalValue();
|
||||
$crystalDto['total'] = array(
|
||||
@ -87,7 +91,7 @@ class HashRateService extends BaseService
|
||||
if ($recordDb && myself()->_getNowDaySeconds() == myself()->_getDaySeconds($recordDb['createtime'])){
|
||||
$crystalDto['pending'] = 0;
|
||||
}else{
|
||||
$totalNum = max(0,floor($cecVal / $rate / $hashRateMeta['parameter']));
|
||||
$totalNum = max(0,floor($cecVal / $rate / $param[0]) * $param[1]);
|
||||
$crystalDto['pending'] = intval($totalNum);
|
||||
}
|
||||
$crystalDto['state'] = $crystalDto['pending'] > 0 ? self::RECEIVED_STATE : self::NONE_STATE;
|
||||
|
Loading…
x
Reference in New Issue
Block a user