业务处理

137 阅读1分钟

已知:paymentRecordSum有paymentRecord/feeRecord所有汇总记录,数据示例如下; paymentRecordSum 和 paymentRecord/feeRecord 是一对多的关系,根据idKey对应relationKey。

需求:按照期次(termNo)汇总同期次同交易类型(transCode)的数据求出金额之和展示,相同期次不同交易类型的数据分开求金额和展示。

例如: 第01期交易类型是逾期,费用只有本利罚之和; 第02期交易类型是逾期,也只有本利罚; 第03期交易类型为催收,本利罚共60元 + 保险费70元。展示内容催收+130元的费用细则; 第04期交易类型为催收,费用是本利罚; 第04期交易类型为代偿,费用是保险费。

汇总paymentRecordSum 一 对多 [ { "idKey":"1", "transCode":"逾期" }, { "idKey":"2", "transCode":"催收" }, { "idKey":"3", "transCode":"催收" }, { "idKey":"4", "transCode":"代偿" } ]

本利罚paymentRecord: 多 [ { "actualPayDate":"20220407", "relationKey":"1", "actualPayfineAmt":22.32, "actualPayprincipalAmt":1168.02, "actualPayinteAmt":482.92, "termNo":01 }, { "actualPayDate":"20220407", "relationKey":"1", "actualPayfineAmt":0, "actualPayprincipalAmt":1179, "actualPayinteAmt":471.64, "termNo":02 }, { "actualPayDate":"20221012", "relationKey":"2", "本金":10, "利息":20, "罚息":30, "termNo":03 }, { "actualPayDate":"20221012", "relationKey":"2", "actualPayfineAmt":39.29, "actualPayprincipalAmt":1237.37, "actualPayinteAmt":413.57, "termNo":04 } ]

保险费feeRecord 多 [ { "actualPayDate":"20220407", "relationKey":"3", "feeCode":"保险费", "actualPayAmt":30, "termNo":03 }, { "actualPayDate":"20220407", "relationKey":"3", "feeCode":"保险费", "actualPayAmt":91.99, "termNo":04 }, { "actualPayDate":"20220407", "relationKey":"4", "feeCode":"平台费", "actualPayAmt":40, "termNo":03 }, { "actualPayDate":"20220407", "relationKey":"4", "feeCode":"平台费", "actualPayAmt":58.08, "termNo":04 } ]