APL函数代码开放场景-返利产生政策执行函数Groovy代码示例

2025-02-20 17:00:33 269 本站

逐单产生;按主对象返利

//获取主对象数据
Map masterData = master["containerDocument"] as Map
//获取客户ID,其他字段请参看对应对象
String accountId = masterData["account_id"] as String
log.info("account_id:"+accountId)

//获取返利产生政策名称,其他字段请参看返利产生政策对象
Map rebatePolicyDataMap = rebateMaster["containerDocument"] as Map
String rebatePolicyName = rebatePolicyDataMap["name"] as String
log.info("rebatePolicyName:"+rebatePolicyName)
//获取返利产生规则名称,其他字段请参看返利产生规则对象
List rebatePolicyRuleList = rebateDetail["RebatePolicyRuleObj"] as List
rebatePolicyRuleList.each{item ->
  Map detailDataMap = item as Map
  Map detailData = detailDataMap["containerDocument"] as Map
  String rebatePolicyRuleName = detailData["name"] as String
  log.info("rebatePolicyRuleName:"+rebatePolicyRuleName)
}
//返回值解释:
//固定key:master
//source:计算的原值
//result:计算的结果值
//例如返利金额是订单金额的百分之3,订单金额,就是原值。订单金额*0.3 就是结果值
Map resultData = ["source": 1000,"result": 20000]
Map result = ["master": resultData]
return result

--逐单产生;按明细对象返利

 //获取主对象数据
Map masterData = master["containerDocument"] as Map
//获取客户ID,其他字段请参看对应对象
String accountId = masterData["account_id"] as String
log.info("account_id:"+accountId)
//获取从对象List
List detailList = detail["SalesOrderProductObj"] as List
//
Map detailResult = [:]
//循环从对象
detailList.each{item ->
  Map detailDataMap = item as Map
  //获取从对象数据
  Map detailData = detailDataMap["containerDocument"] as Map
  //获取产品ID,其他字段请参看对应对象
  String productId = detailData["product_id"] as String
  log.info("product_id:"+productId)
  String salesOrderProductId = detailData["_id"] as String
  //source:计算的原值,result:根据原值计算的结果值
  Map resultDataMap = ["source":11000,"result":2000]
  detailResult.put(salesOrderProductId,resultDataMap)
}

//获取返利产生政策名称,其他字段请参看返利产生政策对象
Map rebatePolicyDataMap = rebateMaster["containerDocument"] as Map
String rebatePolicyName = rebatePolicyDataMap["name"] as String
log.info("rebatePolicyName:"+rebatePolicyName)
//获取返利产生规则名称,其他字段请参看返利产生规则对象
List rebatePolicyRuleList = rebateDetail["RebatePolicyRuleObj"] as List
rebatePolicyRuleList.each{item ->
  Map detailDataMap = item as Map
  Map detailData = detailDataMap["containerDocument"] as Map
  String rebatePolicyRuleName = detailData["name"] as String
  log.info("rebatePolicyRuleName:"+rebatePolicyRuleName)
}

  Map result = ["detail":detailResult]
  return result

--历史产生
//获取客户ID
Fx.log.info(accountId)

//获取返利产生政策名称,其他字段请参看返利产生政策对象
Map rebatePolicyDataMap = rebateMaster["containerDocument"] as Map
String rebatePolicyName = rebatePolicyDataMap["name"] as String
log.info("rebatePolicyName:"+rebatePolicyName)
//获取返利产生规则名称,其他字段请参看返利产生规则对象
List rebatePolicyRuleList = rebateDetail["RebatePolicyRuleObj"] as List
rebatePolicyRuleList.each{item ->
  Map detailDataMap = item as Map
  Map detailData = detailDataMap["containerDocument"] as Map
  String rebatePolicyRuleName = detailData["name"] as String
  log.info("rebatePolicyRuleName:"+rebatePolicyRuleName)
}
//source ->计算的原值,result ->根据原值计算出来的结果值
Map result = ["source":1000,"result": 2000]
return result



部分内容来源于互联网,如有侵权,请联系客服删除处理。
在线咨询 拨打电话