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