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); } //获取所有仓库数据 $itemDbDataList = Item::find() ->select(['id', 'user_id', 'item_id', 'name', 'type', 'num']) ->where(['user_id' => $userID]) ->orderBy(['type' => SORT_ASC, 'item_id' => SORT_ASC]) ->asArray() ->all(); $clientData = []; foreach ($itemDbDataList as $item) { $clientData[] = [ 'id' => (int)$item['id'], 'user_id' => (int)$item['user_id'], 'item_id' => (int)$item['item_id'], 'name' => $item['name'], 'type' => (int)$item['type'], 'num' => (int)$item['num'], ]; } return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS, $clientData); } /** * 出售仓库中物品 */ public function actionSell() { $userID = Yii::$app->request->get('user_id'); $itemID = Yii::$app->request->get('item_id');//物品ID $num = Yii::$app->request->get('num');//要出售的数量 if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录 //验证 if (!$itemID || $num <= 0) 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 (in_array($itemConfig['type2'], ItemServices::ITEM_CAN_NOT_SELL_LIST)) return ClientMessageServices::sendMessage(ResultStatusServices::RS_PARAM_ERROR); //修改数据 $dbTrans = Yii::$app->db->beginTransaction(); try { //修改金钱 $gold = $itemConfig['sell_gold'] * $num; $log = SystemLogUtil::get($userID, SystemLogUtil::TYPE_GOLD, $gold, 0, SystemLogUtil::FROM_TYPE_SELL, []); $rs = UserService::checkAndModifyMoney($userID, true, $gold, 0, $log); if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS) return ClientMessageServices::sendMessage($rs); //修改仓库物品 $log = SystemLogUtil::get($userID, SystemLogUtil::TYPE_ITEM, $itemID, -$num, SystemLogUtil::FROM_TYPE_SELL, []); $rs = ItemServices::checkAndModifyNum($userID, $itemID, false, -$num, $log); if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS) return ClientMessageServices::sendMessage($rs); //记录日志 UserLogService::addUserLog($userID, EnumUtil::USER_LOG_TYPE_SELL, $itemID, $num); if($itemConfig['type2']==ItemServices::ITEM_TYPE2_FRUIT) { //任务记录 DailyTaskUtil::addTaskCount($userID, DailyTaskUtil::TYPE_SELL_FRUIT, null, 1); } $success = true; } finally { if (isset($success)) $dbTrans->commit(); else { $dbTrans->rollBack(); Yii::$app->redis->clearDirtyKey();//清除脏缓存数据 } } return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS); } // /** // * 使用新手礼包 // */ // public function actionUseGift() // { // $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 (!isset($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_GIFT) // return ClientMessageServices::sendMessage(ResultStatusServices::RS_PARAM_ERROR); // // //修改数据 // $dbTrans = Yii::$app->db->beginTransaction(); // try { // //修改仓库物品 // $log = SystemLogUtil::get($userID, SystemLogUtil::TYPE_ITEM, $itemID, -1, SystemLogUtil::FROM_TYPE_USER_ITEM, []); // $rs = ItemServices::checkAndModifyNum($userID, $itemID, false, -1, $log); // if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS) return ClientMessageServices::sendMessage($rs); // // //添加新手包中的物品 // $giftConfigItemList = GameConfigServices::getParamByPath('gift'); // foreach ($giftConfigItemList as $giftConfigItem) { // $itemType2 = $giftConfigItem['type2']; // $itemID = $giftConfigItem['item_id']; // $num = $giftConfigItem['num']; // // //其他物品放入仓库中 // $log = SystemLogUtil::get($userID, SystemLogUtil::TYPE_ITEM, $itemID, $num, SystemLogUtil::FROM_TYPE_USE_GIFT, []); // $rs = ItemServices::checkAndModifyNum($userID, $itemID, true, $num, $log); // if ($rs != ResultStatusServices::RS_OPERATION_SUCCESS) return ClientMessageServices::sendMessage($rs); // } // // //记录日志 // UserLogService::addUserLog($userID, EnumUtil::USER_LOG_TYPE_USE_GIFT); // // $success = true; // } finally { // if (isset($success)) // $dbTrans->commit(); // else { // $dbTrans->rollBack(); // Yii::$app->redis->clearDirtyKey();//清除脏缓存数据 // } // } // // return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS); // } }