From aa89745fe575f876d474b4bb85e01e7a999ebd22 Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期六, 05 九月 2026 01:37:44 +0800
Subject: [PATCH] 接入电池组与测试配置DTO边界

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TBatteryGroupController.java |   29 +++++++++++++++++++++++++++--
 1 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TBatteryGroupController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TBatteryGroupController.java
index 94f4208..320984b 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TBatteryGroupController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TBatteryGroupController.java
@@ -18,6 +18,7 @@
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.system.domain.TBatteryGroup;
+import com.battery.business.battery.dto.BatteryGroupDto;
 import com.ruoyi.system.service.ITBatteryGroupService;
 
 /** 电池组管理 Controller。 */
@@ -38,14 +39,38 @@
     public AjaxResult getInfo(@PathVariable Long groupId) { return success(batteryGroupService.selectBatteryGroupById(groupId)); }
 
     @PreAuthorize("@ss.hasPermi('system:batteryGroup:add')") @Log(title = "电池组管理", businessType = BusinessType.INSERT) @PostMapping
-    public AjaxResult add(@Validated @RequestBody TBatteryGroup group) { group.setCreateBy(getUsername()); return toAjax(batteryGroupService.insertBatteryGroup(group)); }
+    public AjaxResult add(@Validated @RequestBody BatteryGroupDto request) { TBatteryGroup group = toDomain(request); group.setCreateBy(getUsername()); return toAjax(batteryGroupService.insertBatteryGroup(group)); }
 
     @PreAuthorize("@ss.hasPermi('system:batteryGroup:edit')") @Log(title = "电池组管理", businessType = BusinessType.UPDATE) @PutMapping
-    public AjaxResult edit(@Validated @RequestBody TBatteryGroup group) { group.setUpdateBy(getUsername()); return toAjax(batteryGroupService.updateBatteryGroup(group)); }
+    public AjaxResult edit(@Validated @RequestBody BatteryGroupDto request) { TBatteryGroup group = toDomain(request); group.setUpdateBy(getUsername()); return toAjax(batteryGroupService.updateBatteryGroup(group)); }
 
     @PreAuthorize("@ss.hasPermi('system:batteryGroup:changeStatus')") @Log(title = "电池组管理", businessType = BusinessType.UPDATE) @PutMapping("/changeStatus")
     public AjaxResult changeStatus(@RequestBody TBatteryGroup group) { group.setUpdateBy(getUsername()); return toAjax(batteryGroupService.updateBatteryGroupStatus(group)); }
 
     @PreAuthorize("@ss.hasPermi('system:batteryGroup:remove')") @Log(title = "电池组管理", businessType = BusinessType.DELETE) @DeleteMapping("/{groupIds}")
     public AjaxResult remove(@PathVariable Long[] groupIds) { return toAjax(batteryGroupService.deleteBatteryGroupByIds(groupIds, getUsername())); }
+
+    /** 将公开写入 DTO 转换为现有持久化服务模型,字段值仍写入电池组当前关系。 */
+    private TBatteryGroup toDomain(BatteryGroupDto request)
+    {
+        if (request == null) return null;
+        TBatteryGroup group = new TBatteryGroup();
+        group.setGroupId(request.groupId()); group.setGroupName(request.groupName());
+        group.setModel(request.model()); group.setPurpose(request.purpose()); group.setStatus(request.status());
+        group.setRemark(request.remark()); group.setTemplateId(request.templateId()); group.setBatteryNos(request.batteryNos());
+        java.util.List<BatteryGroupDto.FieldValueDto> values = request.currentFields();
+        if (values != null)
+        {
+            java.util.List<com.ruoyi.system.domain.TBatteryGroupRelationField> fields = new java.util.ArrayList<>();
+            for (BatteryGroupDto.FieldValueDto value : values)
+            {
+                if (value == null) continue;
+                com.ruoyi.system.domain.TBatteryGroupRelationField field = new com.ruoyi.system.domain.TBatteryGroupRelationField();
+                field.setBatteryGroupFieldId(value.resolvedFieldId()); field.setFieldValue(value.resolvedValue()); fields.add(field);
+            }
+            group.setFields(fields);
+            group.setTemplateFieldRelations(fields);
+        }
+        return group;
+    }
 }

--
Gitblit v1.7.1