数据大屏
This commit is contained in:
parent
613a561e76
commit
0860b74d96
@ -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.CountryDashboardMetricDTO;
|
||||||
import com.red.circle.console.infra.database.rds.dto.datav.CountryDashboardUserCountryDTO;
|
import com.red.circle.console.infra.database.rds.dto.datav.CountryDashboardUserCountryDTO;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.math.RoundingMode;
|
||||||
import java.sql.Timestamp;
|
import java.sql.Timestamp;
|
||||||
import java.time.DayOfWeek;
|
import java.time.DayOfWeek;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
@ -267,6 +268,7 @@ public class CountryDashboardServiceImpl implements CountryDashboardService {
|
|||||||
row.setLuckyGiftProfit(safe(row.getLuckyGiftTotalFlow())
|
row.setLuckyGiftProfit(safe(row.getLuckyGiftTotalFlow())
|
||||||
.subtract(safe(row.getLuckyGiftPayout()))
|
.subtract(safe(row.getLuckyGiftPayout()))
|
||||||
.subtract(safe(row.getLuckyGiftAnchorShare())));
|
.subtract(safe(row.getLuckyGiftAnchorShare())));
|
||||||
|
row.setLuckyGiftProfitRate(percent(row.getLuckyGiftProfit(), row.getLuckyGiftTotalFlow()));
|
||||||
row.setGameProfit(safe(row.getGameTotalFlow()).subtract(safe(row.getGamePayout())));
|
row.setGameProfit(safe(row.getGameTotalFlow()).subtract(safe(row.getGamePayout())));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -302,6 +304,16 @@ public class CountryDashboardServiceImpl implements CountryDashboardService {
|
|||||||
return value == null ? BigDecimal.ZERO : value;
|
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) {
|
private static long safeLong(Long value) {
|
||||||
return value == null ? 0L : value;
|
return value == null ? 0L : value;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -44,6 +44,8 @@ public class CountryDashboardMetricCO implements Serializable {
|
|||||||
|
|
||||||
private BigDecimal luckyGiftProfit = BigDecimal.ZERO;
|
private BigDecimal luckyGiftProfit = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
private BigDecimal luckyGiftProfitRate = BigDecimal.ZERO;
|
||||||
|
|
||||||
private BigDecimal gameTotalFlow = BigDecimal.ZERO;
|
private BigDecimal gameTotalFlow = BigDecimal.ZERO;
|
||||||
|
|
||||||
private BigDecimal gamePayout = BigDecimal.ZERO;
|
private BigDecimal gamePayout = BigDecimal.ZERO;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user