From 3ba74e7692143fd6dcf4dd885f80f95dfef8387e Mon Sep 17 00:00:00 2001 From: zmc <zmc_li@foxmail.com> Date: 星期四, 23 十一月 2023 16:09:41 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/feature-risk_analysis' into feature-risk_analysis --- src/main/java/com/flightfeather/monitor/domain/ds1/repository/RiskValueRep.kt | 31 +++++++++++++++++++++++++++++++ 1 files changed, 31 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/flightfeather/monitor/domain/ds1/repository/RiskValueRep.kt b/src/main/java/com/flightfeather/monitor/domain/ds1/repository/RiskValueRep.kt index 338db81..c63fd50 100644 --- a/src/main/java/com/flightfeather/monitor/domain/ds1/repository/RiskValueRep.kt +++ b/src/main/java/com/flightfeather/monitor/domain/ds1/repository/RiskValueRep.kt @@ -35,6 +35,37 @@ } /** + * 鎵归噺鎻掑叆鎴栨洿鏂�,浠呴檺鍚屼竴鏃ョ殑鎴栧悓涓�鏈堢殑鎵归噺鏁版嵁 + * @param list + */ + fun insertOrUpdate(list: List<RiskValue>): Int { + if (list.isEmpty()) return 0 + val newDataList = mutableListOf<RiskValue>() + val oldDataList = mutableListOf<RiskValue>() + val dataList = riskValueMapper.selectByExample(Example(RiskValue::class.java).apply { + createCriteria().andEqualTo("lst", list[0].lst) + .andEqualTo("type", list[0].type) + }) + list.forEach { l -> + val r = dataList.find { d -> + d?.mnCode == l.mnCode + } + if (r != null) { + l.id = r.id + oldDataList.add(l) + } else { + newDataList.add(l) + } + } + val r1 = riskValueMapper.insertList(newDataList) + var r2 = 0 + oldDataList.forEach { + r2 += riskValueMapper.updateByPrimaryKey(it) + } + return r1 + r2 + } + + /** * 鏌ヨ * @param mnCode * @param date -- Gitblit v1.9.3