升级文档
1、用户在线日志管理
1)若要使用用户在线日志管理功能,需在application.properties 设置
security.needOnLineLog=true
2)在spring-security.xml修改如下配置。
a. 添加 authentication-details-source-ref=”authenticationDetailsSource”
添加bean 定义
<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
2、云平台可视化配置支持运行期配置
1)首先需要在云平台的【运行期配置类型】、【运行期配置管理】上配置运行期相关的配置,指定相关的业务对象名称、业务对象属性名称等及运行期配置动态字段等。
2)在配置了运行期配置的相关的业务对象上配置布局。
在【页面布局类型】中选择【DYNAMIC_FORM】拖拽到你要用来显示运行期表单的区域,
然后设置【表单类型】【标签栅格数】【页面布局属性】;
页面布局属性需要提供2个属性的值:
{“colCount”:4,”propertyName”:”itemNameInfo”}
第一个属性 colCount 代表运行期动态表单一行分几列。
第二个属性propertyName 代表运行期动态配置是配置在那个属性名称上的。
3、云平台自定义SQL改造
用户编写自定义SQL语句
常规的手写Mapper.xml中,【<select id=”selectByExample”】底下包含了各种关联条件,自定义动态查询条件写法一般为:
改造后的自定义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语句:
创建自定义SQL语句
用户编写完自定义SQL语句后,可到云平台进行创建:数据建模 -> 视图定义管理 -> 新增
1)创建视图名称,视图类型选择为 自定义SQL,新增视图创建语句中填写sql用户编写的SQL语句。
2)保存并创建完毕后,选择 同步字段,云平台解析SQL语句字段内容
注:目前云平台解析自定义SQL代码支持仍未全面。如若自定义语句中包含字段嵌套子查询等相对复杂的SQL语句,可能出现无法正确解析出相关字段的格式和内容。需要用户手写指定该字段详细信息。
3)选择主键字段并保存
业务对象与代码生成
1)创建业务对象,引入创建的自定义SQL视图
2)同步数据结构,编辑页面列表
3)生成代码,云平台生成的xml中即生成如下内容: