根据代码“@Data public class DesignDictDataOnlineVO { @ApiModelProperty(value = "元素分类编码") private String code; @ApiModelProperty(value = "元素分类名称") private String name; @ApiModelProperty(value = "元素分类定义") private String definition; @ApiModelProperty(value = "父级分类ID") private String parentId; @ApiModelProperty(value = "同级/下级元素分类") private String level; @ApiModelProperty(value = "是否抽象(Y:是;N:不是)") private String virtually; }”,补全下面代码,根据已有的元素分类列表新增同级或子级的一条元素:“@Autowired public List<StandardElementClassTreeVO> addOnlineElement(DesignDictDataOnlineVO vo) { }” 要求:1.填写元素分类编码(code), 填写元素分类名称(name), 2.根据parentId(新增同级取选择分类的parentId,新增子级取选择分类的ID作为parentId) 是否抽象(virtually)2.用判断语句对填写的code和name进行重名校验。校验code长度≤50、name长度≤50、definition≤200。 校验填写的code不能有中文。校验填写virtually只能用Y或者N。如果都满足条件则添新增的这一条元素。
时间: 2024-03-27 20:40:34 浏览: 115
mybatis-plus使用@EnumValue处理枚举类型的示例代码
```
@Autowired
public List<StandardElementClassTreeVO> addOnlineElement(DesignDictDataOnlineVO vo) {
String code = vo.getCode();
String name = vo.getName();
String definition = vo.getDefinition();
String parentId = vo.getParentId();
String level = vo.getLevel();
String virtually = vo.getVirtually();
// 校验code和name是否重名
List<DesignDictDataOnlineVO> elementList = getElementList();
for (DesignDictDataOnlineVO element : elementList) {
if (element.getCode().equals(code)) {
throw new RuntimeException("元素分类编码已存在!");
}
if (element.getName().equals(name)) {
throw new RuntimeException("元素分类名称已存在!");
}
}
// 校验code不能有中文
if (code.matches(".*[\\u4e00-\\u9fa5]+.*")) {
throw new RuntimeException("元素分类编码不能包含中文!");
}
// 校验code长度≤50、name长度≤50、definition≤200
if (code.length() > 50 || name.length() > 50 || definition.length() > 200) {
throw new RuntimeException("元素分类编码、名称、定义长度不能超过50和200!");
}
// 校验virtually只能为Y或N
if (!virtually.equals("Y") && !virtually.equals("N")) {
throw new RuntimeException("是否抽象只能填写Y或N!");
}
// 新增元素
DesignDictDataOnlineVO newElement = new DesignDictDataOnlineVO();
newElement.setCode(code);
newElement.setName(name);
newElement.setDefinition(definition);
newElement.setParentId(parentId);
newElement.setLevel(level);
newElement.setVirtually(virtually);
elementList.add(newElement);
saveElementList(elementList);
// 返回新增后的元素列表
return generateElementTree();
}
```
阅读全文