All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.quhaodian.plug.data.plugs.ftp.FtpController Maven / Gradle / Ivy

The newest version!
/*
 * 
 * 
 * 
 */
package com.quhaodian.plug.data.plugs.ftp;

import com.quhaodian.plug.data.entity.PluginConfig;
import com.quhaodian.plug.data.plugs.BasePlugController;
import com.quhaodian.plug.data.service.PluginConfigService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

import javax.annotation.Resource;

/**
 * Controller - FTP
 * 
 * 
 * 
 */
@Controller("adminPluginFtpController")
@RequestMapping("/admin/storage_plugin/ftp")
public class FtpController extends BasePlugController {

	@Resource(name = "ftpPlugin")
	private FtpPlugin ftpPlugin;
	@Resource(name = "pluginConfigServiceImpl")
	private PluginConfigService pluginConfigService;

	/**
	 * 安装
	 */
	@RequestMapping(value = "/install")
	public String install( RedirectAttributes redirectAttributes) {
		if (!ftpPlugin.getIsInstalled()) {
			PluginConfig pluginConfig = new PluginConfig();
			pluginConfig.setPluginId(ftpPlugin.getId());
			pluginConfig.setIsEnabled(false);
			pluginConfigService.save(pluginConfig);
		}
		addFlashMessage(redirectAttributes, SUCCESS_MESSAGE);

		return "redirect:/admin/storage_plugin/list.htm";
	}

	/**
	 * 卸载
	 */
	@RequestMapping(value = "/uninstall")
	public String uninstall(RedirectAttributes redirectAttributes) {
		if (ftpPlugin.getIsInstalled()) {
			PluginConfig pluginConfig = ftpPlugin.getPluginConfig();
			pluginConfigService.deleteById(pluginConfig.getId());
		}
		addFlashMessage(redirectAttributes, SUCCESS_MESSAGE);
		return "redirect:/admin/storage_plugin/list.htm";
	}

	/**
	 * 设置
	 */
	@RequestMapping(value = "/setting", method = RequestMethod.GET)
	public String setting(ModelMap model) {
		PluginConfig pluginConfig = ftpPlugin.getPluginConfig();
		model.addAttribute("pluginConfig", pluginConfig);
		return "/admin/storage_plugin/setting_ftp";
	}

	/**
	 * 更新
	 */
	@RequestMapping(value = "/update", method = RequestMethod.POST)
	public String update(String host, Integer port, String username, String password, String urlPrefix, @RequestParam(defaultValue = "false") Boolean isEnabled, Integer order, RedirectAttributes redirectAttributes) {
		PluginConfig pluginConfig = ftpPlugin.getPluginConfig();
		pluginConfig.setAttribute("host", host);
		pluginConfig.setAttribute("port", port.toString());
		pluginConfig.setAttribute("username", username);
		pluginConfig.setAttribute("password", password);
		pluginConfig.setAttribute("urlPrefix", StringUtils.removeEnd(urlPrefix, "/"));
		pluginConfig.setIsEnabled(isEnabled);
		pluginConfig.setSortNum(order);
		pluginConfigService.update(pluginConfig);
		addFlashMessage(redirectAttributes, SUCCESS_MESSAGE);
		return "redirect:/admin/storage_plugin/list.htm";
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy