liujie
2026-09-20 25999c575dd42b4715e49d3fe57e73c2c3204ccb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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);
    }
}