From c3e30a405f41d87a924bbd0aa48801d3d763f2c0 Mon Sep 17 00:00:00 2001
From: verou <857149855@qq.com>
Date: 星期三, 26 三月 2025 08:58:00 +0800
Subject: [PATCH] fix:逻辑分区加字段
---
rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java | 59 ++++++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 42 insertions(+), 17 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 8a6897f..0f7f8ae 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
@@ -50,6 +50,28 @@
return fieldsMap;
}
+
+ public static void mergeFields(Map<String, Object> fileds ,String uuid) {
+ FieldsService fieldsService = SpringUtils.getBean(FieldsService.class);
+ List<Fields> fields = fieldsService.list(new LambdaQueryWrapper<Fields>().eq(Fields::getFlagEnable, 1).eq(Fields::getStatus, 1));
+ if (fields.isEmpty()) {
+ return;
+ }
+ FieldsItemService fieldsItemService = SpringUtils.getBean(FieldsItemService.class);
+ List<FieldsItem> fieldsItems = fieldsItemService.list(new LambdaQueryWrapper<FieldsItem>().eq(FieldsItem::getUuid, uuid));
+ for (Fields field : fields ) {
+ if (fieldsItems.isEmpty()) {
+ fileds.put(field.getFields(), null);
+ continue;
+ }
+ fieldsItems.forEach(fieldsItem -> {
+ if (fieldsItem.getFieldsId().equals(field.getId())) {
+ fileds.put(field.getFields(), fieldsItem.getValue());
+ }
+ });
+ }
+
+ }
/**
* @param template
@@ -96,23 +118,26 @@
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("鎵╁睍瀛楁淇敼澶辫触锛侊紒");
+ Map<String, String> extendFields = (Map<String, String>) params.get("extendFields");
+ if (!Objects.isNull(extendFields)) {
+ if (!Objects.isNull(extendFields.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(extendFields.get(field.getFields()).toString());
+ if (!fieldsItemService.save(item)) {
+ throw new CoolException("鎵╁睍瀛楁淇敼澶辫触锛侊紒");
+ }
+ } else {
+ indexItem.setValue(extendFields.get(field.getFields()).toString());
+ if (!fieldsItemService.updateById(indexItem)) {
+ throw new CoolException("鎵╁睍瀛楁淇敼澶辫触锛侊紒");
+ }
}
}
}
--
Gitblit v1.9.1