public List<Integer> getThirtyDates() {
List<Integer> weeks = new ArrayList<Integer>();
long endTime = LDateTime.getTime(LDateTime.FORMAT_YYYYMMDD, this.toDate.toString());
for(int i = 29; i > 0; i--) {
weeks.add(LDateTime.getIntDate(LDateTime.getTime4Dalay(endTime, -i)));
}
weeks.add(LDateTime.getIntDate(endTime));
return weeks;
}
public List<Integer> getTwelveWeeks() {
List<Integer> weeks = new ArrayList<Integer>();
long endTime = LDateTime.getTime(LDateTime.FORMAT_YYYYMMDD, this.toDate.toString());
for(int i = 11; i > 0; i--) {
weeks.add(LDateTime.getYearWeek(LDateTime.getTime4DelayWeek(endTime, -i)));
}
weeks.add(LDateTime.getYearWeek(endTime));
return weeks;
}
public List<Integer> getTwelveMonths() {
List<Integer> months = new ArrayList<Integer>();
long endTime = LDateTime.getTime(LDateTime.FORMAT_YYYYMMDD, this.toDate.toString());
for(int i = 11; i > 0; i--) {
months.add(LDateTime.getIntMonth(LDateTime.getTime4DelayMonth(endTime, -i)));
}
months.add(LDateTime.getIntMonth(endTime));
return months;
}
//30天收币量
param.setGameTableName(LDateTime.getBetweenMonths(startMonth1, endMonth1), GlobalCode.TABLE_NAME.GAME_DEVICE_LOG_TABLE);
List<Coins> coins = fanAwardMapper.getCoins(param);
List<Integer> thirtyDates = param.getThirtyDates();
for (Integer dates : thirtyDates) {
boolean existData = false;
int insertIndex = -1;
for (int i = 0; i < coins.size(); i++) {
Coins coins2 = coins.get(i);
if(coins2.getDateNo().intValue() == dates.intValue()) {
existData = true;
break;
} else if(coins2.getDateNo().intValue() > dates.intValue()) {
insertIndex = i;
break;
}
}
if(!existData) {
Coins coins2 = new Coins();
coins2.setDateNo(dates);
coins2.setCoin(0);
coins2.setDeviceCoin(0);
if(insertIndex == -1) coins.add(coins2);
else coins.add(insertIndex, coins2);
}
}
deviceAward.setCoins(coins);
//12周收币量
List<Coins> weekCoins = fanAwardMapper.getWeekCoins(param);
List<Integer> allweeks = param.getTwelveWeeks();
for (Integer week : allweeks) {
boolean existData = false;
int insertIndex = -1;
for (int i = 0; i < weekCoins.size(); i++) {
Coins coins = weekCoins.get(i);
if(coins.getDateNo().intValue() == week.intValue()) {
existData = true;
break;
} else if(coins.getDateNo().intValue() > week.intValue()) {
insertIndex = i;
break;
}
}
if(!existData) {
Coins coins = new Coins();
coins.setDateNo(week);
coins.setCoin(0);
coins.setDeviceCoin(0);
if(insertIndex == -1) weekCoins.add(coins);
else weekCoins.add(insertIndex, coins);
}
}
for (Coins coins : weekCoins) {
String weeks = String.valueOf(coins.getDateNo());
Integer parseInt = Integer.parseInt(weeks.substring(4));
coins.setDateNo(parseInt);
}
deviceAward.setCoins(weekCoins);
//12月收币量
List<Coins> monthCoins = fanAwardMapper.getMonthCoins(param);
List<Integer> twelveMonths = param.getTwelveMonths();
for (Integer months : twelveMonths) {
boolean existData = false;
int insertIndex = -1;
for (int i = 0; i < monthCoins.size(); i++) {
Coins coins = monthCoins.get(i);
if(coins.getDateNo().intValue() == months.intValue()) {
existData = true;
break;
} else if(coins.getDateNo().intValue() > months.intValue()) {
insertIndex = i;
break;
}
}
if(!existData) {
Coins coins = new Coins();
coins.setDateNo(months);
coins.setCoin(0);
coins.setDeviceCoin(0);
if(insertIndex == -1) monthCoins.add(coins);
else monthCoins.add(insertIndex, coins);
}
}
deviceAward.setCoins(monthCoins);