package org.jeecg.modules.eam.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.commons.lang3.StringUtils;
|
import org.jeecg.common.exception.JeecgBootException;
|
import org.jeecg.modules.eam.entity.RepairWarehouse;
|
import org.jeecg.modules.eam.mapper.RepairWarehouseMapper;
|
import org.jeecg.modules.eam.service.IRepairWarehouseService;
|
import org.springframework.stereotype.Service;
|
|
import java.util.Arrays;
|
import java.util.List;
|
import java.util.Objects;
|
|
/**
|
* @Description: eam_repair_warehouse
|
* @Author: jeecg-boot
|
* @Date: 2025-09-05
|
* @Version: V1.0
|
*/
|
@Service
|
@Slf4j
|
public class RepairWarehouseServiceImpl extends ServiceImpl<RepairWarehouseMapper, RepairWarehouse> implements IRepairWarehouseService {
|
|
// 定义合法的字段名白名单
|
private static final List<String> ALLOWED_COLUMNS = Arrays.asList(
|
"fault_part", "fault_child_part", "repair_description"
|
);
|
/**
|
* 保存数据
|
* @param repairWarehouse
|
*/
|
@Override
|
public void add(RepairWarehouse repairWarehouse) {
|
checkData(repairWarehouse);
|
this.save(repairWarehouse);
|
}
|
|
@Override
|
public void saveData(RepairWarehouse repairWarehouse) {
|
|
RepairWarehouse warehouse = this.getOne(new LambdaQueryWrapper<RepairWarehouse>()
|
.eq(RepairWarehouse::getFaultType, repairWarehouse.getFaultType())
|
.eq(RepairWarehouse::getFaultPart, repairWarehouse.getFaultPart())
|
.eq(RepairWarehouse::getFaultChildPart, repairWarehouse.getFaultChildPart())
|
.eq(RepairWarehouse::getRepairDescription, repairWarehouse.getRepairDescription())
|
);
|
|
if(Objects.isNull(warehouse)) {
|
this.save(repairWarehouse);
|
}
|
}
|
|
@Override
|
public void edit(RepairWarehouse repairWarehouse) {
|
checkData(repairWarehouse);
|
this.updateById(repairWarehouse);
|
}
|
|
@Override
|
public List<String> getColumnDateList(RepairWarehouse repairWarehouse) {
|
|
if (StringUtils.isBlank(repairWarehouse.getColumn()) || !ALLOWED_COLUMNS.contains(repairWarehouse.getColumn())) {
|
throw new JeecgBootException("所需查询字段值无效");
|
}
|
return this.baseMapper.getColumnDateList(repairWarehouse);
|
}
|
|
private void checkData(RepairWarehouse repairWarehouse) {
|
|
if(Objects.isNull(repairWarehouse)) {
|
throw new JeecgBootException("数据不能为空");
|
}
|
|
if (StringUtils.isBlank(repairWarehouse.getFaultType())) {
|
throw new JeecgBootException("故障类型不能为空");
|
}
|
|
if (StringUtils.isBlank(repairWarehouse.getFaultPart())) {
|
throw new JeecgBootException("故障部位不能为空");
|
}
|
|
if (StringUtils.isBlank(repairWarehouse.getFaultChildPart())) {
|
throw new JeecgBootException("故障子部位不能为空");
|
}
|
|
if (StringUtils.isBlank(repairWarehouse.getRepairDescription())) {
|
throw new JeecgBootException("维修描述不能为空");
|
}
|
|
RepairWarehouse warehouse = this.getOne(new LambdaQueryWrapper<RepairWarehouse>()
|
.eq(RepairWarehouse::getFaultType, repairWarehouse.getFaultType())
|
.eq(RepairWarehouse::getFaultPart, repairWarehouse.getFaultPart())
|
.eq(RepairWarehouse::getFaultChildPart, repairWarehouse.getFaultChildPart())
|
.eq(RepairWarehouse::getRepairDescription, repairWarehouse.getRepairDescription())
|
.le(StringUtils.isNotEmpty(repairWarehouse.getId()), RepairWarehouse::getId, repairWarehouse.getId())
|
);
|
|
if(Objects.nonNull(warehouse)) {
|
throw new JeecgBootException("已存在该知识库");
|
}
|
}
|
}
|