123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- //package com.yaoyicloud.render;
- //
- //import java.io.IOException;
- //import java.nio.file.Paths;
- //import java.util.Map;
- //import java.util.UUID;
- //
- //import com.deepoove.poi.config.Configure;
- //import com.deepoove.poi.config.ConfigureBuilder;
- //import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
- //import com.fasterxml.jackson.core.JsonGenerator;
- //import com.fasterxml.jackson.core.JsonProcessingException;
- //import com.fasterxml.jackson.databind.ObjectMapper;
- //import com.fasterxml.jackson.databind.SerializerProvider;
- //import com.fasterxml.jackson.databind.module.SimpleModule;
- //import com.fasterxml.jackson.databind.ser.std.StdSerializer;
- //import com.yaoyicloud.message.FxyProtos.AuditResult;
- //import com.yaoyicloud.message.FxyProtos.CheckItemScore;
- //import com.yaoyicloud.message.FxyProtos.CheckSummary;
- //
- //import cn.hutool.core.util.StrUtil;
- //
- ///**
- // * AuditResult渲染器
- // *
- // */
- //public final class AuditResultRender extends AbstractRender {
- //
- // public AuditResultRender(String cwd) {
- // super(cwd);
- // }
- //
- // /**
- // * Docx 渲染
- // *
- // * @param info 数据
- // * @param templateFileContent 模板内容
- // * @return 本地文件目录
- // * @throws IOException
- // */
- // public String renderDocx(AuditResult info, Map<String, Object> addtionalMap, byte[] templateFileContent) throws IOException {
- // ObjectMapper mapper = new ObjectMapper();
- // SimpleModule module = new SimpleModule();
- // module.addSerializer(new AuditResultSerializer(AuditResult.class));
- // module.addSerializer(new CheckItemScoreSerializer(CheckItemScore.class));
- // module.addSerializer(new CheckSummarySerializer(CheckSummary.class));
- // mapper.registerModule(module);
- //
- // String jsonStr = mapper.writeValueAsString(info);
- //
- // // 注: 报告模板的模板变量按照json序列化的结果命名
- // // 注: 目前的实现假设:一个session对应一个cwd目录
- // ConfigureBuilder builder = Configure.builder();
- // builder.bind("checkItemScores", new LoopRowTableRenderPolicy());
- // this.docxResultPath = this.renderDocx(jsonStr, addtionalMap, templateFileContent, builder,
- // Paths.get(cwd, UUID.randomUUID().toString() + ".docx").toString());
- // return this.docxResultPath;
- // }
- //
- // /*
- // * 通过序列化和反序列化
- // * 1. 默认显示规则的数据转换
- // * 2. 避免TL处理模板面对复杂数据类型
- // */
- // public class AuditResultSerializer extends StdSerializer<AuditResult> {
- //
- // public AuditResultSerializer() {
- // this(null);
- // }
- //
- // public AuditResultSerializer(Class<AuditResult> t) {
- // super(t);
- // }
- //
- // @Override
- // public void serialize(AuditResult value, JsonGenerator jgen, SerializerProvider provider)
- // throws IOException, JsonProcessingException {
- //
- // jgen.writeStartObject();
- // jgen.writeStringField("opinion", StrUtil.isBlank(value.getOpinion()) ? "-" : value.getOpinion());
- // jgen.writeStringField("serviceProviderName", value.getServiceProviderName());
- // // Note: ignore reportVersion
- // jgen.writeStringField("auditDate", value.getAuditDate());
- // jgen.writeObjectField("overallSummary", value.getOverallSummary());
- // jgen.writeObjectField("checkItemScores", value.getCheckItemScoresList());
- // jgen.writeEndObject();
- // }
- // }
- //
- // public class CheckItemScoreSerializer extends StdSerializer<CheckItemScore> {
- //
- // public CheckItemScoreSerializer() {
- // this(null);
- // }
- //
- // public CheckItemScoreSerializer(Class<CheckItemScore> t) {
- // super(t);
- // }
- //
- // @Override
- // public void serialize(CheckItemScore value, JsonGenerator jgen, SerializerProvider provider)
- // throws IOException, JsonProcessingException {
- //
- // jgen.writeStartObject();
- // jgen.writeStringField("category", StrUtil.isBlank(value.getCategory()) ? "-" : value.getCategory());
- // jgen.writeStringField("itemName", value.getItemName());
- // jgen.writeNumberField("score", value.getScore());
- // jgen.writeEndObject();
- // }
- // }
- //
- // public class CheckSummarySerializer extends StdSerializer<CheckSummary> {
- //
- // public CheckSummarySerializer() {
- // this(null);
- // }
- //
- // public CheckSummarySerializer(Class<CheckSummary> t) {
- // super(t);
- // }
- //
- // @Override
- // public void serialize(CheckSummary value, JsonGenerator jgen, SerializerProvider provider)
- // throws IOException, JsonProcessingException {
- // jgen.writeStartObject();
- // jgen.writeStringField("score", value.getScore() < 0 ? "-" : String.valueOf(value.getScore()));
- // jgen.writeStringField("riskSummary", value.getRiskSummary());
- // jgen.writeStringField("suggestion", value.getSuggestion());
- // jgen.writeEndObject();
- // }
- // }
- //}
|