V3.19.0.0

 

QQ图片20181024111838

升级文档

1、用户在线日志管理

1)若要使用用户在线日志管理功能,需在application.properties 设置

security.needOnLineLog=true

2)在spring-security.xml修改如下配置。

a. 添加 authentication-details-source-ref=”authenticationDetailsSource”

25

添加bean 定义

26

<beans:bean name=”authenticationDetailsSource” class=”com.gillion.platform.system.security.CustomAuthenticationDetailsSource”

b.修改如下2个bean 定义

authenticationSuccessHandler   authenticationFailureHandler <beans:bean id=”authenticationSuccessHandler” class=”com.gillion.platform.system.security.MyAuthenticationRewriterSuccessHandler”>
<beans:property name=”defaultIndexPage” value=”${security.index.page}”/>
<beans:property name=”targetOriginal” value=”true”/>
<beans:property name=”resetPassHintDay” value=”${reset.password.hint.day}”/>
<beans:property name=”userOnLineLogService” ref=”userOnLineLogService”/>
</beans:bean> <beans:bean id=”authenticationFailureHandler” class=”com.gillion.platform.system.security.MyAuthenticationFailureHandler”>
<beans:property name=”failureUrl” value=”${security.login.page}”/>
<beans:property name=”userOnLineLogService” ref=”userOnLineLogService”/>
</beans:bean>

c. 以上配置可以在云平台的最小升级包中参考 配置文件。

3)在loginModule.js中的login方法中传入j_client_type:”W”(W表示客户端类型为WEB端,A表示客户端类型为APP端),需要项目组自己添加,在登陆的请求中加上这个标识。就是 WEB端的登陆页面上的登陆请求加上参数j_client_type:”W”,
如果是APP端的登陆页面加上请求参数 j_client_type:”A”, 即:$scope.login = function () {
var tip = layer.load(0, {shade: false});
$scope.passwordError = false;
$scope.disabled = true ;
$http({
method: ‘POST’,
failHandler: false,
url: $config.ctx + ‘/j_spring_security_check’,
params:{
j_username: $scope.username,
j_password: Md5.createHash($scope.password),
j_client_type:”W”,
}
})

4)在线登陆日志的后台表结构为  SYS_USER_ON_LINE_LOG

27

2、云平台可视化配置支持运行期配置

1)首先需要在云平台的【运行期配置类型】、【运行期配置管理】上配置运行期相关的配置,指定相关的业务对象名称、业务对象属性名称等及运行期配置动态字段等。

28 29 30 31 32

2)在配置了运行期配置的相关的业务对象上配置布局。

在【页面布局类型】中选择【DYNAMIC_FORM】拖拽到你要用来显示运行期表单的区域,

然后设置【表单类型】【标签栅格数】【页面布局属性】;

页面布局属性需要提供2个属性的值:

{“colCount”:4,”propertyName”:”itemNameInfo”}

第一个属性 colCount 代表运行期动态表单一行分几列。

第二个属性propertyName 代表运行期动态配置是配置在那个属性名称上的。

33

3、云平台自定义SQL改造

用户编写自定义SQL语句

常规的手写Mapper.xml中,【<select id=”selectByExample”】底下包含了各种关联条件,自定义动态查询条件写法一般为:

1 2

改造后的自定义SQL目标支持解析三种标识符,用户可指定标识符,使得云平台自动生成的Mapper中包含如上图条件内容:

  • #[]:动态查询条件字段集,内部存放动态查询条件字段,

结构:#[ 连接符 字段A 连接符 字段B]

例:#[ and ${CARGO_NO} and ${HS_CODE}]

#[ and ${mo.SALES_CODE}]

  • #{}:动态查询条件字段名称,存放在 #[] 动态查询条件字段集中

结构: ${表别名.字段名}

例:${CARGO_NO}

${mo.SALES_CODE}

  • @{}:完整查询条件,如若默认生成的动态查询条件模板不符合用户需求,用户可通过该标识符,手动指定查询条件

结构:@{查询条件}

例子:@{<#if test=”criterion!=null and criterion.columnName=”SALES_CODE”>and ${_parmater.parsing(criterion, “mo”)}</#if>}

根据上述云平台提供的三种标识符,我们可以简单自定义一条自定义SQL语句:

3

创建自定义SQL语句

用户编写完自定义SQL语句后,可到云平台进行创建:数据建模 -> 视图定义管理 -> 新增

1)创建视图名称,视图类型选择为 自定义SQL,新增视图创建语句中填写sql用户编写的SQL语句。

4

2)保存并创建完毕后,选择 同步字段,云平台解析SQL语句字段内容

注:目前云平台解析自定义SQL代码支持仍未全面。如若自定义语句中包含字段嵌套子查询等相对复杂的SQL语句,可能出现无法正确解析出相关字段的格式和内容。需要用户手写指定该字段详细信息。

5

3)选择主键字段并保存

6

业务对象与代码生成

1)创建业务对象,引入创建的自定义SQL视图

7

2)同步数据结构,编辑页面列表

8

3)生成代码,云平台生成的xml中即生成如下内容:

9