Pārlūkot izejas kodu

- 修改数据库配置
- 修改平台ID获取方式
- 修改菜单分配

Huanyi 1 mēnesi atpakaļ
vecāks
revīzija
d35e23d74d

+ 4 - 0
ruoyi-common/yingpaipay-common-platform/pom.xml

@@ -16,6 +16,10 @@
             <groupId>org.dromara</groupId>
             <groupId>org.dromara</groupId>
             <artifactId>ruoyi-common-core</artifactId>
             <artifactId>ruoyi-common-core</artifactId>
         </dependency>
         </dependency>
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-satoken</artifactId>
+        </dependency>
     </dependencies>
     </dependencies>
 
 
 </project>
 </project>

+ 11 - 0
ruoyi-common/yingpaipay-common-platform/src/main/java/org/dromara/common/platform/PlatformUtils.java

@@ -0,0 +1,11 @@
+package org.dromara.common.platform;
+
+import cn.dev33.satoken.context.SaHolder;
+
+public class PlatformUtils {
+
+    public static int getId() {
+        return Platform.getIdByCode(SaHolder.getRequest().getHeader("X-Platform-Code"));
+    }
+
+}

+ 7 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysMenuMapper.java

@@ -1,10 +1,14 @@
 package org.dromara.system.mapper;
 package org.dromara.system.mapper;
 
 
+import cn.dev33.satoken.context.SaHolder;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import org.dromara.common.core.constant.SystemConstants;
 import org.dromara.common.core.constant.SystemConstants;
+import org.dromara.common.core.utils.SpringUtils;
 import org.dromara.common.core.utils.StreamUtils;
 import org.dromara.common.core.utils.StreamUtils;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
 import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import org.dromara.common.platform.Platform;
+import org.dromara.common.platform.PlatformUtils;
 import org.dromara.system.domain.SysMenu;
 import org.dromara.system.domain.SysMenu;
 import org.dromara.system.domain.vo.SysMenuVo;
 import org.dromara.system.domain.vo.SysMenuVo;
 
 
@@ -121,7 +125,9 @@ public interface SysMenuMapper extends BaseMapperPlus<SysMenu, SysMenuVo> {
             .in(SysMenu::getMenuType, SystemConstants.TYPE_DIR, SystemConstants.TYPE_MENU)
             .in(SysMenu::getMenuType, SystemConstants.TYPE_DIR, SystemConstants.TYPE_MENU)
             .eq(SysMenu::getStatus, SystemConstants.NORMAL)
             .eq(SysMenu::getStatus, SystemConstants.NORMAL)
             .orderByAsc(SysMenu::getParentId)
             .orderByAsc(SysMenu::getParentId)
-            .orderByAsc(SysMenu::getOrderNum);
+            .orderByAsc(SysMenu::getOrderNum)
+            // 根据平台划分菜单
+            .eq(SysMenu::getPlatformId, PlatformUtils.getId());
         return this.selectList(lqw);
         return this.selectList(lqw);
     }
     }
 
 

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

@@ -13,6 +13,7 @@ import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StreamUtils;
 import org.dromara.common.core.utils.StreamUtils;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.core.utils.TreeBuildUtils;
 import org.dromara.common.core.utils.TreeBuildUtils;
+import org.dromara.common.platform.PlatformUtils;
 import org.dromara.common.satoken.utils.LoginHelper;
 import org.dromara.common.satoken.utils.LoginHelper;
 import org.dromara.system.domain.SysMenu;
 import org.dromara.system.domain.SysMenu;
 import org.dromara.system.domain.SysRole;
 import org.dromara.system.domain.SysRole;
@@ -116,7 +117,8 @@ public class SysMenuServiceImpl implements ISysMenuService {
     @Override
     @Override
     public List<SysMenu> selectMenuTreeByUserId(Long userId) {
     public List<SysMenu> selectMenuTreeByUserId(Long userId) {
         List<SysMenu> menus;
         List<SysMenu> menus;
-        if (LoginHelper.isSuperAdmin(userId)) {
+        // 商户使用租户管理员,无需进行菜单划分 @author: Huanyi
+        if (LoginHelper.isSuperAdmin(userId) || LoginHelper.isTenantAdmin()) {
             menus = baseMapper.selectMenuTreeAll();
             menus = baseMapper.selectMenuTreeAll();
         } else {
         } else {
             LambdaQueryWrapper<SysMenu> wrapper = new LambdaQueryWrapper<>();
             LambdaQueryWrapper<SysMenu> wrapper = new LambdaQueryWrapper<>();
@@ -124,6 +126,8 @@ public class SysMenuServiceImpl implements ISysMenuService {
                 wrapper.in(SysMenu::getMenuType, SystemConstants.TYPE_DIR, SystemConstants.TYPE_MENU)
                 wrapper.in(SysMenu::getMenuType, SystemConstants.TYPE_DIR, SystemConstants.TYPE_MENU)
                     .eq(SysMenu::getStatus, SystemConstants.NORMAL)
                     .eq(SysMenu::getStatus, SystemConstants.NORMAL)
                     .inSql(SysMenu::getMenuId, baseMapper.buildMenuByUserSql(userId))
                     .inSql(SysMenu::getMenuId, baseMapper.buildMenuByUserSql(userId))
+                    // 根据平台ID划分菜单
+                    .eq(SysMenu::getPlatformId, PlatformUtils.getId())
                     .orderByAsc(SysMenu::getParentId)
                     .orderByAsc(SysMenu::getParentId)
                     .orderByAsc(SysMenu::getOrderNum));
                     .orderByAsc(SysMenu::getOrderNum));
         }
         }

+ 14 - 11
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java

@@ -251,6 +251,9 @@ public class SysTenantServiceImpl implements ISysTenantService {
      * @param packageId 租户套餐id
      * @param packageId 租户套餐id
      * @return 角色id
      * @return 角色id
      */
      */
+    /**
+     * 修改为租户菜单也不创建角色菜单关联,默认是全菜单
+     */
     private Long createTenantRole(String tenantId, Long packageId) {
     private Long createTenantRole(String tenantId, Long packageId) {
         // 获取租户套餐
         // 获取租户套餐
 //        SysTenantPackage tenantPackage = tenantPackageMapper.selectById(packageId);
 //        SysTenantPackage tenantPackage = tenantPackageMapper.selectById(packageId);
@@ -259,9 +262,9 @@ public class SysTenantServiceImpl implements ISysTenantService {
 //        }
 //        }
         // 获取套餐菜单id
         // 获取套餐菜单id
 //        List<Long> menuIds = StringUtils.splitTo(tenantPackage.getMenuIds(), Convert::toLong);
 //        List<Long> menuIds = StringUtils.splitTo(tenantPackage.getMenuIds(), Convert::toLong);
-        List<Long> menuIds = menuMapper.selectList(
-            Wrappers.lambdaQuery(SysMenu.class).eq(SysMenu::getPlatformId, Platform.MERCHANT.getId())
-        ).stream().map(SysMenu::getMenuId).toList();
+//        List<Long> menuIds = menuMapper.selectList(
+//            Wrappers.lambdaQuery(SysMenu.class).eq(SysMenu::getPlatformId, Platform.MERCHANT.getId())
+//        ).stream().map(SysMenu::getMenuId).toList();
 
 
         // 创建角色
         // 创建角色
         SysRole role = new SysRole();
         SysRole role = new SysRole();
@@ -275,14 +278,14 @@ public class SysTenantServiceImpl implements ISysTenantService {
         Long roleId = role.getRoleId();
         Long roleId = role.getRoleId();
 
 
         // 创建角色菜单
         // 创建角色菜单
-        List<SysRoleMenu> roleMenus = new ArrayList<>(menuIds.size());
-        menuIds.forEach(menuId -> {
-            SysRoleMenu roleMenu = new SysRoleMenu();
-            roleMenu.setRoleId(roleId);
-            roleMenu.setMenuId(menuId);
-            roleMenus.add(roleMenu);
-        });
-        roleMenuMapper.insertBatch(roleMenus);
+//        List<SysRoleMenu> roleMenus = new ArrayList<>(menuIds.size());
+//        menuIds.forEach(menuId -> {
+//            SysRoleMenu roleMenu = new SysRoleMenu();
+//            roleMenu.setRoleId(roleId);
+//            roleMenu.setMenuId(menuId);
+//            roleMenus.add(roleMenu);
+//        });
+//        roleMenuMapper.insertBatch(roleMenus);
 
 
         return roleId;
         return roleId;
     }
     }

+ 3 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java

@@ -20,6 +20,7 @@ import org.dromara.common.core.utils.*;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.common.platform.Platform;
 import org.dromara.common.platform.Platform;
+import org.dromara.common.platform.PlatformUtils;
 import org.dromara.common.satoken.utils.LoginHelper;
 import org.dromara.common.satoken.utils.LoginHelper;
 import org.dromara.system.domain.SysUser;
 import org.dromara.system.domain.SysUser;
 import org.dromara.system.domain.SysUserPost;
 import org.dromara.system.domain.SysUserPost;
@@ -92,7 +93,8 @@ public class SysUserServiceImpl implements ISysUserService {
         Map<String, Object> params = user.getParams();
         Map<String, Object> params = user.getParams();
         LambdaQueryWrapper<SysUser> wrapper = Wrappers.lambdaQuery();
         LambdaQueryWrapper<SysUser> wrapper = Wrappers.lambdaQuery();
         wrapper.eq(SysUser::getDelFlag, SystemConstants.NORMAL)
         wrapper.eq(SysUser::getDelFlag, SystemConstants.NORMAL)
-            .eq(SysUser::getPlatformId, Platform.getIdByCode(SaHolder.getRequest().getHeader("X-Platform-Code")))
+            // 根据平台ID划分用户 @author: Huanyi
+            .eq(SysUser::getPlatformId, PlatformUtils.getId())
             .eq(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId())
             .eq(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId())
             .in(StringUtils.isNotBlank(user.getUserIds()), SysUser::getUserId, StringUtils.splitTo(user.getUserIds(), Convert::toLong))
             .in(StringUtils.isNotBlank(user.getUserIds()), SysUser::getUserId, StringUtils.splitTo(user.getUserIds(), Convert::toLong))
             .like(StringUtils.isNotBlank(user.getUserName()), SysUser::getUserName, user.getUserName())
             .like(StringUtils.isNotBlank(user.getUserName()), SysUser::getUserName, user.getUserName())

+ 2 - 2
ruoyi-visual/ruoyi-nacos/src/main/resources/application.properties

@@ -40,9 +40,9 @@ spring.sql.init.platform=mysql
 db.num=1
 db.num=1
 
 
 ### Connect URL of DB:
 ### Connect URL of DB:
-db.url.0=jdbc:mysql://127.0.0.1:3306/pet_system_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
+db.url.0=jdbc:mysql://yp1.yingpaipay.com:9039/pet_system_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
 db.user.0=root
 db.user.0=root
-db.password.0=1234
+db.password.0=P@ssw0rd
 
 
 ### the maximum retry times for push
 ### the maximum retry times for push
 nacos.config.push.maxRetryTime=50
 nacos.config.push.maxRetryTime=50

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

@@ -12,3 +12,27 @@ CREATE TABLE `pet_system`.`sys_tenant_categories`
     `update_by`   bigint(20) COMMENT '更新者',
     `update_by`   bigint(20) COMMENT '更新者',
     `update_time` datetime COMMENT '更新时间'
     `update_time` datetime COMMENT '更新时间'
 ) ENGINE = innoDB COMMENT = '商户分类表';
 ) ENGINE = innoDB COMMENT = '商户分类表';
+
+CREATE TABLE `pet_system`.`sys_store`
+(
+    `id`                  bigint PRIMARY KEY NOT NULL COMMENT '序号',
+    `logo`                bigint COMMENT 'LOGO',
+    `business_license`    bigint             NOT NULL COMMENT '营业执照',
+    `name`                varchar(64)        NOT NULL COMMENT '门店名称',
+    `tenant_catergories`  bigint             NOT NULL COMMENT '商户分类',
+    `sys_tenant`          bigint             NOT NULL COMMENT '所属品牌',
+    `start_business_time` time               NOT NULL COMMENT '开始营业时间',
+    `end_business_time`   time               NOT NULL COMMENT '结束营业时间',
+    `contact`             varchar(64)        NOT NULL COMMENT '联系人',
+    `contact_number`      varchar(32)        NOT NULL COMMENT '联系电话',
+    `validity`            date               NOT NULL COMMENT '有效期至',
+    `site`                bigint COMMENT '归属站点',
+    `detail_address`      varchar(255) COMMENT '详细地址',
+    `status`              tinyint            NOT NULL DEFAULT 0 COMMENT '状态',
+    `del_flag`            char(1)                     DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
+    `create_dept`         bigint(20) COMMENT '创建部门',
+    `create_by`           bigint(20) COMMENT '创建者',
+    `create_time`         datetime COMMENT '创建时间',
+    `update_by`           bigint(20) COMMENT '更新者',
+    `update_time`         datetime COMMENT '更新时间'
+) ENGINE = innoDB COMMENT = '门店表';