package org.taobao88.taobao.enterprise.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.taobao88.taobao.enterprise.dao.SideMenuDAO;
import org.taobao88.taobao.enterprise.entity.SideMenu;
import org.taobao88.taobao.enterprise.service.SideMenuService;
@Repository("sideMenuService")
public class SideMenuServiceImpl implements SideMenuService {
@Autowired
private SideMenuDAO sideMenuDAO;
@Override
public void addSideMenu(SideMenu sideMenu) {
sideMenuDAO.addSideMenu(sideMenu);
}
@Override
public void deleteSideMenu(SideMenu sideMenu) {
sideMenuDAO.deleteSideMenu(sideMenu);
}
@Override
public void updateSideMenu(SideMenu sideMenu) {
sideMenuDAO.updateSideMenu(sideMenu);
}
@Override
public SideMenu getSideMenuById(int id) {
SideMenu sideMenu = sideMenuDAO.getSideMenuById(id);
sideMenu.setChildren(sideMenuDAO.getChildren(sideMenu.getId(), "menu_order"));
sideMenu.setParent(sideMenuDAO.getSideMenuById(sideMenu.getParentId()));
return sideMenuDAO.getSideMenuById(id);
}
@Override
public SideMenu getSideMenuByName(String menuName) {
return sideMenuDAO.getSideMenuByName(menuName);
}
@Override
public List<SideMenu> getSideMenu(String orderBy) {
List<SideMenu> sideMenu = sideMenuDAO.getSideMenu(orderBy);
for (SideMenu menu : sideMenu) {
menu.setChildren(sideMenuDAO.getChildren(menu.getId(), orderBy));
menu.setParent(sideMenuDAO.getSideMenuById(menu.getParentId()));
if (menu.getChildren().size() != 0) {
for (SideMenu m1 : menu.getChildren()) {
m1.setChildren(sideMenuDAO.getChildren(m1.getId(), orderBy));
m1.setParent(menu);
if (m1.getChildren().size() != 0) {
for (SideMenu m2 : m1.getChildren()) {
m2.setChildren(sideMenuDAO.getChildren(m2.getId(), orderBy));
m2.setParent(m1);
}
}
}
}
}
return sideMenu;
}
@Override
public List<SideMenu> getAll() {
List<SideMenu> sideMenu = sideMenuDAO.getAll();
for (SideMenu menu : sideMenu) {
menu.setChildren(sideMenuDAO.getChildren(menu.getId(), "menu_order"));
menu.setParent(sideMenuDAO.getSideMenuById(menu.getParentId()));
}
return sideMenu;
}
@Override
public List<SideMenu> getSideMenuForPage(int page, String orderBy) {
List<SideMenu> sideMenu = sideMenuDAO.getSideMenuByLevel(page - 1, orderBy);
for (SideMenu menu : sideMenu) {
menu.setChildren(sideMenuDAO.getChildren(menu.getId(), orderBy));
menu.setParent(sideMenuDAO.getSideMenuById(menu.getParentId()));
}
return sideMenu;
}
}