package fx.custom.apl.example.validate_function;
import com.fxiaoke.functions.FunctionContext;
import com.fxiaoke.functions.Fx;
import com.fxiaoke.functions.client.DebugHelper;
import com.fxiaoke.functions.model.ValidateResult;
import com.fxiaoke.functions.template.IValidateAction;
import fx.custom.apl.example.flow.FlowValidateExample;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
/**
* 校驗函數(shù)使用樣例
* 校驗函數(shù)返回值字段含義介紹
*/
public class ValidateExample implements IValidateAction {
/**
* 校驗函數(shù)的運行方法
*/
@Override
public ValidateResult validate(FunctionContext context, Map<String, Object> args) {
Map data = context.getData();
String type = String.valueOf(data.get("filed_afgsd__c"));
if (Objects.equals("sign", type)) {
ValidateResult valid = ValidateResult.builder()
.success(true)
.build();
return valid;
}
ValidateResult valid = ValidateResult.builder()
.success(false) //校驗是否通過
.errorMessage("類型錯誤") //success為false時的錯誤信息(阻塞后續(xù)操作)
.nonBlockMessage("xxx為空") //success為false時的錯誤信息(不阻塞后續(xù)操作)和errorMessage兩者選填一個就行
.data("5ecf2029903bc400019dd8cb") //非必填, 用來做階段跳轉(zhuǎn)校驗的,放可以跳轉(zhuǎn)的階段ID
.build();
return valid;
}
public static void main(String[] args) throws IOException {
//調(diào)試器
DebugHelper helper = new DebugHelper();
helper.init();
Map<String, Object> param = new HashMap<>();
//構(gòu)造當(dāng)前執(zhí)行類
//模擬調(diào)試的上下文,例如開發(fā)時想模擬一個客戶對象的上下文,以方便開發(fā)
FunctionContext context = helper.context("AccountObj", "63100e7915d6a300017121cc");
ValidateResult validate = new FlowValidateExample().validate(context, param);
Fx.log.info(validate);
}
}
部分內(nèi)容來源于互聯(lián)網(wǎng),如有侵權(quán),請聯(lián)系客服刪除處理。