This commit is contained in:
张良(004796)
2024-02-04 18:52:07 +08:00
parent 684216368c
commit 9e29c5f321
22 changed files with 700 additions and 11 deletions

View File

@@ -11,6 +11,9 @@ import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.concurrent.TimeUnit;
/**
* 用户每日发送统计
*/
@Component
public class DynamicTotalCache {

View File

@@ -0,0 +1,60 @@
package com.ruoyi.cai.cache;
import com.ruoyi.cai.cache.bean.RechargeTotalCacheBean;
import com.ruoyi.cai.constant.RedisHttpConstant;
import com.ruoyi.common.utils.MapGetUtil;
import org.redisson.api.RMap;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.time.Duration;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Map;
/**
* 每日充值统计
*/
@Component
public class RechargeTotalCache {
@Autowired
private RedissonClient redissonClient;
public String getKey(LocalDate date){
String now = date.format(DateTimeFormatter.ofPattern("yyyyMMdd"));
return String.format(RedisHttpConstant.RECHARGE_TOTAL_CACHE_REDIS,now);
}
public void add(BigDecimal amount){
String key = getKey(LocalDate.now());
RMap<String, Object> map = redissonClient.getMap(key);
map.addAndGet("amount",amount.doubleValue());
map.addAndGet("num",1);
map.expireAsync(Duration.ofDays(3));
}
public RechargeTotalCacheBean get(LocalDate date){
String key = getKey(date);
RMap<String, Object> map = redissonClient.getMap(key);
Map<String, Object> allMap = map.readAllMap();
Object amountObj = allMap.getOrDefault("amount", 0.0D);
BigDecimal amount = MapGetUtil.getBigDecimal(amountObj);
Object numObj = allMap.getOrDefault("num", 0);
Long num = MapGetUtil.getLong(numObj);
RechargeTotalCacheBean rechargeTotalCacheBean = new RechargeTotalCacheBean();
rechargeTotalCacheBean.setAmount(amount);
rechargeTotalCacheBean.setNum(num);
return rechargeTotalCacheBean;
}
public RechargeTotalCacheBean getToday(){
return get(LocalDate.now());
}
public RechargeTotalCacheBean getLastToday(){
return get(LocalDate.now().plusDays(-1));
}
}

View File

@@ -0,0 +1,60 @@
package com.ruoyi.cai.cache;
import com.ruoyi.cai.cache.bean.WithdrawTotalCacheBean;
import com.ruoyi.cai.constant.RedisHttpConstant;
import com.ruoyi.common.utils.MapGetUtil;
import org.redisson.api.RMap;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.time.Duration;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Map;
/**
* 每日充值统计
*/
@Component
public class WithdrawTotalCache {
@Autowired
private RedissonClient redissonClient;
public String getKey(LocalDate date){
String now = date.format(DateTimeFormatter.ofPattern("yyyyMMdd"));
return String.format(RedisHttpConstant.WITHDRAW_TOTAL_CACHE_REDIS,now);
}
public void add(BigDecimal amount){
String key = getKey(LocalDate.now());
RMap<String, Object> map = redissonClient.getMap(key);
map.addAndGet("amount",amount.doubleValue());
map.addAndGet("num",1);
map.expireAsync(Duration.ofDays(3));
}
public WithdrawTotalCacheBean get(LocalDate date){
String key = getKey(date);
RMap<String, Object> map = redissonClient.getMap(key);
Map<String, Object> allMap = map.readAllMap();
Object amountObj = allMap.getOrDefault("amount", 0.0D);
BigDecimal amount = MapGetUtil.getBigDecimal(amountObj);
Object numObj = allMap.getOrDefault("num", 0);
Long num = MapGetUtil.getLong(numObj);
WithdrawTotalCacheBean bean = new WithdrawTotalCacheBean();
bean.setAmount(amount);
bean.setNum(num);
return bean;
}
public WithdrawTotalCacheBean getToday(){
return get(LocalDate.now());
}
public WithdrawTotalCacheBean getLastToday(){
return get(LocalDate.now().plusDays(-1));
}
}

View File

@@ -0,0 +1,11 @@
package com.ruoyi.cai.cache.bean;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class RechargeTotalCacheBean {
private BigDecimal amount;
private Long num;
}

View File

@@ -0,0 +1,11 @@
package com.ruoyi.cai.cache.bean;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class WithdrawTotalCacheBean {
private BigDecimal amount;
private Long num;
}