diff --git a/src/main/java/com/water/watersys/controller/RouteController.java b/src/main/java/com/water/watersys/controller/RouteController.java index ff2f16b..6274fa0 100644 --- a/src/main/java/com/water/watersys/controller/RouteController.java +++ b/src/main/java/com/water/watersys/controller/RouteController.java @@ -5,6 +5,7 @@ import com.water.watersys.components.Result; import com.water.watersys.mapper.RouteSysMapper; import com.water.watersys.model.domain.RoleSys; import com.water.watersys.model.domain.RouteSys; +import com.water.watersys.model.vo.RouteOv; import com.water.watersys.service.RoleSysService; import com.water.watersys.service.RouteSysService; import io.swagger.v3.oas.annotations.Operation; @@ -30,12 +31,16 @@ public class RouteController { @Operation(summary = "获取路由信息", description = "获取路由信息") @GetMapping("/getRoute") - public Result> getRoute() { + public Result> getRoute() { String loginId = (String) StpUtil.getLoginId(); List role = roleSysService.getRole(loginId); - ArrayList roleList = new ArrayList<>(); + ArrayList roleList = new ArrayList<>(); role.forEach(roleSys->{ - List route = routeSysService.getRoute(roleSys.getId()); + List route = routeSysService.getRoute(roleSys.getId()); + route.forEach(routeOv->{ + List routeChild = routeSysService.getRouteChildren(routeOv.getId()); + routeOv.setChildren(routeChild); + }); roleList.addAll(route); }); return Result.success(roleList); diff --git a/src/main/java/com/water/watersys/mapper/RouteSysMapper.java b/src/main/java/com/water/watersys/mapper/RouteSysMapper.java index 5a7ecf7..58c0033 100644 --- a/src/main/java/com/water/watersys/mapper/RouteSysMapper.java +++ b/src/main/java/com/water/watersys/mapper/RouteSysMapper.java @@ -2,6 +2,7 @@ package com.water.watersys.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.water.watersys.model.domain.RouteSys; +import com.water.watersys.model.vo.RouteOv; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; @@ -16,8 +17,12 @@ import java.util.List; @Mapper public interface RouteSysMapper extends BaseMapper { - @Select("select * from role_route_sys a left join route_sys b on a.route_id = b.id where a.role_id = #{loginId}") - List getRoute(Integer loginId); + @Select("select b.id,b.parentId,b.component,b.create_time,b.meta,b.name,b.path,b.redirect,b.update_time " + + "from role_route_sys a left join route_sys b on a.route_id = b.id where a.role_id = #{loginId} and parentId is null") + List getRoute(Integer loginId); + + @Select("select * from route_sys where parentId = #{id}") + List getRouteChildren(Integer id); } diff --git a/src/main/java/com/water/watersys/model/vo/RouteOv.java b/src/main/java/com/water/watersys/model/vo/RouteOv.java new file mode 100644 index 0000000..69ae216 --- /dev/null +++ b/src/main/java/com/water/watersys/model/vo/RouteOv.java @@ -0,0 +1,57 @@ +package com.water.watersys.model.vo; + +import lombok.Data; + +import java.util.Date; +import java.util.List; + +@Data +public class RouteOv { + /** + * + */ + private Integer id; + + /** + * 子组件id + */ + private Integer parentid; + + /** + * 路由路径 + */ + private String path; + + /** + * 路由名称 + */ + private String name; + + /** + * 重定向 + */ + private String redirect; + + /** + * 路由组件 + */ + private String component; + + /** + * 路由源信息 + */ + private Object meta; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + + private List children; + +} diff --git a/src/main/java/com/water/watersys/service/RouteSysService.java b/src/main/java/com/water/watersys/service/RouteSysService.java index e4533c6..dacf748 100644 --- a/src/main/java/com/water/watersys/service/RouteSysService.java +++ b/src/main/java/com/water/watersys/service/RouteSysService.java @@ -2,6 +2,7 @@ package com.water.watersys.service; import com.baomidou.mybatisplus.extension.service.IService; import com.water.watersys.model.domain.RouteSys; +import com.water.watersys.model.vo.RouteOv; import java.util.List; @@ -13,5 +14,7 @@ import java.util.List; public interface RouteSysService extends IService { - List getRoute(Integer loginId); + List getRoute(Integer loginId); + + List getRouteChildren(Integer id); } diff --git a/src/main/java/com/water/watersys/service/impl/RouteSysServiceImpl.java b/src/main/java/com/water/watersys/service/impl/RouteSysServiceImpl.java index f6d326f..d44d7df 100644 --- a/src/main/java/com/water/watersys/service/impl/RouteSysServiceImpl.java +++ b/src/main/java/com/water/watersys/service/impl/RouteSysServiceImpl.java @@ -3,6 +3,7 @@ package com.water.watersys.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.water.watersys.mapper.RouteSysMapper; import com.water.watersys.model.domain.RouteSys; +import com.water.watersys.model.vo.RouteOv; import com.water.watersys.service.RouteSysService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; @@ -22,9 +23,14 @@ public class RouteSysServiceImpl extends ServiceImpl private RouteSysMapper routeSysMapper; @Override - public List getRoute(Integer loginId) { + public List getRoute(Integer loginId) { return routeSysMapper.getRoute(loginId); } + + @Override + public List getRouteChildren(Integer id) { + return routeSysMapper.getRouteChildren(id); + } }