/** * 更新新菜品分类 * * @param categoryVO 菜品分类值对象,包含需要更新的数据 * @return 更新后的菜品分类值对象 * @throws DuplicateNameException 菜品分类命名重复异常 * @throws CategoryNotFoundException 菜品分类不存在异常 */ @Transactional( propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = Exception.class) public Category updateCategory(CategoryVO categoryVO) throws DuplicateNameException, CategoryNotFoundException { // 1. 检查需要更新的菜品分类是否存在 Category category = this.getCategoryById(categoryVO.getId()); Category checkedCategory = categoryDao.getCategoryByName(categoryVO.getName()); // 2. 检查是否有同名菜品分类 if (checkedCategory != null && checkedCategory.getId() != categoryVO.getId()) { throw new DuplicateNameException( MessageUtil.getMessage("category_name_msg", categoryVO.getName())); } else { // 3. 更新菜品分类 category.setName(categoryVO.getName()); category.setPicPath(categoryVO.getPicPath()); category.setUpdateDate(new Date()); categoryDao.update(category); } return category; }
/** * 加载单个功能信息 * * @return */ public String edit() { // 刷新系统菜单 refreshPageData(); category = new CategoryVO(); try { if (null != id && !"".equals(id.trim())) { Category categoryDB = categoryService.getCategoryById(Long.parseLong(id)); category.setId(categoryDB.getId()); category.setName(categoryDB.getName()); category.setPicPath(categoryDB.getPicPath()); category.setName(categoryDB.getName()); } else { this.setMessage("ERROR"); return ERROR; } } catch (CategoryNotFoundException e) { this.setMessage(e.getMessage()); return ERROR; } return SUCCESS; }