com.kuangkie.carbon.fg.IdentityQueryFuncGroup Maven / Gradle / Ivy
The newest version!
package com.kuangkie.carbon.fg;
import com.kuangkie.carbon.record.FGRecordComplexus;
import com.kuangkie.carbon.record.ProRecord;
import com.kuangkie.carbon.record.criteria.ConJunctionFactory;
/**
*
* @version: V1.0
*
* @author: wangnq
*
* @className: IdentityQueryFuncGroup
*
* @packageName: cho.carbon.fuse.fg
*
* @description: 此接口辅助融合控制器识别待待融合记录在数据库中同一记录。
* 融合器会在融合第一周期触发前调用此接口的方法,从数据库中识别出将被融合更新模型记录。
* 如果模型不实现此接口,融合控制器会更具待融合记录的Code识别。如果控制器没有从数据库中识别出同一记录,控制器会创建一个新的记录用于融合更新。
*
* @data: 2020年8月12日
*
*
*/
public interface IdentityQueryFuncGroup {
/**
*
* @methodsName: buildConJunction
*
* @description: 控制器根据记录编码没有识别到相应记录或跳过了上述识别过程,此方法会被调用,控制器会根据返回结果,去数据库中查询相关数据。若返回null,控制器会跳过数据库查询步骤,直接认定为待融合记录尚没有同一记录。
* 返回结果集合中包含多个过滤条件时,控制器会用并且(and)连接它们。
*
* @param context
* @param recordCode:当前待识别记录的唯一编码。
* @param complexus:待融合记录的容器
* @return 返回过滤条件的集合
*
*/
public void buildConJunction(FuncGroupContext context, ProRecord proRecord,
FGRecordComplexus recordComplexus,ConJunctionFactory conJunctionFactory);
/**
*
* @methodsName: runningAfterCodeQuery
*
* @description: 在识别同一记录时调用此方法。若返回true,控制器会先根据待融合记录中的记录编码去数据库中识别记录。若返回false,控制器会跳过根据待融合记录中的记录编码去数据库中识别记录。
*
* @return
*
*/
public default boolean runningAfterCodeQuery() {
return true;
};
}