39 Komitmen affc62119d ... f8b1c812ce

Pembuat SHA1 Pesan Tanggal
  fuyuchuan f8b1c812ce 消息类型大类代码删除 6 hari lalu
  gez ff28eebcec Merge branch 'han' of uskycloud/usky-cloud into master 1 Minggu lalu
  gez 2a16aa5f93 Merge branch 'system-zyj' of uskycloud/usky-cloud into master 1 Minggu lalu
  gez 5df87e3a94 Merge branch 'fu-dev' of uskycloud/usky-cloud into master 1 Minggu lalu
  james 738e61cc1b 优化租户管理-租户单位配置-克隆接口,增加循环处理克隆当前租户当前用户对应的多个用户角色和租户用户角色的逻辑 1 Minggu lalu
  james 1166b34f0f 1、优化租户管理-租户单位配置-克隆接口,增加循环处理多个用户角色和租户用户角色的逻辑; 1 Minggu lalu
  james 36c0f53f77 优化租户管理-新增接口,将PC租户管理-应用编辑接口新增租户与默认应用添加到租户和应用关联表逻辑迁移过来1 1 Minggu lalu
  james 2cc09cb8d6 优化租户管理-新增接口,将PC租户管理-应用编辑接口新增租户与默认应用添加到租户和应用关联表逻辑迁移过来 1 Minggu lalu
  hanzhengyi cfff83b7fc Merge branch 'han' 2 minggu lalu
  gez 926edd7563 Merge branch 'fu-dev' of uskycloud/usky-cloud into master 2 minggu lalu
  gez 6646e463d9 Merge branch 'system-zyj' of uskycloud/usky-cloud into master 2 minggu lalu
  hanzhengyi bd53c4f363 解决冲突 3 minggu lalu
  hanzhengyi 868377a9de 应用管理增加排序字段,应用菜单增加排序返回值 3 minggu lalu
  james 536d39b517 Merge branch 'system-zyj' into system-165 3 minggu lalu
  james 5a959c53c0 与界面对接,修改系统角色表createtime字段 3 minggu lalu
  james 390b0ad0a0 Merge branch 'system-zyj' into system-165 3 minggu lalu
  james e4cea614cc 优化租户管理-租户单位配置-克隆和租户管理-租户单位配置-删除两个接口,增加和删除角色表中该租户的角色信息和用户角色租户表中对应当前用户Id租户Id对应信息 3 minggu lalu
  james 5e3413d250 Merge branch 'system-zyj' into system-165 3 minggu lalu
  james e92505e639 优化优化帮助中心-栏目管理列表接口,增加系统管理员查询逻辑返回数据 3 minggu lalu
  james 8452a2e849 Merge branch 'system-zyj' into system-165 3 minggu lalu
  james deb2080944 优化帮助中心-栏目管理列表和帮助中心-栏目管理列表白名单两个接口,修改栏目名称字段模糊查询的逻辑解决查询值为空的情况 3 minggu lalu
  james 18a609f7e0 Merge branch 'system-zyj' into system-165 3 minggu lalu
  james ddf158589d 优化帮助中心-栏目管理列表和帮助中心-栏目管理列表白名单接口,增加栏目名称字段模糊查询; 3 minggu lalu
  james ee06abc80a Merge branch 'system-zyj' into system-165 3 minggu lalu
  james b3b213814c 1、优化帮助中心-栏目管理新增和修改、帮助中心-栏目管理列表、帮助中心-栏目管理列表白名单接口,增加栏目名称、栏目排序和关联菜单的三个字段展示,修改接口文档,测试接口; 3 minggu lalu
  fuyuchuan 3582cd3ba3 Merge branch 'fu-dev' of uskycloud/usky-cloud into system-165 1 bulan lalu
  fuyuchuan e315bfbecf Merge branch 'fu-dev' of uskycloud/usky-cloud into system-165 1 bulan lalu
  fuyuchuan ce7d77921e Merge branch 'fu-dev' of uskycloud/usky-cloud into system-165 1 bulan lalu
  fuyuchuan 4c26b9b8c7 Merge branch 'fu-dev' of uskycloud/usky-cloud into system-165 1 bulan lalu
  hanzhengyi 9e3a646c72 Merge branch 'fu-dev' of uskycloud/usky-cloud into system-165 2 bulan lalu
  fuyuchuan 3ae3342bc5 Merge branch 'fu-dev' of uskycloud/usky-cloud into system-165 2 bulan lalu
  fuyuchuan acb997c31a Merge branch 'fu-dev' of uskycloud/usky-cloud into system-165 2 bulan lalu
  hanzhengyi 12322bd205 Merge branch 'fu-dev' of uskycloud/usky-cloud into system-165 2 bulan lalu
  fuyuchuan 0e4cc6773b Merge branch 'fu-dev' of uskycloud/usky-cloud into system-165 2 bulan lalu
  fuyuchuan 6c45e90edc Merge branch 'fu-dev' of uskycloud/usky-cloud into system-165 2 bulan lalu
  fuyuchuan e6e682ef17 Merge branch 'fu-dev' of uskycloud/usky-cloud into system-165 2 bulan lalu
  fuyuchuan 3a6fcc6e1e Merge branch 'fu-dev' of uskycloud/usky-cloud into system-165 2 bulan lalu
  fuyuchuan acdd4458ef Merge branch 'fu-dev' of uskycloud/usky-cloud into system-165 2 bulan lalu
  fuyuchuan 7fc81271b0 Merge branch 'fu-dev' of uskycloud/usky-cloud into system-165 2 bulan lalu
20 mengubah file dengan 257 tambahan dan 82 penghapusan
  1. 1 3
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/MceReceiveController.java
  2. 5 4
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/HceArticle.java
  3. 5 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/SysPlatform.java
  4. 4 5
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/HceCategoryMapper.java
  5. 7 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysTenantMapper.java
  6. 1 1
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/MceReceiveService.java
  7. 2 4
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/HceArticleServiceImpl.java
  8. 80 30
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/HceCategoryServiceImpl.java
  9. 1 17
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/MceReceiveServiceImpl.java
  10. 11 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysMenuServiceImpl.java
  11. 1 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysPlatformServiceImpl.java
  12. 51 7
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysTenantServiceImpl.java
  13. 10 2
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/HceCategoryListVO.java
  14. 5 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/PlatformMenuVo.java
  15. 5 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/PlatformRouterVo.java
  16. 7 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/RouterVo.java
  17. 5 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/SysPlatformVo.java
  18. 25 9
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/HceCategoryMapper.xml
  19. 1 0
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysPlatformMapper.xml
  20. 30 0
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysTenantMapper.xml

+ 1 - 3
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/MceReceiveController.java

@@ -36,7 +36,6 @@ public class MceReceiveController {
      * 消息列表分页
      * @param infoTitle  消息标题
      * @param infoType  消息类型
-     * @param infoTypeBig  消息类型-大类
      * @param startTime  开始时间
      * @param endTime  开始时间
      * @param current      当前页
@@ -46,13 +45,12 @@ public class MceReceiveController {
     @GetMapping("/mceList")
     public ApiResult<CommonPage<Object>> mceList(@RequestParam(value = "infoTitle", required = false) String infoTitle,
                                                  @RequestParam(value = "infoType", required = false) String infoType,
-                                                 @RequestParam(value = "infoTypeBig", required = false) String infoTypeBig,
                                                  @RequestParam(value = "startTime", required = false) String startTime,
                                                  @RequestParam(value = "endTime", required = false) String endTime,
                                                  @RequestParam(value = "id", required = false) Integer id,
                                                  @RequestParam(value = "current", required = false, defaultValue = "1") Integer current,
                                                  @RequestParam(value = "size", required = false, defaultValue = "10") Integer size) {
-        return ApiResult.success(mceReceiveService.mceList(infoTitle, infoType, infoTypeBig, startTime, endTime, id, current, size));
+        return ApiResult.success(mceReceiveService.mceList(infoTitle, infoType, startTime, endTime, id, current, size));
     }
 
     /**

+ 5 - 4
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/HceArticle.java

@@ -4,11 +4,12 @@ import com.baomidou.mybatisplus.annotation.FieldStrategy;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
-import java.io.Serializable;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
 /**
  * <p>
  * 帮助中心_内容管理
@@ -93,8 +94,8 @@ public class HceArticle implements Serializable {
     private Integer sortindex;
 
     /**
-     * 菜单名称
+     * 栏目名称
      */
     @TableField(exist = false)
-    private String menuName;
+    private String categoryName;
 }

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

@@ -51,6 +51,11 @@ public class SysPlatform implements Serializable {
      */
     private String icon;
 
+    /**
+     * 显示顺序
+     */
+    private Integer orderNum;
+
     /**
      * 创建者
      */

+ 4 - 5
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/HceCategoryMapper.java

@@ -1,9 +1,8 @@
 package com.usky.system.mapper;
 
-import com.usky.system.domain.HceCategory;
 import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.system.domain.HceCategory;
 import com.usky.system.service.vo.HceCategoryListVO;
-import io.swagger.models.auth.In;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -17,11 +16,11 @@ import java.util.List;
  * @since 2023-08-29
  */
 public interface HceCategoryMapper extends CrudMapper<HceCategory> {
-    List<HceCategoryListVO> selectMenuTreeAll(@Param("categoryName") String categoryName, @Param("startTime") String startTime, @Param("endTime") String endTime);
+    List<HceCategoryListVO> selectMenuTreeAll(@Param("categoryIdList") List<Integer> categoryIdList, @Param("startTime") String startTime, @Param("endTime") String endTime);
 
-    List<HceCategoryListVO> selectMenuTreeByUserId(@Param("categoryName") String categoryName, @Param("startTime") String startTime, @Param("endTime") String endTime,@Param("userId") Long userId);
+    List<HceCategoryListVO> selectMenuTreeByUserId(@Param("categoryIdList") List<Integer> categoryIdList, @Param("startTime") String startTime, @Param("endTime") String endTime,@Param("userId") Long userId);
 
-    List<HceCategoryListVO> selectMenuTreeByUserIdOne(@Param("categoryName") String categoryName, @Param("startTime") String startTime, @Param("endTime") String endTime,@Param("tenantId") Integer tenantId);
+    List<HceCategoryListVO> selectMenuTreeByUserIdOne(@Param("categoryIdList") List<Integer> categoryIdList, @Param("startTime") String startTime, @Param("endTime") String endTime,@Param("tenantId") Integer tenantId);
 
     List<HceCategory> getMenuNameList(@Param("categoryIdList") List<Integer> categoryIdList);
 

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

@@ -2,6 +2,7 @@ package com.usky.system.mapper;
 
 import com.usky.common.mybatis.core.CrudMapper;
 import com.usky.system.domain.SysTenant;
+import com.usky.system.domain.SysUserRole;
 import com.usky.system.service.vo.SysTenantTwoVo;
 import com.usky.system.service.vo.SysTenantVo;
 import org.apache.ibatis.annotations.Param;
@@ -46,6 +47,9 @@ public interface SysTenantMapper extends CrudMapper<SysTenant> {
     void cloneSysMobileBanner(@Param("originalTenantId") Integer originalTenantId,@Param("tenantId") Integer tenantId,@Param("createBy") String createBy);
     void cloneSysTenantPlatform(@Param("originalTenantId") Integer originalTenantId,@Param("tenantId") Integer tenantId);
     void cloneSysMobileTenantMenu(@Param("originalTenantId") Integer originalTenantId,@Param("tenantId") Integer tenantId);
+    List<SysUserRole> selectSysUserRoleList(@Param("originalTenantId") Integer originalTenantId, @Param("UserId") long UserId);
+    void cloneSysRoleMenu(@Param("originalRoleId") long originalRoleId,@Param("roleId") long roleId);
+    void insertSysUserRole(@Param("UserId") long UserId,@Param("roleId") long roleId,@Param("tenantId") long tenantId);
 
     void delSysTenant(@Param("tenantId") Integer tenantId);
     void delSysDept(@Param("tenantId") Integer tenantId);
@@ -57,4 +61,7 @@ public interface SysTenantMapper extends CrudMapper<SysTenant> {
     void delSysMobileBanner(@Param("tenantId") Integer tenantId);
     void delSysMobileTenantConfig(@Param("tenantId") Integer tenantId);
     void delSysMobileTenantMenu(@Param("tenantId") Integer tenantId);
+    void delSysRoleMenu(@Param("roleId") long roleId);
+    void delSysRole(@Param("tenantId") Integer tenantId);
+    void delSysUserRole(@Param("tenantId") Integer tenantId);
 }

+ 1 - 1
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/MceReceiveService.java

@@ -19,7 +19,7 @@ import java.util.Map;
  */
 public interface MceReceiveService extends CrudService<MceReceive> {
 
-    CommonPage<Object> mceList(String infoTitle, String infoType, String infoTypeBig, String startTime, String endTime, Integer id, Integer current, Integer size);
+    CommonPage<Object> mceList(String infoTitle, String infoType, String startTime, String endTime, Integer id, Integer current, Integer size);
 
     CommonPage<Object> mceManageList(String infoTitle, String infoType, String startTime, String endTime, Integer current, Integer size);
 

+ 2 - 4
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/HceArticleServiceImpl.java

@@ -6,18 +6,16 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.usky.common.core.bean.ApiResult;
 import com.usky.common.core.bean.CommonPage;
 import com.usky.common.core.exception.BusinessException;
+import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.system.domain.HceArticle;
 import com.usky.system.domain.HceCategory;
 import com.usky.system.mapper.HceArticleMapper;
 import com.usky.system.mapper.HceCategoryMapper;
 import com.usky.system.service.HceArticleService;
-import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.system.service.vo.HceArticleVO;
 import org.springframework.stereotype.Service;
-import org.springframework.web.util.HtmlUtils;
 
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
@@ -70,7 +68,7 @@ public class HceArticleServiceImpl extends AbstractCrudService<HceArticleMapper,
                         Integer categoryId1 = page.getRecords().get(i).getCategoryid();
                         Integer categoryId2 = list.get(j).getId();
                         if(categoryId1.equals(categoryId2)){
-                            page.getRecords().get(i).setMenuName(list.get(j).getMenuName());
+                            page.getRecords().get(i).setCategoryName(list.get(j).getCategoryName());
                         }
                     }
                 }

+ 80 - 30
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/HceCategoryServiceImpl.java

@@ -1,23 +1,20 @@
 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.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.usky.common.core.exception.BusinessException;
+import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.common.security.utils.SecurityUtils;
 import com.usky.system.domain.HceArticle;
 import com.usky.system.domain.HceCategory;
 import com.usky.system.domain.SysUser;
 import com.usky.system.mapper.HceArticleMapper;
 import com.usky.system.mapper.HceCategoryMapper;
-import com.usky.system.service.HceArticleService;
 import com.usky.system.service.HceCategoryService;
-import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.system.service.ISysUserService;
 import com.usky.system.service.vo.HceCategoryListVO;
 import com.usky.system.service.vo.HceCategoryVO;
-import org.apache.tomcat.jni.Local;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -47,17 +44,56 @@ public class HceCategoryServiceImpl extends AbstractCrudService<HceCategoryMappe
         long userId = SecurityUtils.getUserId();
         SysUser sysUser = userService.selectUserByIdOne(userId);
         List<HceCategoryListVO> list = new ArrayList<>();
-        if(("00").equals(sysUser.getUserType())){
-            if (1L == userId)
-            {
-                list = baseMapper.selectMenuTreeAll(hceCategoryVO.getCategoryName(),hceCategoryVO.getStartTime(),hceCategoryVO.getEndTime());
-            }
-            else
-            {
-                list = baseMapper.selectMenuTreeByUserId(hceCategoryVO.getCategoryName(),hceCategoryVO.getStartTime(),hceCategoryVO.getEndTime(),userId);
+        List<Integer> categoryIdList = new ArrayList<>();
+        if(StringUtils.isNotBlank(hceCategoryVO.getCategoryName())){
+            LambdaQueryWrapper<HceCategory> queryWrapper = Wrappers.lambdaQuery();
+            queryWrapper.like(HceCategory::getCategoryName, hceCategoryVO.getCategoryName());
+            List<HceCategory> list1 = this.list(queryWrapper);
+            if(list1.size() > 0){
+                for (int i = 0; i < list1.size(); i++) {
+                    categoryIdList.add(list1.get(i).getId());
+                }
+                if(("00").equals(sysUser.getUserType())){
+                    if (1L == userId)
+                    {
+                        list = baseMapper.selectMenuTreeAll(categoryIdList,hceCategoryVO.getStartTime(),hceCategoryVO.getEndTime());
+                    }
+                    else
+                    {
+                        list = baseMapper.selectMenuTreeByUserId(categoryIdList,hceCategoryVO.getStartTime(),hceCategoryVO.getEndTime(),userId);
+                    }
+                }else{
+                    if (1L == userId)
+                    {
+                        list = baseMapper.selectMenuTreeAll(categoryIdList,hceCategoryVO.getStartTime(),hceCategoryVO.getEndTime());
+                    }
+                    else
+                    {
+                        list = baseMapper.selectMenuTreeByUserIdOne(categoryIdList,hceCategoryVO.getStartTime(),hceCategoryVO.getEndTime(),SecurityUtils.getTenantId());
+                    }
+
+                }
             }
         }else{
-            list = baseMapper.selectMenuTreeByUserIdOne(hceCategoryVO.getCategoryName(),hceCategoryVO.getStartTime(),hceCategoryVO.getEndTime(),SecurityUtils.getTenantId());
+            if(("00").equals(sysUser.getUserType())){
+                if (1L == userId)
+                {
+                    list = baseMapper.selectMenuTreeAll(categoryIdList,hceCategoryVO.getStartTime(),hceCategoryVO.getEndTime());
+                }
+                else
+                {
+                    list = baseMapper.selectMenuTreeByUserId(categoryIdList,hceCategoryVO.getStartTime(),hceCategoryVO.getEndTime(),userId);
+                }
+            }else{
+                if (1L == userId)
+                {
+                    list = baseMapper.selectMenuTreeAll(categoryIdList,hceCategoryVO.getStartTime(),hceCategoryVO.getEndTime());
+                }
+                else
+                {
+                    list = baseMapper.selectMenuTreeByUserIdOne(categoryIdList,hceCategoryVO.getStartTime(),hceCategoryVO.getEndTime(),SecurityUtils.getTenantId());
+                }
+            }
         }
 
         List<HceCategoryListVO> finalList = list;
@@ -72,7 +108,21 @@ public class HceCategoryServiceImpl extends AbstractCrudService<HceCategoryMappe
 
     @Override
     public List<HceCategoryListVO> pageWhite(HceCategoryVO hceCategoryVO){
-        List<HceCategoryListVO> list = baseMapper.selectMenuTreeAll(hceCategoryVO.getCategoryName(),hceCategoryVO.getStartTime(),hceCategoryVO.getEndTime());
+        List<HceCategoryListVO> list = new ArrayList<>();
+        List<Integer> categoryIdList = new ArrayList<>();
+        if(StringUtils.isNotBlank(hceCategoryVO.getCategoryName())){
+            LambdaQueryWrapper<HceCategory> queryWrapper = Wrappers.lambdaQuery();
+            queryWrapper.like(HceCategory::getCategoryName, hceCategoryVO.getCategoryName());
+            List<HceCategory> list2 = this.list(queryWrapper);
+            if(list2.size() > 0){
+                for (int i = 0; i < list2.size(); i++) {
+                    categoryIdList.add(list2.get(i).getId());
+                }
+                list = baseMapper.selectMenuTreeAll(categoryIdList,hceCategoryVO.getStartTime(),hceCategoryVO.getEndTime());
+            }
+        }else{
+            list = baseMapper.selectMenuTreeAll(categoryIdList,hceCategoryVO.getStartTime(),hceCategoryVO.getEndTime());
+        }
 
         List<HceCategoryListVO> finalList = list;
         List<HceCategoryListVO> list1 = list.stream().filter(s ->s.getParentId() == 0).map(
@@ -109,15 +159,15 @@ public class HceCategoryServiceImpl extends AbstractCrudService<HceCategoryMappe
         }
 
         //新增栏目时校验对应上级栏目是否存在,不存在要先新增上级栏目后再新增本栏目
-        Integer pid = baseMapper.selectPidByMenuid(hceCategory.getMenuId());
-        if(pid != null && pid != 0){
-            LambdaQueryWrapper<HceCategory> queryWrapper2 = Wrappers.lambdaQuery();
-            queryWrapper2.eq(HceCategory::getMenuId,pid);
-            List<HceCategory> list2 = this.list(queryWrapper2);
-            if(list2.size() <= 0){
-                throw new BusinessException("上级栏目不存在,请先添加上级栏目");
-            }
-        }
+//        Integer pid = baseMapper.selectPidByMenuid(hceCategory.getMenuId());
+//        if(pid != null && pid != 0){
+//            LambdaQueryWrapper<HceCategory> queryWrapper2 = Wrappers.lambdaQuery();
+//            queryWrapper2.eq(HceCategory::getMenuId,pid);
+//            List<HceCategory> list2 = this.list(queryWrapper2);
+//            if(list2.size() <= 0){
+//                throw new BusinessException("上级栏目不存在,请先添加上级栏目");
+//            }
+//        }
 
         hceCategory.setCreatedate(LocalDateTime.now());
         this.save(hceCategory);
@@ -152,13 +202,13 @@ public class HceCategoryServiceImpl extends AbstractCrudService<HceCategoryMappe
         if(list.size() > 0){
             throw new BusinessException("该栏目存在栏目内容不可删除");
         }
-        LambdaQueryWrapper<HceCategory> queryWrapper1 = Wrappers.lambdaQuery();
-        queryWrapper1.eq(HceCategory::getPid,id)
-                .eq(HceCategory::getStatus,1);
-        List<HceCategory> list1 = this.list(queryWrapper1);
-        if(list1.size()>0){
-            throw new BusinessException("该栏目存在子栏目不可删除");
-        }
+//        LambdaQueryWrapper<HceCategory> queryWrapper1 = Wrappers.lambdaQuery();
+//        queryWrapper1.eq(HceCategory::getPid,id)
+//                .eq(HceCategory::getStatus,1);
+//        List<HceCategory> list1 = this.list(queryWrapper1);
+//        if(list1.size()>0){
+//            throw new BusinessException("该栏目存在子栏目不可删除");
+//        }
         this.removeById(id);
 
     }

+ 1 - 17
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/MceReceiveServiceImpl.java

@@ -64,7 +64,7 @@ public class MceReceiveServiceImpl extends AbstractCrudService<MceReceiveMapper,
     private MceReceiveMapper mceReceiveMapper;
 
     @Override
-    public CommonPage<Object> mceList(String infoTitle, String infoType, String infoTypeBig, String startTime, String endTime, Integer id, Integer current, Integer size) {
+    public CommonPage<Object> mceList(String infoTitle, String infoType, String startTime, String endTime, Integer id, Integer current, Integer size) {
         List<Object> list = new ArrayList<>();
         LambdaQueryWrapper<MceContent> lambdaQuery1 = Wrappers.lambdaQuery();
         lambdaQuery1.select(MceContent::getId, MceContent::getInfoTitle, MceContent::getInfoContent)
@@ -90,12 +90,6 @@ public class MceReceiveServiceImpl extends AbstractCrudService<MceReceiveMapper,
                     .in(CollectionUtils.isNotEmpty(contentIds), MceReceive::getContentId, contentIds)
                     .orderByDesc(MceReceive::getId);
 
-            if (StringUtils.isNotBlank(infoTypeBig)) {
-                if ("2".equals(infoTypeBig)) {
-                    lambdaQuery.in(MceReceive::getInfoType, "2", "5");
-                }
-            }
-
 //                .inSql(StringUtils.isNotBlank(infoTitle),MceReceive::getContentId,"SELECT id FROM mce_content WHERE " +
 //                        "info_title like '%" + infoTitle + "%' AND tenant_id = "+SecurityUtils.getTenantId()+"");
             page = this.page(page, lambdaQuery);
@@ -105,16 +99,6 @@ public class MceReceiveServiceImpl extends AbstractCrudService<MceReceiveMapper,
                     Map<String, Object> map = new HashMap<>();
                     map.put("id", page.getRecords().get(i).getId());
                     map.put("infoType", infoType1);
-
-                    switch (infoType1) {
-                        case "2":
-                        case "5":
-                            map.put("infoTypeBig", "2");
-                            break;
-                        default:
-                            map.put("infoTypeBig", infoType1);
-                    }
-
                     map.put("readFlag", page.getRecords().get(i).getReadFlag());
                     map.put("moduleId", page.getRecords().get(i).getModuleId());
                     map.put("createTime", page.getRecords().get(i).getCreateTime());

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

@@ -226,6 +226,7 @@ public class SysMenuServiceImpl extends AbstractCrudService<SysMenuMapper, SysMe
             router.setName(getRouteName(menu));
             router.setPath(getRouterPath(menu));
             router.setComponent(getComponent(menu));
+            router.setOrderNum(menu.getOrderNum());
             router.setMeta(new MetaVo(menu.getMenuName(), menu.getMenuAliasName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath(), menu.getIsFrame(), menu.getIsNew(), menu.getRemark()));
             List<SysMenu> cMenus = menu.getChildren();
             if (!cMenus.isEmpty() && cMenus.size() > 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType())) {
@@ -239,6 +240,7 @@ public class SysMenuServiceImpl extends AbstractCrudService<SysMenuMapper, SysMe
                 children.setPath(menu.getPath());
                 children.setComponent(menu.getComponent());
                 children.setName(StringUtils.capitalize(menu.getPath()));
+                children.setOrderNum(menu.getOrderNum());
                 children.setMeta(new MetaVo(menu.getMenuName(), menu.getMenuAliasName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath(), menu.getIsFrame(), menu.getIsNew(), menu.getRemark()));
                 childrenList.add(children);
                 router.setChildren(childrenList);
@@ -251,6 +253,7 @@ public class SysMenuServiceImpl extends AbstractCrudService<SysMenuMapper, SysMe
                 children.setPath(routerPath);
                 children.setComponent(UserConstants.INNER_LINK);
                 children.setName(StringUtils.capitalize(routerPath));
+                children.setOrderNum(menu.getOrderNum());
                 children.setMeta(new MetaVo(menu.getMenuName(), menu.getMenuAliasName(), menu.getIcon(), menu.getPath(), menu.getIsFrame(), menu.getIsNew(), menu.getRemark()));
                 childrenList.add(children);
                 router.setChildren(childrenList);
@@ -278,6 +281,7 @@ public class SysMenuServiceImpl extends AbstractCrudService<SysMenuMapper, SysMe
                     platformRouterVo.setPlatformId(platformVo.getId());
                     platformRouterVo.setPlatformName(platformVo.getPlatformName());
                     platformRouterVo.setIcon(platformVo.getIcon());
+                    platformRouterVo.setOrderNum(platformVo.getOrderNum());
                     List<SysMenu> menus1 = this.selectMenuTreeByUserIdOne1(tenantId,
                             platformVo.getId());
                     List<RouterVo> routers = new LinkedList<RouterVo>();
@@ -287,6 +291,7 @@ public class SysMenuServiceImpl extends AbstractCrudService<SysMenuMapper, SysMe
                         router.setName(getRouteName(menu));
                         router.setPath(getRouterPath(menu));
                         router.setComponent(getComponent(menu));
+                        router.setOrderNum(menu.getOrderNum());
                         router.setMeta(new MetaVo(menu.getMenuName(), menu.getMenuAliasName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath(), menu.getIsFrame(), menu.getIsNew(), menu.getRemark()));
                         List<SysMenu> cMenus = menu.getChildren();
                         if (!cMenus.isEmpty() && UserConstants.TYPE_DIR.equals(menu.getMenuType())) {
@@ -300,6 +305,7 @@ public class SysMenuServiceImpl extends AbstractCrudService<SysMenuMapper, SysMe
                             children.setPath(menu.getPath());
                             children.setComponent(menu.getComponent());
                             children.setName(StringUtils.capitalize(menu.getPath()));
+                            children.setOrderNum(menu.getOrderNum());
                             children.setMeta(new MetaVo(menu.getMenuName(), menu.getMenuAliasName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath(), menu.getIsFrame(), menu.getIsNew(), menu.getRemark()));
                             childrenList.add(children);
                             router.setChildren(childrenList);
@@ -312,6 +318,7 @@ public class SysMenuServiceImpl extends AbstractCrudService<SysMenuMapper, SysMe
                             children.setPath(routerPath);
                             children.setComponent(UserConstants.INNER_LINK);
                             children.setName(StringUtils.capitalize(routerPath));
+                            children.setOrderNum(menu.getOrderNum());
                             children.setMeta(new MetaVo(menu.getMenuName(), menu.getMenuAliasName(), menu.getIcon(), menu.getPath(), menu.getIsFrame(), menu.getIsNew(), menu.getRemark()));
                             childrenList.add(children);
                             router.setChildren(childrenList);
@@ -339,6 +346,7 @@ public class SysMenuServiceImpl extends AbstractCrudService<SysMenuMapper, SysMe
                         platformRouterVo.setPlatformId(platformVo.getId());
                         platformRouterVo.setPlatformName(platformVo.getPlatformName());
                         platformRouterVo.setIcon(platformVo.getIcon());
+                        platformRouterVo.setOrderNum(platformVo.getOrderNum());
                         List<SysMenu> menus1 = this.selectMenuTreeByUserId1(userId,
                                 platformVo.getId().longValue(), tenantId);
                         List<RouterVo> routers = new LinkedList<RouterVo>();
@@ -348,6 +356,7 @@ public class SysMenuServiceImpl extends AbstractCrudService<SysMenuMapper, SysMe
                             router.setName(getRouteName(menu));
                             router.setPath(getRouterPath(menu));
                             router.setComponent(getComponent(menu));
+                            router.setOrderNum(menu.getOrderNum());
                             router.setMeta(new MetaVo(menu.getMenuName(), menu.getMenuAliasName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath(), menu.getIsFrame(), menu.getIsNew(), menu.getRemark()));
                             List<SysMenu> cMenus = menu.getChildren();
                             if (!cMenus.isEmpty() && cMenus.size() > 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType())) {
@@ -361,6 +370,7 @@ public class SysMenuServiceImpl extends AbstractCrudService<SysMenuMapper, SysMe
                                 children.setPath(menu.getPath());
                                 children.setComponent(menu.getComponent());
                                 children.setName(StringUtils.capitalize(menu.getPath()));
+                                children.setOrderNum(menu.getOrderNum());
                                 children.setMeta(new MetaVo(menu.getMenuName(), menu.getMenuAliasName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath(), menu.getIsFrame(), menu.getIsNew(), menu.getRemark()));
                                 childrenList.add(children);
                                 router.setChildren(childrenList);
@@ -373,6 +383,7 @@ public class SysMenuServiceImpl extends AbstractCrudService<SysMenuMapper, SysMe
                                 children.setPath(routerPath);
                                 children.setComponent(UserConstants.INNER_LINK);
                                 children.setName(StringUtils.capitalize(routerPath));
+                                children.setOrderNum(menu.getOrderNum());
                                 children.setMeta(new MetaVo(menu.getMenuName(), menu.getMenuAliasName(), menu.getIcon(), menu.getPath(), menu.getIsFrame(), menu.getIsNew(), menu.getRemark()));
                                 childrenList.add(children);
                                 router.setChildren(childrenList);

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

@@ -98,6 +98,7 @@ public class SysPlatformServiceImpl extends AbstractCrudService<SysPlatformMappe
         SysPlatform sysPlatform = new SysPlatform();
         sysPlatform.setPlatformName(platformMenuVo.getPlatformName());
         sysPlatform.setIcon(platformMenuVo.getIcon());
+        sysPlatform.setOrderNum(platformMenuVo.getOrderNum());
         if (platformMenuVo.getPlatformId().intValue() == 0) {
             sysPlatform.setCreateBy(SecurityUtils.getUsername());
             sysPlatform.setCreateTime(LocalDateTime.now());

+ 51 - 7
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysTenantServiceImpl.java

@@ -1,29 +1,27 @@
 package com.usky.system.service.impl;
 
+import cn.hutool.core.date.DateTime;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.usky.common.core.bean.CommonPage;
 import com.usky.common.core.exception.BusinessException;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.common.security.utils.SecurityUtils;
-import com.usky.system.domain.SysDept;
-import com.usky.system.domain.SysTenant;
-import com.usky.system.domain.SysUser;
-import com.usky.system.domain.SysUserTenant;
+import com.usky.system.domain.*;
 import com.usky.system.mapper.SysTenantMapper;
 import com.usky.system.mapper.SysUserTenantMapper;
 import com.usky.system.service.ISysDeptService;
+import com.usky.system.service.ISysRoleService;
 import com.usky.system.service.SysTenantPlatformService;
 import com.usky.system.service.SysTenantService;
 import com.usky.system.service.vo.SysTenantOneVo;
 import com.usky.system.service.vo.SysTenantTwoVo;
 import com.usky.system.service.vo.SysTenantVo;
 import com.usky.system.service.vo.TenantPlatformVo;
-import io.swagger.models.auth.In;
-import org.apache.ibatis.annotations.Select;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
-import java.util.Arrays;
 import java.util.List;
 import java.util.UUID;
 
@@ -46,6 +44,8 @@ public class SysTenantServiceImpl extends AbstractCrudService<SysTenantMapper, S
     private SysTenantMapper sysTenantMapper;
     @Autowired
     private SysTenantPlatformService sysTenantPlatformService;
+    @Autowired
+    private ISysRoleService roleService;
 
     @Override
     public List<SysTenantVo> getUserData() {
@@ -123,6 +123,12 @@ public class SysTenantServiceImpl extends AbstractCrudService<SysTenantMapper, S
         sysDept.setPhone(sysTenant.getPhoneNumber());
         sysDept.setCreateBy(SecurityUtils.getUsername());
         iSysDeptService.insertDept(sysDept);
+
+        TenantPlatformVo tenantPlatformVo = new TenantPlatformVo();
+        tenantPlatformVo.setPlatformIds(new Integer[]{Integer.parseInt(sysTenant.getSystemName())});
+        tenantPlatformVo.setRequestId(0);
+        tenantPlatformVo.setTenantId(tenantId);
+        sysTenantPlatformService.updateTenantPlatform(tenantPlatformVo);
     }
 
     @Override
@@ -165,6 +171,32 @@ public class SysTenantServiceImpl extends AbstractCrudService<SysTenantMapper, S
         //克隆应用授权和权限配置
         sysTenantMapper.cloneSysTenantPlatform(originalTenantId,tenantId);
         sysTenantMapper.cloneSysMobileTenantMenu(originalTenantId,tenantId);
+        //克隆用户角色和租户用户角色
+        //sys_role
+        List<SysUserRole> sysUserRoleList = sysTenantMapper.selectSysUserRoleList(originalTenantId,SecurityUtils.getUserId());
+        if(sysUserRoleList.size()>0){
+            for (int i = 0; i < sysUserRoleList.size(); i++) {
+                SysRole role = new SysRole();
+                long originalRoleId = sysUserRoleList.get(i).getRoleId();
+                LambdaQueryWrapper<SysRole> queryWrapper = new LambdaQueryWrapper<>();
+                queryWrapper.select(SysRole::getRoleName,SysRole::getRoleKey,SysRole::getRoleSort,SysRole::getDataScope,SysRole::getStatus).eq(SysRole::getRoleId, originalRoleId);
+                SysRole one = roleService.getOne(queryWrapper);
+                role.setRoleName(one.getRoleName());
+                role.setRoleKey(one.getRoleKey());
+                role.setRoleSort(one.getRoleSort());
+                role.setDataScope(one.getDataScope());
+                role.setStatus(one.getStatus());
+                role.setCreateBy(SecurityUtils.getUsername());
+                role.setCreateTime(DateTime.now());
+                role.setTenantId(tenantId);
+                roleService.insertRole(role);
+                long roleId = role.getRoleId();
+                //sys_role_menu
+                sysTenantMapper.cloneSysRoleMenu(originalRoleId,roleId);
+                //sys_user_role
+                sysTenantMapper.insertSysUserRole(SecurityUtils.getUserId(),roleId,tenantId);
+            }
+        }
 
         //更新默认应用
         TenantPlatformVo tenantPlatformVo = new TenantPlatformVo();
@@ -186,6 +218,18 @@ public class SysTenantServiceImpl extends AbstractCrudService<SysTenantMapper, S
         sysTenantMapper.delSysMobileBanner(tenantId);
         sysTenantMapper.delSysMobileTenantConfig(tenantId);
         sysTenantMapper.delSysMobileTenantMenu(tenantId);
+
+        LambdaQueryWrapper<SysRole> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.select(SysRole::getRoleId).eq(SysRole::getTenantId, tenantId);
+        List<SysRole> list = roleService.list(queryWrapper);
+        if(CollectionUtils.isNotEmpty(list)){
+            for (int i = 0; i < list.size(); i++) {
+                long roleId = list.get(i).getRoleId();
+                sysTenantMapper.delSysRoleMenu(roleId);
+            }
+        }
+        sysTenantMapper.delSysRole(tenantId);
+        sysTenantMapper.delSysUserRole(tenantId);
     }
 
     @Override

+ 10 - 2
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/HceCategoryListVO.java

@@ -1,7 +1,5 @@
 package com.usky.system.service.vo;
 
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.usky.system.domain.HceCategory;
 import lombok.Data;
 
 import java.time.LocalDateTime;
@@ -51,6 +49,16 @@ public class HceCategoryListVO {
      */
     private Integer categoryId;
 
+    /**
+     * 栏目名称
+     */
+    private String categoryName;
+
+    /**
+     * 栏目排序
+     */
+    private Integer sortindex;
+
     /**
      * 栏目图片;
      */

+ 5 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/PlatformMenuVo.java

@@ -36,6 +36,11 @@ public class PlatformMenuVo implements Serializable {
      */
     private String icon;
 
+    /**
+     * 显示顺序
+     */
+    private Integer orderNum;
+
     /**
      * 菜单ID
      */

+ 5 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/PlatformRouterVo.java

@@ -34,6 +34,11 @@ public class PlatformRouterVo {
      */
     private String icon;
 
+    /**
+     * 显示顺序
+     */
+    private Integer orderNum;
+
     /**
      * 路由集合
      */

+ 7 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/RouterVo.java

@@ -42,6 +42,9 @@ public class RouterVo
      */
     private Boolean alwaysShow;
 
+    /** 显示顺序 */
+    private String orderNum;
+
     /**
      * 其他元素
      */
@@ -112,6 +115,10 @@ public class RouterVo
         this.alwaysShow = alwaysShow;
     }
 
+    public String getOrderNum() { return orderNum; }
+
+    public void setOrderNum(String orderNum) { this.orderNum = orderNum; }
+
     public MetaVo getMeta()
     {
         return meta;

+ 5 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/SysPlatformVo.java

@@ -51,6 +51,11 @@ public class SysPlatformVo implements Serializable {
      */
     private String icon;
 
+    /**
+     * 显示顺序
+     */
+    private Integer orderNum;
+
     /**
      * 创建者
      */

+ 25 - 9
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/HceCategoryMapper.xml

@@ -28,6 +28,8 @@
                         m.is_frame as isFrame,
                         m.is_cache as isCache,
                         h.id as categoryId,
+                        h.category_name as categoryName,
+                        h.sortindex as sortindex,
                         h.imagePath as imagePath,
                         h.createdate as createdate,
                         h.modifydate as modifydate,
@@ -39,13 +41,16 @@
         where m.menu_type in ('M', 'C')
           and m.visible = 0
           and m.status = 0
-          <if test="categoryName != null">
-              and m.menu_name = #{categoryName}
+          <if test="categoryIdList != null and categoryIdList.size() > 0 ">
+              and h.id in
+              <foreach collection="categoryIdList" item="categoryId" index="index" open="(" close=")" separator=",">
+                  #{categoryId}
+              </foreach>
           </if>
           <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
               and h.createdate between #{startTime} and #{endTime}
           </if>
-        order by m.parent_id, m.order_num
+        order by m.parent_id, h.sortindex
     </select>
     <select id="selectMenuTreeByUserId" resultType="com.usky.system.service.vo.HceCategoryListVO">
         select distinct m.menu_id as menuId,
@@ -56,6 +61,8 @@
                         m.is_frame as isFrame,
                         m.is_cache as isCache,
                         h.id as categoryId,
+                        h.category_name as categoryName,
+                        h.sortindex as sortindex,
                         h.imagePath as imagePath,
                         h.createdate as createdate,
                         h.modifydate as modifydate,
@@ -72,13 +79,16 @@
           and m.visible = 0
           and m.status = 0
           AND ro.status = 0
-        <if test="categoryName != null">
-            and m.menu_name = #{categoryName}
+        <if test="categoryIdList != null and categoryIdList.size() > 0 ">
+            and h.id in
+            <foreach collection="categoryIdList" item="categoryId" index="index" open="(" close=")" separator=",">
+                #{categoryId}
+            </foreach>
         </if>
         <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
             and h.createdate between #{startTime} and #{endTime}
         </if>
-        order by m.parent_id, m.order_num
+        order by m.parent_id, h.sortindex
     </select>
     <select id="selectMenuTreeByUserIdOne" resultType="com.usky.system.service.vo.HceCategoryListVO">
         SELECT
@@ -90,6 +100,8 @@
                     m.is_frame as isFrame,
                     m.is_cache as isCache,
                     h.id as categoryId,
+                    h.category_name as categoryName,
+                    h.sortindex as sortindex,
                     h.imagePath as imagePath,
                     h.createdate as createdate,
                     h.modifydate as modifydate,
@@ -103,13 +115,16 @@
           and m.visible = 0
           and m.status = 0
           AND t.tenant_id=#{tenantId}
-        <if test="categoryName != null">
-            and m.menu_name = #{categoryName}
+        <if test="categoryIdList != null and categoryIdList.size() > 0 ">
+            and h.id in
+            <foreach collection="categoryIdList" item="categoryId" index="index" open="(" close=")" separator=",">
+                #{categoryId}
+            </foreach>
         </if>
         <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
             and h.createdate between #{startTime} and #{endTime}
         </if>
-        ORDER BY m.parent_id, m.order_num
+        ORDER BY m.parent_id, h.sortindex
     </select>
     <select id="getMenuNameList" resultType="com.usky.system.domain.HceCategory">
         SELECT
@@ -120,6 +135,7 @@
                     m.is_frame as isFrame,
                     m.is_cache as isCache,
                     h.id as id,
+                    h.category_name as categoryName,
                     h.imagePath as imagePath,
                     h.createdate as createdate,
                     h.modifydate as modifydate,

+ 1 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysPlatformMapper.xml

@@ -9,6 +9,7 @@
         <result column="status" property="status" />
         <result column="remark" property="remark" />
         <result column="icon" property="icon" />
+        <result column="order_num" property="orderNum" />
         <result column="create_by" property="createBy" />
         <result column="create_time" property="createTime" />
         <result column="update_by" property="updateBy" />

+ 30 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysTenantMapper.xml

@@ -147,6 +147,27 @@
             tenant_id = #{originalTenantId}
         </where>
     </insert>
+    <select id="selectSysUserRoleList" resultType="com.usky.system.domain.SysUserRole">
+        SELECT
+        a.*
+        FROM
+        sys_user_role AS a
+        <where>
+            a.tenant_id = #{originalTenantId} and a.user_id = #{UserId}
+        </where>
+    </select>
+    <insert id="cloneSysRoleMenu">
+        insert into sys_role_menu (role_id,menu_id,menu_alias_name)
+        select  #{roleId},menu_id,menu_alias_name
+        from sys_role_menu
+        <where>
+            role_id = #{originalRoleId}
+        </where>
+    </insert>
+    <insert id="insertSysUserRole">
+        insert into sys_user_role (user_id,role_id,tenant_id)
+        values(#{UserId},#{roleId},#{tenantId})
+    </insert>
 
     <delete id="delSysTenant">
         delete from sys_tenant WHERE id = #{tenantId}
@@ -178,5 +199,14 @@
     <delete id="delSysMobileTenantMenu">
         delete from sys_mobile_tenant_menu where tenant_id = #{tenantId}
     </delete>
+    <delete id="delSysRoleMenu">
+        delete from sys_role_menu where role_id = #{roleId}
+    </delete>
+    <delete id="delSysRole">
+        delete from sys_role where tenant_id = #{tenantId}
+    </delete>
+    <delete id="delSysUserRole">
+        delete from sys_user_role where tenant_id = #{tenantId}
+    </delete>
 
 </mapper>