# 从 2.4.0 升级到 2.5.0

# 更新时间

2023 年 11 月 13 日

# 更新内容

  1. 修复若干 bug
  2. 优化部分用户体验
  3. 增加国际化管理
  4. 新增消息中心
  5. 新增打印设计器

# 前端升级步骤

  1. 请到 hos-app-web (opens new window) 代码仓库中release-2.5.0分支中将源码下载到本地;
  2. 如果自己业务工程中 src/sys的代码没有进行过手动修改的话,将该代码手动删除,然后将hos-app-websrc/sys 的代码复制到本地工程即可;
  3. 如果自己业务工程中 src/sys的代码进行过手动修改的话,请自行与hos-app-websrc/sys 的代码进行比对,手动进行同步并解决冲突代码;
  4. 本次升级改动文件路径除src/sys外,其他升级改动文件路径分别为/bin/public/pageOffice/public/static/public/index.html/src/biz/enum/grantTypeEnum.js/src/biz/mixins/logoutMixin.js/src/biz/views
  5. 若项目中未对以上文件进行修改,可直接替换;若有修改,进行对比解决冲突;
  6. 如果后端未引入消息中心,请手动将/src/sys/hos-app-base/components/menu/DropDownMenu.vue文件中<div class="msgBell" v-if="true">标签的v-if改为false
<!-- Bell按钮 打开 -->
<div class="msgBell" v-if="true">
   <msgBell></msgBell>
</div>

<!-- Bell按钮 关闭 -->
<div class="msgBell" v-if="false">
   <msgBell></msgBell>
</div>

# 后端升级步骤

  1. 在根 pom 文件中修改hos-app-dependencies的版本号为2.5.0-RELEASE, 修改hos-starter-dependencies的版本号为1.3.0-RELEASE,修改 hos-security-dependencies的版本号为1.0.2-RELEASE
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.mediway.hos</groupId>
            <artifactId>hos-app-dependencies</artifactId>
            <version>2.5.0-RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>com.mediway.hos</groupId>
            <artifactId>hos-starter-dependencies</artifactId>
            <version>1.3.0-RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>

        <dependency>
            <groupId>com.mediway.hos</groupId>
            <artifactId>hos-security-dependencies</artifactId>
            <version>1.0.2-RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
  1. 在启动类中删除以下依赖,hos-app-core模块和hos-app-org模块进行了拆分,上面已经引了拆分后的模块, hos-app-op模块和hos-app-orgapi模块整合到hos-app-core模块和hos-app-org模块了。因此可以删掉。
   <dependency>
      <groupId>com.mediway.hos</groupId>
      <artifactId>hos-app-op</artifactId>
   </dependency>
   <dependency>
      <groupId>com.mediway.hos</groupId>
      <artifactId>hos-app-orgapi</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>
  1. 2.5.0版本对工程结构进行了重构,因此升级之后会有部分变化,在启动类 pom 文件中添加以下依赖。(如果不引用消息中心模块,在 yml 文件中可不用配消息中心的相关配置)
   <dependency>
      <groupId>com.mediway.hos</groupId>
      <artifactId>hos-app-org-controller</artifactId>
   </dependency>
   <dependency>
      <groupId>com.mediway.hos</groupId>
      <artifactId>hos-app-core-controller</artifactId>
   </dependency>
<!--国际化的依赖-->
   <dependency>
      <groupId>com.mediway.hos</groupId>
      <artifactId>hos-app-i18n</artifactId>
   </dependency>
<!--消息中心的依赖-->
   <dependency>
      <groupId>com.mediway.hos</groupId>
      <artifactId>hos-app-message</artifactId>
   </dependency>
<!--打印设计器的依赖-->
   <dependency>
      <groupId>com.mediway.hos</groupId>
      <artifactId>hos-app-print</artifactId>
   </dependency>
<!--文件的依赖-->
   <dependency>
      <groupId>com.mediway.hos</groupId>
      <artifactId>hos-app-file</artifactId>
   </dependency>
1.部分公共的工具类移到[hos-framework-common-starter]中,路径变为:com.mediway.hos.common.util......
2.[hos-framework-base-starter]中部分类移到[hos-framework-database-starter]中,且后者的pom文件中
已引用了前者,因此不需要再单独引用前者jar包。路径变为:com.mediway.hos.database......
3.@OpenApi注解移到[hos-framework-openapi-starter]中,路径变为:com.mediway.hos.openapi.aop.OpenApi

# 升级数据库

  1. 前往 Gitlab 下载页面(http://119.255.194.80/hos/demo/hos-app-demo/-/tree/2.5.0/project-strcutre/project-strcutre-boot-1/oa-doc/data/mysql/2.5.0) , 用户名/密码:hosuser/99ahivPJt
  2. 下载hos-app-base-mysql-2.4.0~2.5.0.sql文件
  3. 执行更新 SQLhos-app-base-mysql-2.4.0~2.5.0.sql
  4. 如果是从2.4.3之后的版本(包含2.4.3)升级至该版本,请下载并执行hos-app-base-mysql-2.4.3~2.5.0.sql文件.

# 修改yml文件

### 在 yml 文件中新增以下内容
### 消息中心相关配置
framework:
   job:
      admin:
         ### 调度中心部署跟地址 [选填]:如调度中心集群部署存在多个地址则用逗号分隔。执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调";为空则关闭自动注册;
         addresses: http://127.0.0.1:8080/hos-job-admin
      ### 执行器通讯TOKEN [选填]:非空时启用;
      accessToken:
      ### 执行器AppName [选填]:执行器心跳注册分组依据;为空则关闭自动注册
      executor:
         appname: hos-job-executor-sample
         ### 执行器注册 [选填]:优先使用该配置作为注册地址,为空时使用内嵌服务 ”IP:PORT“ 作为注册地址。从而更灵活的支持容器类型执行器动态IP和动态映射端口问题。
         ### 执行器单独启用端口与调度中心做交互,和web端口不相同
         address:
         ### 执行器IP [选填]:默认为空表示自动获取IP,多网卡时可手动设置指定IP,该IP不会绑定Host仅作为通讯实用;地址信息用于 "执行器注册" 和 "调度中心请求并触发任务";
         ip:
         ### 执行器端口号 [选填]:小于等于0则自动获取;默认端口为9999,单机部署多个执行器时,注意要配置不同执行器端口;
         port: 9999
         ### 执行器运行日志文件存储磁盘路径 [选填] :需要对该路径拥有读写权限;为空则使用默认路径;
         logpath: /data/applogs/hos-job/jobhandler
         ### 执行器日志文件保存天数 [选填] : 过期日志自动清理, 限制值大于等于3时生效; 否则, 如-1, 关闭自动清理功能;
         logretentiondays: 30
### 国际化相关配置
hos:
  i18n:
    baiduAppId:           ### 自动翻译调用接口的账号
    baiduSecurityKey:     ### 自动翻译调用接口的密码
    isOpen: false          ### 配置是否开启国际化(默认关闭,需要使用国际化功能,请自行开启为 true)
    isShowSource: true    ### 配置在翻译数据未维护时,是否需要显示原值

###  打印相关配置
posyspath: D:\pageOffice\
###  配置白名单   (此白名单可直接复制替换,或根据已有的进行添加均可)
hos-security:
  login:
     white-list:                                         #认证白名单
     - ${sys.restfulPath}/**
     - /druid/**
     - /license/*
     - /loginPageData/*
     - /property/is-enable-tenant
     - /tenant/select-tenant-by-domain
     - /tenant/select-tenant
     - /core/system/files/other/**
     - /core/system/files/image/**
     - /websocket/**
     - /favicon.ico
     - /v2/api-docs
     - /swagger-resources
     - /acm/accountAndPWD/validateAccount
     - /doc
     - /**/*.css
     - /**/*.js
     - /**/*.png
     - /**/*.jpg
     - /**/*.jpeg
     - /**/*.html
     - /**/*.ico
     - /**/*.properties
     - /**/*.woff
     - /**/*.woff2
     - /**/*.ttf
     - /hos-job-admin/api/registry
     - /i18n/language/list-select
     - /i18n/element/get-loginPageElements
     - /i18n/config/is-open
     - /i18n/static-translation/transByCode
     - /poserver.zz
     - /posetup.exe
     - /sealsetup.exe
     - /poserver.zz
     - /sys/config/is-open-download-browser

# 补充说明

注意: 如果已在2023/11/15之前做了升级2.5.0版本的升级,请完成以下补充操作。反之,请忽略本章节。

  1. 请清除本地maven仓库com.mediway.hos下的包,重新maven拉取jar包。
  2. 请再次更新前端。
  3. 如果数据库使用的是人大金仓,请前往 Gitlab 下载页面(http://119.255.194.80/hos/demo/hos-app-demo/-/tree/2.5.0/project-strcutre/project-strcutre-boot-1/oa-doc/data/kingbase/2.5.0), 用户名/密码:hosuser/99ahivPJt 下载hos-app-base-kingbase-2.5.0-patch.sql文件并执行更新。

补丁内容:
处理了人大金仓库的初始化sql兼容数据问题;
支持屏蔽下载医为浏览器。配置见系统参数base-mediway-browser-download-open(请注意,如果要关闭该项,则无法保证可以获取到客户端的ip及mac信息,故与之相关的安全配置校验无效。)

系统参数配置