$crystalMeta['id'], 'pending' => 0, 'total' => array(), 'claimed' => 0, 'state' => self::NONE_STATE, ); $hashRateMeta = HashRate::findHash($crystalMeta['id']); switch ($crystalMeta['sub_type']){ case 1 : { $killsNum = myself()->_getV(TN_TOTAL_KILLS_NUM,0); $starNum = myself()->_getV(TN_TOTAL_STAR_NUM,0); $rankNum = myself()->_getV(TN_TOTAL_RANK_NUM,0); $crystalDto['total'] = array( 'param1' => intval($killsNum), 'param2' => intval($starNum), 'param3' => intval($rankNum), ); $param = explode('|',$hashRateMeta['parameter']); $totalNum = max(0,floor($killsNum/$param[0]) + floor($starNum/$param[1]) + $rankNum); $ownedNum = CrystalRecord::getCrystalNum($crystalMeta['id']); $crystalDto['pending'] = intval(max(0,$totalNum - $ownedNum)); $crystalDto['claimed'] = intval($ownedNum); $crystalDto['state'] = $crystalDto['pending'] > 0 ? self::RECEIVED_STATE : self::NONE_STATE; } break; case 2 : { // 游戏内消费总价值 } break; case 3 : { // Market交易总价值 } break; case 4 : { // 质压总价值 } break; } } }