吉安感知网项目-后端
rain
2026-01-30 2ecd4539d634bc1e95cbf6294f27434127c5512e
运营收益优化去掉小数点
1 files modified
1 files added
30 ■■■■■ changed files
drone-service/drone-gd/src/main/java/org/sxkj/gd/common/BigDecimalStripTrailingZerosSerializer.java 23 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/vo/GdOperationalRevenueVo.java 7 ●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/common/BigDecimalStripTrailingZerosSerializer.java
New file
@@ -0,0 +1,23 @@
package org.sxkj.gd.common;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
import java.math.BigDecimal;
/**
 * 将bigDecimal类型字段去掉无用的小数点后单位
 */
public class BigDecimalStripTrailingZerosSerializer extends JsonSerializer<BigDecimal> {
    @Override
    public void serialize(BigDecimal value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
        if (value == null) {
            gen.writeNull();
            return;
        }
        BigDecimal stripped = value.stripTrailingZeros();
        gen.writeNumber(stripped.toPlainString());
    }
}
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/vo/GdOperationalRevenueVo.java
@@ -1,11 +1,12 @@
package org.sxkj.gd.workorder.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;
import org.sxkj.gd.common.BigDecimalStripTrailingZerosSerializer;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.io.Serializable;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
/**
@@ -15,9 +16,13 @@
public class GdOperationalRevenueVo implements Serializable {
    @JsonSerialize(using = ToStringSerializer.class)
    private String id;
    @JsonSerialize(using = BigDecimalStripTrailingZerosSerializer.class)
    private BigDecimal operatingIncome;
    @JsonSerialize(using = BigDecimalStripTrailingZerosSerializer.class)
    private BigDecimal totalCost;
    @JsonSerialize(using = BigDecimalStripTrailingZerosSerializer.class)
    private BigDecimal netProfit;
    @JsonSerialize(using = BigDecimalStripTrailingZerosSerializer.class)
    private BigDecimal financialIrr;
    private String marketSpace;
    private String nickName;