package com.estate.expert.admin.stat.report.render;
|
|
import com.deepoove.poi.data.PictureRenderData;
|
import com.deepoove.poi.data.Pictures;
|
import com.deepoove.poi.policy.PictureRenderPolicy;
|
import com.estate.expert.admin.service.UserFileService;
|
|
/**
|
* 成都衡泰报告图片渲染策略
|
*/
|
public class ChengduHengtaiPictureRenderPolicy extends PictureRenderPolicy {
|
|
private static final int PICTURE_WIDTH = 265;
|
|
private static final int PICTURE_HEIGHT = 204;
|
|
private final UserFileService userFileService;
|
|
public ChengduHengtaiPictureRenderPolicy(UserFileService userFileService) {
|
this.userFileService = userFileService;
|
}
|
|
@Override
|
public PictureRenderData cast(Object source) throws Exception {
|
var file = userFileService.get((Integer) source);
|
if (file == null) {
|
return null;
|
}
|
var resource = userFileService.resolveResource(file);
|
if (resource == null) {
|
return null;
|
}
|
var data = Pictures.ofStream(resource.getInputStream())
|
.size(PICTURE_WIDTH, PICTURE_HEIGHT)
|
.create();
|
return super.cast(data);
|
}
|
}
|