/** * @param $email * @param $userName * @param $password * @return array|int * 用户注册 * 成功返回1 * 错误返回错误信息数组 */ public function userRegister($email, $userName, $password) { $createDate = date('Y-m-d H:i:sa'); $userId = md5($email . $createDate); $user = new User(); $user->user_id = $userId; $user->user_email = $email; $user->user_password = md5($password); $user->user_name = $userName; $user->create_date = $createDate; $tran = \Yii::$app->db->beginTransaction(); try { if ($user->save()) { $disk = new Disk(); $disk->disk_id = md5($userId . $createDate); //创建用户空间 $disk->user_id = $userId; $disk->capacity = 21474836480; //20GB $disk->available_size = 21474836480; $disk->create_date = $createDate; if ($disk->save()) { //初始化用户跟目录 $fileRecord = new FileRecord(); $fileRecord->f_record_id = $userId; $fileRecord->f_record_type = '2'; //f_record_type:2,目录类型 $fileRecord->file_id = '0'; //目录类型文件id为0 $fileRecord->user_id = $userId; $fileRecord->file_name = '我的网盘'; $fileRecord->extension = ''; $fileRecord->file_type = 'folder'; $fileRecord->file_size = 0; $fileRecord->parent_id = '0'; //跟目录上级目录为0 $fileRecord->upload_date = $createDate; $fileRecord->state = '0'; //记录状态0为正常 if ($fileRecord->save()) { $tran->commit(); $_SESSION['user'] = $user; return 'success'; } else { $tran->rollBack(); return $fileRecord->errors; } } else { $tran->rollBack(); return $disk->errors; } } else { $tran->rollBack(); return $user->errors; } } catch (Exception $e) { $tran->rollBack(); return $e->errors; } }
public function getFileByCode($code) { $shareCode = ShareCode::findOne(['code' => $code]); if ($shareCode == null) { return '1'; //提取码不存在 } $fileRecord = FileRecord::findOne(['f_record_id' => $shareCode->f_record_id, 'state' => '0']); if ($fileRecord == null) { return '2'; //文件已删除 } return $fileRecord->file_id; }
public function logManageFile($fileId, $info) { $tran = \Yii::$app->db->beginTransaction(); $records = FileRecord::findAll(['file_id' => $fileId]); $fileService = new FileService(); foreach ($records as $record) { if ($record->state == '0') { //$fileService->deleteFile($record->f_record_id,$record->user_id); } } $conn = \Yii::$app->db; $sql = 'update file_record set state="2" where file_id="' . $fileId . '"'; $command = $conn->createCommand($sql); if (!$command->execute()) { $tran->rollBack(); return 'error'; } $log = new FileManageLog(); $log->fm_log_id = md5($fileId . $_SESSION['admin']['admin_id'] . date('Y-m-d H:i:s')); $log->file_id = $fileId; $log->admin_id = $_SESSION['admin']['admin_id']; $log->fm_manage_type = '1'; //禁用文件 $log->fm_manage_info = $info; $log->create_date = date('Y-m-d H:i:s'); if ($log->save()) { $tran->commit(); return 'success'; } else { $tran->rollBack(); return $log->errors; } }
public function actionRename() { if (Yii::$app->request->isPost) { $record_id = $_POST['record_id']; $newName = $_POST['new_name']; $fileService = new FileService(); $msg = $fileService->rename($record_id, $newName); if ($msg == 'success') { $record = FileRecord::findOne(['f_record_id' => $record_id]); $result['code'] = '0'; $result['file_name'] = $record->file_name; echo json_encode($result); } else { $result['code'] = '1'; $result['msg'] = $msg; echo json_encode($result); } } }