package com.sobey.cmop.mvc.web.basicdata;
import java.util.Map;
import javax.servlet.ServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
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 com.sobey.cmop.mvc.comm.BaseController;
import com.sobey.cmop.mvc.entity.IpPool;
import com.sobey.cmop.mvc.entity.Vlan;
import com.sobey.framework.utils.Servlets;
@Controller
@RequestMapping(value = "/basicdata/ippool")
public class IpPoolController extends BaseController {
private static final String REDIRECT_SUCCESS_URL = "redirect:/basicdata/ippool/";
/**
* 显示所有的ipPool list
*/
@RequestMapping(value = { "list", "" })
public String list(@RequestParam(value = "page", defaultValue = "1") int pageNumber,
@RequestParam(value = "page.size", defaultValue = PAGE_SIZE) int pageSize, Model model,
ServletRequest request) {
Map<String, Object> searchParams = Servlets.getParametersStartingWith(request, REQUEST_PREFIX);
if (searchParams.size() != 0) {
// 默认不显示数据.除非有搜索条件
model.addAttribute("page", comm.ipPoolService.getIpPoolPageable(searchParams, pageNumber, pageSize));
}
// 将搜索条件编码成字符串,分页的URL
model.addAttribute("searchParams", Servlets.encodeParameterStringWithPrefix(searchParams, REQUEST_PREFIX));
return "basicdata/ippool/ippoolList";
}
/**
* 跳转到新增页面
*/
@RequestMapping(value = "/save", method = RequestMethod.GET)
public String createForm(Model model) {
return "basicdata/ippool/ippoolForm";
}
/**
* 新增
*/
@RequestMapping(value = "/save", method = RequestMethod.POST)
public String save(@RequestParam(value = "ipAddress") String ipAddress,
@RequestParam(value = "poolType") Integer poolType, @RequestParam(value = "vlanId") Integer vlanId,
RedirectAttributes redirectAttributes) {
Vlan vlan = comm.vlanService.getVlan(vlanId);
String message = comm.ipPoolService.saveIpPool(ipAddress, poolType, vlan);
redirectAttributes.addFlashAttribute("message", message);
return REDIRECT_SUCCESS_URL;
}
/**
* 跳转到修改页面
*/
@RequestMapping(value = "/update/{id}", method = RequestMethod.GET)
public String updateForm(@PathVariable("id") Integer id, Model model) {
model.addAttribute("ipPool", comm.ipPoolService.getIpPool(id));
return createForm(model);
}
/**
* 修改IP对应的IP池
*/
@RequestMapping(value = "/update", method = RequestMethod.POST)
public String update(@ModelAttribute("id") Integer id, @RequestParam(value = "status") Integer status,
RedirectAttributes redirectAttributes) {
IpPool ipPool = comm.ipPoolService.getIpPool(id);
ipPool.setStatus(status);
comm.ipPoolService.saveIpPool(ipPool);
redirectAttributes.addFlashAttribute("message", "修改IP成功");
return "redirect:/basicdata/ippool/";
}
/**
* 删除IP
*/
@RequestMapping(value = "delete/{id}")
public String delete(@PathVariable("id") Integer id, RedirectAttributes redirectAttributes) {
comm.ipPoolService.deleteIpPool(id);
redirectAttributes.addFlashAttribute("message", "删除IP成功");
return REDIRECT_SUCCESS_URL;
}
}