From 7bbce72b03664f56400fe7e70e8dcd4ea737a8da Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期五, 02 八月 2024 14:19:30 +0800 Subject: [PATCH] 代码提交 bug解决 --- ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkServiceImpl.java | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 47 insertions(+), 1 deletions(-) diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkServiceImpl.java index 2894d97..0fd00f0 100644 --- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkServiceImpl.java +++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkServiceImpl.java @@ -1,5 +1,7 @@ package com.ruoyi.management.service.impl; +import com.alibaba.fastjson2.util.UUIDUtils; +import com.alibaba.nacos.common.utils.UuidUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -12,11 +14,22 @@ import com.ruoyi.management.service.SlVolumeProductionRkService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.management.service.SlVolumeProductionRkglService; +import com.ruoyi.management.util.ObsUploadUtil; +import com.ruoyi.management.util.QRCodeUtil; +import com.ruoyi.management.util.UUIDUtil; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.feignClient.SysUserClient; +import org.apache.logging.log4j.core.util.UuidUtil; +import org.apache.tomcat.util.http.fileupload.ByteArrayOutputStream; +import org.springframework.core.io.ByteArrayResource; +import org.springframework.mock.web.MockMultipartFile; import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import javax.imageio.ImageIO; +import java.awt.image.BufferedImage; +import java.io.IOException; import java.math.BigDecimal; import java.sql.Array; import java.text.SimpleDateFormat; @@ -200,7 +213,7 @@ } @Override - public List<QRCodeVO> codeInfo(Long id) { + public List<QRCodeVO> codeInfo(Long id) throws Exception { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); List<QRCodeVO> res = new ArrayList<>(); LambdaQueryWrapper< SlVolumeProductionRk> wrapper1= Wrappers.lambdaQuery(); @@ -211,6 +224,11 @@ for (SlVolumeProductionRk byId : list) { // 根据生成二维码数量 复制 for (int i = 0; i < byId.getErwmNum(); i++) { + String blueS = "{\"rkNumber\": "+byId.getRkNumber()+"}"; + BufferedImage blueImage = QRCodeUtil.createImage(blueS); + MultipartFile blueFile = convert(blueImage, new Date().getTime() + UUIDUtil.getRandomCode(3) + ".PNG"); + // 生成的二维码连接 + String s = ObsUploadUtil.obsUpload(blueFile); QRCodeVO vo=new QRCodeVO(); String letter = getLetter(i); vo.setCategory(letter); @@ -225,6 +243,7 @@ vo.setMaterials(byId.getRkNumber()); SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(byId.getManagementId()); vo.setStoreManagementName(slStoreManagement.getStoreManagementName()); + vo.setQrCode(s); res.add(vo); } @@ -234,6 +253,33 @@ return res; } + public static void main(String[] args) throws Exception { + String blueS = "{\"rkNumber\": CD-1721989472748"+"}"; + BufferedImage blueImage = QRCodeUtil.createImage(blueS); + MultipartFile blueFile = convert(blueImage, new Date().getTime() + UUIDUtil.getRandomCode(3) + ".PNG"); + // 生成的二维码连接 + String s = ObsUploadUtil.obsUpload(blueFile); + System.err.println(s); + } + public static MultipartFile convert(BufferedImage bufferedImage, String fileName) throws IOException { + // 将 BufferedImage 转换为字节数组 + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + ImageIO.write(bufferedImage, "png", baos); + byte[] bytes = baos.toByteArray(); + + // 创建 ByteArrayResource + ByteArrayResource resource = new ByteArrayResource(bytes); + + // 创建 MockMultipartFile + MockMultipartFile multipartFile = new MockMultipartFile( + "file", + fileName, + "image/png", + resource.getInputStream() + ); + + return multipartFile; + } // 根据传入数字是几 返回对应的字母 public static String getLetter(int num) { String[] str = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}; -- Gitblit v1.7.1