/*
|
* Copyright (c) 2018-2025, ztt All rights reserved.
|
*
|
* Redistribution and use in source and binary forms, with or without
|
* modification, are permitted provided that the following conditions are met:
|
*
|
* Redistributions of source code must retain the above copyright notice,
|
* this list of conditions and the following disclaimer.
|
* Redistributions in binary form must reproduce the above copyright
|
* notice, this list of conditions and the following disclaimer in the
|
* documentation and/or other materials provided with the distribution.
|
* Neither the name of the pig4cloud.com developer nor the names of its
|
* contributors may be used to endorse or promote products derived from
|
* this software without specific prior written permission.
|
* Author: ztt
|
*/
|
package com.chinaztt.mes.quality.service.impl;
|
|
|
import cn.hutool.core.io.FileUtil;
|
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.StrUtil;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.chinaztt.mes.quality.entity.QualityLabelPrintConfig;
|
import com.chinaztt.mes.quality.entity.QualityLabelPrintConfigDetail;
|
import com.chinaztt.mes.quality.mapper.QualityLabelPrintConfigDetailMapper;
|
import com.chinaztt.mes.quality.mapper.QualityLabelPrintConfigMapper;
|
import com.chinaztt.mes.quality.service.QualityLabelPrintConfigService;
|
import com.chinaztt.ztt.common.core.util.R;
|
import com.chinaztt.ztt.common.oss.service.OssTemplate;
|
import lombok.AllArgsConstructor;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import java.io.IOException;
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.UUID;
|
import java.util.stream.Collectors;
|
|
|
/**
|
* 标签信息配置
|
*
|
* @author yy
|
* @date 2023-04-11 13:54:42
|
*/
|
@Service
|
@AllArgsConstructor
|
@Transactional
|
public class QualityLabelPrintConfigServiceImpl extends ServiceImpl<QualityLabelPrintConfigMapper, QualityLabelPrintConfig> implements QualityLabelPrintConfigService {
|
|
|
private QualityLabelPrintConfigDetailMapper qualityLabelPrintConfigDetailMapper;
|
|
private static final String OSS_BUCKET = "technology";
|
private final OssTemplate minioTemplate;
|
|
@Override
|
public Boolean delete(Long id) {
|
//先删子表再删主表
|
qualityLabelPrintConfigDetailMapper.delete(Wrappers.<QualityLabelPrintConfigDetail>lambdaQuery()
|
.eq(QualityLabelPrintConfigDetail::getMid, id));
|
baseMapper.deleteById(id);
|
return true;
|
}
|
|
@Override
|
public R uploadFile(MultipartFile file, Long printConfigId) throws Exception {
|
String fileName = IdUtil.simpleUUID() + StrUtil.DOT + FileUtil.extName(file.getOriginalFilename());
|
minioTemplate.putObject(OSS_BUCKET, fileName, file.getInputStream());
|
QualityLabelPrintConfig qualityLabelPrintConfig = new QualityLabelPrintConfig();
|
qualityLabelPrintConfig.setFileName(fileName);
|
qualityLabelPrintConfig.setId(printConfigId);
|
baseMapper.updateById(qualityLabelPrintConfig);
|
return R.ok(fileName);
|
|
}
|
|
|
@Override
|
public Boolean fullSave(QualityLabelPrintConfig qualityLabelPrintConfig) {
|
String labelUniqueCode = UUID.randomUUID().toString().replaceAll("-","");
|
qualityLabelPrintConfig.setLabelUniqueCode(labelUniqueCode);
|
baseMapper.insert(qualityLabelPrintConfig);
|
return true;
|
}
|
}
|