Jelajahi Sumber

移动端-路由目录接口开发

jichaobo 2 tahun lalu
induk
melakukan
537e7b1f25
13 mengubah file dengan 604 tambahan dan 107 penghapusan
  1. 107 107
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/MybatisGeneratorUtils.java
  2. 44 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysMobileMenuController.java
  3. 22 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysMobileTenantMenuController.java
  4. 133 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/SysMobileMenu.java
  5. 36 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/SysMobileTenantMenu.java
  6. 16 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysMobileMenuMapper.java
  7. 16 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysMobileTenantMenuMapper.java
  8. 23 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/SysMobileMenuService.java
  9. 16 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/SysMobileTenantMenuService.java
  10. 131 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysMobileMenuServiceImpl.java
  11. 20 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysMobileTenantMenuServiceImpl.java
  12. 28 0
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysMobileMenuMapper.xml
  13. 12 0
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysMobileTenantMenuMapper.xml

+ 107 - 107
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/MybatisGeneratorUtils.java

@@ -1,107 +1,107 @@
-//package com.usky.system;//package com.usky.system.controller;//package com.usky.dm.controller.web.business;//package com.usky.dm.controller.web;
-//
-//import com.baomidou.mybatisplus.core.toolkit.StringPool;
-//import com.baomidou.mybatisplus.generator.AutoGenerator;
-//import com.baomidou.mybatisplus.generator.InjectionConfig;
-//import com.baomidou.mybatisplus.generator.config.*;
-//import com.baomidou.mybatisplus.generator.config.po.TableInfo;
-//import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
-//
-//import java.util.ArrayList;
-//import java.util.List;
-//
-///**
-// * @author yq
-// * @date 2021/7/6 11:42
-// */
-//public class MybatisGeneratorUtils {
-//    public static void main(String[] args) {
-//
-//        shell("service-system", "service-system-biz");
-//    }
-//
-//    private static void shell(String parentName, String model) {
-//
-//        AutoGenerator mpg = new AutoGenerator();
-//        //1、全局配置
-//        GlobalConfig gc = new GlobalConfig();
-////        File file = new File(model);
-////        String path = file.getAbsolutePath();
-//        String projectPath = System.getProperty("user.dir");
-//        projectPath += "/" + parentName;
-//        projectPath += "/" + model;
-//        gc.setOutputDir(projectPath + "/src/main/java");  //生成路径(一般都是生成在此项目的src/main/java下面)
-//        //修改为自己的名字
-//        gc.setAuthor("JCB"); //设置作者
-//        gc.setOpen(false);
-//        gc.setFileOverride(true); //第二次生成会把第一次生成的覆盖掉
-//        gc.setServiceName("%sService"); //生成的service接口名字首字母是否为I,这样设置就没有
-//        gc.setBaseResultMap(true); //生成resultMap
-//        mpg.setGlobalConfig(gc);
-//
-//        //2、数据源配置
-//        //修改数据源
-//        DataSourceConfig dsc = new DataSourceConfig();
-//        dsc.setUrl("jdbc:mysql://172.16.120.165:3306/usky-cloud?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8");
-//        dsc.setDriverName("com.mysql.cj.jdbc.Driver");
-//        dsc.setUsername("usky");
-//        dsc.setPassword("Yt#75Usky");
-//        mpg.setDataSource(dsc);
-//
-//        // 3、包配置
-//        PackageConfig pc = new PackageConfig();
-//        pc.setParent("com.usky.system");
-//        pc.setController("controller.web");
-//        pc.setEntity("domain");
-//        pc.setMapper("mapper");
-//        pc.setService("service");
-//        pc.setServiceImpl("service.impl");
-////        pc.setXml("mapper.demo");
-//        //pc.setModuleName("test");
-//        mpg.setPackageInfo(pc);
-//
-//        // 4、策略配置
-//        StrategyConfig strategy = new StrategyConfig();
-//        strategy.setNaming(NamingStrategy.underline_to_camel);
-//        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
-//        strategy.setSuperMapperClass("com.usky.common.mybatis.core.CrudMapper");
-//        strategy.setSuperServiceClass("com.usky.common.mybatis.core.CrudService");
-//        strategy.setSuperServiceImplClass("com.usky.common.mybatis.core.AbstractCrudService");
-//        // strategy.setTablePrefix("t_"); // 表名前缀
-//        strategy.setEntityLombokModel(true); //使用lombok
-//        //修改自己想要生成的表
-//        strategy.setInclude("sys_mobile_tenant_config");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
-//        mpg.setStrategy(strategy);
-//
-//        // 关闭默认 xml 生成,调整生成 至 根目录
-//        //修改对应的模块名称
-//        TemplateConfig tc = new TemplateConfig();
-//        // 自定义配置
-//        InjectionConfig cfg = new InjectionConfig() {
-//            @Override
-//            public void initMap() {
-//                // to do nothing
-//            }
-//        };
-//        //如果模板引擎是 velocity
-//        String templatePath = "/templates/mapper.xml.vm";
-//        // 自定义输出配置
-//        List<FileOutConfig> focList = new ArrayList<>();
-//        // 自定义配置会被优先输出
-//        String finalProjectPath = projectPath;
-//        focList.add(new FileOutConfig(templatePath) {
-//            @Override
-//            public String outputFile(TableInfo tableInfo) {
-//                // 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!!
-//                return finalProjectPath + "/src/main/resources/mapper.system" + "/"
-//                        + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML;
-//            }
-//        });
-//        cfg.setFileOutConfigList(focList);
-//        mpg.setCfg(cfg);
-//        tc.setXml(null);
-//        mpg.setTemplate(tc);
-//        //5、执行
-//        mpg.execute();
-//    }
-//}
+package com.usky.system;//package com.usky.system.controller;//package com.usky.dm.controller.web.business;//package com.usky.dm.controller.web;
+
+import com.baomidou.mybatisplus.core.toolkit.StringPool;
+import com.baomidou.mybatisplus.generator.AutoGenerator;
+import com.baomidou.mybatisplus.generator.InjectionConfig;
+import com.baomidou.mybatisplus.generator.config.*;
+import com.baomidou.mybatisplus.generator.config.po.TableInfo;
+import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author yq
+ * @date 2021/7/6 11:42
+ */
+public class MybatisGeneratorUtils {
+    public static void main(String[] args) {
+
+        shell("service-system", "service-system-biz");
+    }
+
+    private static void shell(String parentName, String model) {
+
+        AutoGenerator mpg = new AutoGenerator();
+        //1、全局配置
+        GlobalConfig gc = new GlobalConfig();
+//        File file = new File(model);
+//        String path = file.getAbsolutePath();
+        String projectPath = System.getProperty("user.dir");
+        projectPath += "/" + parentName;
+        projectPath += "/" + model;
+        gc.setOutputDir(projectPath + "/src/main/java");  //生成路径(一般都是生成在此项目的src/main/java下面)
+        //修改为自己的名字
+        gc.setAuthor("JCB"); //设置作者
+        gc.setOpen(false);
+        gc.setFileOverride(true); //第二次生成会把第一次生成的覆盖掉
+        gc.setServiceName("%sService"); //生成的service接口名字首字母是否为I,这样设置就没有
+        gc.setBaseResultMap(true); //生成resultMap
+        mpg.setGlobalConfig(gc);
+
+        //2、数据源配置
+        //修改数据源
+        DataSourceConfig dsc = new DataSourceConfig();
+        dsc.setUrl("jdbc:mysql://172.16.120.165:3306/usky-cloud?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8");
+        dsc.setDriverName("com.mysql.cj.jdbc.Driver");
+        dsc.setUsername("usky");
+        dsc.setPassword("Yt#75Usky");
+        mpg.setDataSource(dsc);
+
+        // 3、包配置
+        PackageConfig pc = new PackageConfig();
+        pc.setParent("com.usky.system");
+        pc.setController("controller.web");
+        pc.setEntity("domain");
+        pc.setMapper("mapper");
+        pc.setService("service");
+        pc.setServiceImpl("service.impl");
+//        pc.setXml("mapper.demo");
+        //pc.setModuleName("test");
+        mpg.setPackageInfo(pc);
+
+        // 4、策略配置
+        StrategyConfig strategy = new StrategyConfig();
+        strategy.setNaming(NamingStrategy.underline_to_camel);
+        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
+        strategy.setSuperMapperClass("com.usky.common.mybatis.core.CrudMapper");
+        strategy.setSuperServiceClass("com.usky.common.mybatis.core.CrudService");
+        strategy.setSuperServiceImplClass("com.usky.common.mybatis.core.AbstractCrudService");
+        // strategy.setTablePrefix("t_"); // 表名前缀
+        strategy.setEntityLombokModel(true); //使用lombok
+        //修改自己想要生成的表
+        strategy.setInclude("sys_mobile_menu");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
+        mpg.setStrategy(strategy);
+
+        // 关闭默认 xml 生成,调整生成 至 根目录
+        //修改对应的模块名称
+        TemplateConfig tc = new TemplateConfig();
+        // 自定义配置
+        InjectionConfig cfg = new InjectionConfig() {
+            @Override
+            public void initMap() {
+                // to do nothing
+            }
+        };
+        //如果模板引擎是 velocity
+        String templatePath = "/templates/mapper.xml.vm";
+        // 自定义输出配置
+        List<FileOutConfig> focList = new ArrayList<>();
+        // 自定义配置会被优先输出
+        String finalProjectPath = projectPath;
+        focList.add(new FileOutConfig(templatePath) {
+            @Override
+            public String outputFile(TableInfo tableInfo) {
+                // 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!!
+                return finalProjectPath + "/src/main/resources/mapper.system" + "/"
+                        + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML;
+            }
+        });
+        cfg.setFileOutConfigList(focList);
+        mpg.setCfg(cfg);
+        tc.setXml(null);
+        mpg.setTemplate(tc);
+        //5、执行
+        mpg.execute();
+    }
+}

+ 44 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysMobileMenuController.java

@@ -0,0 +1,44 @@
+package com.usky.system.controller.web;
+
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.common.security.utils.SecurityUtils;
+import com.usky.system.domain.SysMenu;
+import com.usky.system.domain.SysMobileMenu;
+import com.usky.system.domain.SysUser;
+import com.usky.system.service.SysMobileMenuService;
+import com.usky.system.service.impl.SysMenuServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 移动端_菜单权限表 前端控制器
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-11
+ */
+@RestController
+@RequestMapping("/sysMobileMenu")
+public class SysMobileMenuController {
+
+    @Autowired
+    private SysMobileMenuService sysMobileMenuService;
+
+    @GetMapping("getRouters")
+    public ApiResult getRouters()
+    {
+        List<SysMobileMenu> menus = sysMobileMenuService.moveRoute();
+        return ApiResult.success(menus);
+    }
+
+}
+

+ 22 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysMobileTenantMenuController.java

@@ -0,0 +1,22 @@
+package com.usky.system.controller.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 移动端_租户和菜单关联表 前端控制器
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-11
+ */
+@RestController
+@RequestMapping("/sysMobileTenantMenu")
+public class SysMobileTenantMenuController {
+
+}
+

+ 133 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/SysMobileMenu.java

@@ -0,0 +1,133 @@
+package com.usky.system.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 移动端_菜单权限表
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class SysMobileMenu implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 菜单ID
+     */
+    @TableId(value = "menu_id", type = IdType.AUTO)
+    private Integer menuId;
+
+    /**
+     * 菜单名称
+     */
+    private String menuName;
+
+    /**
+     * 父菜单ID
+     */
+    private Long parentId;
+
+    /**
+     * 显示顺序
+     */
+    private Integer orderNum;
+
+    /**
+     * 路由地址
+     */
+    private String path;
+
+    /**
+     * 组件路径
+     */
+    private String component;
+
+    /**
+     * 路由参数
+     */
+    private String query;
+
+    /**
+     * 是否为外链(0是 1否)
+     */
+    private Integer isFrame;
+
+    /**
+     * 是否缓存(0缓存 1不缓存)
+     */
+    private Integer isCache;
+
+    /**
+     * 菜单类型(M目录 C菜单 F按钮)
+     */
+    private String menuType;
+
+    /**
+     * 菜单状态(0显示 1隐藏)
+     */
+    private String visible;
+
+    /**
+     * 菜单状态(0正常 1停用)
+     */
+    private String status;
+
+    /**
+     * 权限标识
+     */
+    private String perms;
+
+    /**
+     * 菜单图标
+     */
+    private String icon;
+
+    /**
+     * 创建者
+     */
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新者
+     */
+    private String updateBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 子菜单
+     */
+    @TableField(exist = false)
+    private List<SysMobileMenu> children = new ArrayList<SysMobileMenu>();
+
+
+}

+ 36 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/SysMobileTenantMenu.java

@@ -0,0 +1,36 @@
+package com.usky.system.domain;
+
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 移动端_租户和菜单关联表
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class SysMobileTenantMenu implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 租户ID
+     */
+    private Long tenantId;
+
+    /**
+     * 菜单ID
+     */
+    private Long menuId;
+
+    private String menuAliasName;
+
+
+}

+ 16 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysMobileMenuMapper.java

@@ -0,0 +1,16 @@
+package com.usky.system.mapper;
+
+import com.usky.system.domain.SysMobileMenu;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 移动端_菜单权限表 Mapper 接口
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-11
+ */
+public interface SysMobileMenuMapper extends CrudMapper<SysMobileMenu> {
+
+}

+ 16 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysMobileTenantMenuMapper.java

@@ -0,0 +1,16 @@
+package com.usky.system.mapper;
+
+import com.usky.system.domain.SysMobileTenantMenu;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 移动端_租户和菜单关联表 Mapper 接口
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-11
+ */
+public interface SysMobileTenantMenuMapper extends CrudMapper<SysMobileTenantMenu> {
+
+}

+ 23 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/SysMobileMenuService.java

@@ -0,0 +1,23 @@
+package com.usky.system.service;
+
+import com.usky.system.domain.SysMobileMenu;
+import com.usky.common.mybatis.core.CrudService;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 移动端_菜单权限表 服务类
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-11
+ */
+public interface SysMobileMenuService extends CrudService<SysMobileMenu> {
+
+    /**
+     * 移动端-首页路由
+     * @return
+     */
+    List<SysMobileMenu> moveRoute();
+}

+ 16 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/SysMobileTenantMenuService.java

@@ -0,0 +1,16 @@
+package com.usky.system.service;
+
+import com.usky.system.domain.SysMobileTenantMenu;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 移动端_租户和菜单关联表 服务类
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-11
+ */
+public interface SysMobileTenantMenuService extends CrudService<SysMobileTenantMenu> {
+
+}

+ 131 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysMobileMenuServiceImpl.java

@@ -0,0 +1,131 @@
+package com.usky.system.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.usky.common.core.constants.Constants;
+import com.usky.common.core.util.StringUtils;
+import com.usky.common.security.utils.SecurityUtils;
+import com.usky.system.controller.web.SysMenuController;
+import com.usky.system.domain.SysMenu;
+import com.usky.system.domain.SysMobileMenu;
+import com.usky.system.domain.SysMobileTenantMenu;
+import com.usky.system.domain.constants.UserConstants;
+import com.usky.system.mapper.SysMobileMenuMapper;
+import com.usky.system.service.SysMobileMenuService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.system.service.SysMobileTenantMenuService;
+import com.usky.system.service.vo.MetaVo;
+import com.usky.system.service.vo.RouterVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * <p>
+ * 移动端_菜单权限表 服务实现类
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-11
+ */
+@Service
+public class SysMobileMenuServiceImpl extends AbstractCrudService<SysMobileMenuMapper, SysMobileMenu> implements SysMobileMenuService {
+
+    @Autowired
+    private SysMobileTenantMenuService sysMobileTenantMenuService;
+
+    @Override
+    public List<SysMobileMenu> moveRoute(){
+        List<SysMobileMenu> list = new ArrayList<>();
+        LambdaQueryWrapper<SysMobileTenantMenu> query = Wrappers.lambdaQuery();
+        query.eq(SysMobileTenantMenu::getTenantId, SecurityUtils.getTenantId());
+        List<SysMobileTenantMenu> tenantMenuList = sysMobileTenantMenuService.list(query);
+        if (CollectionUtils.isNotEmpty(tenantMenuList)){
+            List<Long> menuIdList = new ArrayList<>();
+            for (int i = 0; i < tenantMenuList.size(); i++) {
+                menuIdList.add(tenantMenuList.get(i).getMenuId());
+            }
+            LambdaQueryWrapper<SysMobileMenu> queryOne = Wrappers.lambdaQuery();
+            queryOne.in(SysMobileMenu::getMenuId, menuIdList);
+            List<SysMobileMenu> menuList = this.list(queryOne);
+            list = getChildPerms(menuList, 0);
+        }
+        return list;
+    }
+
+    /**
+     * 根据父节点的ID获取所有子节点
+     *
+     * @param list 分类表
+     * @param parentId 传入的父节点ID
+     * @return String
+     */
+    public List<SysMobileMenu> getChildPerms(List<SysMobileMenu> list, int parentId)
+    {
+        List<SysMobileMenu> returnList = new ArrayList<SysMobileMenu>();
+        for (Iterator<SysMobileMenu> iterator = list.iterator(); iterator.hasNext();)
+        {
+            SysMobileMenu t = (SysMobileMenu) iterator.next();
+            // 一、根据传入的某个父节点ID,遍历该父节点的所有子节点
+            if (t.getParentId() == parentId)
+            {
+                recursionFn(list, t);
+                returnList.add(t);
+            }
+        }
+        return returnList;
+    }
+
+
+    /**
+     * 递归列表
+     *
+     * @param list
+     * @param t
+     */
+    private void recursionFn(List<SysMobileMenu> list, SysMobileMenu t)
+    {
+        // 得到子节点列表
+        List<SysMobileMenu> childList = getChildList(list, t);
+        t.setChildren(childList);
+        for (SysMobileMenu tChild : childList)
+        {
+            if (hasChild(list, tChild))
+            {
+                recursionFn(list, tChild);
+            }
+        }
+    }
+
+    /**
+     * 得到子节点列表
+     */
+    private List<SysMobileMenu> getChildList(List<SysMobileMenu> list, SysMobileMenu t)
+    {
+        List<SysMobileMenu> tlist = new ArrayList<SysMobileMenu>();
+        Iterator<SysMobileMenu> it = list.iterator();
+        while (it.hasNext())
+        {
+            SysMobileMenu n = (SysMobileMenu) it.next();
+            if (n.getParentId().longValue() == t.getMenuId().longValue())
+            {
+                tlist.add(n);
+            }
+        }
+        return tlist;
+    }
+
+    /**
+     * 判断是否有子节点
+     */
+    private boolean hasChild(List<SysMobileMenu> list, SysMobileMenu t)
+    {
+        return getChildList(list, t).size() > 0 ? true : false;
+    }
+
+}

+ 20 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysMobileTenantMenuServiceImpl.java

@@ -0,0 +1,20 @@
+package com.usky.system.service.impl;
+
+import com.usky.system.domain.SysMobileTenantMenu;
+import com.usky.system.mapper.SysMobileTenantMenuMapper;
+import com.usky.system.service.SysMobileTenantMenuService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 移动端_租户和菜单关联表 服务实现类
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-11
+ */
+@Service
+public class SysMobileTenantMenuServiceImpl extends AbstractCrudService<SysMobileTenantMenuMapper, SysMobileTenantMenu> implements SysMobileTenantMenuService {
+
+}

+ 28 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysMobileMenuMapper.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.usky.system.mapper.SysMobileMenuMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.system.domain.SysMobileMenu">
+        <id column="menu_id" property="menuId" />
+        <result column="menu_name" property="menuName" />
+        <result column="parent_id" property="parentId" />
+        <result column="order_num" property="orderNum" />
+        <result column="path" property="path" />
+        <result column="component" property="component" />
+        <result column="query" property="query" />
+        <result column="is_frame" property="isFrame" />
+        <result column="is_cache" property="isCache" />
+        <result column="menu_type" property="menuType" />
+        <result column="visible" property="visible" />
+        <result column="status" property="status" />
+        <result column="perms" property="perms" />
+        <result column="icon" property="icon" />
+        <result column="create_by" property="createBy" />
+        <result column="create_time" property="createTime" />
+        <result column="update_by" property="updateBy" />
+        <result column="update_time" property="updateTime" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+</mapper>

+ 12 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysMobileTenantMenuMapper.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.usky.system.mapper.SysMobileTenantMenuMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.system.domain.SysMobileTenantMenu">
+        <id column="tenant_id" property="tenantId" />
+        <result column="menu_id" property="menuId" />
+        <result column="menu_alias_name" property="menuAliasName" />
+    </resultMap>
+
+</mapper>