Huanyi 1 сар өмнө
parent
commit
42d4f4010a

+ 4 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysMenu.java

@@ -106,6 +106,10 @@ public class SysMenu extends BaseEntity {
     @TableField(exist = false)
     @TableField(exist = false)
     private String parentName;
     private String parentName;
 
 
+    /**
+     * 平台ID
+     * @Author: Huanyi
+     */
     private Integer platformId;
     private Integer platformId;
 
 
     /**
     /**

+ 10 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysStore.java

@@ -91,6 +91,16 @@ public class SysStore extends TenantEntity {
      */
      */
     private Integer status;
     private Integer status;
 
 
+    /**
+     * 经度
+     */
+    private Float longitude;
+
+    /**
+     * 维度
+     */
+    private Float latitude;
+
     /**
     /**
      * 删除标志(0代表存在 1代表删除)
      * 删除标志(0代表存在 1代表删除)
      */
      */

+ 10 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysStoreBo.java

@@ -98,5 +98,15 @@ public class SysStoreBo extends BaseEntity {
      */
      */
     private Integer status;
     private Integer status;
 
 
+    /**
+     * 经度
+     */
+    private Float longitude;
+
+    /**
+     * 维度
+     */
+    private Float latitude;
+
 
 
 }
 }

+ 9 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysStoreVo.java

@@ -120,5 +120,14 @@ public class SysStoreVo implements Serializable {
     @ExcelProperty(value = "状态")
     @ExcelProperty(value = "状态")
     private Integer status;
     private Integer status;
 
 
+    /**
+     * 经度
+     */
+    private Float longitude;
+
+    /**
+     * 维度
+     */
+    private Float latitude;
 
 
 }
 }

+ 1 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteUserServiceImpl.java

@@ -70,6 +70,7 @@ public class RemoteUserServiceImpl implements RemoteUserService {
     @Override
     @Override
     public LoginUser getUserInfo(String username, String tenantId, Integer platformId) throws UserException {
     public LoginUser getUserInfo(String username, String tenantId, Integer platformId) throws UserException {
         return TenantHelper.dynamic(tenantId, () -> {
         return TenantHelper.dynamic(tenantId, () -> {
+            // 用户进行平台隔离 @author: Huanyi
             SysUserVo sysUser = userMapper.selectVoOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUserName, username).eq(SysUser::getPlatformId, platformId));
             SysUserVo sysUser = userMapper.selectVoOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUserName, username).eq(SysUser::getPlatformId, platformId));
             if (ObjectUtil.isNull(sysUser)) {
             if (ObjectUtil.isNull(sysUser)) {
                 throw new UserException("user.not.exists", username);
                 throw new UserException("user.not.exists", username);

+ 5 - 2
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysMenuServiceImpl.java

@@ -70,13 +70,16 @@ public class SysMenuServiceImpl implements ISysMenuService {
         List<SysMenuVo> menuList;
         List<SysMenuVo> menuList;
         LambdaQueryWrapper<SysMenu> wrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<SysMenu> wrapper = new LambdaQueryWrapper<>();
         // 管理员显示所有菜单信息 不是管理员 按用户id过滤菜单
         // 管理员显示所有菜单信息 不是管理员 按用户id过滤菜单
-        if (!LoginHelper.isSuperAdmin(userId)) {
+        // 租户管理员也如此 @author: Huanyi
+        if (!LoginHelper.isSuperAdmin(userId) && !LoginHelper.isTenantAdmin()) {
             // 通过用户id获取角色id 通过角色id获取菜单id 然后in菜单
             // 通过用户id获取角色id 通过角色id获取菜单id 然后in菜单
             wrapper.inSql(SysMenu::getMenuId, baseMapper.buildMenuByUserSql(userId));
             wrapper.inSql(SysMenu::getMenuId, baseMapper.buildMenuByUserSql(userId));
         }
         }
+        int platformId = menu.getPlatformId() == null ? PlatformUtils.getId() : menu.getPlatformId();
         menuList = baseMapper.selectVoList(
         menuList = baseMapper.selectVoList(
             wrapper.like(StringUtils.isNotBlank(menu.getMenuName()), SysMenu::getMenuName, menu.getMenuName())
             wrapper.like(StringUtils.isNotBlank(menu.getMenuName()), SysMenu::getMenuName, menu.getMenuName())
-                .eq(SysMenu::getPlatformId, menu.getPlatformId())
+                // 平台隔离 @author: Huanyi
+                .eq(SysMenu::getPlatformId, platformId)
                 .eq(StringUtils.isNotBlank(menu.getVisible()), SysMenu::getVisible, menu.getVisible())
                 .eq(StringUtils.isNotBlank(menu.getVisible()), SysMenu::getVisible, menu.getVisible())
                 .eq(StringUtils.isNotBlank(menu.getStatus()), SysMenu::getStatus, menu.getStatus())
                 .eq(StringUtils.isNotBlank(menu.getStatus()), SysMenu::getStatus, menu.getStatus())
                 .eq(StringUtils.isNotBlank(menu.getMenuType()), SysMenu::getMenuType, menu.getMenuType())
                 .eq(StringUtils.isNotBlank(menu.getMenuType()), SysMenu::getMenuType, menu.getMenuType())

+ 4 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysStoreServiceImpl.java

@@ -74,8 +74,11 @@ public class SysStoreServiceImpl implements ISysStoreService {
         Map<String, Object> params = bo.getParams();
         Map<String, Object> params = bo.getParams();
         LambdaQueryWrapper<SysStore> lqw = Wrappers.lambdaQuery();
         LambdaQueryWrapper<SysStore> lqw = Wrappers.lambdaQuery();
         lqw.orderByDesc(SysStore::getId);
         lqw.orderByDesc(SysStore::getId);
+        lqw.eq(bo.getBusinessLicense() != null, SysStore::getBusinessLicense, bo.getBusinessLicense());
         lqw.like(StringUtils.isNotBlank(bo.getName()), SysStore::getName, bo.getName());
         lqw.like(StringUtils.isNotBlank(bo.getName()), SysStore::getName, bo.getName());
-        lqw.like(StringUtils.isNotBlank(bo.getContact()), SysStore::getContact, bo.getContact());
+        lqw.eq(bo.getTenantCatergories() != null, SysStore::getTenantCatergories, bo.getTenantCatergories());
+        lqw.eq(StringUtils.isNotBlank(bo.getContact()), SysStore::getContact, bo.getContact());
+        lqw.eq(bo.getValidity() != null, SysStore::getValidity, bo.getValidity());
         lqw.eq(bo.getSite() != null, SysStore::getSite, bo.getSite());
         lqw.eq(bo.getSite() != null, SysStore::getSite, bo.getSite());
         lqw.eq(bo.getStatus() != null, SysStore::getStatus, bo.getStatus());
         lqw.eq(bo.getStatus() != null, SysStore::getStatus, bo.getStatus());
         return lqw;
         return lqw;

+ 2 - 0
script/sql/business/create.sql

@@ -30,6 +30,8 @@ CREATE TABLE `pet_system`.`sys_store`
     `site`                bigint COMMENT '归属站点',
     `site`                bigint COMMENT '归属站点',
     `detail_address`      varchar(255) COMMENT '详细地址',
     `detail_address`      varchar(255) COMMENT '详细地址',
     `status`              tinyint            NOT NULL DEFAULT 0 COMMENT '状态',
     `status`              tinyint            NOT NULL DEFAULT 0 COMMENT '状态',
+    `longitude`           float COMMENT '经度',
+    `latitude`            float COMMENT '维度',
     `del_flag`            char(1)                     DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
     `del_flag`            char(1)                     DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
     `tenant_id`           varchar(20)        NOT NULL COMMENT '租户编号',
     `tenant_id`           varchar(20)        NOT NULL COMMENT '租户编号',
     `create_dept`         bigint(20) COMMENT '创建部门',
     `create_dept`         bigint(20) COMMENT '创建部门',