修复导出一人一档人脸
parent
e324518713
commit
426f2ac18f
5
pom.xml
5
pom.xml
|
|
@ -59,6 +59,11 @@
|
||||||
<artifactId>poi-tl</artifactId>
|
<artifactId>poi-tl</artifactId>
|
||||||
<version>1.12.2</version>
|
<version>1.12.2</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>net.coobird</groupId>
|
||||||
|
<artifactId>thumbnailator</artifactId>
|
||||||
|
<version>0.4.20</version>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.jjb.saas</groupId>
|
<groupId>com.jjb.saas</groupId>
|
||||||
<artifactId>jjb-saas-system-client</artifactId>
|
<artifactId>jjb-saas-system-client</artifactId>
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@ import com.zcloud.edu.domain.model.archives.ClassArchivesE;
|
||||||
import com.zcloud.edu.domain.model.archives.PersonArchivesE;
|
import com.zcloud.edu.domain.model.archives.PersonArchivesE;
|
||||||
import com.zcloud.edu.domain.model.study.*;
|
import com.zcloud.edu.domain.model.study.*;
|
||||||
import com.zcloud.edu.domain.utils.FixedPictureUtils;
|
import com.zcloud.edu.domain.utils.FixedPictureUtils;
|
||||||
|
import com.zcloud.edu.domain.utils.ImageUtil;
|
||||||
import com.zcloud.edu.dto.archives.ArchivesPdfFilePageQry;
|
import com.zcloud.edu.dto.archives.ArchivesPdfFilePageQry;
|
||||||
import com.zcloud.edu.dto.archives.ArchivesQry;
|
import com.zcloud.edu.dto.archives.ArchivesQry;
|
||||||
import com.zcloud.edu.dto.clientobject.archives.ArchivesPdfFileCO;
|
import com.zcloud.edu.dto.clientobject.archives.ArchivesPdfFileCO;
|
||||||
|
|
@ -912,19 +913,22 @@ public class ArchivesQueryExe {
|
||||||
Map<String, Object> itemMap = PropertyUtils.describe(item);
|
Map<String, Object> itemMap = PropertyUtils.describe(item);
|
||||||
if(!ObjectUtils.isEmpty(item.getSignFaceUrl())){
|
if(!ObjectUtils.isEmpty(item.getSignFaceUrl())){
|
||||||
// PictureRenderData signPicture = Pictures.ofUrl(fileUrlConfig.getPrefixUrl() + item.getSignFaceUrl(), PictureType.JPEG).size(50, 50).create();//网络图片地址
|
// PictureRenderData signPicture = Pictures.ofUrl(fileUrlConfig.getPrefixUrl() + item.getSignFaceUrl(), PictureType.JPEG).size(50, 50).create();//网络图片地址
|
||||||
PictureRenderData signPicture = FixedPictureUtils.ofNormalUrl(fileUrlConfig.getPrefixUrl() + item.getSignFaceUrl(), 50, 50);
|
// PictureRenderData signPicture = FixedPictureUtils.ofNormalUrl(fileUrlConfig.getPrefixUrl() + item.getSignFaceUrl(), 50, 50);
|
||||||
|
PictureRenderData signPicture = ImageUtil.createWithThumbnailator(fileUrlConfig.getPrefixUrl() + item.getSignFaceUrl(), 50, 50);
|
||||||
|
|
||||||
itemMap.put("signPicture", signPicture);
|
itemMap.put("signPicture", signPicture);
|
||||||
}
|
}
|
||||||
if(!ObjectUtils.isEmpty(item.getExamFaceUrl())){
|
if(!ObjectUtils.isEmpty(item.getExamFaceUrl())){
|
||||||
// PictureRenderData examPicture = Pictures.ofUrl(fileUrlConfig.getPrefixUrl() + item.getExamFaceUrl(), PictureType.JPEG).size(50, 50).create();//网络图片地址
|
// PictureRenderData examPicture = Pictures.ofUrl(fileUrlConfig.getPrefixUrl() + item.getExamFaceUrl(), PictureType.JPEG).size(50, 50).create();//网络图片地址
|
||||||
PictureRenderData examPicture = FixedPictureUtils.ofNormalUrl(fileUrlConfig.getPrefixUrl() + item.getExamFaceUrl(), 50, 50);
|
// PictureRenderData examPicture = FixedPictureUtils.ofNormalUrl(fileUrlConfig.getPrefixUrl() + item.getExamFaceUrl(), 50, 50);
|
||||||
|
PictureRenderData examPicture = ImageUtil.createWithThumbnailator(fileUrlConfig.getPrefixUrl() + item.getExamFaceUrl(), 50, 50);
|
||||||
|
|
||||||
itemMap.put("examPicture", examPicture);
|
itemMap.put("examPicture", examPicture);
|
||||||
}
|
}
|
||||||
if(!ObjectUtils.isEmpty(item.getUserAvatarUrl())){
|
if(!ObjectUtils.isEmpty(item.getUserAvatarUrl())){
|
||||||
// PictureRenderData facePicture = Pictures.ofUrl(fileUrlConfig.getPrefixUrl() + item.getUserAvatarUrl(), PictureType.JPEG).size(50, 50).style("rotation:90;").create();//网络图片地址
|
// PictureRenderData facePicture = Pictures.ofUrl(fileUrlConfig.getPrefixUrl() + item.getUserAvatarUrl(), PictureType.JPEG).size(50, 50).style("rotation:90;").create();//网络图片地址
|
||||||
PictureRenderData facePicture = FixedPictureUtils.ofNormalUrl(fileUrlConfig.getPrefixUrl() + item.getUserAvatarUrl(), 50, 50);
|
// PictureRenderData facePicture = FixedPictureUtils.ofNormalUrl(fileUrlConfig.getPrefixUrl() + item.getUserAvatarUrl(), 50, 50);
|
||||||
|
PictureRenderData facePicture = ImageUtil.createWithThumbnailator(fileUrlConfig.getPrefixUrl() + item.getUserAvatarUrl(), 50, 50);
|
||||||
|
|
||||||
itemMap.put("facePicture", facePicture);
|
itemMap.put("facePicture", facePicture);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
package com.zcloud.edu.domain.utils;
|
||||||
|
|
||||||
|
import com.deepoove.poi.data.PictureRenderData;
|
||||||
|
import com.deepoove.poi.data.PictureType;
|
||||||
|
import com.deepoove.poi.data.Pictures;
|
||||||
|
import net.coobird.thumbnailator.Thumbnails;
|
||||||
|
|
||||||
|
import javax.imageio.ImageIO;
|
||||||
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.io.ByteArrayOutputStream;
|
||||||
|
import java.net.URL;
|
||||||
|
import net.coobird.thumbnailator.Thumbnails;
|
||||||
|
import net.coobird.thumbnailator.geometry.Positions;
|
||||||
|
public class ImageUtil {
|
||||||
|
public static PictureRenderData createWithThumbnailator(String imageUrl, int width, int height) {
|
||||||
|
try {
|
||||||
|
// 下载原图
|
||||||
|
URL url = new URL(imageUrl);
|
||||||
|
BufferedImage original = ImageIO.read(url);
|
||||||
|
|
||||||
|
// 使用Thumbnailator处理 - 一行代码搞定旋转和缩放
|
||||||
|
BufferedImage processed = Thumbnails.of(original)
|
||||||
|
.size(width, height)
|
||||||
|
.rotate(180) // 如果需要固定旋转,可以直接指定
|
||||||
|
.asBufferedImage();
|
||||||
|
|
||||||
|
// 或者使用EXIF自动旋转(如果Thumbnailator版本支持)
|
||||||
|
// Thumbnails.of(original).scale(1.0).useExifOrientation().asBufferedImage();
|
||||||
|
|
||||||
|
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||||
|
ImageIO.write(processed, "jpg", baos);
|
||||||
|
|
||||||
|
return Pictures.ofBytes(baos.toByteArray(), PictureType.JPEG)
|
||||||
|
.size(width, height)
|
||||||
|
.create();
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
return Pictures.ofUrl(imageUrl, PictureType.JPEG)
|
||||||
|
.size(width, height)
|
||||||
|
.create();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue