首页>代码>SSH版本无纸化办公平台---最新原创力作>/Easy18/src/main/java/wjb/action/base/BaseNetDiskAction.java
package wjb.action.base;

import java.io.File;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.springframework.beans.factory.annotation.Autowired;
import wjb.action.BaseAction;
import wjb.constant.WjbConstants;
import wjb.model.BaseBussinessLog;
import wjb.model.BaseNetDisk;
import wjb.model.base.SessionInfo;
import wjb.model.easyui.Grid;
import wjb.model.easyui.Json;
import wjb.service.BaseNetDiskServiceI;
import wjb.service.BussinessLogServiceI;
import wjb.utils.ConfigUtil;
import wjb.utils.HqlFilter;
import wjb.utils.StringUtil;

/**
 * @描述: 网络硬盘业务
 * @版权: Copyright (c) 2018
 * @作者: wujiangbo(QQ:1134135987)
 * @版本: 1.0
 * @创建时间: 2018年8月28日 上午10:41:46
 */
@Action(value = "netDiskAction")
@Namespace("/base")
public class BaseNetDiskAction extends BaseAction<BaseNetDisk> {
	private static final long serialVersionUID = -1190787179858309411L;

	@Autowired
	public void setService(BaseNetDiskServiceI service) {
		this.service = service;
	}

	@Autowired
	public void setServiceLog(BussinessLogServiceI service) {
		this.serviceLog = service;
	}

	// 记录用户操作日志
	public void writeLog(String log_context) {
		SessionInfo sessionInfo = (SessionInfo) this.getSession().getAttribute(ConfigUtil.getSessionInfoName());
		if (sessionInfo != null && sessionInfo.getUser() != null) {
			// 记录操作日志
			BaseBussinessLog bussiness_log = new BaseBussinessLog();
			bussiness_log.setUpdateUser(sessionInfo.getUser().getUserName());
			bussiness_log.setLogDescs(log_context);
			serviceLog.save(bussiness_log);
		}
	}

	/**
	 * @描述:详情
	 * @说明:暂无
	 * @作者:吴江波(QQ:1134135987) @创建日期:2018年6月4日 @创建时间:下午4:17:45
	 */
	@SuppressWarnings({ "unchecked", "rawtypes" })
	public void doNotNeedSecurity_getById() {
		if (StringUtils.isNotBlank(id)) {
			List<Map> obj_list = ((BaseNetDiskServiceI) service).getInfoById(id);
			if (obj_list != null && obj_list.size() > 0) {
				writeJson(obj_list.get(0));
			} else {
				writeJson(new BaseNetDisk());
			}
		} else {
			Json j = new Json();
			j.setMsg(StringUtil.getMessage("A000005"));
			writeJson(j);
		}
	}

	/**
	 * @Description 下载文件
	 * @MethodName : doNotNeedSecurity_downloadObj
	 * @author : wujiangbo(QQ:1134135987@qq.com)
	 * @Date : 2018年8月29日 下午1:14:22
	 */
	public void doNotNeedSecurity_downloadObj() {
		String id = this.getRequest().getParameter("id");
		BaseNetDisk obj = service.getById(id);
		writeLog("从网络硬盘下载文件[" + obj.getFileName() + "]成功");
		this.uploadFile(obj.getFilePath(), obj.getFileName());
	}

	/**
	 * @Description 验证密码
	 * @MethodName : doNotNeedSecurity_validateResourcePwd
	 * @author : wujiangbo(QQ:1134135987@qq.com)
	 * @Date : 2018年8月29日 下午12:30:26
	 */
	@SuppressWarnings({ "unchecked", "rawtypes" })
	public void doNotNeedSecurity_validateResourcePwd() {
		String id = this.getRequest().getParameter("id");
		String pwd_content = this.getRequest().getParameter("pwd_content");
		Json j = new Json();
		if (StringUtils.isBlank(pwd_content)) {
			j.setMsg(StringUtil.getMessage("YW000017"));
		} else {
			List<Map> obj_list = ((BaseNetDiskServiceI) service).validateResourcePwd(id, StringUtil.getPassWord(pwd_content));
			if (obj_list != null && obj_list.size() > 0) {
				j.setSuccess(true);
			} else {
				j.setMsg(StringUtil.getMessage("YW000016"));
			}
		}
		writeJson(j);
	}

	/**
	 * @Description 保存
	 * @MethodName : save
	 * @author : wujiangbo(QQ:1134135987@qq.com)
	 * @Date : 2018年8月28日 上午11:43:25
	 */
	@Override
	public void save() {
		String title = this.getRequest().getParameter("title");
		// 首先检测标题是否存在
		HqlFilter hqlFilter1 = new HqlFilter();
		hqlFilter1.addFilter("QUERY_t#title_S_EQ", title);
		BaseNetDisk share = service.getByFilter(hqlFilter1);
		Json json = new Json();
		if (share != null) {
			json.setMsg(StringUtil.getMessage("YW000015"));
			writeJson(json);
			return;
		}
		String keyWord = this.getRequest().getParameter("keyWord");
		String category = this.getRequest().getParameter("category");
		String pwdFlag = this.getRequest().getParameter("pwdFlag");
		String pwdContent = this.getRequest().getParameter("pwdContent");
		// 获取文件类型
		int index = this.getFileContextFileName().lastIndexOf('.');
		String file_type = "";
		if (index != -1) {
			file_type = this.getFileContextFileName().substring(index + 1);
		}
		// 上传文件的保存路径
		String save_path = WjbConstants.TOMCAT_PATH + WjbConstants.FILE_SEPARATOR + "NetDisk";
		// 保存文件操作,返回保存文件的绝对路径
		String file_save_path = this.saveFile(this.getFileContext(), save_path, this.getFileContextFileName());
		BaseNetDisk object = new BaseNetDisk();
		object.setId(StringUtil.getPrimaryKey());
		object.setUpdateTime(new Date());
		object.setUpdateUser(getCurrentUser().getId());
		object.setTitle(title);
		object.setCategory(category);
		object.setKeyWord(keyWord);
		object.setPwdFlag(pwdFlag);
		if (StringUtils.isNotBlank(pwdContent)) {
			object.setPwdContent(StringUtil.getPassWord(pwdContent));
		}
		object.setFilePath(file_save_path);
		object.setFileType(file_type);
		object.setFileName(this.getFileContextFileName());
		service.save(object);
		json.setSuccess(true);
		json.setMsg(StringUtil.getMessage("A000003"));
		writeLog("上传文件[" + this.getFileContextFileName() + "]到网络硬盘成功!");
		writeJson(json);
	}

	/**
	 * @Description 删除
	 * @MethodName : delete
	 * @author : wujiangbo(QQ:1134135987@qq.com)
	 * @Date : 2018年8月28日 上午11:10:35
	 */
	@Override
	public void delete() {
		Json json = new Json();
		if (!StringUtils.isBlank(id)) {
			BaseNetDisk t = service.getById(id);
			// 首先删除磁盘上的文件
			File file = new File(t.getFilePath());
			if (file.exists()) {
				file.delete();
			}
			// 然后删除数据库记录
			service.delete(t);
			json.setSuccess(true);
			json.setMsg(StringUtil.getMessage("A000003"));
			writeLog("删除网络硬盘资源[" + t.getFileName() + "]成功!");
		}
		writeJson(json);
	}

	/**
	 * @Description 查找分页后的所有数据
	 * @MethodName : grid
	 * @author : wujiangbo(QQ:1134135987@qq.com)
	 * @Date : 2018年8月28日 上午11:09:58
	 */
	@SuppressWarnings({ "unchecked", "rawtypes" })
	@Override
	public void grid() {
		Grid grid = new Grid();
		Map<String, String> params = new HashMap<String, String>();
		params.put("update_user_name", this.getRequest().getParameter("update_user_name"));
		params.put("title", this.getRequest().getParameter("title"));
		params.put("category", this.getRequest().getParameter("category"));
		params.put("time_begin", this.getRequest().getParameter("time_begin"));
		params.put("time_end", this.getRequest().getParameter("time_end"));
		params.put("key_word", this.getRequest().getParameter("key_word"));
		params.put("pwd_flag", this.getRequest().getParameter("pwd_flag"));
		params.put("file_type", this.getRequest().getParameter("file_type"));
		List<Map> list_data = ((BaseNetDiskServiceI) service).findListBySql(params, page, rows);
		List<Map> list_size = ((BaseNetDiskServiceI) service).findListCountBySql(params);
		if (list_data != null && list_data.size() > 0) {
			grid.setRows(list_data);
		} else {
			grid.setRows(new ArrayList<String>());
		}
		if (list_size != null && list_size.size() > 0) {
			grid.setTotal((long) list_size.size());
		} else {
			grid.setTotal(0L);
		}
		writeJson(grid);
	}
}
最近下载更多
哇塞塞哈哈哈  LV8 2023年5月5日
士大夫哈高科是否会被  LV2 2023年1月19日
yangxb2  LV10 2022年12月23日
烦人的李季  LV2 2022年7月12日
Ember1  LV2 2022年5月12日
893213895  LV18 2022年5月11日
591231555  LV20 2022年4月18日
xiex909  LV27 2022年3月30日
cx123123  LV7 2022年3月28日
578291727  LV15 2022年3月25日
最近浏览更多
WBelong  LV8 9月19日
wanxiaoqiao52866414  LV1 7月1日
quartz  LV8 7月1日
荣》Cowboy  LV12 4月11日
Gin19960217  LV4 1月15日
123456wadff  LV3 1月15日
lasttimeapp 2023年11月27日
暂无贡献等级
季明亮 2023年11月21日
暂无贡献等级
微信网友_6657940693880832  LV1 2023年10月9日
haotzy  LV3 2023年10月8日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友