package com.ruoyi.inspect.service.impl;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.ruoyi.common.core.domain.MinioResult;
|
import com.ruoyi.common.utils.QueryWrappers;
|
import com.ruoyi.common.utils.file.MinioUtils;
|
import com.ruoyi.framework.exception.ErrorException;
|
import com.ruoyi.inspect.dto.InspectionPurchasedDto;
|
import com.ruoyi.inspect.mapper.InspectionPurchasedMapper;
|
import com.ruoyi.inspect.pojo.InspectionPurchased;
|
import com.ruoyi.inspect.service.InspectionPurchasedService;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
|
/**
|
* <p>
|
* 外购件检验 服务实现类
|
* </p>
|
*
|
* @author ld
|
* @since 2025-03-25 11:22:56
|
*/
|
@Service
|
public class InspectionPurchasedServiceImpl extends ServiceImpl<InspectionPurchasedMapper, InspectionPurchased> implements InspectionPurchasedService {
|
|
@Resource
|
private InspectionPurchasedMapper inspectionPurchasedMapper;
|
|
@Resource
|
private MinioUtils minioUtils;
|
|
@Value("${minio.bucketName}")
|
private String bucketName;
|
|
@Override
|
public int addOrUpdateInspection(InspectionPurchasedDto inspectionPurchasedDto) {
|
if (inspectionPurchasedDto.getId() == null) {
|
inspectionPurchasedDto.setInspectionStatus(String.valueOf(0));
|
|
return inspectionPurchasedMapper.insert(inspectionPurchasedDto);
|
} else {
|
return inspectionPurchasedMapper.updateById(inspectionPurchasedDto);
|
}
|
}
|
|
@Override
|
public int delInspection(Integer id) {
|
return inspectionPurchasedMapper.deleteById(id);
|
}
|
|
@Override
|
public IPage<InspectionPurchasedDto> selectInspectionPurchased(Page page, InspectionPurchasedDto inspectionPurchasedDto) {
|
return inspectionPurchasedMapper.selectPage(page, QueryWrappers.queryWrappers(inspectionPurchasedDto));
|
}
|
|
@Override
|
public int UpdateInspection(InspectionPurchasedDto inspectionPurchasedDto) throws Exception {
|
int insertResult = 0;
|
InspectionPurchased inspectionPurchased = inspectionPurchasedMapper.selectById(inspectionPurchasedDto.getId());
|
if (ObjectUtils.isNotEmpty(inspectionPurchasedDto.getFile())) {
|
if (ObjectUtils.isNotEmpty(inspectionPurchased.getFileUrl())){
|
if (inspectionPurchased != null && inspectionPurchased.getFileUrl() != null) {
|
// 检查 MinIO 中文件是否存在
|
if (minioUtils.objectExists(bucketName, inspectionPurchased.getFileUrl())) {
|
// 先删除 MinIO 中的对象
|
minioUtils.removeObjectsResult(bucketName, inspectionPurchased.getFileUrl());
|
}
|
}
|
}
|
try {
|
String contentType = inspectionPurchasedDto.getFile().getContentType();
|
String category = contentType != null && contentType.startsWith("image/") ? "images" : "docs";
|
MinioResult upload = minioUtils.upload(bucketName, inspectionPurchasedDto.getFile(), true);
|
// 记录存储路径
|
inspectionPurchased.setFileUrl(upload.getBucketFileName());
|
inspectionPurchased.setFilePreviewUrl(upload.getPreviewExpiry());
|
inspectionPurchased.setType(category.equals("images") ? 1 : 2);
|
// 数据库操作
|
insertResult = inspectionPurchasedMapper.updateById(inspectionPurchased);
|
if (insertResult <= 0) {
|
throw new ErrorException("数据库插入失败");
|
}
|
return insertResult;
|
} catch (Exception e) {
|
throw new Exception("系统异常: ", e);
|
}
|
}
|
return insertResult;
|
}
|
}
|