200 lines
6.2 KiB
PHP
200 lines
6.2 KiB
PHP
<?php
|
|
|
|
namespace app\controllers;
|
|
|
|
use common\models\User;
|
|
use common\modules\arena\vo\Arena;
|
|
use common\modules\pet\PetUtil;
|
|
use common\modules\pet\vo\Pet;
|
|
use common\services\ClientMessageServices;
|
|
use common\services\ResultStatusServices;
|
|
use Yii;
|
|
use yii\rest\Controller;
|
|
|
|
/**
|
|
* Created by PhpStorm.
|
|
* User: zn
|
|
* Date: 2017/9/11
|
|
* Time: 15:00
|
|
*/
|
|
class PetController extends Controller
|
|
{
|
|
|
|
/**
|
|
* 获取所有宠物
|
|
* @return mixed
|
|
*/
|
|
public function actionGetList()
|
|
{
|
|
$userID = Yii::$app->request->get('user_id');
|
|
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
|
|
|
|
$dbList = Pet::findAllByUserID($userID);
|
|
$list = [];
|
|
foreach ($dbList as $item) {
|
|
$data = $item->toArray();
|
|
if ($item->is_enter_war == PetUtil::ENTER_WAR) {
|
|
PetUtil::updateFeedTime($item);
|
|
$data = $item->toArray();
|
|
$ranking = Arena::findPetFightRankingByUserID($userID, $item->fighting_capacity);
|
|
if (!empty($ranking)) {
|
|
$data['index'] = $ranking->index;
|
|
} else {
|
|
$data['index'] = 0;
|
|
}
|
|
} else {
|
|
$data['index'] = 0;
|
|
}
|
|
array_push($list, $data);
|
|
}
|
|
|
|
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS, ['list' => $list]);
|
|
}
|
|
|
|
|
|
/**
|
|
* 孵化
|
|
* @return mixed
|
|
*/
|
|
public function actionBroodingEgg()
|
|
{
|
|
$userID = Yii::$app->request->get('user_id');
|
|
$itemID = Yii::$app->request->get('item_id');
|
|
|
|
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
|
|
|
|
PetUtil::broodingEgg($userID, $itemID);
|
|
|
|
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS);
|
|
}
|
|
|
|
/**
|
|
* 加速孵化
|
|
* @return mixed
|
|
*/
|
|
public function actionAccelerateBroodingEgg()
|
|
{
|
|
$userID = Yii::$app->request->get('user_id');
|
|
$petID = Yii::$app->request->get('pet_id');
|
|
|
|
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
|
|
|
|
PetUtil::accelerateBroodingEgg($userID, $petID);
|
|
|
|
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS);
|
|
}
|
|
|
|
/**
|
|
* 进化
|
|
* @return mixed
|
|
*/
|
|
public function actionEvolution()
|
|
{
|
|
$userID = Yii::$app->request->get('user_id');
|
|
$petID = Yii::$app->request->get('pet_id');
|
|
|
|
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
|
|
|
|
PetUtil::evolution($userID, $petID);
|
|
|
|
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS);
|
|
}
|
|
|
|
/**
|
|
* 参战
|
|
* @return mixed
|
|
*/
|
|
public function actionSetEnterWar()
|
|
{
|
|
$userID = Yii::$app->request->get('user_id');
|
|
$petID = Yii::$app->request->get('pet_id');
|
|
|
|
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
|
|
|
|
PetUtil::setEnterWar($userID, $petID);
|
|
|
|
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS);
|
|
}
|
|
|
|
/**
|
|
* 培养
|
|
* @return mixed
|
|
*/
|
|
public function actionTrain()
|
|
{
|
|
$userID = Yii::$app->request->get('user_id');
|
|
$petID = Yii::$app->request->get('pet_id');
|
|
$type = Yii::$app->request->get('type');
|
|
|
|
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
|
|
|
|
PetUtil::train($userID, $petID, $type);
|
|
|
|
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS);
|
|
}
|
|
|
|
/**
|
|
* 升级
|
|
* @return mixed
|
|
*/
|
|
public function actionUpgrade()
|
|
{
|
|
$userID = Yii::$app->request->get('user_id');
|
|
$petID = Yii::$app->request->get('pet_id');
|
|
$gold = Yii::$app->request->get('gold');
|
|
|
|
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
|
|
|
|
PetUtil::upgrade($userID, $petID, $gold);
|
|
|
|
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS);
|
|
}
|
|
|
|
/**
|
|
* 喂养
|
|
* @return mixed
|
|
*/
|
|
public function actionFeed()
|
|
{
|
|
$userID = Yii::$app->request->get('user_id');
|
|
$petID = Yii::$app->request->get('pet_id');
|
|
$itemID = Yii::$app->request->get('item_id');
|
|
|
|
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
|
|
|
|
PetUtil::feed($userID, $petID, $itemID);
|
|
|
|
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS);
|
|
}
|
|
|
|
public function actionGetBattleInfo()
|
|
{
|
|
$userID = Yii::$app->request->get('user_id');
|
|
$beUserID = Yii::$app->request->get('be_user_id');
|
|
$type = (int)Yii::$app->request->get('type');
|
|
|
|
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
|
|
|
|
if (empty(User::findById($beUserID))) return ClientMessageServices::sendMessage(ResultStatusServices::RS_PARAM_ERROR);
|
|
|
|
$data = PetUtil::getBattleInfo($userID, $beUserID, $type > 0 ? true : false);
|
|
|
|
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS, $data);
|
|
}
|
|
|
|
public function actionBattle()
|
|
{
|
|
$userID = Yii::$app->request->get('user_id');
|
|
$fromPetID = Yii::$app->request->get('pet_id');
|
|
$beUserID = Yii::$app->request->get('be_user_id');
|
|
$type = Yii::$app->request->get('type');
|
|
|
|
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
|
|
|
|
if (empty(User::findById($beUserID))) return ClientMessageServices::sendMessage(ResultStatusServices::RS_PARAM_ERROR);
|
|
|
|
PetUtil::battle($userID, $fromPetID, $beUserID, $type);
|
|
|
|
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS);
|
|
}
|
|
} |