1.修改创建基础数据方法,添加校验
This commit is contained in:
parent
9f1994c9d6
commit
0a8964d69a
|
@ -1,13 +1,12 @@
|
|||
package com.example.liteflow.mysql.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.ReflectUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.example.liteflow.mysql.entity.BaseDataEntity;
|
||||
import com.example.liteflow.mysql.enums.BaseDataContentTypeEnum;
|
||||
import com.example.liteflow.mysql.mapper.BaseDataMapper;
|
||||
import com.example.liteflow.mysql.model.BaseCenter;
|
||||
import com.example.liteflow.mysql.model.CommonResult;
|
||||
|
@ -17,6 +16,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
@ -46,6 +46,14 @@ public class BaseDataServiceImpl extends ServiceImpl<BaseDataMapper, BaseDataEnt
|
|||
if (!fieldNameList.contains(type)) {
|
||||
return CommonResult.fail("添加数据无对应字段");
|
||||
}
|
||||
String templateId = createBaseDataFrom.getTemplateId();
|
||||
LambdaQueryWrapper<BaseDataEntity> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(BaseDataEntity::getTemplateId, templateId)
|
||||
.eq(BaseDataEntity::getType, type);
|
||||
BaseDataEntity checkExists = this.getOne(queryWrapper);
|
||||
if (ObjectUtil.isNotNull(checkExists)) {
|
||||
return CommonResult.fail("已存在该字段基础数据", createBaseDataFrom);
|
||||
}
|
||||
BaseDataEntity baseDataEntity = BeanUtil.toBean(createBaseDataFrom, BaseDataEntity.class);
|
||||
this.save(baseDataEntity);
|
||||
return CommonResult.success("创建基础数据成功", baseDataEntity);
|
||||
|
@ -54,17 +62,24 @@ public class BaseDataServiceImpl extends ServiceImpl<BaseDataMapper, BaseDataEnt
|
|||
@Override
|
||||
public CommonResult batchCreateBaseData(List<CreateBaseDataFrom> createBaseDataFromList) {
|
||||
log.info("进入【批量创建基础数据】方法 = {}", JSONUtil.toJsonStr(createBaseDataFromList));
|
||||
List<CreateBaseDataFrom> notExistsType = createBaseDataFromList.stream().filter(createBaseDataFrom -> {
|
||||
List<BaseDataEntity> baseDataEntityList = new ArrayList<>();
|
||||
for (CreateBaseDataFrom createBaseDataFrom : createBaseDataFromList) {
|
||||
String type = createBaseDataFrom.getType();
|
||||
Field[] fields = ReflectUtil.getFields(BaseCenter.class);
|
||||
List<String> fieldNameList = Arrays.stream(fields).map(Field::getName).collect(Collectors.toList());
|
||||
return !fieldNameList.contains(type);
|
||||
}).collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(notExistsType)) {
|
||||
return CommonResult.fail("添加数据无对应字段", notExistsType);
|
||||
if (!fieldNameList.contains(type)) {
|
||||
return CommonResult.fail("添加数据无对应字段", createBaseDataFrom);
|
||||
}
|
||||
String templateId = createBaseDataFrom.getTemplateId();
|
||||
LambdaQueryWrapper<BaseDataEntity> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(BaseDataEntity::getTemplateId, templateId)
|
||||
.eq(BaseDataEntity::getType, type);
|
||||
BaseDataEntity checkExists = this.getOne(queryWrapper);
|
||||
if (ObjectUtil.isNotNull(checkExists)) {
|
||||
return CommonResult.fail("已存在该字段基础数据", createBaseDataFrom);
|
||||
}
|
||||
baseDataEntityList.add(BeanUtil.toBean(createBaseDataFrom, BaseDataEntity.class));
|
||||
}
|
||||
List<BaseDataEntity> baseDataEntityList = createBaseDataFromList.stream()
|
||||
.map(createBaseDataFrom -> BeanUtil.toBean(createBaseDataFrom, BaseDataEntity.class)).collect(Collectors.toList());
|
||||
this.saveBatch(baseDataEntityList);
|
||||
return CommonResult.success("批量创建基础数据成功", baseDataEntityList);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue