数据大屏

This commit is contained in:
hy001 2026-04-24 14:45:06 +08:00
parent 613a561e76
commit 0860b74d96
2 changed files with 14 additions and 0 deletions

View File

@ -7,6 +7,7 @@ import com.red.circle.console.infra.database.rds.dao.datav.CountryDashboardDAO;
import com.red.circle.console.infra.database.rds.dto.datav.CountryDashboardMetricDTO;
import com.red.circle.console.infra.database.rds.dto.datav.CountryDashboardUserCountryDTO;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.sql.Timestamp;
import java.time.DayOfWeek;
import java.time.LocalDate;
@ -267,6 +268,7 @@ public class CountryDashboardServiceImpl implements CountryDashboardService {
row.setLuckyGiftProfit(safe(row.getLuckyGiftTotalFlow())
.subtract(safe(row.getLuckyGiftPayout()))
.subtract(safe(row.getLuckyGiftAnchorShare())));
row.setLuckyGiftProfitRate(percent(row.getLuckyGiftProfit(), row.getLuckyGiftTotalFlow()));
row.setGameProfit(safe(row.getGameTotalFlow()).subtract(safe(row.getGamePayout())));
}
@ -302,6 +304,16 @@ public class CountryDashboardServiceImpl implements CountryDashboardService {
return value == null ? BigDecimal.ZERO : value;
}
private static BigDecimal percent(BigDecimal numerator, BigDecimal denominator) {
BigDecimal safeDenominator = safe(denominator);
if (BigDecimal.ZERO.compareTo(safeDenominator) == 0) {
return BigDecimal.ZERO;
}
return safe(numerator)
.multiply(BigDecimal.valueOf(100))
.divide(safeDenominator, 4, RoundingMode.HALF_UP);
}
private static long safeLong(Long value) {
return value == null ? 0L : value;
}

View File

@ -44,6 +44,8 @@ public class CountryDashboardMetricCO implements Serializable {
private BigDecimal luckyGiftProfit = BigDecimal.ZERO;
private BigDecimal luckyGiftProfitRate = BigDecimal.ZERO;
private BigDecimal gameTotalFlow = BigDecimal.ZERO;
private BigDecimal gamePayout = BigDecimal.ZERO;