Bläddra i källkod

添加注解:Double类型统一保留3位小数

yuejiaying 4 år sedan
förälder
incheckning
045c0d74f5

+ 34 - 0
sms_water/src/main/java/com/huaxu/common/converter/Double3Serializer.java

@@ -0,0 +1,34 @@
+package com.huaxu.common.converter;
+
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.databind.JsonSerializer;
+import com.fasterxml.jackson.databind.SerializerProvider;
+
+import java.io.IOException;
+import java.text.DecimalFormat;
+
+public class Double3Serializer extends JsonSerializer<Double> {
+
+    private DecimalFormat df = new DecimalFormat("0.###");
+
+    /**
+     * 小数保留3位返回给前端序列化器
+     * @param data
+     * @param jsonGenerator
+     * @param serializerProvider
+     * @throws IOException
+     */
+    @Override
+    public void serialize(Double data, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)
+            throws IOException {
+        if (data != null) {
+            if (data == 0) {
+                jsonGenerator.writeString("0");
+            } else {
+                jsonGenerator.writeString(df.format(data));
+            }
+
+        }
+    }
+
+}

+ 6 - 0
sms_water/src/main/java/com/huaxu/dto/MonitorDataCollectDto.java

@@ -2,6 +2,8 @@ package com.huaxu.dto;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.huaxu.common.converter.Double3Serializer;
 import com.huaxu.model.ProgramItem;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiModel;
@@ -42,15 +44,19 @@ public class MonitorDataCollectDto {
     @ApiModelProperty(value = "采集时间")
     private Date collectDate;
 
+    @JsonSerialize(using = Double3Serializer.class)
     @ApiModelProperty("今日供水量or今日出水量")
     private Double yieldWaterUsage;
 
+    @JsonSerialize(using = Double3Serializer.class)
     @ApiModelProperty("今日取水量or今日进水量")
     private Double intakeWaterUsage;
 
+    @JsonSerialize(using = Double3Serializer.class)
     @ApiModelProperty("今日耗电量")
     private Double powerUsage;
 
+    @JsonSerialize(using = Double3Serializer.class)
     @ApiModelProperty("今日耗药量")
     private Double drugUsage;
 

+ 3 - 0
sms_water/src/main/java/com/huaxu/dto/MonitorDataDto.java

@@ -2,6 +2,8 @@ package com.huaxu.dto;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.huaxu.common.converter.Double3Serializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -27,6 +29,7 @@ public class MonitorDataDto implements Serializable {
     private Long attributeId;
     @ApiModelProperty(value = "设备属性名称")
     private String attributeName;
+    @JsonSerialize(using = Double3Serializer.class)
     @ApiModelProperty(value = "采集数据")
     private Double dataValue;
     @ApiModelProperty(value = "单位")

+ 6 - 0
sms_water/src/main/java/com/huaxu/dto/OnlineDataDto.java

@@ -2,6 +2,8 @@ package com.huaxu.dto;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.huaxu.common.converter.Double3Serializer;
 import com.huaxu.model.ProgramItem;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -31,15 +33,19 @@ public class OnlineDataDto {
     @ApiModelProperty("场景地址")
     private String address;
 
+    @JsonSerialize(using = Double3Serializer.class)
     @ApiModelProperty("今日供水量、今日出水量")
     private Double yieldWaterUsage;
 
+    @JsonSerialize(using = Double3Serializer.class)
     @ApiModelProperty("今日取水量、今日进水量")
     private Double intakeWaterUsage;
 
+    @JsonSerialize(using = Double3Serializer.class)
     @ApiModelProperty("今日耗电量")
     private Double powerUsage;
 
+    @JsonSerialize(using = Double3Serializer.class)
     @ApiModelProperty("今日耗药量")
     private Double drugUsage;