本文共 1954 字,大约阅读时间需要 6 分钟。
Kotlin 代码:
fun saveDataJson(scenarioId: Long) { val data = nodeModelFieldsDao.findByScenarioId(scenarioId) println("data=${JSON.toJSONString(data)}") println("开始执行 saveDataJson") val modelCodeSet = mutableSetOf() data.forEach { it.modelCode?.let { v -> modelCodeSet.add(v) } } println("modelCodeSet=${JSON.toJSONString(modelCodeSet)}") val dataJsonObj = hashMapOf >() modelCodeSet.forEach { val mc = it dataJsonObj[mc] = hashMapOf() // 这一句话很重要,先初始化 dataJsonObj[mc] data.forEach { val modelCode = it.modelCode if (mc == modelCode) { dataJsonObj[mc]?.set(it.fieldCode, it.value) } } } val dataJsonStr = JSON.toJSONString(dataJsonObj) println("dataJsonStr=${dataJsonStr}") val record = dataJsonDao.findByScenarioId(scenarioId) if (record == null) { val dataJson = DataJson() dataJson.dataJson = dataJsonStr dataJson.scenarioId = scenarioId dataJsonDao.save(dataJson) } else { record.dataJson = dataJsonStr record.scenarioId = scenarioId record.gmtModified = Date() dataJsonDao.save(record) } println("执行完成 saveDataJson") }
js 代码是:
var models = new Set();for (var i = 0; i < data.length; i++) { var m = data[i]; console.log(`m=${JSON.stringify(m)}`); let model_code = m.model_code; console.log(`model_code=${model_code}`); models.add(model_code);}console.dir(models);var model_fields_map = {};models.forEach(((model_code, index, array) => { model_fields_map[model_code] = {}; data.map(m => { if (m.model_code == model_code) { model_fields_map[model_code][m.field_code] = `${m.field_output_code}|${m.data_type}|${m.setter_config_json}` } });}));
转载地址:http://kwuwa.baihongyu.com/