package com.hongqiang.shop.website.web.admin; import org.springframework.beans.factory.annotation.Autowired; 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.ResponseBody; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.hongqiang.shop.common.utils.Message; import com.hongqiang.shop.common.utils.Pageable; import com.hongqiang.shop.common.web.BaseController; import com.hongqiang.shop.modules.content.service.ArticleCategoryService; import com.hongqiang.shop.modules.product.service.ProductCategoryService; import com.hongqiang.shop.website.entity.Navigation; import com.hongqiang.shop.website.service.NavigationService; @Controller("adminNavigationController") @RequestMapping({"${adminPath}/navigation"}) public class NavigationController extends BaseController { @Autowired private NavigationService navigationService; @Autowired private ArticleCategoryService articleCategoryService; @Autowired private ProductCategoryService productCategoryService; @RequestMapping(value={"/add"}, method=RequestMethod.GET) public String add(ModelMap model) { model.addAttribute("positions", Navigation.Position.values()); model.addAttribute("articleCategoryTree", this.articleCategoryService.findTree()); model.addAttribute("productCategoryTree", this.productCategoryService.findTree()); return "/admin/navigation/add"; } @RequestMapping(value={"/save"}, method=RequestMethod.POST) public String save(Navigation navigation, RedirectAttributes redirectAttributes) { if (!beanValidator(redirectAttributes,navigation, new Class[0])) return ERROR_PAGE; this.navigationService.save(navigation); addMessage(redirectAttributes, ADMIN_SUCCESS); return "redirect:list.jhtml"; } @RequestMapping(value={"/edit"}, method=RequestMethod.GET) public String edit(Long id, ModelMap model) { model.addAttribute("positions", Navigation.Position.values()); model.addAttribute("articleCategoryTree", this.articleCategoryService.findTree()); model.addAttribute("productCategoryTree", this.productCategoryService.findTree()); model.addAttribute("navigation", this.navigationService.find(id)); return "/admin/navigation/edit"; } @RequestMapping(value={"/update"}, method=RequestMethod.POST) public String update(Navigation navigation, RedirectAttributes redirectAttributes) { if (!beanValidator(redirectAttributes,navigation, new Class[0])) return ERROR_PAGE; this.navigationService.update(navigation); addMessage(redirectAttributes, ADMIN_SUCCESS); return "redirect:list.jhtml"; } @RequestMapping(value={"/list"}, method=RequestMethod.GET) public String list(Pageable pageable, ModelMap model) { model.addAttribute("topNavigations", this.navigationService.findList(Navigation.Position.top)); model.addAttribute("middleNavigations", this.navigationService.findList(Navigation.Position.middle)); model.addAttribute("bottomNavigations", this.navigationService.findList(Navigation.Position.bottom)); return "/admin/navigation/list"; } @RequestMapping(value={"/delete"}, method=RequestMethod.POST) @ResponseBody public Message delete(Long[] ids) { this.navigationService.delete(ids); return ADMIN_SUCCESS; } }