⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filesinfoserviceimpl.java

📁 java web模拟的简单的一个网络硬盘
💻 JAVA
字号:
package com.dark.nethd.business.service;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Date;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.upload.FormFile;
import org.springframework.dao.DataAccessException;

import com.dark.nethd.bean.FilesInfo;
import com.dark.nethd.bean.UserInfo;
import com.dark.nethd.business.IFilesInfoService;
import com.dark.nethd.business.OperateUploadFile;
import com.dark.nethd.dao.IFilesInfoDao;

public class FilesInfoServiceImpl implements IFilesInfoService {
	private IFilesInfoDao filesInfoDao = null;

	public void setFilesInfoDao(IFilesInfoDao filesInfoDao) {
		this.filesInfoDao = filesInfoDao;
	}

	public boolean filesInfoByUserIdAndIdDelete(Integer fid, Integer userId,
			HttpServletRequest request) throws DataAccessException {
		// 查询获得该用户文件
		FilesInfo fi = filesInfoDao.findFilesInfoByID(fid);
		if (fi == null) {
			return false;
		}
		// 删除改文件
		OperateUploadFile.delUploadFile(fi.getFilePath(), request);
		return filesInfoDao.deleteFilesInfoByUserIdAndId(fid, userId);
	}

	public List findFilesInfoByUserID(Integer userId)
			throws DataAccessException {
		return filesInfoDao.findFilesInfoByUserID(userId);
	}

	public FilesInfo filesInfoSave(FilesInfo fi, UserInfo ui, FormFile file,
			HttpServletRequest request) throws DataAccessException {
		// 判断用户空间是否足够
		// 获得用户已经使用的空间数量
		Integer usedSpace = filesInfoDao
				.getAllFilesSizeByUserId(ui.getUserId())
				+ file.getFileSize();
		if (ui.getMaxSpace() <= usedSpace) {
			return null;
		} else {
			String filePath = "";
			try {
				filePath = OperateUploadFile.doUploadFile(file, request);
			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			if (filePath.equals("")) {
				return null;
			} else {
				// 保存文件
				fi.setUserId(ui.getUserId());
				fi.setFileName(file.getFileName());
				fi.setFileSize(file.getFileSize());
				fi.setUploadTime(new Date());
				fi.setFilePath(filePath);
				return filesInfoDao.saveFilesInfo(fi);
			}
		}
	}

	public Integer getAllFilesSizeByUserId(Integer userId)
			throws DataAccessException {
		return filesInfoDao.getAllFilesSizeByUserId(userId);
	}
	public FilesInfo findFilesInfoByID(Integer id){
		return filesInfoDao.findFilesInfoByID(id);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -