# 从 2.6.4.3.2 升级到 2.6.5.3.0

# 更新时间

2024 年 12 月 21 日

# 更新内容

  1. 新增支持国产化CA认证。
  2. 登录日志新增记录计算机客户端名称、账号名称、业务单元名称、业务岗位名称、所选岗位数据、岗位单元名称信息。
  3. 新增获取当前登录用户的登录日志接口。
  4. 新增验证token是否失效接口。
  5. 修复CA扫码、ukey认证、免密认证异常等问题。

# 前端升级步骤

  1. 请到 hos-app-web(http://119.255.194.80/hos/hos-app-web/-/tree/release-2.6.5.3.0) 代码仓库中 release-2.6.5.3.0 分支中将源码下载到本地。
  2. 如果自己业务工程中publicsrc/sys以及bin 的代码没有进行过手动修改的话,将该代码手动删除,然后将hos-app-webpublicsrc/sys以及bin的代码复制到本地工程即可。
  3. 如果自己业务工程中publicsrc/sys以及bin 的代码进行过手动修改的话,请自行与hos-app-webpublicsrc/sys以及bin的代码进行比对,手动进行同步并解决冲突代码。
  4. 如果产品组需要使用国产化CA认证,需要联系 电子病历组 @杨冰提供相关CA认证文件,将文件放在public目录下面(如果是压缩文件需要解压)。

# 后端升级步骤

  1. 在根 pom 文件中修改hos-app-dependencies的版本号为R2.6.5.3.0,修改hos-starter-dependencies的版本号为R1.5.2.1, 修改hos-security-dependencies的版本号为R1.0.8.1
<dependencyManagement>
    <dependencies>
       <dependency>
          <groupId>com.mediway.hos</groupId>
          <artifactId>hos-app-dependencies</artifactId>
          <version>R2.6.5.3.0</version>
          <type>pom</type>
          <scope>import</scope>
       </dependency>
       <dependency>
          <groupId>com.mediway.hos</groupId>
          <artifactId>hos-starter-dependencies</artifactId>
          <version>R1.5.2.1</version>
          <type>pom</type>
          <scope>import</scope>
       </dependency>
       <dependency>
          <groupId>com.mediway.hos</groupId>
          <artifactId>hos-security-dependencies</artifactId>
          <version>R1.0.8.1</version>
          <type>pom</type>
          <scope>import</scope>
       </dependency>
    </dependencies>
</dependencyManagement>

2、后端可通过LoginLogService接口类里面的getLoginUserLoginLog方法获取当前用户登录日志

 /**
 * 获取当前登录用户的登录日志
 * @return HosSysLogLogin
 */
HosSysLogLogin getLoginUserLoginLog();

3、后端可通过CAInfoService接口类获取或更新当前用户CA认证信息

 public interface CAInfoService {

   /**
    * 获取当前登录用户CA认证信息
    * @return
    */
   Object getCAInfo();

   /**
    * 更新当前登录用户的CA认证信息
    * @param CAInfo
    * @return
    */
   boolean updateCAInfo(Object CAInfo);
}

4、可通过接口判断token是否失效

/**
 * 验证token
 */
@RestController
@RequestMapping("${sys.restfulPath}/token")
@Api(tags = "验证token")
public class ValidationTokenController {

   @Autowired
   private ValidationTokenService validateTokenService;

   @ApiOperation("验证token是否失效")
   @PostMapping("/validationToken")
   public BaseResponse<Boolean> validationToken(@Param("token")String token) {
      return BaseResponse.success(validateTokenService.validationToken(token));
   }

}

5、如果需要通过traceId查找日志定位问题,首先需要在logback-spring.xml文件修改配置CONSOLE_LOG_PATTERN

<!-- 彩色日志格式 -->
    <property name="CONSOLE_LOG_PATTERN"
              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(%X{traceId}){yellow} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>

26530-1.png

然后在接口的响应header里面获取traceId值

26530-4.png

最后通过获取到的traceId值到控制台日志里面检索,查找问题

26530-5.png

# 使用配置

如果业务系统与电子病例的CA模块一起部署,并且切换岗位时需要进行CA认证权限控制,请在 yml 文件中配置以下内容。

hos-security:
   ca-permission-control: true    #CA认证的科室岗位权限控制开关,默认是false

# 升级数据库

请根据数据库实际使用情况,仔细核对数据库类型,下载当前使用的数据库对应的升级脚本。

(以下为 mysql 的升级示例)

支持的数据库

  1. 前往 Gitlab 下载页面(http://119.255.194.80/hos/demo/hos-app-demo/-/blob/2.6.5.3.0/project-strcutre/project-strcutre-demo/oa-doc/data/mysql/2.6.5.3.0) , 用户名/密码:hosuser/99ahivPJt
  2. 下载hos-app-base-mysql-2.6.4.3.1~2.6.5.3.0.sql文件
  3. 执行更新 SQLhos-app-base-mysql-2.6.4.3.1~2.6.5.3.0.sql
    注:因时间原因,该版本只支持高斯数据库、人大金仓数据库、南大通用8C数据库和mysql数据库。
    高斯数据库支持兼容oracle模式,如在oracle模式下执行sql报错,可优先参考 高斯数据库模式兼容问题