package com.system.router.service.internal; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Sort; import org.springframework.data.jpa.domain.Specification; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import com.app.base.data.ApiResponseResult; import com.system.router.dao.SysRouterDao; import com.system.router.entity.SysRouter; import com.system.router.service.SysRouterService; import com.system.user.entity.SysUser; import com.utils.BaseService; import com.utils.SearchFilter; import com.utils.UserUtil; import com.utils.enumeration.BasicStateEnum; @Service(value = "sysRouterService") @Transactional(propagation = Propagation.REQUIRED) public class SysRouterImpl implements SysRouterService { @Autowired private SysRouterDao sysRouterDao; @Override public ApiResponseResult add(SysRouter sysRouter) throws Exception { // TODO Auto-generated method stub SysUser currUser = UserUtil.getCurrUser(); //获取当前用户 if(sysRouter.getId() == null || sysRouter.getId() <= 0){ sysRouter.setCreatedTime(new Date()); // sysRouter.setPkCreatedBy((currUser!=null) ? (currUser.getId()) : null); sysRouterDao.save(sysRouter); }else{ SysRouter s = sysRouterDao.findById((long)sysRouter.getId()); s.setRouterCode(sysRouter.getRouterCode()); s.setRouterIndex(sysRouter.getRouterIndex()); s.setRouterStatus(sysRouter.getRouterStatus()); s.setRouterName(sysRouter.getRouterName()); s.setModifiedTime(new Date()); // s.setPkModifiedBy((currUser!=null) ? (currUser.getId()) : null); sysRouterDao.save(s); } return ApiResponseResult.success("操作成功!"); } @Override public ApiResponseResult edite(SysRouter sysRouter) throws Exception { // TODO Auto-generated method stub return null; } @Override public ApiResponseResult delete(Long id) throws Exception { // TODO Auto-generated method stub if(id == null){ return ApiResponseResult.failure("记录ID不能为空!"); } SysRouter s = sysRouterDao.findById((long) id); if(s == null){ return ApiResponseResult.failure("该资源不存在或已删除!"); } SysUser currUser = UserUtil.getCurrUser(); //获取当前用户 s.setIsDel(BasicStateEnum.TRUE.intValue()); s.setModifiedTime(new Date()); // s.setPkModifiedBy((currUser!=null) ? (currUser.getId()) : null); sysRouterDao.save(s); return ApiResponseResult.success("删除成功!"); } @Override public ApiResponseResult getlist(String rolecode, String rolename) throws Exception { // TODO Auto-generated method stub //1.精准查询 List filters = new ArrayList(); filters.add(new SearchFilter("isDel", SearchFilter.Operator.EQ, BasicStateEnum.FALSE.intValue())); if(StringUtils.isNotEmpty(rolecode)){ filters.add(new SearchFilter("routerCode", SearchFilter.Operator.LTE, rolecode)); } if(StringUtils.isNotEmpty(rolename)){ filters.add(new SearchFilter("routerName", SearchFilter.Operator.LTE, rolename)); } //获取排序对象 Sort sort = new Sort(Sort.Direction.DESC, "id"); //创建分页对象 PageRequest pageRequest = new PageRequest(0, 10, sort); //分页查询 //List list = sysRoleDao.findAll(example, pageRequest).getContent(); Specification spec = Specification.where(BaseService.and(filters, SysRouter.class)); Page page = sysRouterDao.findAll(spec, pageRequest); //Page page1 = sysRouterDao.findAll(pageRequest); return ApiResponseResult.success().data(page.getContent()); //return null; } @Override public ApiResponseResult getRolesByUserId(long userId) throws Exception { // TODO Auto-generated method stub return ApiResponseResult.success().data(sysRouterDao.getRolesByUserId(userId)); } @Override public ApiResponseResult getTreeList() throws Exception { // TODO Auto-generated method stub List list = sysRouterDao.findByIsDelAndRouterStatusOrderByRouterIndexAsc(0, 0);//所有数据 List> resultList = this.getTreeList(list); System.out.println(resultList); //return resultList; return ApiResponseResult.success().data(resultList); } private List> getTreeList(List list){ List> newTrees = new ArrayList>(); if(list.size() > 0){ for(int i = 0;i> getChildren(List list,Long pid){ List> newTrees = new ArrayList>(); if(list.size() > 0){ for(int i = 0;i> list = sysRouterDao.getRouterTree(rolecode);//所有数据 List> resultList = this.getRoleTreeList(list); System.out.println(resultList); //return resultList; return ApiResponseResult.success().data(resultList); } private List> getRoleTreeList(List> list){ List> newTrees = new ArrayList>(); if(list.size() > 0){ for(int i = 0;i> getRoleChildren(List> list,String pid){ List> newTrees = new ArrayList>(); if(list.size() > 0){ for(int i = 0;i