Explorar o código

feat: bigDecimal格式化调整,agent应用列表接口补充字段

hidewnd hai 4 semanas
pai
achega
68a994b734

+ 1 - 0
yt-agent/agent-service/src/main/resources/mapper/AgentAppMapper.xml

@@ -64,6 +64,7 @@
             GROUP_CONCAT( acr.network_app_id ) network_app_id,
             GROUP_CONCAT( acr.network_app_name ) network_app_name,
             u.nick_name,
+            ya.revenue_display_rate,
             upu.user_id as promoter_user_id,
             upu.login_name as promoter_user_login_name,
             upu.nick_name as promoter_user_nick_name,

+ 5 - 0
yt-common/src/main/java/com/ytpm/app/model/YtDyzUser.java

@@ -1,8 +1,10 @@
 package com.ytpm.app.model;
 
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.ytpm.app.enums.LoginType;
 import com.ytpm.custom.CustomField;
 import com.ytpm.general.PageMeta;
+import com.ytpm.handle.BigDecimalSerialize;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
@@ -106,12 +108,15 @@ public class YtDyzUser extends PageMeta {
     private Integer power;
 
     @ApiModelProperty(value = "今日收益")
+    @JsonSerialize(using = BigDecimalSerialize.class)
     private BigDecimal todayIncome;
 
     @ApiModelProperty("前三日总收益")
+    @JsonSerialize(using = BigDecimalSerialize.class)
     private BigDecimal nearlyIncome;
 
     @ApiModelProperty("总收益")
+    @JsonSerialize(using = BigDecimalSerialize.class)
     private BigDecimal totalIncome;
 
     /** 今日答题数 */

+ 23 - 0
yt-common/src/main/java/com/ytpm/handle/BigDecimalSerialize.java

@@ -0,0 +1,23 @@
+package com.ytpm.handle;
+
+
+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;
+
+/**
+ * @author lih
+ * @date 2025-10-11 11:26
+ */
+public class BigDecimalSerialize extends JsonSerializer<BigDecimal> {
+
+    @Override
+    public void serialize(BigDecimal bigDecimal, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
+        if (bigDecimal != null) {
+            jsonGenerator.writeString(bigDecimal.stripTrailingZeros().toPlainString());
+        }
+    }
+}

+ 3 - 2
yt-question/yt-question-service/src/main/java/com/ytpm/question/controller/UserController.java

@@ -171,8 +171,9 @@ public class UserController {
             BigDecimal totalRevenue = user.getTotalIncome() == null ? adRecordMapper.getToTalRevenue(userId, 2) : user.getTotalIncome();
             if (StrUtil.isNotEmpty(revenueDisplayRate)) {
                 BigDecimal rate = NumberUtils.rateToBigDecimal(revenueDisplayRate);
-                todayRevenue = todayRevenue.multiply(rate).setScale(5, RoundingMode.HALF_UP);
-                totalRevenue = totalRevenue.multiply(rate).setScale(5, RoundingMode.HALF_UP);
+                int revenueScale = 2;
+                todayRevenue = todayRevenue.multiply(rate).setScale(revenueScale, RoundingMode.HALF_UP).stripTrailingZeros();
+                totalRevenue = totalRevenue.multiply(rate).setScale(revenueScale, RoundingMode.HALF_UP).stripTrailingZeros();
             }
             // 今日收益
             user.setTodayIncome(todayRevenue);