|
@@ -290,15 +290,18 @@ public class SunDataServiceImpl implements SunDataService {
|
|
}
|
|
}
|
|
|
|
|
|
private float getFloatFromDb(Object obj) {
|
|
private float getFloatFromDb(Object obj) {
|
|
|
|
+ if (obj == null) {
|
|
|
|
+ return 0f;
|
|
|
|
+ }
|
|
return Float.parseFloat(String.valueOf(obj));
|
|
return Float.parseFloat(String.valueOf(obj));
|
|
}
|
|
}
|
|
|
|
|
|
- private SunStaticOrderDay getSunOrderByDate(String date) {
|
|
|
|
- int i = sunUserActive2Mapper.selectActiveCountByDate(date);
|
|
|
|
|
|
+ private SunStaticOrderDay getSunOrderByDate(String startDate,String endDate) {
|
|
|
|
+ int i = sunUserActive2Mapper.selectActiveCountByDate(startDate);
|
|
if (i <= 0) {
|
|
if (i <= 0) {
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
- HashMap<String, String> map = sunUserActive2Mapper.selectRechargeByDate(date);
|
|
|
|
|
|
+ HashMap<String, String> map = sunUserActive2Mapper.selectRechargeByDate(startDate,endDate);
|
|
int recharge_count = getIntFromDb(map.get("recharge_count"));
|
|
int recharge_count = getIntFromDb(map.get("recharge_count"));
|
|
float recharge_sum = getFloatFromDb(map.get("recharge_sum"));
|
|
float recharge_sum = getFloatFromDb(map.get("recharge_sum"));
|
|
float avg = 0;
|
|
float avg = 0;
|
|
@@ -306,7 +309,7 @@ public class SunDataServiceImpl implements SunDataService {
|
|
avg = recharge_sum / recharge_count;
|
|
avg = recharge_sum / recharge_count;
|
|
}
|
|
}
|
|
SunStaticOrderDay staticOrderDay = SunStaticOrderDay.builder()
|
|
SunStaticOrderDay staticOrderDay = SunStaticOrderDay.builder()
|
|
- .staticDate(date)
|
|
|
|
|
|
+ .staticDate(startDate)
|
|
.activeCount(i)
|
|
.activeCount(i)
|
|
.rechargeUserCount(getIntFromDb(map.get("recharge_user_count")))
|
|
.rechargeUserCount(getIntFromDb(map.get("recharge_user_count")))
|
|
.rechargeCount(recharge_count)
|
|
.rechargeCount(recharge_count)
|
|
@@ -317,14 +320,14 @@ public class SunDataServiceImpl implements SunDataService {
|
|
return staticOrderDay;
|
|
return staticOrderDay;
|
|
}
|
|
}
|
|
|
|
|
|
- private List<SunStaticOrderDayChannel> getSunOrderByDateChannels(String date) {
|
|
|
|
|
|
+ private List<SunStaticOrderDayChannel> getSunOrderByDateChannels(String startDate,String endDate) {
|
|
HashMap<String, Integer> activeMap = new HashMap<>();
|
|
HashMap<String, Integer> activeMap = new HashMap<>();
|
|
- List<HashMap<String, String>> activeList = sunUserActive2Mapper.selectActiveCountByDateGroupByChannel(date);
|
|
|
|
|
|
+ List<HashMap<String, String>> activeList = sunUserActive2Mapper.selectActiveCountByDateGroupByChannel(startDate);
|
|
for (HashMap<String, String> hashMap : activeList) {
|
|
for (HashMap<String, String> hashMap : activeList) {
|
|
activeMap.put(hashMap.get("channel_id"), getIntFromDb(hashMap.get("active_user_count")));
|
|
activeMap.put(hashMap.get("channel_id"), getIntFromDb(hashMap.get("active_user_count")));
|
|
}
|
|
}
|
|
|
|
|
|
- List<HashMap<String, String>> recharges = sunUserActive2Mapper.selectRechargeByDateGroupByChannel(date);
|
|
|
|
|
|
+ List<HashMap<String, String>> recharges = sunUserActive2Mapper.selectRechargeByDateGroupByChannel(startDate,endDate);
|
|
ArrayList<SunStaticOrderDayChannel> sunStaticOrderDayChannels = new ArrayList<>();
|
|
ArrayList<SunStaticOrderDayChannel> sunStaticOrderDayChannels = new ArrayList<>();
|
|
for (HashMap<String, String> recharge : recharges) {
|
|
for (HashMap<String, String> recharge : recharges) {
|
|
int recharge_count1 = getIntFromDb(recharge.get("recharge_count"));
|
|
int recharge_count1 = getIntFromDb(recharge.get("recharge_count"));
|
|
@@ -334,7 +337,7 @@ public class SunDataServiceImpl implements SunDataService {
|
|
avg1 = recharge_sum1 / recharge_count1;
|
|
avg1 = recharge_sum1 / recharge_count1;
|
|
}
|
|
}
|
|
SunStaticOrderDayChannel dayChannel = SunStaticOrderDayChannel.builder()
|
|
SunStaticOrderDayChannel dayChannel = SunStaticOrderDayChannel.builder()
|
|
- .staticDate(date)
|
|
|
|
|
|
+ .staticDate(startDate)
|
|
.channelId(recharge.get("channel_id"))
|
|
.channelId(recharge.get("channel_id"))
|
|
.channelName(recharge.get("channel_name"))
|
|
.channelName(recharge.get("channel_name"))
|
|
.activeCount(activeMap.getOrDefault(recharge.get("channel_id"), 0))
|
|
.activeCount(activeMap.getOrDefault(recharge.get("channel_id"), 0))
|
|
@@ -350,18 +353,18 @@ public class SunDataServiceImpl implements SunDataService {
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public void orderStaticDate(String date) {
|
|
|
|
|
|
+ public void orderStaticDate(String startDate,String endDate) {
|
|
/*
|
|
/*
|
|
* 清除指定日期的统计,因为可能重新计算
|
|
* 清除指定日期的统计,因为可能重新计算
|
|
*/
|
|
*/
|
|
- sunStaticOrderDayMapper.deleteByExample(SunStaticOrderDayExample.newAndCreateCriteria().andStaticDateEqualTo(date).example());
|
|
|
|
- sunStaticOrderDayChannelMapper.deleteByExample(SunStaticOrderDayChannelExample.newAndCreateCriteria().andStaticDateEqualTo(date).example());
|
|
|
|
|
|
+ sunStaticOrderDayMapper.deleteByExample(SunStaticOrderDayExample.newAndCreateCriteria().andStaticDateEqualTo(startDate).example());
|
|
|
|
+ sunStaticOrderDayChannelMapper.deleteByExample(SunStaticOrderDayChannelExample.newAndCreateCriteria().andStaticDateEqualTo(startDate).example());
|
|
|
|
|
|
/*
|
|
/*
|
|
开始统计
|
|
开始统计
|
|
*/
|
|
*/
|
|
// 先不分渠道
|
|
// 先不分渠道
|
|
- SunStaticOrderDay staticOrderDay = getSunOrderByDate(date);
|
|
|
|
|
|
+ SunStaticOrderDay staticOrderDay = getSunOrderByDate(startDate,endDate);
|
|
if (staticOrderDay == null) {
|
|
if (staticOrderDay == null) {
|
|
return;
|
|
return;
|
|
} else {
|
|
} else {
|
|
@@ -370,12 +373,12 @@ public class SunDataServiceImpl implements SunDataService {
|
|
/*
|
|
/*
|
|
分渠道统计
|
|
分渠道统计
|
|
*/
|
|
*/
|
|
- sunStaticOrderDayChannelMapper.batchInsert(getSunOrderByDateChannels(date));
|
|
|
|
|
|
+ sunStaticOrderDayChannelMapper.batchInsert(getSunOrderByDateChannels(startDate,endDate));
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public SunStaticOrderDay getTodayOrderStatic() {
|
|
public SunStaticOrderDay getTodayOrderStatic() {
|
|
- return getSunOrderByDate(TimeUtil.getTodayStr());
|
|
|
|
|
|
+ return getSunOrderByDate(TimeUtil.getTodayStr(),TimeUtil.getTomorrowStr());
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -391,7 +394,7 @@ public class SunDataServiceImpl implements SunDataService {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public List<SunStaticOrderDayChannel> getTodayOrderStaticByChannel() {
|
|
public List<SunStaticOrderDayChannel> getTodayOrderStaticByChannel() {
|
|
- return getSunOrderByDateChannels(TimeUtil.getTodayStr());
|
|
|
|
|
|
+ return getSunOrderByDateChannels(TimeUtil.getTodayStr(),TimeUtil.getTomorrowStr());
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|