逐單產(chǎn)生;按主對象返利
//獲取主對象數(shù)據(jù)
Map masterData = master["containerDocument"] as Map
//獲取客戶ID,其他字段請參看對應對象
String accountId = masterData["account_id"] as String
log.info("account_id:"+accountId)
//獲取返利產(chǎn)生政策名稱,其他字段請參看返利產(chǎn)生政策對象
Map rebatePolicyDataMap = rebateMaster["containerDocument"] as Map
String rebatePolicyName = rebatePolicyDataMap["name"] as String
log.info("rebatePolicyName:"+rebatePolicyName)
//獲取返利產(chǎn)生規(guī)則名稱,其他字段請參看返利產(chǎn)生規(guī)則對象
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:計算的結(jié)果值
//例如返利金額是訂單金額的百分之3,訂單金額,就是原值。訂單金額*0.3 就是結(jié)果值
Map resultData = ["source": 1000,"result": 20000]
Map result = ["master": resultData]
return result
--逐單產(chǎn)生;按明細對象返利
//獲取主對象數(shù)據(jù)
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 = [:]
//循環(huán)從對象
detailList.each{item ->
Map detailDataMap = item as Map
//獲取從對象數(shù)據(jù)
Map detailData = detailDataMap["containerDocument"] as Map
//獲取產(chǎn)品ID,其他字段請參看對應對象
String productId = detailData["product_id"] as String
log.info("product_id:"+productId)
String salesOrderProductId = detailData["_id"] as String
//source:計算的原值,result:根據(jù)原值計算的結(jié)果值
Map resultDataMap = ["source":11000,"result":2000]
detailResult.put(salesOrderProductId,resultDataMap)
}
//獲取返利產(chǎn)生政策名稱,其他字段請參看返利產(chǎn)生政策對象
Map rebatePolicyDataMap = rebateMaster["containerDocument"] as Map
String rebatePolicyName = rebatePolicyDataMap["name"] as String
log.info("rebatePolicyName:"+rebatePolicyName)
//獲取返利產(chǎn)生規(guī)則名稱,其他字段請參看返利產(chǎn)生規(guī)則對象
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
--歷史產(chǎn)生
//獲取客戶ID
Fx.log.info(accountId)
//獲取返利產(chǎn)生政策名稱,其他字段請參看返利產(chǎn)生政策對象
Map rebatePolicyDataMap = rebateMaster["containerDocument"] as Map
String rebatePolicyName = rebatePolicyDataMap["name"] as String
log.info("rebatePolicyName:"+rebatePolicyName)
//獲取返利產(chǎn)生規(guī)則名稱,其他字段請參看返利產(chǎn)生規(guī)則對象
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 ->根據(jù)原值計算出來的結(jié)果值
Map result = ["source":1000,"result": 2000]
return result








