hy-farm/muchang/home/controllers/FarmController.php
2026-05-29 19:54:56 +08:00

1164 lines
50 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* Created by PhpStorm.
* User: zn
* Date: 2017/5/18
* Time: 14:29
*/
namespace app\controllers;
use common\models\Farm;
use common\models\Item;
use common\models\Land;
use common\models\Interaction;
use common\models\User;
use common\models\Muchang;
use common\modules\achievement\AchievementUtil;
use common\modules\dailytask\DailyTaskUtil;
use common\modules\systemlog\SystemLogUtil;
use common\modules\rebate\RebateUtil;
use common\services\ClientMessageServices;
use common\services\GameConfigServices;
use common\services\ItemServices;
use common\services\LandService;
use common\services\MuchangService;
use common\services\NewbieGuideService;
use common\services\RandServices;
use common\services\ResultStatusServices;
use common\services\UserLogService;
use common\services\UserService;
use common\utils\EnumUtil;
use common\utils\MoneyUtil;
use common\utils\RedisKeyUtil;
use RedisLock\RedisLock;
use Yii;
use yii\rest\Controller;
/**
* 农场
* Class FarmController
* @package app\controllers
*/
class FarmController extends Controller
{
/**
*获取农场信息
*/
public function actionIndex()
{
//获取数据
$userID = Yii::$app->request->get('user_id');
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
$grantRs = NewbieGuideService::grantSeedIfNeeded($userID);
if ($grantRs != ResultStatusServices::RS_OPERATION_SUCCESS) {
return ClientMessageServices::sendMessage($grantRs);
}
//更新农场状态
$farmDbData = Farm::findOne(['user_id' => $userID]);
LandService::updateAllCropStatus($userID, $farmDbData->id, $farmDbData->level);
MuchangService::updateAllCropStatus($userID);
//获取信息
$user = User::findById($userID);
$user->token = Yii::$app->request->get('token');
//返回数据
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS, $user->genClientData());
}
/**
*更改背景
*/
public function actionChangeBg()
{
//获取数据
$userID = Yii::$app->request->get('user_id');
$itemID = Yii::$app->request->get('item_id');//要切换的背景物品ID
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
if (!$itemID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_PARAM_ERROR);
//检查物品是否为背景
$itemConfig = GameConfigServices::getParamByPath('item_list.' . $itemID);
//if (!$itemConfig) return ClientMessageServices::sendMessage(ResultStatusServices::RS_NOT_FIND_IN_CONFIG);
//if ($itemConfig['type2'] != ItemServices::ITEM_TYPE2_BG) return ClientMessageServices::sendMessage(ResultStatusServices::RS_PARAM_ERROR);
//查询数据库中是否有这个商品
$itemDbData = Item::findOne(['user_id' => $userID, 'item_id' => $itemID]);
if (!$itemDbData) return ClientMessageServices::sendMessage(ResultStatusServices::RS_NOT_FIND_IN_DB);
//更改农场背景
$farmDbData = Farm::findOne(['user_id' => $userID]);
$farmDbData->bg_image_id = $itemID;
if (!$farmDbData->save(true, ['bg_image_id', 'updated_at']))
return ClientMessageServices::sendMessage(ResultStatusServices::RS_SAVE_DB_ERROR);
//记录日志
UserLogService::addUserLog($userID, EnumUtil::USER_LOG_TYPE_CHANGE_FARM_STYLE, 0, 0);
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS);
}
/**
* 农场升级
*/
public function actionUpgrade()
{
$userID = Yii::$app->request->get('user_id');
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
$farmDbData = Farm::findOne(['user_id' => $userID]);
$farmConfig = GameConfigServices::getParamByPath('farm_level.' . ($farmDbData->level + 1));
if (!$farmConfig) return ClientMessageServices::sendMessage(ResultStatusServices::RS_NOT_FIND_IN_CONFIG);//已经达到最高级
$userDbData = User::findById($userID);
if ($farmConfig['player_level'] > $userDbData->level) return ClientMessageServices::sendMessage(ResultStatusServices::RS_LEVEL_LIMIT);//等级不够
//升级
$dbTrans = Yii::$app->db->beginTransaction();
try {
//扣除费用
MoneyUtil::parseAllItem($farmConfig['item_id'], 1, false, $userID, SystemLogUtil::FROM_TYPE_UPGRADE_FARM, ['config' => $farmConfig]);
$farmDbData->level++;
if (!$farmDbData->save(true, ['level', 'updated_at']))
return ClientMessageServices::sendMessage(ResultStatusServices::RS_SAVE_DB_ERROR);
//记录日志
UserLogService::addUserLog($userID, EnumUtil::USER_LOG_TYPE_UPGRADE_FARM, 0, 0);
AchievementUtil::addCount($userID, AchievementUtil::ID_FARM_UPGRADE, $farmDbData->level, true);
$success = true;
} finally {
if (isset($success))
$dbTrans->commit();
else {
$dbTrans->rollBack();
Yii::$app->redis->clearDirtyKey();//清除脏缓存数据
}
}
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS);
}
/**
* 农田扩建
*/
public function actionExtendLand()
{
$userID = Yii::$app->request->get('user_id');
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
$farmDbData = Farm::findOne(['user_id' => $userID]);
//查找索引最大的农田
$maxLandPosition = Land::find()
->where(['farm_id' => $farmDbData->id])
->max('position');
//获取可扩建的农田配置
$nextLandGameConfig = GameConfigServices::getParamByPath('land_extend.' . ($maxLandPosition + 2));//数据库索引从0开始配置表从1开始的所以要加2才能获取下一个配置表中的索引
if (!$nextLandGameConfig) return ClientMessageServices::sendMessage(ResultStatusServices::RS_NOT_FIND_IN_CONFIG);//已经扩建完了所有农田
//判断等级是个满足
$userDbData = User::findById($userID);
if ($nextLandGameConfig['player_level'] > $userDbData->level) return ClientMessageServices::sendMessage(ResultStatusServices::RS_PARAM_ERROR);//等级不够
//修改数据
$landDbData = new Land();
$dbTrans = Yii::$app->db->beginTransaction();
try {
//修改金钱
$gold = $nextLandGameConfig['gold'];
$log = SystemLogUtil::get($userID, SystemLogUtil::TYPE_GOLD, -$gold, 0, SystemLogUtil::FROM_TYPE_EXTEND_LAND, ['config' => $nextLandGameConfig]);
$rs = UserService::checkAndModifyMoney($userID, false, -$gold, 0, $log);
if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS) return ClientMessageServices::sendMessage($rs);
$landDbData->farm_id = $farmDbData->id;
$landDbData->position = $maxLandPosition + 1;
if (!$landDbData->save()) return ClientMessageServices::sendMessage(ResultStatusServices::RS_SAVE_DB_ERROR);
//记录日志
UserLogService::addUserLog($userID, EnumUtil::USER_LOG_TYPE_EXPAND_LAND, 0, 0);
$success = true;
} finally {
if (isset($success))
$dbTrans->commit();
else {
$dbTrans->rollBack();
Yii::$app->redis->clearDirtyKey();//清除脏缓存数据
}
}
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS, $landDbData->toArray());
}
/**
* 农田升级
*/
public function actionUpgradeLand()
{
$userID = Yii::$app->request->get('user_id');
$level = Yii::$app->request->get('level');//要升级哪一级
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
if (!$level || $level < 1 || $level > EnumUtil::LAND_MAX_LEVEL) return ClientMessageServices::sendMessage(ResultStatusServices::RS_PARAM_ERROR);
$farmDbData = Farm::findOne(['user_id' => $userID]);
$landDbDataList = Land::findAll(['farm_id' => $farmDbData->id]);
//查找当前等级中可升级的农田
$landDbData = LandService::findLandUpgradeItemByLevel($landDbDataList, $level);
if (!$landDbData) return ClientMessageServices::sendMessage(ResultStatusServices::RS_PARAM_ERROR);
//更改可升级的等级
$level = $landDbData['level'] + 1;
//获取升级配置表
$landUpgradeConfig = GameConfigServices::getLandUpgradeByLevelAndPosition($level, $landDbData['position']);
if (!$landUpgradeConfig) return ClientMessageServices::sendMessage(ResultStatusServices::RS_PARAM_ERROR);
//判断等级
$userDbData = User::findById($userID);
if ($landUpgradeConfig['player_level'] > $userDbData->level) return ClientMessageServices::sendMessage(ResultStatusServices::RS_PARAM_ERROR);
//修改数据
$dbTrans = Yii::$app->db->beginTransaction();
try {
//扣除费用
MoneyUtil::parseAllItem($landUpgradeConfig['item_id'], 1, false, $userID, SystemLogUtil::FROM_TYPE_UPGRADE_LAND, ['config' => $landUpgradeConfig]);
//升级
$landDbData->level = $level;
if (!$landDbData->save(true, ['level', 'updated_at'])) return ClientMessageServices::sendMessage(ResultStatusServices::RS_SAVE_DB_ERROR);
//记录日志
UserLogService::addUserLog($userID, EnumUtil::USER_LOG_TYPE_UPGRADE_LAND, 0, 0);
$success = true;
} finally {
if (isset($success))
$dbTrans->commit();
else {
$dbTrans->rollBack();
Yii::$app->redis->clearDirtyKey();//清除脏缓存数据
}
}
$returnData = $landDbData->toArray();
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS, $returnData);
}
/**
* 播种
*/
public function actionSowSeeds()
{
$userID = Yii::$app->request->get('user_id');
$itemID = Yii::$app->request->get('item_id');//要播种的种子
$position = Yii::$app->request->get('position');//要播种的土地位置
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
if (!$itemID || $position === null || $position < 0 || $position > EnumUtil::LAND_MAX_POSITION)
return ClientMessageServices::sendMessage(ResultStatusServices::RS_PARAM_ERROR);
//获取配置
$itemConfig = GameConfigServices::getParamByPath('item_list.' . $itemID);
if (!$itemConfig) return ClientMessageServices::sendMessage(ResultStatusServices::RS_NOT_FIND_IN_CONFIG);
//神秘种子
if ($itemConfig['type2'] == ItemServices::ITEM_TYPE2_MYSTERY_SEED) {
$mysterySeedItemID = $itemID;
//$itemID = GameConfigServices::getCommonNumByID(GameConfigServices::COMMON_MYSTERY_SEED);
$cropConfigItem = RandServices::getMySterySeedOddsItem();
$itemID = GameConfigServices::getSeedItemIDByCropID($cropConfigItem['id']);
$itemConfig = GameConfigServices::getParamByPath('item_list.' . $itemID);
if (!$itemConfig) return ClientMessageServices::sendMessage(ResultStatusServices::RS_NOT_FIND_IN_CONFIG);
}
//检查类型
if ($itemConfig['type2'] != ItemServices::ITEM_TYPE2_SEEDS)
return ClientMessageServices::sendMessage(ResultStatusServices::RS_ITEM_TYPE_ERROR);
//检查播种等级
$userDbData = User::findById($userID);
if (empty($mysterySeedItemID) && $itemConfig['player_level'] > $userDbData->level)
return ClientMessageServices::sendMessage(ResultStatusServices::RS_LEVEL_LIMIT);
//查找数据
$farmDbData = Farm::findOne(['user_id' => $userID]);
//修改数据
$dbTrans = Yii::$app->db->beginTransaction();
try {
if (isset($mysterySeedItemID)) {
$log = SystemLogUtil::get($userID, SystemLogUtil::TYPE_ITEM, $mysterySeedItemID, -1, SystemLogUtil::FROM_TYPE_SOW_SEEDS, []);
$rs = ItemServices::checkAndModifyNum($userID, $mysterySeedItemID, false, -1, $log); //扣除神秘种子数据
} else {
$log = SystemLogUtil::get($userID, SystemLogUtil::TYPE_ITEM, $itemID, -1, SystemLogUtil::FROM_TYPE_SOW_SEEDS, []);
$rs = ItemServices::checkAndModifyNum($userID, $itemID, false, -1, $log);//扣除物品数据
}
if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS) return ClientMessageServices::sendMessage($rs);
//播种
$isMysterySeed = isset($mysterySeedItemID) ? 1 : 0;
$rs = LandService::sowSeeds($farmDbData->id, $position, $itemID, $isMysterySeed);
if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS) return ClientMessageServices::sendMessage($rs);
//记录日志
UserLogService::addUserLog($userID, EnumUtil::USER_LOG_TYPE_SOW_SEED, $itemID, 1);
//任务记录
DailyTaskUtil::addTaskCount($userID, DailyTaskUtil::TYPE_SOW_SEEDS, null, 1);
$success = true;
} finally {
if (isset($success))
$dbTrans->commit();
else {
$dbTrans->rollBack();
Yii::$app->redis->clearDirtyKey();//清除脏缓存数据
}
}
$landDbData = Land::findOne(['farm_id' => $farmDbData->id, 'position' => $position]);
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS, $landDbData->toArray());
}
/**
* 添加幼崽
*/
public function actionMeadowCulture()
{
$userID = Yii::$app->request->get('user_id');
$itemID = Yii::$app->request->get('item_id');//要播种的种子
$itemConfig = GameConfigServices::getParamByPath('item_list.' . $itemID);
if (empty($itemConfig)) return ResultStatusServices::RS_NOT_FIND_IN_CONFIG;
$cropConfig = GameConfigServices::getParamByPath('crop_list.' . $itemConfig['effect_id']);
if (empty($cropConfig)) return ResultStatusServices::RS_NOT_FIND_IN_CONFIG;
// var_dump( $cropConfig);
//exit;
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
if (!$itemID)
return ClientMessageServices::sendMessage(ResultStatusServices::RS_PARAM_ERROR);
//获取配置
$itemConfig = GameConfigServices::getParamByPath('item_list.' . $itemID);
if (!$itemConfig) return ClientMessageServices::sendMessage(ResultStatusServices::RS_NOT_FIND_IN_CONFIG);
//检查投放等级
$userDbData = User::findById($userID);
// if ($itemConfig['player_level'] > $userDbData->level)
// return ClientMessageServices::sendMessage(ResultStatusServices::RS_LEVEL_LIMIT);
$lock = new RedisLock(Yii::$app->redis, RedisKeyUtil::lockLandInteraction($userID, $itemID, $itemDbData->num), RedisLock::FLAG_CATCH_EXCEPTIONS);
if (!$lock->acquire(10)) return ClientMessageServices::sendMessage(ResultStatusServices::RS_SAME_TIME_OPERATION);
//修改数据
$dbTrans = Yii::$app->db->beginTransaction();
try {
$log = SystemLogUtil::get($userID, SystemLogUtil::TYPE_ITEM, $itemID, -1, SystemLogUtil::FROM_TYPE_SOW_SEEDS, []);
$rs = ItemServices::checkAndModifyNum($userID, $itemID, false, -1, $log);//扣除物品数据
if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS) return ClientMessageServices::sendMessage($rs);
$Muchang=new Muchang();
$Muchang->created_at=time();
$Muchang->crop_config_id=$itemConfig['effect_id'];
$Muchang->gather_time= time() + intval($cropConfig['seedling_time']) + intval($cropConfig['grow_time']) + intval($cropConfig['ripe_time']);
$Muchang->start_time=time();
$Muchang->type=$itemConfig['type2'];
$Muchang->updated_at=time();
$Muchang->die_time=time()+intval($cropConfig['seedling_time']) + intval($cropConfig['grow_time']) + intval($cropConfig['life_time']*86400);
$Muchang->user_id=$userID;
$Muchang->has_gather=0;
$Muchang->save();
//记录日志
UserLogService::addUserLog($userID, EnumUtil::USER_LOG_TYPE_SOW_SEED, $itemID, 1);
//任务记录
DailyTaskUtil::addTaskCount($userID, DailyTaskUtil::TYPE_SOW_SEEDS, null, 1);
$success = true;
} finally {
if (isset($success))
$dbTrans->commit();
else {
$dbTrans->rollBack();
Yii::$app->redis->clearDirtyKey();//清除脏缓存数据
}
}
// $landDbData = Land::findOne(['farm_id' => $farmDbData->id, 'position' => $position]);
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS, $Muchang->toArray());
}
/**
* 收获农田作物
*/
public function actionGatherCrop()
{
$userID = Yii::$app->request->get('user_id');
$position = Yii::$app->request->get('position');//土地位置
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
if ($position === null || $position < 0 || $position > EnumUtil::LAND_MAX_POSITION)
return ClientMessageServices::sendMessage(ResultStatusServices::RS_PARAM_ERROR);
//查找数据
$farmDbData = Farm::findOne(['user_id' => $userID]);
//更新收获状态
$rs = LandService::updateCropStatus($userID, $farmDbData->id, $position, $farmDbData->level);
if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS)
return ClientMessageServices::sendMessage($rs);
//修改数据
$dbTrans = Yii::$app->db->beginTransaction();
$addExp = 0;
$rewardText = '';
try {
//收获
$output = 0;
$itemID = null;
$rs = LandService::gatherCrop($farmDbData->id, $position, $output, $itemID);
if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS) return ClientMessageServices::sendMessage($rs);
$itemConfig = GameConfigServices::getParamByPath('item_list.' . $itemID);
if (!$itemConfig) return ClientMessageServices::sendMessage(ResultStatusServices::RS_NOT_FIND_IN_CONFIG);
$rewardText = sprintf('%s:%d', $itemID, $output);
if ((int)$itemConfig['type2'] == ItemServices::ITEM_TYPE2_GOLD) {
$log = SystemLogUtil::get($userID, SystemLogUtil::TYPE_GOLD, $output, 0, SystemLogUtil::FROM_TYPE_GATHER_CROP, []);
$rs = UserService::checkAndModifyMoney($userID, true, $output, 0, $log);
} else {
//添加到仓库
$log = SystemLogUtil::get($userID, SystemLogUtil::TYPE_ITEM, $itemID, $output, SystemLogUtil::FROM_TYPE_GATHER_CROP, []);
$rs = ItemServices::checkAndModifyNum($userID, $itemID, true, $output, $log);
}
if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS) return ClientMessageServices::sendMessage($rs);
//增加玩家经验
if ($output > 0) {
$landDbData = Land::findByFarmIDAndPosition($farmDbData->id, $position);
$landConfig = GameConfigServices::getLandUpgradeByLevelAndPosition($landDbData->level, $landDbData->position);
$farmConfig = GameConfigServices::getParamByPath('farm_level.' . $farmDbData->level);
$cropConfig = GameConfigServices::getParamByPath('crop_list.' . $landDbData->crop_id);
$percent = floatval(intval($farmConfig['add_exp']) + intval($landConfig['add_exp'])) / 100;
$addExp = round(intval($cropConfig['exp']) * (1 + $percent));
if ($addExp > 0) {
MoneyUtil::addUserExp($userID, $addExp);
}
if ((int)$itemConfig['type2'] != ItemServices::ITEM_TYPE2_GOLD) {
$zhongzi = GameConfigServices::getParamByPath('store_list.' . ($cropConfig['item_id']-102000));
if (!empty($zhongzi) && isset($zhongzi['gold'])) {
//分销返点
RebateUtil::addRebate($userID, $zhongzi['gold'], RebateUtil::TYPE_BUY);
}
}
}
//记录日志
UserLogService::addUserLog($userID, EnumUtil::USER_LOG_TYPE_GATHER, $itemID, $output);
//任务记录
DailyTaskUtil::addTaskCount($userID, DailyTaskUtil::TYPE_LAND_GATHER, null, 1);
AchievementUtil::addCount($userID, AchievementUtil::ID_GET_FRUIT, 1);
$success = true;
} finally {
if (isset($success))
$dbTrans->commit();
else {
$dbTrans->rollBack();
Yii::$app->redis->clearDirtyKey();//清除脏缓存数据
}
}
$landDbData = Land::findOne(['farm_id' => $farmDbData->id, 'position' => $position]);
$returnData = $landDbData->toArray();
$returnData['item_id'] = $itemID;
$returnData['item_add_num'] = $output;
$returnData['add_exp'] = $addExp;
$returnData['reward_text'] = $rewardText;
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS, $returnData);
}
/**
* 喂养
*/
public function actionMeadowFeed()
{
$userID = Yii::$app->request->get('user_id');
$itemID = Yii::$app->request->get('item_id');//物品ID
$id = Yii::$app->request->get('id');//物品ID
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
if (!$itemID)
return ClientMessageServices::sendMessage(ResultStatusServices::RS_PARAM_ERROR);
//配置表
$itemConfig = GameConfigServices::getParamByPath('item_list.' . $itemID);
if (!$itemConfig) return ClientMessageServices::sendMessage(ResultStatusServices::RS_NOT_FIND_IN_CONFIG);
//修改数据
$dbTrans = Yii::$app->db->beginTransaction();
try {
//修改仓库物品
$log = SystemLogUtil::get($userID, SystemLogUtil::TYPE_ITEM, $itemID, -1, SystemLogUtil::FROM_TYPE_FERTILIZE, []);
$rs = ItemServices::checkAndModifyNum($userID, $itemID, false, -1, $log);
if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS) return ClientMessageServices::sendMessage($rs);
//修改牧场数据
$muDbData = Muchang::findOne(['id' => $id]);
if (!$muDbData) return ClientMessageServices::sendMessage(ResultStatusServices::RS_NOT_FIND_IN_DB);
//农作物已经成熟
if (time() > $muDbData->gather_time) return ClientMessageServices::sendMessage(ResultStatusServices::RS_CROP_RIPE);
//安阶段施肥,每次施肥不能超过一个阶段,采用减去播种时间来提升成长时间
$cropConfig = GameConfigServices::getParamByPath('crop_list.' . $muDbData->crop_config_id);
//配置表生长周期是单个周期的时间差,为了方便计算,把生长周期变成从播种开始的时间
$growPhaseTime1 = $muDbData->start_time + $cropConfig['seedling_time'];
$growPhaseTime2 = $growPhaseTime1 + $cropConfig['grow_time'];
$growPhaseTime3 = $growPhaseTime2 + $cropConfig['ripe_time'];
$needTime = 0;
//每个阶段还需要的时间
if (time() < $growPhaseTime1) $needTime = $growPhaseTime1 - time();
elseif (time() < $growPhaseTime2) $needTime = $growPhaseTime2 - time();
elseif (time() < $growPhaseTime3) $needTime = $growPhaseTime3 - time();
//修改时间
$fertilizeTime = $itemConfig['effect_id'];//肥料时间
if ($fertilizeTime > $needTime) {
$muDbData->start_time -= $needTime;
$muDbData->gather_time -= $needTime;
} else {
$muDbData->start_time -= $fertilizeTime;
$muDbData->gather_time -= $fertilizeTime;
}
if (!$muDbData->save(true, ['start_time', 'gather_time', 'updated_at']))
return ClientMessageServices::sendMessage(ResultStatusServices::RS_SAVE_DB_ERROR);
//更新农田状态
$rs = MuchangService::updateAllCropStatus($userID);
if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS) return ClientMessageServices::sendMessage($rs);
//记录日志
UserLogService::addUserLog($userID, EnumUtil::USER_LOG_TYPE_FERTILIZATION, $id, 0);
//任务记录
DailyTaskUtil::addTaskCount($userID, DailyTaskUtil::TYPE_LAND_FER, null, 1);
$success = true;
} finally {
if (isset($success))
$dbTrans->commit();
else {
$dbTrans->rollBack();
Yii::$app->redis->clearDirtyKey();//清除脏缓存数据
}
}
$muDbData = Muchang::findOne(['id' => $id]);
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS, $muDbData->genClientData());
}
/**
* 收货农场
*/
public function actionMeadowGather()
{
$userID = Yii::$app->request->get('user_id');
$id = Yii::$app->request->get('id');//选中的ID
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
if ($id === null || $id < 0 )
return ClientMessageServices::sendMessage(ResultStatusServices::RS_PARAM_ERROR);
//查找数据
$farmDbData = Muchang::findOne(['id' => $id]);
//判断时间,农作物是否可收获
if ($farmDbData->is_ripe != 1) return ClientMessageServices::sendMessage(ResultStatusServices::RS_CROP_NOT_RIPE);
//检查是否已收获过
if ($farmDbData->has_gather != 0) return ClientMessageServices::sendMessage(ResultStatusServices::RS_CROP_HAD_GATHER);
//获取配置
$cropConfig = GameConfigServices::getParamByPath('crop_list.' . $farmDbData->crop_config_id);
if (empty($cropConfig)) return ClientMessageServices::sendMessage(ResultStatusServices::RS_NOT_FIND_IN_CONFIG);
//设置收获的物品羊牛鸡肉
$itemID = $cropConfig['item_id'];
//收获产量
$output = $farmDbData->output;
if($farmDbData->steal_count>0){
$output=$output-$farmDbData->steal_count;
}
//设置收获的物品羊牛鸡肉(副产品蛋奶)
$itemID1 = $cropConfig['item_id_1'];
//收获产量
$output1 = $farmDbData->num;
if(time()>=$farmDbData->die_time){
$farmDbData->has_gather=1;
//更新收获状态
$farmDbData->save(true, ['has_gather']);
}else{
$output1=0;
$farmDbData->is_ripe=0;
$farmDbData->is_output=0;
$farmDbData->num=0;
$farmDbData->steal_count=0;
$farmDbData->output=0;
$farmDbData->start_time=time()-$cropConfig['seedling_time']-$cropConfig['grow_time'];
$farmDbData->gather_time=time()+$cropConfig['ripe_time'];
$farmDbData->updated_at=time();
//更新收获状态
$farmDbData->save(true, ['is_output','is_ripe','num','output','start_time','gather_time','updated_at','steal_count']);
}
//修改数据
$dbTrans = Yii::$app->db->beginTransaction();
$addExp = 0;
try {
if(time()>=$farmDbData->die_time){
$log1 = SystemLogUtil::get($userID, SystemLogUtil::TYPE_ITEM, $itemID1, $output1, SystemLogUtil::FROM_TYPE_GATHER_CROP, []);
$rs1 = ItemServices::checkAndModifyNum($userID, $itemID1, true, $output1, $log1);
}
//添加到仓库
$log = SystemLogUtil::get($userID, SystemLogUtil::TYPE_ITEM, $itemID, $output, SystemLogUtil::FROM_TYPE_GATHER_CROP, []);
$rs = ItemServices::checkAndModifyNum($userID, $itemID, true, $output, $log);
if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS) return ClientMessageServices::sendMessage($rs);
if($cropConfig['id']==15){
$item_id=12;
}elseif($cropConfig['id']==16){
$item_id=13;
}else{
$item_id=11;
}
$zhongzi = GameConfigServices::getParamByPath('store_list.' . $item_id);
//分销返点
RebateUtil::addRebate($userID, $zhongzi['gold'], RebateUtil::TYPE_BUY);
//增加玩家经验
if ($output > 0) {
$cropConfig = GameConfigServices::getParamByPath('crop_list.' . $farmDbData->crop_config_id);
$addExp = round(intval($cropConfig['exp']));
MoneyUtil::addUserExp($userID, $addExp);
}
if(time()>=$farmDbData->die_time){
//记录日志
UserLogService::addUserLog($userID, EnumUtil::USER_LOG_TYPE_GATHER, $itemID1, $output1);
}
//记录日志
UserLogService::addUserLog($userID, EnumUtil::USER_LOG_TYPE_GATHER, $itemID, $output);
//任务记录
DailyTaskUtil::addTaskCount($userID, DailyTaskUtil::TYPE_LAND_GATHER, null, 1);
AchievementUtil::addCount($userID, AchievementUtil::ID_GET_FRUIT, 1);
$success = true;
} finally {
if (isset($success))
$dbTrans->commit();
else {
$dbTrans->rollBack();
Yii::$app->redis->clearDirtyKey();//清除脏缓存数据
}
}
$returnData['meat_item_id'] = $itemID;
$returnData['meat_num'] = $output;
$returnData['output_item_id'] = $itemID1;
$returnData['output_num'] = $output1;
$returnData['add_exp'] = $addExp;
$muDbData = Muchang::findOne(['id' => $id]);
$returnData['muchang'] = $muDbData->genClientData();
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS, $returnData);
}
/**
* 清理农田
*/
public function actionClearLand()
{
$userID = Yii::$app->request->get('user_id');
$position = Yii::$app->request->get('position');//土地位置
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
if ($position === null || $position < 0 || $position > EnumUtil::LAND_MAX_POSITION)
return ClientMessageServices::sendMessage(ResultStatusServices::RS_PARAM_ERROR);
//查找数据
$farmDbData = Farm::findOne(['user_id' => $userID]);
//更新收获状态
$rs = LandService::clearLand($farmDbData->id, $position);
if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS) return ClientMessageServices::sendMessage($rs);
//记录日志
UserLogService::addUserLog($userID, EnumUtil::USER_LOG_TYPE_CLEAN_LAND, 0, 0);
$landDbData = Land::findOne(['farm_id' => $farmDbData->id, 'position' => $position]);
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS, $landDbData->toArray());
}
/**
* 施肥
*/
public function actionFertilize()
{
$userID = Yii::$app->request->get('user_id');
$position = Yii::$app->request->get('position');//土地位置
$itemID = Yii::$app->request->get('item_id');//物品ID
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
if (!$itemID || $position === null || $position < 0 || $position > EnumUtil::LAND_MAX_POSITION)
return ClientMessageServices::sendMessage(ResultStatusServices::RS_PARAM_ERROR);
//配置表
$itemConfig = GameConfigServices::getParamByPath('item_list.' . $itemID);
if (!$itemConfig) return ClientMessageServices::sendMessage(ResultStatusServices::RS_NOT_FIND_IN_CONFIG);
//检查物品类型
if ($itemConfig['type2'] != 108)
return ClientMessageServices::sendMessage(ResultStatusServices::RS_ITEM_TYPE_ERROR);
//查找数据
$farmDbData = Farm::findOne(['user_id' => $userID]);
//修改数据
$dbTrans = Yii::$app->db->beginTransaction();
try {
//修改仓库物品
$log = SystemLogUtil::get($userID, SystemLogUtil::TYPE_ITEM, $itemID, -1, SystemLogUtil::FROM_TYPE_FERTILIZE, []);
$rs = ItemServices::checkAndModifyNum($userID, $itemID, false, -1, $log);
if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS) return ClientMessageServices::sendMessage($rs);
//修改农田数据
$landDbData = Land::findOne(['farm_id' => $farmDbData->id, 'position' => $position]);
if (!$landDbData) return ClientMessageServices::sendMessage(ResultStatusServices::RS_NOT_FIND_IN_DB);
//检查农田是否有作物
if ($landDbData->crop_id == 0) return ClientMessageServices::sendMessage(ResultStatusServices::RS_LAND_NOT_CROP);
//农作物已经成熟
if (time() > $landDbData->crop_gather_time) return ClientMessageServices::sendMessage(ResultStatusServices::RS_CROP_RIPE);
//安阶段施肥,每次施肥不能超过一个阶段,采用减去播种时间来提升成长时间
$cropConfig = GameConfigServices::getParamByPath('crop_list.' . $landDbData->crop_id);
//配置表生长周期是单个周期的时间差,为了方便计算,把生长周期变成从播种开始的时间
$growPhaseTime1 = $landDbData->crop_start_time + $cropConfig['seedling_time'];
$growPhaseTime2 = $growPhaseTime1 + $cropConfig['grow_time'];
$growPhaseTime3 = $growPhaseTime2 + $cropConfig['ripe_time'];
$needTime = 0;
//每个阶段还需要的时间
if (time() < $growPhaseTime1) $needTime = $growPhaseTime1 - time();
elseif (time() < $growPhaseTime2) $needTime = $growPhaseTime2 - time();
elseif (time() < $growPhaseTime3) $needTime = $growPhaseTime3 - time();
//修改时间
$fertilizeTime = $itemConfig['effect_id'];//肥料时间
if ($fertilizeTime > $needTime) {
$landDbData->crop_start_time -= $needTime;
$landDbData->crop_gather_time -= $needTime;
} else {
$landDbData->crop_start_time -= $fertilizeTime;
$landDbData->crop_gather_time -= $fertilizeTime;
}
if (!$landDbData->save(true, ['crop_start_time', 'crop_gather_time', 'updated_at']))
return ClientMessageServices::sendMessage(ResultStatusServices::RS_SAVE_DB_ERROR);
//更新农田状态
$rs = LandService::updateCropStatus($userID, $farmDbData->id, $position, $farmDbData->level);
if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS) return ClientMessageServices::sendMessage($rs);
//记录日志
UserLogService::addUserLog($userID, EnumUtil::USER_LOG_TYPE_FERTILIZATION, $itemID, 0);
//任务记录
DailyTaskUtil::addTaskCount($userID, DailyTaskUtil::TYPE_LAND_FER, null, 1);
$success = true;
} finally {
if (isset($success))
$dbTrans->commit();
else {
$dbTrans->rollBack();
Yii::$app->redis->clearDirtyKey();//清除脏缓存数据
}
}
$landDbData = Land::findOne(['farm_id' => $farmDbData->id, 'position' => $position]);
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS, $landDbData->genClientData());
}
/**
* 除病害
*/
public function actionDisease()
{
$userID = Yii::$app->request->get('user_id');
$position = Yii::$app->request->get('position');//土地位置
$type = Yii::$app->request->get('type');//操作类型
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
if ($position === null || $position < 0 || $position > EnumUtil::LAND_MAX_POSITION)
return ClientMessageServices::sendMessage(ResultStatusServices::RS_PARAM_ERROR);
//判断病虫害类型
if (!in_array($type, EnumUtil::LAND_DISEASE_TYPE_LIST))
return ClientMessageServices::sendMessage(ResultStatusServices::RS_LAND_DISEASE_TYPE_ERROR);
$dbTrans = Yii::$app->db->beginTransaction();
try {
//查找数据
$farmDbData = Farm::findOne(['user_id' => $userID]);
$landDbData = Land::findOne(['farm_id' => $farmDbData->id, 'position' => $position]);
if (!$landDbData) return ClientMessageServices::sendMessage(ResultStatusServices::RS_NOT_FIND_IN_DB);
//修改数据
$hasChange = false;
if ($type == EnumUtil::LAND_DISEASE_TYPE_DRY && $landDbData->has_dry == 1) {
$landDbData->has_dry = 0;
$hasChange = true;
//任务记录
DailyTaskUtil::addTaskCount($userID, DailyTaskUtil::TYPE_LAND_WATER, null, 1);
}
if ($type == EnumUtil::LAND_DISEASE_TYPE_BUG && $landDbData->has_bug == 1) {
//扣除除虫剂
$itemID = GameConfigServices::getItemIDByType2(ItemServices::ITEM_TYPE2_DISINSECTION);
if (empty($itemID)) return ClientMessageServices::sendMessage(ResultStatusServices::RS_NOT_FIND_IN_CONFIG);
$log = SystemLogUtil::get($userID, SystemLogUtil::TYPE_ITEM, $itemID, -1, SystemLogUtil::FROM_TYPE_DISEASE, []);
$rs = ItemServices::checkAndModifyNum($userID, $itemID, false, -1, $log);
if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS)
return ClientMessageServices::sendMessage($rs);
$landDbData->has_bug = 0;
$hasChange = true;
//任务记录
DailyTaskUtil::addTaskCount($userID, DailyTaskUtil::TYPE_LAND_BUG, null, 1);
}
if ($type == EnumUtil::LAND_DISEASE_TYPE_GRASS && $landDbData->has_grass == 1) {
//扣除除草剂
$itemID = GameConfigServices::getItemIDByType2(ItemServices::ITEM_TYPE2_WEEDING);
if (empty($itemID)) return ClientMessageServices::sendMessage(ResultStatusServices::RS_NOT_FIND_IN_CONFIG);
$log = SystemLogUtil::get($userID, SystemLogUtil::TYPE_ITEM, $itemID, -1, SystemLogUtil::FROM_TYPE_DISEASE, []);
$rs = ItemServices::checkAndModifyNum($userID, $itemID, false, -1, $log);
if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS)
return ClientMessageServices::sendMessage($rs);
$landDbData->has_grass = 0;
$hasChange = true;
//任务记录
DailyTaskUtil::addTaskCount($userID, DailyTaskUtil::TYPE_LAND_GRASS, null, 1);
}
if ($hasChange && !$landDbData->save(true, ['has_dry', 'has_bug', 'has_grass', 'updated_at']))
return ClientMessageServices::sendMessage(ResultStatusServices::RS_SAVE_DB_ERROR);
//更新农田状态
$rs = LandService::updateCropStatus($userID, $farmDbData->id, $position, $farmDbData->level);
if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS) return ClientMessageServices::sendMessage($rs);
$success = true;
} finally {
if (isset($success))
$dbTrans->commit();
else {
$dbTrans->rollBack();
Yii::$app->redis->clearDirtyKey();//清除脏缓存数据
}
}
$landDbData = Land::findOne(['farm_id' => $farmDbData->id, 'position' => $position]);
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS, $landDbData->toArray());
}
/**
* 获取养殖的动物列表
*/
public function actionGetMeadowList()
{
$userID = Yii::$app->request->get('user_id');
$type = Yii::$app->request->get('type');//动物类型 养103 鸡 104 牛105
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
$find = Muchang::find()->where(['user_id' => $userID, 'type' => $type,'has_gather'=>0])->all();
$json = [];
$i = 0;
foreach ($find as $key => $value) {
$json[$i]['id'] = $value->id;
$json[$i]['user_id'] = $value->user_id;
$json[$i]['created_at'] = $value->created_at;
$json[$i]['crop_config_id'] = $value->crop_config_id;
$json[$i]['gather_time'] = $value->gather_time;
$json[$i]['is_ripe'] = $value->is_ripe;
$json[$i]['created_at'] = $value->created_at;
$json[$i]['updated_at'] = $value->updated_at;
$json[$i]['is_output'] = $value->is_output;
$json[$i]['item_config_id'] = $value->item_config_id;
$json[$i]['min_output'] = $value->min_output;
$json[$i]['num'] = $value->num;
$json[$i]['output'] = $value->output;
$json[$i]['start_time'] = $value->start_time;
$json[$i]['type'] = $value->type;
$i++;
}
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS, $json);
}
/**
* 获取养殖的动物列表
*/
public function actionGetOtherMeadowList()
{
$userID = Yii::$app->request->get('be_user_id');
$type = Yii::$app->request->get('type');//动物类型 养103 鸡 104 牛105
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
$find = Muchang::find()->where(['user_id' => $userID, 'type' => $type,'has_gather'=>0])->all();
$json = [];
$i = 0;
foreach ($find as $key => $value) {
$json[$i]['id'] = $value->id;
$json[$i]['user_id'] = $value->user_id;
$json[$i]['created_at'] = $value->created_at;
$json[$i]['crop_config_id'] = $value->crop_config_id;
$json[$i]['gather_time'] = $value->gather_time;
$json[$i]['is_ripe'] = $value->is_ripe;
$json[$i]['created_at'] = $value->created_at;
$json[$i]['updated_at'] = $value->updated_at;
$json[$i]['is_output'] = $value->is_output;
$json[$i]['item_config_id'] = $value->item_config_id;
$json[$i]['min_output'] = $value->min_output;
$json[$i]['num'] = $value->num;
$json[$i]['output'] = $value->output;
$json[$i]['start_time'] = $value->start_time;
$json[$i]['type'] = $value->type;
$i++;
}
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS, $json);
}
//偷牧场
/**
* 偷肉等交互操作
*/
public function actionMeadowSteal()
{
$userID = Yii::$app->request->get('user_id');
$beUserID = Yii::$app->request->get('be_user_id');//被操作用户ID
$id = Yii::$app->request->get('id');//要操作的动物ID
if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
//验证要操作的用户
$beUserDbData = User::findById($beUserID);
if (!$beUserDbData)
return ClientMessageServices::sendMessage(ResultStatusServices::RS_NOT_FIND_USER);
//$farmDbData = Farm::findOne(['user_id' => $beUserID]);
$muchangDbData = Muchang::findOne(['id' => $id]);
//更新农田状态
$rs = MuchangService::updateAllCropStatus($beUserID);
if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS)
return ClientMessageServices::sendMessage($rs);
if($muchangDbData['steal_count']>0){
return ClientMessageServices::sendMessage(1026);
}
$muchangDbData = Muchang::findOne(['id' => $id]);
if($muchangDbData['gather_time']<time()){
return ClientMessageServices::sendMessage(1016);
}
$lock = new RedisLock(Yii::$app->redis, RedisKeyUtil::lockLandInteraction($userID, $beUserID, $id), RedisLock::FLAG_CATCH_EXCEPTIONS);
if (!$lock->acquire(10)) return ResultStatusServices::RS_SAME_TIME_OPERATION;
//更新操作状态
$stealCount = 0;//偷到的果实数量
$deductGold = 0;//被抓扣除的金币
try {
$isCatch = false;//是否被抓
//判断偷菜是否被抓
if ($type == EnumUtil::INTERACTION_TYPE_STEAL) {
$deductGold = RandServices::getDogCatchDeductGold($beUserDbData);
if ($deductGold > 0) {
//扣除金币
$log = SystemLogUtil::get($userID, SystemLogUtil::TYPE_GOLD, -$deductGold, 0, SystemLogUtil::FROM_TYPE_CATCH_PAY, []);
$rs = UserService::checkAndModifyMoney($userID, false, -$deductGold, 0, $log);
if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS) return ClientMessageServices::sendMessage($rs);
//把金币给主人
$log = SystemLogUtil::get($beUserID, SystemLogUtil::TYPE_GOLD, $deductGold, 0, SystemLogUtil::FROM_TYPE_CATCH_GET, []);
$rs = UserService::checkAndModifyMoney($beUserID, true, $deductGold, 0, $log);
if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS) return ClientMessageServices::sendMessage($rs);
//记录日志
UserLogService::addUserLog($userID, EnumUtil::USER_LOG_TYPE_BE_CATCH, 0, 0, $beUserID);
UserLogService::addUserLog($beUserID, EnumUtil::USER_LOG_TYPE_CATCH, 0, 0, $userID);
$isCatch = true;
}
}
if (!$isCatch) {
//没有被抓才执行下面操作
$success = false;
$change = false;
$dbTrans = Yii::$app->db->beginTransaction();
try {
if ($type == EnumUtil::INTERACTION_TYPE_STEAL) {
//偷菜
//偷取农田
$rs = MuchangService::steal($id,$stealCount);
if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS)
return ClientMessageServices::sendMessage($rs);
//修改仓库数量
$cropConfig = GameConfigServices::getParamByPath('crop_list.' . $muchangDbData->crop_config_id);
$itemID = $cropConfig['item_id'];
// die("11111111");
$log = SystemLogUtil::get($userID, SystemLogUtil::TYPE_ITEM, $itemID, $stealCount, SystemLogUtil::FROM_TYPE_STEAL_GET, []);
$rs = ItemServices::checkAndModifyNum($userID, $itemID, true, $stealCount, $log);
if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS)
return ClientMessageServices::sendMessage($rs);
//记录日志
UserLogService::addUserLog($userID, EnumUtil::USER_LOG_TYPE_STEAL, $itemID, $stealCount, $beUserID);
UserLogService::addUserLog($beUserID, EnumUtil::USER_LOG_TYPE_BE_STEAL, $itemID, $stealCount, $userID);
//任务记录
DailyTaskUtil::addTaskCount($userID, DailyTaskUtil::TYPE_STEAL_SUCCESS, null, 1);
//成就
AchievementUtil::addCount($userID, AchievementUtil::ID_STEAL, 1);
AchievementUtil::addCount($userID, AchievementUtil::ID_STEAL_SUCCESS, 1);
$change = true;
}
/*if ($change) {
//记录交互
$interactionDbData = new Interaction();
$interactionDbData->from_user_id = $userID;
$interactionDbData->be_user_id = $beUserID;
$interactionDbData->land_create_time = $muchangDbData->start_time;
$interactionDbData->position = $muchangDbData->id;
$interactionDbData->type = $type;
$interactionDbData->num = $stealCount;
if (!$interactionDbData->save())
return ClientMessageServices::sendMessage(ResultStatusServices::RS_SAVE_DB_ERROR, $interactionDbData->getErrors());
}*/
$success = true;
} finally {
if ($success)
$dbTrans->commit();
else {
$dbTrans->rollBack();
Yii::$app->redis->clearDirtyKey();//清除脏缓存数据
}
}
}
} finally {
$lock->release();
}
//返回数据
$returnData['id'] = $id;
$returnData['steal_count'] = $stealCount;
$returnData['deduct_gold'] = $deductGold;
$muchangDbData = Muchang::findOne(['id' => $id]);
$returnData['meadow'] = $muchangDbData->genClientData();
//ClientMessageServices::sendDebugInfo($landDbData->genClientData());
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS, $returnData);
}
}