From b051c20595c8563df49a50092a11468c8a99de46 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期四, 20 三月 2025 14:20:58 +0800 Subject: [PATCH] # 优化 --- rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java | 79 ++++++++++++++++++++++++++++++++++++--- 1 files changed, 72 insertions(+), 7 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java index c9f0206..d3cfffb 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java @@ -1,18 +1,14 @@ package com.vincent.rsf.server.common.utils; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.vincent.rsf.framework.common.SpringUtils; +import com.vincent.rsf.framework.exception.CoolException; import com.vincent.rsf.server.system.entity.Fields; import com.vincent.rsf.server.system.entity.FieldsItem; import com.vincent.rsf.server.system.service.FieldsItemService; import com.vincent.rsf.server.system.service.FieldsService; -import org.springframework.context.annotation.Configuration; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; +import java.util.*; /** * @author Ryan @@ -26,7 +22,7 @@ /** * @author Ryan - * @description 閫氳繃瀛楁鍞竴鏍囪瘑鑾峰彇鍔ㄦ�佸瓧娈礛ap + * @description 閫氳繃瀛楁鍞竴鏍囪瘑鑾峰彇鍔ㄦ�佸瓧娈靛璞ey-value * @param * @return * @time 2025/3/12 12:50 @@ -54,5 +50,74 @@ return fieldsMap; } + + /** + * @param template + * @return + * @author Ryan + * @description 鍔ㄦ�佸瓧娈祐alue淇濆瓨 + * @time 2025/3/18 15:00 + */ + public static void saveFields(Map<String, ?> template, String uuid) { + List<Fields> fields = getFieldsSta(); + FieldsItemService fieldsItemService = SpringUtils.getBean(FieldsItemService.class); + if (fields.isEmpty()) { + throw new CoolException("鎵╁睍瀛楁涓嶅瓨鍦紒锛�"); + } + List<FieldsItem> fieldsItems = new ArrayList<>(); + for (Fields field : fields) { + if (!Objects.isNull(template.get(field.getFields()))) { + FieldsItem item = new FieldsItem(); + item.setFieldsId(field.getId()) + .setUuid(uuid) + .setValue(template.get(field.getFields()).toString()); + fieldsItems.add(item); + } + } + if (!fieldsItemService.saveBatch(fieldsItems)) { + throw new CoolException("鍔ㄦ�佸瓧娈靛�间繚瀛樺け璐ワ紒锛�"); + } + } + /** + * 鑾峰彇鎵�鏈夊紑鍚姩鎬佹墿灞曞瓧娈� + * @return + */ + public static List<Fields> getFieldsSta() { + FieldsService fieldsService = SpringUtils.getBean(FieldsService.class); + return fieldsService.list(new LambdaQueryWrapper<Fields>().eq(Fields::getStatus, 1).eq(Fields::getFlagEnable, 1)); + } + + public static void updateFieldsValue(Map<String, Object> params) { + List<Fields> fields = getFieldsSta(); + if (fields.isEmpty()) { return; } + Object fieldsIndex = params.get("fieldsIndex"); + if (!Objects.isNull(fieldsIndex)) { + String index = fieldsIndex.toString(); + FieldsItemService fieldsItemService = SpringUtils.getBean(FieldsItemService.class); + for (Fields field : fields) { + if (!Objects.isNull(params.get(field.getFields()))) { + FieldsItem indexItem = fieldsItemService.getOne(new LambdaQueryWrapper<FieldsItem>() + .eq(FieldsItem::getUuid, index) + .eq(FieldsItem::getFieldsId, field.getId())); + //濡傛灉瀛愯〃涓虹┖锛屾墽琛屾彃鍏ユ搷浣滐紝鍚﹀垯灏辨墽琛屼慨鏀规搷浣� + if (Objects.isNull(indexItem)) { + FieldsItem item = new FieldsItem(); + item.setUuid(index) + .setFieldsId(field.getId()) + .setValue(params.get(field.getFields()).toString()); + if (fieldsItemService.save(item)) { + throw new CoolException("鎵╁睍瀛楁淇敼澶辫触锛侊紒"); + } + } else { + indexItem.setValue(params.get(field.getFields()).toString()); + if (fieldsItemService.updateById(indexItem)) { + throw new CoolException("鎵╁睍瀛楁淇敼澶辫触锛侊紒"); + } + } + } + } + + } + } } -- Gitblit v1.9.1