|
@@ -9,6 +9,7 @@ import com.book.server.common.entity.PageResult;
|
|
import com.book.server.common.entity.Result;
|
|
import com.book.server.common.entity.Result;
|
|
import com.book.server.common.util.JsonUtils;
|
|
import com.book.server.common.util.JsonUtils;
|
|
import com.book.server.config.SunTypeEnum;
|
|
import com.book.server.config.SunTypeEnum;
|
|
|
|
+import com.book.server.service.CacheService;
|
|
import com.book.server.service.SunDataService;
|
|
import com.book.server.service.SunDataService;
|
|
import com.book.server.utils.DataUtil;
|
|
import com.book.server.utils.DataUtil;
|
|
import com.book.server.utils.HttpTool;
|
|
import com.book.server.utils.HttpTool;
|
|
@@ -460,7 +461,7 @@ public class SunDataServiceImpl implements SunDataService {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public List<SunStaticUserDayChannel> getTodayUserStaticByChannel() {
|
|
public List<SunStaticUserDayChannel> getTodayUserStaticByChannel() {
|
|
- return getSunUserByDateChannels(TimeUtil.getYesterdayStr(),TimeUtil.getTodayStr());
|
|
|
|
|
|
+ return getSunUserByDateChannels(TimeUtil.getTodayStr(),TimeUtil.getTomorrowStr());
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -528,43 +529,64 @@ public class SunDataServiceImpl implements SunDataService {
|
|
}
|
|
}
|
|
|
|
|
|
private List<SunStaticUserDayChannel> getSunUserByDateChannels(String startDate,String endDate) {
|
|
private List<SunStaticUserDayChannel> getSunUserByDateChannels(String startDate,String endDate) {
|
|
- HashMap<String, Integer> activeMap = new HashMap<>();
|
|
|
|
List<HashMap<String, String>> list = sunUser2Mapper.selectCountByDayChannel(startDate,endDate);
|
|
List<HashMap<String, String>> list = sunUser2Mapper.selectCountByDayChannel(startDate,endDate);
|
|
- for (HashMap<String, String> hashMap : list) {
|
|
|
|
- activeMap.put(hashMap.get("channel_id"), getIntFromDb(hashMap.get("user_count")));
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
List<HashMap<String, String>> recharges = sunUser2Mapper.selectByDayChannel(startDate, endDate);
|
|
List<HashMap<String, String>> recharges = sunUser2Mapper.selectByDayChannel(startDate, endDate);
|
|
ArrayList<SunStaticUserDayChannel> sunStaticDayChannels = new ArrayList<>();
|
|
ArrayList<SunStaticUserDayChannel> sunStaticDayChannels = new ArrayList<>();
|
|
- for (HashMap<String, String> recharge : recharges) {
|
|
|
|
- int new_recharge_user = getIntFromDb(recharge.get("new_recharge_user"));
|
|
|
|
- float new_recharge_sum = getFloatFromDb(recharge.get("new_recharge_sum"));
|
|
|
|
- int i = activeMap.get(recharge.get("channel_id"));
|
|
|
|
- float avg = 0;
|
|
|
|
- //付费率
|
|
|
|
- float rate = 0;
|
|
|
|
- if (new_recharge_sum > 0) {
|
|
|
|
- avg = new_recharge_sum / new_recharge_user;
|
|
|
|
- rate = (float)new_recharge_user / i;
|
|
|
|
|
|
+
|
|
|
|
+ for (HashMap<String, String> hashMap : list) {
|
|
|
|
+ String channel_id = hashMap.get("channel_id");
|
|
|
|
+ int user_count = getIntFromDb(hashMap.get("user_count"));
|
|
|
|
+ Optional<HashMap<String, String>> optionalHashMap = recharges.stream().filter(x -> x.get("channel_id").equals(channel_id)).findFirst();
|
|
|
|
+
|
|
|
|
+ if (optionalHashMap.isPresent()) {
|
|
|
|
+ HashMap<String, String> recharge = recharges.stream().filter(x -> x.get("channel_id").equals(channel_id)).findFirst().get();
|
|
|
|
+
|
|
|
|
+ int new_recharge_user = getIntFromDb(recharge.get("new_recharge_user"));
|
|
|
|
+ float new_recharge_sum = getFloatFromDb(recharge.get("new_recharge_sum"));
|
|
|
|
+ float avg = 0;
|
|
|
|
+ //付费率
|
|
|
|
+ float rate = 0;
|
|
|
|
+ if (new_recharge_sum > 0) {
|
|
|
|
+ avg = new_recharge_sum / new_recharge_user;
|
|
|
|
+ rate = (float) new_recharge_user / user_count;
|
|
|
|
+ }
|
|
|
|
+ SunStaticUserDayChannel day = SunStaticUserDayChannel.builder()
|
|
|
|
+ .staticDate(startDate)
|
|
|
|
+ .channelId(recharge.get("channel_id"))
|
|
|
|
+ .channelName(recharge.get("channel_name"))
|
|
|
|
+ .newAllUser(user_count)
|
|
|
|
+ .newRechargeUser(new_recharge_user)
|
|
|
|
+ .newRechargeSum(String.format("%.2f", new_recharge_sum))
|
|
|
|
+ .newRechargeCount(getIntFromDb(recharge.get("new_recharge_count")))
|
|
|
|
+ .rechargeAvg(String.format("%.2f", avg))
|
|
|
|
+ .rechargeRate(String.format("%.2f", rate))
|
|
|
|
+ .insertTime(TimeUtil.getCurrentTimestamp())
|
|
|
|
+ .price("0") // TODO
|
|
|
|
+ .build();
|
|
|
|
+ sunStaticDayChannels.add(day);
|
|
|
|
+ } else {
|
|
|
|
+ SunStaticUserDayChannel day = SunStaticUserDayChannel.builder()
|
|
|
|
+ .staticDate(startDate)
|
|
|
|
+ .channelId(channel_id)
|
|
|
|
+ .channelName(cacheService.getChannelName(channel_id))
|
|
|
|
+ .newAllUser(user_count)
|
|
|
|
+ .newRechargeUser(0)
|
|
|
|
+ .newRechargeSum("0")
|
|
|
|
+ .newRechargeCount(0)
|
|
|
|
+ .rechargeAvg("0")
|
|
|
|
+ .rechargeRate("0")
|
|
|
|
+ .insertTime(TimeUtil.getCurrentTimestamp())
|
|
|
|
+ .price("0") // TODO
|
|
|
|
+ .build();
|
|
|
|
+ sunStaticDayChannels.add(day);
|
|
}
|
|
}
|
|
- SunStaticUserDayChannel day = SunStaticUserDayChannel.builder()
|
|
|
|
- .staticDate(startDate)
|
|
|
|
- .channelId(recharge.get("channel_id"))
|
|
|
|
- .channelName(recharge.get("channel_name"))
|
|
|
|
- .newAllUser(i)
|
|
|
|
- .newRechargeUser(new_recharge_user)
|
|
|
|
- .newRechargeSum(String.format("%.2f", new_recharge_sum))
|
|
|
|
- .newRechargeCount(getIntFromDb(recharge.get("new_recharge_count")))
|
|
|
|
- .rechargeAvg(String.format("%.2f", avg))
|
|
|
|
- .rechargeRate(String.format("%.2f", rate))
|
|
|
|
- .insertTime(TimeUtil.getCurrentTimestamp())
|
|
|
|
- .price("0") // TODO
|
|
|
|
- .build();
|
|
|
|
- sunStaticDayChannels.add(day);
|
|
|
|
}
|
|
}
|
|
return sunStaticDayChannels;
|
|
return sunStaticDayChannels;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private CacheService cacheService;
|
|
|
|
+
|
|
private void handleOrder(List<String> list, Integer taskId) {
|
|
private void handleOrder(List<String> list, Integer taskId) {
|
|
SunRequest request = taskMap.get(taskId);
|
|
SunRequest request = taskMap.get(taskId);
|
|
List<SunOrder> result = new ArrayList<>();
|
|
List<SunOrder> result = new ArrayList<>();
|