逐单产生;按主对象返利
//获取主对象数据 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