Loading
保险
InsProductAsyncRatingService:repriceProduct

InsProductAsyncRatingService:repriceProduct

根据 selectedProduct JSON 和userInput,异步重新计算产品的价格。

类:InsProductAsyncRatingService

方法:repriceProduct

此服务专为团体福利大批量产品评级用例构建。

工作原理

  1. 此服务需要 selectedProduct JSON、userInput 和censusId
  2. 接下来,服务会查看产品,以确定是否为基于人口普查的评级或基于汇总的评级(基于PricingStrategyType__c字段)进行配置。
  3. 该服务调用InsuranceRatingPtc.rateCensus核心服务来计算所有产品的价格。InsuranceRatingPtc.rateCensus服务是异步服务,因此不会立即返回价格。相反,它返回一个asyncRequestId。

输入

输入 描述
groupClassIds

可选。

组类 ID 的列表。

productCategories

可选。

产品类别的列表。顺序应与 productIds 相同

selectedProduct

必需。

要重新定价的产品。

userInputs

必需。

评级程序用于获取产品价格的输入数据集。

对于映射 <String, Object>,所有产品都使用同一组输入数据。

对于 List<Map<String, Object>>,列表的大小应与productIds的大小相同。如果一些产品没有 ,请在列表中添加{}。userInput

不支持使用CoverageProductCode.isSelected选择承保范围,但在计算定价时会考虑。

远程选项

选项 说明
censusId

必需。

小组普查的 ID。

effectiveDate

用于评级的生效日期。

使用 "YYYY-MM-DD HH:MM:SS" 格式。

默认是今天的日期。

evalOptionalCoverageRelationship 根据参与者与主要人口普查成员的关系,确定是否评估参与者可用的可选覆盖范围。如果此选项设置为 true,服务将首先调用 updateOptionalCovIsSelectedField,然后调用 repriceProduct。
ruleAttributeSetValues 确定是否运行设置值规则。如果此选项设置为 true,服务会在调用定价引擎之前运行属性设置值规则。
validateCoverageSelection 确定是否对选定承保范围运行承保范围验证规则。当此选项设置为 true 时,服务会在调用 repriceProduct 之前调用 InsuranceSelectValidationService。

输入 JSON

以下是示例输入 JSON:

{
 "userInputs": {"DentalCoverage.copay": 100},
 "groupClassIds": ["0rEDI0000000IEe2AM", "0rEDI0000000IEe4Hr"],
 "productCategories": ["Dental"],
 "selectedProduct": {
   "records": [
    {
      "displaySequence": -1,
      "CalculatedPriceData": {
        "2015 Lexus LX250": {
          " DRIVER.FN": null,
          "AUTO.instanceKey": "2015 Lexus LX250",
          "totalPrice": 1650,
          "comprehensiveTotal": 500,
          "collisionTotal": 500,
          "liabilityTotal": 650,
          "totalTotal": 400,
          "perAccidentTotal": 150,
          "perPersonTotal": 100,
          "ID": "1"
        }
      },
      "Id": "01tB0000001qc4JIAQ",
      "Name": "Auto Root",
      "ProductCode": "AUTOROOT",
      "IsRecommended__c": false,
      "RecordTypeName__c": "Product",
      "IsConfigurable__c": false,
      "PricingFormula__c": "SUM(liabilityTotal + comprehensiveTotal + collisionTotal + stateTotal)",
      "Term__c": "Annual",
      "TotalInsuredFormula__c": "SUM(AUTO.carValue)",
      "productId": "01tB0000001qc4JIAQ",
      "currencyCode": "USD",
      "currencySymbol": "$",
      "Price": 1000,
      "totalSumInsured": 0,
      "taxesAndFees": [
        {
          "calculatedAmount": 100,
          "currencySymbol": "$",
          "currencyCode": "USD",
          "Type__c": "Fee",
          "RatingType__c": "Amount",
          "ProcedureSource__c": null,
          "ProcedureName__c": null,
          "ProcedureFormula__c": null,
          "Percent__c": null,
          "JurisdictionId__c": null,
          "IsRefundable__c": false,
          "Condition__c": null,
          "Amount__c": 100,
          "Name": "acaf9c93-67b1-5a94-c98f-e7a1387361f1",
          "Id": "a4OB0000000ErbeMAC"
        },
        {
          "calculatedAmount": 50,
          "currencySymbol": "$",
          "currencyCode": "USD",
          "Type__c": "Tax",
          "RatingType__c": "Percent",
          "ProcedureSource__c": null,
          "ProcedureName__c": null,
          "ProcedureFormula__c": null,
          "Percent__c": 5,
          "JurisdictionId__c": null,
          "IsRefundable__c": true,
          "Condition__c": null,
          "Amount__c": null,
          "Name": "c4b50dd7-7b28-27c0-8b9f-87cd68e6a478",
          "Id": "a4OB0000000ErbfMAC"
        }
      ],
      "taxAmount": 160,
      "feeAmount": 145,
      "totalTaxFeeAmount": 305,
      "childProducts": {
        "totalSize": 2,
        "records": [
          {
            "displaySequence": 1,
            "Id": "01tB0000001qc5lIAA",
            "Name": "Collision Deductible Waiver",
            "Description": "We waive your Collision deductible when you're in an accident caused by a driver who has no insurance.",
            "ProductCode": "COL_WAIVER",
            "IsRecommended__c": false,
            "RecordTypeName__c": "CoverageSpec",
            "IsConfigurable__c": true,
            "productId": "01tB0000001qc5lIAA",
            "pciId": "a4bB0000000CzkzIAC",
            "isOptional": false,
            "isSelected": true,
            "attributeCategories": {
              "totalSize": 1,
              "records": [
                {
                  "displaySequence": 1981,
                  "Code__c": "AUTO_COVERAGE",
                  "Name": "Auto Coverage",
                  "productAttributes": {
                    "totalSize": 1,
                    "records": [
                      {
                        "code": "DED_WAIVER",
                        "dataType": "text",
                        "inputType": "dropdown",
                        "multiselect": false,
                        "required": false,
                        "readonly": false,
                        "disabled": false,
                        "filterable": true,
                        "label": "Collision Deductible Waiver",
                        "displaySequence": 3,
                        "hasRules": false,
                        "hidden": false,
                        "values": [
                          {
                            "id": "0",
                            "label": "No coverage",
                            "readonly": false,
                            "disabled": false,
                            "value": "No coverage"
                          },
                          {
                            "id": "1",
                            "label": "$1,000 deductible",
                            "readonly": false,
                            "disabled": false,
                            "value": "1000"
                          }
                        ],
                        "userValues": "No coverage"
                      }
                    ]
                  }
                }
              ]
            }
          }
        ]
      }
    }
  ]
 }
}

Options JSON

以下是示例选项 JSON:


{     
  "censusId": "0rfRO00000009WTYAY",
  "effectiveDate": "2023-06-22 00:00:00"
}

输出 JSON

以下是示例输出 JSON:

{
  "asyncRequestId": {
    "01tRO000000k6RyYAI": "8zk9f00000Q5jUEHNS"
  }
}
 
正在加载
Salesforce Help | Article