# 从1.1.1升级到2.0.4

# 更新时间

2022年12月2日

# 更新内容

  1. 新增人员组织模块,详情介绍请参考 功能手册-人员模块
  2. 优化认证流程,新增CA认证功能 功能手册-CA配置
  3. 基于人员组织模块,重构用户管理为账号管理,删除t_sys_user、t_sys_user_employee、t_sys_user_org、t_sys_user_role相关表及代码,新增账号表hos_user_account
  4. 后端工程结构重构,表前缀修改为hos_开头
  5. 定时任务组件提供api接口,可以通过API接口进行任务的创建及触发等操作
  6. 前端项目目录结构优化,详情参考平台介绍-工程介绍
  7. 重新命名了项目中的文件夹别名,基础模块由原来的 @sys 改为 @base。详情请参考平台介绍-工程介绍
  8. 对api的使用进行了优化,调用base模块下的api需要加上前缀base.。详情参考快速开始-api
  9. 存储当前登录的用户信息从localStorage存储改为sessionStorage存储

# 前端升级步骤

  1. 请到 hos-app-web (opens new window) 代码仓库中源码下载到本地
  2. 如果自己业务工程中 src/sys-core的代码没有进行过手动修改的话,将 该代码进行手动删除,然后将hos-app-websrc/sys/hos-app-base 的代码替换src/sys-core即可,
  3. 如果自己业务工程中 src/sys-core的代码进行过手动修改的话,请自行与hos-app-websrc/sys/hos-app-base 的代码进行比对,手动进行同步并解决冲突代码。
  4. 拷贝 src/biz 下的 router 文件夹到自己业务工程的相应目录下,可在此自定义业务静态路由。
  5. 若项目中未对以下文件进行修改,可直接替换;若有修改,进行对比解决冲突
    1. App.vue增加统一认证续期;
    2. defaultSettings修改项目存储登录相关信息时由localStorage改为sessionStorage存储;
    3. main.js增加Echarts引入;
    4. permission.js对路由守卫进行了优化,增加免登录功能;
    5. env 配置 增加 VUE_APP_ENV_TYPE 配置: 0 独立运行 1:注册到门户引擎运行;增加 VUE_APP_OAUTH_URL 配置: 统一认证前端地址(发送跨域token);除了本地环境文件,其他部署到服务器中使用的环境文件 增加:NODE_ENV=production;
    6. package.json安装依赖: echarts@5.3.3、jsoneditor@9.9.2、uuid@8.3.2;升级hosui:1.1.7
    7. vue.config.js,修改打包配置,解决icon图标偶尔乱码问题。
  6. 全局替换biz文件夹下的@sys修改为@base。详情请参考平台介绍-工程介绍
  7. biz文件夹下使用到base模块下的api(sys/hos-app-base)需增加前缀base.。详情参考快速开始-api

# 后端升级步骤

# 修改pom依赖

  1. 在根pom文件中修改hos-starter-dependencies的版本号为1.0.13-RELEASE
  2. 在根pom文件中修改hos-app-base-web依赖包更换为hos-app-dependencies,版本号为2.0.4-RELEASE
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.mediway.hos</groupId>
                <artifactId>hos-starter-dependencies</artifactId>
                <version>1.0.13-RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.mediway.hos</groupId>
                <artifactId>hos-app-dependencies</artifactId>
                <version>2.0.4-RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

  1. 在业务模块中的pom中将hos-app-base-web依赖包删除,并使用新的依赖包hos-app-auth-serverhos-app-corehos-app-org
    <dependency>
        <groupId>com.mediway.hos</groupId>
        <artifactId>hos-app-auth-server</artifactId>
    </dependency>
    <dependency>
        <groupId>com.mediway.hos</groupId>
        <artifactId>hos-app-auth-ca</artifactId>
    </dependency>
    <dependency>
        <groupId>com.mediway.hos</groupId>
        <artifactId>hos-app-core</artifactId>
    </dependency>
    <dependency>
        <groupId>com.mediway.hos</groupId>
        <artifactId>hos-app-org</artifactId>
    </dependency>

    <dependency>
        <groupId>com.mediway.hos</groupId>
        <artifactId>hos-app-appmanager</artifactId>
    </dependency>
    <dependency>
        <groupId>com.mediway.hos</groupId>
        <artifactId>hos-app-openapi</artifactId>
    </dependency>

# 升级数据库

  1. 执行更新SQLhos-app-base-1.1.1~2.0.4.sql
  2. 如果开启了多租户,在执行了hos-app-base-1.1.1~2.0.4.sql的基础上执行hos-app-base-tenant-1.1.1~2.0.4.sql

img.png

# 修改相关代码

由于本次升级新增了很多基础业务功能,并在此基础上重构了hos-app的代码,所以一些代码的引用就需要进行变更
1、涉及到t_sys_user、t_sys_user_employee、t_sys_user_org、t_sys_user_role相关的代码全部删除,账号相关的请基于hos_user_account进行使用
2、原hos-app-base-web拆分为hos-app-core、hos-app-auth-server,相关类的依赖请重新import
3、由于优化了认证流程,所以SecurityUtils 只能获取到 accountId,postId等参数,原获取当前角色信息接口通过hosPostRoleService.getActivedRoleMsgByPostId方法获取

BaseUser user = SecurityUtils.getLoginUser();
String postId = user.getPostId();
List<Role> roles = hosPostRoleService.getActivedRoleMsgByPostId(postId);

删除用户管理菜单

delete from  `t_sys_resource` where code = 'base-sys-user'


4、修改所有mapper.xml中关联了HOS基础平台的表的表名