package org.taobao88.taobao.controllers; import java.sql.Timestamp; import java.util.Date; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.taobao88.taobao.enterprise.dao.PagesContentDAO; import org.taobao88.taobao.enterprise.entity.PageContent; import org.taobao88.taobao.enterprise.entity.SideMenu; import org.taobao88.taobao.enterprise.service.SideMenuService; @Controller @RequestMapping(value = "/admin/pageRedactor/sideMenu") public class SideMenuController { @Autowired private SideMenuService sideMenuService; @Autowired private PagesContentDAO pagesContentDAO; @RequestMapping(method = RequestMethod.GET) public String index(Model model, HttpServletRequest request) { int page = 1; if (request.getParameter("page") != null) { page = Integer.parseInt(request.getParameter("page")); } model.addAttribute("curr_page", page); model.addAttribute("total_pages", 4); model.addAttribute("side_menu", sideMenuService.getSideMenuForPage(page, "parent_id, menu_order")); model.addAttribute("side_menu_index", true); return "pageRedactor"; } @RequestMapping(value = "/createMenu", method = RequestMethod.GET) public String createMenu(@RequestParam(value = "page", required = false, defaultValue = "1") int page, Model model, HttpServletRequest request) { if (request.getParameter("parentId") != null) { int parentId = Integer.parseInt(request.getParameter("parentId")); model.addAttribute("parent", sideMenuService.getSideMenuById(parentId)); } else { model.addAttribute("side_menu", sideMenuService.getAll()); } model.addAttribute("curr_page", page); model.addAttribute("side_menu_create", true); return "pageRedactor"; } @RequestMapping(value = "/createMenu/doCreate", method = RequestMethod.POST) public String doCreate(@RequestParam("menuHref") String menuHref, @RequestParam("menuName") String menuName, @RequestParam("menuOrder") int menuOrder, @RequestParam("parentId") int parentId, @RequestParam(value = "page", required = false, defaultValue = "1") int page, HttpServletRequest request, Model model) { SideMenu sideMenu = new SideMenu(); sideMenu.setMenuHref(menuHref); sideMenu.setMenuName(menuName); sideMenu.setMenuOrder(menuOrder); sideMenu.setParentId(parentId); if (parentId != 0) { SideMenu parent = sideMenuService.getSideMenuById(parentId); sideMenu.setLevel(parent.getLevel() + 1); } sideMenuService.addSideMenu(sideMenu); return "redirect:/admin/pageRedactor/sideMenu?page=" + page; } @RequestMapping(value = "/deleteMenu", method = RequestMethod.GET) public String deleteMenu(@RequestParam(value = "page", required = false, defaultValue = "1") int page, @RequestParam("id") int id, Model model) { sideMenuService.deleteSideMenu(sideMenuService.getSideMenuById(id)); return "redirect:/admin/pageRedactor/sideMenu?page=" + page; } @RequestMapping(value = "/updateMenu", method = RequestMethod.GET) public String updateMenu(@RequestParam(value = "page", required = false, defaultValue = "1") int page, @RequestParam("id") int id, Model model) { model.addAttribute("side_menu", sideMenuService.getAll()); model.addAttribute("menu", sideMenuService.getSideMenuById(id)); model.addAttribute("side_menu_update", true); model.addAttribute("curr_page", page); return "pageRedactor"; } @RequestMapping(value = "/updateMenu/doUpdate", method = RequestMethod.POST) public String doUpdateSideMenu(@RequestParam("id") int id, @RequestParam("menuName") String menuName, @RequestParam("menuHref") String menuHref, @RequestParam("menuOrder") int menuOrder, @RequestParam("parentId") int parentId, @RequestParam(value = "page", required = false, defaultValue = "1") int page) { SideMenu sideMenu = sideMenuService.getSideMenuById(id); sideMenu.setMenuName(menuName); sideMenu.setMenuHref(menuHref); sideMenu.setMenuOrder(menuOrder); sideMenu.setParentId(parentId); sideMenuService.updateSideMenu(sideMenu); return "redirect:/admin/pageRedactor/sideMenu?page=" + page; } @RequestMapping(value = "/other", method = RequestMethod.GET) public String anotherIndex(Model model) { model.addAttribute("another_menu_index", true); model.addAttribute("anotherMenu", pagesContentDAO.findContentByPageName("anotherMenu")); return "pageRedactor"; } @RequestMapping(value = "/other/update", method = RequestMethod.GET) public String anotherUpdate(Model model) { model.addAttribute("another_menu_update", true); model.addAttribute("anotherMenu", pagesContentDAO.findContentByPageName("anotherMenu")); return "pageRedactor"; } @RequestMapping(value = "/other/doUpdate", method = RequestMethod.POST) public String anotherDoUpdate(@RequestParam ("content") String content, @RequestParam ("page") String page, Model model) { PageContent anotherMenu = pagesContentDAO.findContentByPageName(page); anotherMenu.setContent(content); anotherMenu.setUpdated_at(new Timestamp(new Date().getTime())); pagesContentDAO.updatePageContent(anotherMenu); return "redirect:/admin/pageRedactor/sideMenu/other"; } }