ruoyi-admin/src/test/java/com/ruoyi/system/service/impl/TBatteryGroupFieldServiceImplTest.java
@@ -75,15 +75,27 @@ } @Test void insertShouldRejectUnsupportedFieldType() void insertShouldAcceptExistingFieldTypes() { field.setFieldId(null); field.setFieldType("number"); when(batteryGroupFieldMapper.insertBatteryGroupField(any(TBatteryGroupField.class))).thenReturn(1); assertEquals(1, batteryGroupFieldService.insertBatteryGroupField(field)); verify(batteryGroupFieldMapper).insertBatteryGroupField(field); } @Test void insertShouldRejectUnsupportedFieldType() { field.setFieldId(null); field.setFieldType("boolean"); ServiceException exception = assertThrows(ServiceException.class, () -> batteryGroupFieldService.insertBatteryGroupField(field)); assertEquals("字段类型仅支持text(文字)", exception.getMessage()); assertEquals("字段类型仅支持text、number、time或remark", exception.getMessage()); verify(batteryGroupFieldMapper, never()).insertBatteryGroupField(any(TBatteryGroupField.class)); } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBatteryGroupFieldServiceImpl.java
@@ -2,6 +2,7 @@ import java.util.Date; import java.util.List; import java.util.Set; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -21,7 +22,7 @@ { private static final String NORMAL = "0"; private static final String DISABLED = "1"; private static final String TEXT = "text"; private static final Set<String> SUPPORTED_FIELD_TYPES = Set.of("text", "number", "time", "remark"); @Autowired private TBatteryGroupFieldMapper batteryGroupFieldMapper; @@ -147,9 +148,9 @@ { throw new ServiceException("字段类型不能为空"); } if (!TEXT.equals(field.getFieldType())) if (!SUPPORTED_FIELD_TYPES.contains(field.getFieldType())) { throw new ServiceException("字段类型仅支持text(文字)"); throw new ServiceException("字段类型仅支持text、number、time或remark"); } if (field.getRemark() != null && field.getRemark().length() > 500) { ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBatteryGroupServiceImpl.java
@@ -26,18 +26,21 @@ @Autowired private TBatteryGroupMapper batteryGroupMapper; /** 按查询条件返回未删除的电池组列表。 */ @Override public List<TBatteryGroup> selectBatteryGroupList(TBatteryGroup group) { return batteryGroupMapper.selectBatteryGroupList(group); } /** 返回已有电池组的创建人选项。 */ @Override public List<Map<String, Object>> selectBatteryGroupCreatorOptions() { return batteryGroupMapper.selectBatteryGroupCreatorOptions(); } /** 返回电池组及其电池号、模板字段和值。 */ @Override public TBatteryGroup selectBatteryGroupById(Long groupId) { @@ -51,6 +54,7 @@ return group; } /** 新增电池组并原子写入电池号和可选模板字段值。 */ @Override @Transactional(rollbackFor = Exception.class) public int insertBatteryGroup(TBatteryGroup group) @@ -67,6 +71,7 @@ return rows; } /** 更新电池组并原子替换电池号和可选模板字段值。 */ @Override @Transactional(rollbackFor = Exception.class) public int updateBatteryGroup(TBatteryGroup group) @@ -97,6 +102,7 @@ return rows; } /** 启用或禁用电池组,存在进行中测试时禁止禁用。 */ @Override @Transactional(rollbackFor = Exception.class) public int updateBatteryGroupStatus(TBatteryGroup group) @@ -116,6 +122,7 @@ return batteryGroupMapper.updateBatteryGroupStatus(group); } /** 逻辑删除电池组及关系,存在进行中测试时拒绝删除。 */ @Override @Transactional(rollbackFor = Exception.class) public int deleteBatteryGroupByIds(Long[] groupIds, String updateBy)