您在此处:
InsClaimCoverageService:invokeProductRules
在创建索赔范围时使用此服务,以调用状态转换的产品规则。
类:InsClaimCoverageService
工作原理
-
根据
objectID查找索赔对象,并根据该objectID提取该对象的产品。 -
查找指定的
transitionName。 -
运行与产品关联并适用于
transitionName的规则。对于每个索赔范围产品规则,分别评估每个涉及方实例和/或涉及的财产实例。
-
如果任何规则评估为真,服务将执行这些规则中指定的 Vlocity 操作。
-
查找
includeStateTransition选项的值。如果值 =true,服务会查找此对象的状态模型,查找fieldAPIName值,并根据转换更改该值。 -
输出每个相关方和/或相关财产实例上每个规则的评估结果。
远程选项
选项 |
说明 |
|---|---|
|
如果为真,服务会将状态模型 如果为假,服务不会进行任何状态转换。 |
|
如果设置为 |
|
要查询的索赔 ID。 |
|
与您想要运行的规则关联的状态转换名称。 该服务将仅运行与您指定的 要查找迁移名称,请转到此对象的状态模型。 |
输出 JSON
该服务会返回每个涉及房地产和/或涉及方实例的规则评估。
以下是输出 JSON 的结构:
{
"falseRules" : {
"<String identifier>" : [
{
"ruleDetails": {
"requirement name": <ProductRequirement__c.Name>,
"conditions": <ProductRequirement__c.Conditions__c>,
"message": <ProductRequirement__c.Message__c>,
"action method": <ProductRequirement__c.VlocityActionId__r.InvokeMethodName__c>,
"action class": <ProductRequirement__c.VlocityActionId__r.InvokeClassName__c>,
"productId": <ProductRequirement__c.Product2Id__c>,
"transitionName": <input transitionName>,
"objectId": <input objectid>,
"ruleId": <<ProductRequirement__c.Id>
}
}
]
}
},
"trueRules": {
"<String identifier>" : [
{
"ruleDetails": {
"requirement name": <ProductRequirement__c.Name>,
"conditions": <ProductRequirement__c.Conditions__c>,
"message": <ProductRequirement__c.Message__c>,
"action method": <ProductRequirement__c.VlocityActionId__r.InvokeMethodName__c>,
"action class": <ProductRequirement__c.VlocityActionId__r.InvokeClassName__c>,
"productId": <ProductRequirement__c.Product2Id__c>,
"transitionName": <input transitionName>,
"objectId": <input objectid>,
"ruleId": <<ProductRequirement__c.Id>
}
}
]
},
"transitionSuccess": <Boolean, transition result>,
"stateTransit": <message with the object's state field, the old state, and the new state.>,
"canTransitState": <Boolean. determine if the object has fulfilled its transit criterria>,
"allFalse": <Boolean, if no rule executed true.>
}以下是输出 JSON 的示例,其规则评估为假,规则评估为真:
{
"falseRules": {
"PetBodilyInjury_BMW 735i_a4m5w000000p6DE": [
{
"ruleDetails": {
"requirement name": "Maximum Aggregation Rule",
"conditions": "TardisCoverage.EACHPERSON == 30800",
"message": "TestMessage",
"action method": "Product_Rule",
"action class": "IntegrationProcedureService",
"productId": "01t5w00000E0L8xAAF",
"transitionName": "OpenToClosed",
"objectId": "a4J5w000001Z3ElEAK",
"ruleId": "a5L5w000003Tl7EEAS"
}
}
]
},
"trueRules": {
"PetBodilyInjury_BMW 735i Owner_a4m5w000000p6DE": [
{
"actionResults": {
"IPResult": {
"output": "TestOutput"
}
},
"ruleDetails": {
"requirement name": "Maximum Aggregation Rule",
"conditions": "TardisCoverage.EACHPERSON == 30800",
"message": "TestMessage",
"action method": "Product_Rule",
"action class": "IntegrationProcedureService",
"productId": "01t5w00000E0L8xAAF",
"transitionName": "OpenToClosed",
"objectId": "a4J5w000001Z3EmEAK",
"ruleId": "a5L5w000003Tl7EEAS"
}
}
]
},
"transitionSuccess": true,
"stateTransit": " updated ClaimStatus__c from Open to Closed",
"canTransitState": true,
"allFalse": false
}
