package com.hehenian.manager.modules.sys.service.impl; import java.util.Collections; import java.util.Comparator; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.hehenian.manager.commons.Constants; import com.hehenian.manager.commons.Pagination; import com.hehenian.manager.modules.sys.dao.ModuleDao; import com.hehenian.manager.modules.sys.dao.ResourcesDao; import com.hehenian.manager.modules.sys.model.Module; import com.hehenian.manager.modules.sys.model.Resources; import com.hehenian.manager.modules.sys.service.ModuleService; @Service("moduleService") public class ModuleServiceImpl implements ModuleService { @Autowired protected ModuleDao moduleDao; @Autowired protected ResourcesDao resourcesDao; @Override public List<Module> getUserModules(int userId) { List<Module> modules=moduleDao.getUserModules(userId); Collections.sort(modules); for(Module m:modules){ if("ADMIN".equals(m.getModule())){ List<Resources> resources=m.getResources(); Collections.sort(resources, new Comparator<Resources>(){ @Override public int compare(Resources o1, Resources o2) { return o1.getOrder()<=o2.getOrder()?-1:1; } }); // m.setResources(resources); } } return modules; } @Override public Pagination<Resources> getResources(Pagination<Resources> pagination,String name) { Pagination<Resources> datas=resourcesDao.getResourcesInModule(pagination, name); return datas; } @Override public List<Module> getAllModules() { return moduleDao.getAllModules(); } @Override public int saveResources(Resources r) { r.setEnabled(true); r.setIssys(false); r.setIcon(r.getIcon()==null?"icon-nav":r.getIcon()); int ret=-1; if(r.getId()!=null){ ret=resourcesDao.updateResources(r); }else{ ret=resourcesDao.addResources(r); } if(ret==1){ return Constants.SUCCESS; }else{ return Constants.FAIL; } } @Override public int deleteOneResource(Integer id) { int ret=resourcesDao.deleteOneResource(id); return ret==1?Constants.SUCCESS:Constants.FAIL; } @Override public Resources getOneResource(Integer id) { return resourcesDao.getOneResource(id); } @Override public Pagination<Module> getAllModules(Pagination<Module> pagination) { return moduleDao.getAllModules(pagination); } @Override public Module getModuleById(int moduleId) { return moduleDao.getModuleById(moduleId); } @Override public int saveModule(Module module) { int ret=Constants.FAIL; if(module.getId()!=null){ ret=moduleDao.updateModule(module); }else{ ret=moduleDao.insertModule(module); } return ret==1?Constants.SUCCESS:Constants.FAIL; } @Override public int deleteModuleById(Integer id) { return moduleDao.deleteModule(id); } }