|  | @@ -1107,42 +1107,16 @@ public class AccountAgentDayServiceImpl implements IAccountAgentDayService {
 | 
	
		
			
				|  |  |                  	round(if(sum(cost) > 0, sum(new_user_total_amount) / sum(cost), 0), 4) as today_recovery_rate,
 | 
	
		
			
				|  |  |                  	round(if(sum(cost) > 0, sum(buy_new_user_total_amount) / sum(cost), 0), 4) as buy_recovery_rate,
 | 
	
		
			
				|  |  |                  	sum(gross_profit) as gross_margin,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d1, '/', 6)) / sum(cost), 0), 4) as roi_day1,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d2, '/', 6)) / sum(cost), 0), 4) as roi_day2,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d3, '/', 6)) / sum(cost), 0), 4) as roi_day3,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d4, '/', 6)) / sum(cost), 0), 4) as roi_day4,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d5, '/', 6)) / sum(cost), 0), 4) as roi_day5,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d6, '/', 6)) / sum(cost), 0), 4) as roi_day6,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d7, '/', 6)) / sum(cost), 0), 4) as roi_day7,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d8, '/', 6)) / sum(cost), 0), 4) as roi_day8,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d9, '/', 6)) / sum(cost), 0), 4) as roi_day9,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d10, '/', 6)) / sum(cost), 0), 4) as roi_day10,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d11, '/', 6)) / sum(cost), 0), 4) as roi_day11,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d12, '/', 6)) / sum(cost), 0), 4) as roi_day12,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d13, '/', 6)) / sum(cost), 0), 4) as roi_day13,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d14, '/', 6)) / sum(cost), 0), 4) as roi_day14,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d15, '/', 6)) / sum(cost), 0), 4) as roi_day15,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d16, '/', 6)) / sum(cost), 0), 4) as roi_day16,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d17, '/', 6)) / sum(cost), 0), 4) as roi_day17,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d18, '/', 6)) / sum(cost), 0), 4) as roi_day18,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d19, '/', 6)) / sum(cost), 0), 4) as roi_day19,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d20, '/', 6)) / sum(cost), 0), 4) as roi_day20,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d21, '/', 6)) / sum(cost), 0), 4) as roi_day21,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d22, '/', 6)) / sum(cost), 0), 4) as roi_day22,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d23, '/', 6)) / sum(cost), 0), 4) as roi_day23,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d24, '/', 6)) / sum(cost), 0), 4) as roi_day24,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d25, '/', 6)) / sum(cost), 0), 4) as roi_day25,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d26, '/', 6)) / sum(cost), 0), 4) as roi_day26,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d27, '/', 6)) / sum(cost), 0), 4) as roi_day27,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d28, '/', 6)) / sum(cost), 0), 4) as roi_day28,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d29, '/', 6)) / sum(cost), 0), 4) as roi_day29,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_m1, '/', 6)) / sum(cost), 0), 4) as roi_day30,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_m2, '/', 6)) / sum(cost), 0), 4) as roi_day60,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_m3, '/', 6)) / sum(cost), 0), 4) as roi_day90,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_m6, '/', 6)) / sum(cost), 0), 4) as roi_day180,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_y1, '/', 6)) / sum(cost), 0), 4) as roi_year1,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_sum, '/', 6)) / sum(cost), 0), 4) as roi_total,
 | 
	
		
			
				|  |  | -                         """
 | 
	
		
			
				|  |  | +                	"""
 | 
	
		
			
				|  |  | +                +roiDay()+
 | 
	
		
			
				|  |  | +                """
 | 
	
		
			
				|  |  | +                     round(if(SUM(IF(DATE_ADD(dt, INTERVAL 29 DAY) > CURRENT_DATE(), 0, cost)) > 0, sum(SPLIT_PART(amount_m1, '/', 6)) / SUM(IF(DATE_ADD(dt, INTERVAL 29 DAY) > CURRENT_DATE(), 0, cost)), 0), 4) as roi_day30,
 | 
	
		
			
				|  |  | +                     round(if(SUM(IF(DATE_ADD(dt, INTERVAL 59 DAY) > CURRENT_DATE(), 0, cost)) > 0, sum(SPLIT_PART(amount_m2, '/', 6)) / SUM(IF(DATE_ADD(dt, INTERVAL 59 DAY) > CURRENT_DATE(), 0, cost)), 0), 4) as roi_day60,
 | 
	
		
			
				|  |  | +                     round(if(SUM(IF(DATE_ADD(dt, INTERVAL 89 DAY) > CURRENT_DATE(), 0, cost)) > 0, sum(SPLIT_PART(amount_m3, '/', 6)) / SUM(IF(DATE_ADD(dt, INTERVAL 89 DAY) > CURRENT_DATE(), 0, cost)), 0), 4) as roi_day90,
 | 
	
		
			
				|  |  | +                     round(if(SUM(IF(DATE_ADD(dt, INTERVAL 179 DAY) > CURRENT_DATE(), 0, cost)) > 0, sum(SPLIT_PART(amount_m6, '/', 6)) / SUM(IF(DATE_ADD(dt, INTERVAL 179 DAY) > CURRENT_DATE(), 0, cost)), 0), 4) as roi_day180,
 | 
	
		
			
				|  |  | +                     round(if(SUM(IF(DATE_ADD(dt, INTERVAL 359 DAY) > CURRENT_DATE(), 0, cost)) > 0, sum(SPLIT_PART(amount_y1, '/', 6)) / SUM(IF(DATE_ADD(dt, INTERVAL 359 DAY) > CURRENT_DATE(), 0, cost)), 0), 4) as roi_year1,
 | 
	
		
			
				|  |  | +                     round(if(SUM(cost) > 0, sum(SPLIT_PART(amount_sum, '/', 6)) / SUM(cost), 0), 4) as roi_total,
 | 
	
		
			
				|  |  | +                        """
 | 
	
		
			
				|  |  |                  +trendDay()+
 | 
	
		
			
				|  |  |                          """
 | 
	
		
			
				|  |  |                           CONCAT(SUM(CAST(SPLIT_PART(amount_m1 , '/', 1) AS DECIMAL(10, 2))),'/',SUM(CAST(SPLIT_PART(amount_m1, '/', 6) AS DECIMAL(10, 2))),'/',SUM(CAST(SPLIT_PART(amount_m1, '/', 2) AS BIGINT)),'/',
 | 
	
	
		
			
				|  | @@ -1201,6 +1175,18 @@ public class AccountAgentDayServiceImpl implements IAccountAgentDayService {
 | 
	
		
			
				|  |  |          return trendDay.toString();
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    private String roiDay() {
 | 
	
		
			
				|  |  | +        StringBuilder roiDay = new StringBuilder(StringUtils.EMPTY);
 | 
	
		
			
				|  |  | +        LocalDate now = LocalDate.now();
 | 
	
		
			
				|  |  | +        for (int day = 1; day <= 29; day++) {
 | 
	
		
			
				|  |  | +            roiDay.append("""
 | 
	
		
			
				|  |  | +                    round(if(SUM(IF(DATE_ADD(dt, INTERVAL %s DAY) > '%s', 0, cost)) > 0, sum(SPLIT_PART(amount_d%s, '/', 6)) / SUM(IF(DATE_ADD(dt, INTERVAL %s DAY) > '%s', 0, cost)), 0), 4) as roi_day%s,
 | 
	
		
			
				|  |  | +                    """
 | 
	
		
			
				|  |  | +                    .formatted(day - 1, now,day,day-1,now,day));
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return roiDay.toString();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  |       * 推广总数据SQL
 | 
	
		
			
				|  |  |       * @return
 | 
	
	
		
			
				|  | @@ -1265,41 +1251,18 @@ public class AccountAgentDayServiceImpl implements IAccountAgentDayService {
 | 
	
		
			
				|  |  |                  	round(if(sum(a.cost) > 0, sum(a.first_new_user_amount) / sum(a.cost), 0), 4) as first_recovery_rate,
 | 
	
		
			
				|  |  |                  	round(if(sum(a.cost) > 0, sum(a.new_user_total_amount) / sum(a.cost), 0), 4) as today_recovery_rate,
 | 
	
		
			
				|  |  |                  	sum(a.gross_profit) as gross_margin,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d1, '/', 6)) / sum(cost), 0), 4) as roi_day1,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d2, '/', 6)) / sum(cost), 0), 4) as roi_day2,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d3, '/', 6)) / sum(cost), 0), 4) as roi_day3,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d4, '/', 6)) / sum(cost), 0), 4) as roi_day4,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d5, '/', 6)) / sum(cost), 0), 4) as roi_day5,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d6, '/', 6)) / sum(cost), 0), 4) as roi_day6,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d7, '/', 6)) / sum(cost), 0), 4) as roi_day7,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d8, '/', 6)) / sum(cost), 0), 4) as roi_day8,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d9, '/', 6)) / sum(cost), 0), 4) as roi_day9,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d10, '/', 6)) / sum(cost), 0), 4) as roi_day10,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d11, '/', 6)) / sum(cost), 0), 4) as roi_day11,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d12, '/', 6)) / sum(cost), 0), 4) as roi_day12,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d13, '/', 6)) / sum(cost), 0), 4) as roi_day13,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d14, '/', 6)) / sum(cost), 0), 4) as roi_day14,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d15, '/', 6)) / sum(cost), 0), 4) as roi_day15,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d16, '/', 6)) / sum(cost), 0), 4) as roi_day16,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d17, '/', 6)) / sum(cost), 0), 4) as roi_day17,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d18, '/', 6)) / sum(cost), 0), 4) as roi_day18,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d19, '/', 6)) / sum(cost), 0), 4) as roi_day19,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d20, '/', 6)) / sum(cost), 0), 4) as roi_day20,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d21, '/', 6)) / sum(cost), 0), 4) as roi_day21,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d22, '/', 6)) / sum(cost), 0), 4) as roi_day22,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d23, '/', 6)) / sum(cost), 0), 4) as roi_day23,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d24, '/', 6)) / sum(cost), 0), 4) as roi_day24,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d25, '/', 6)) / sum(cost), 0), 4) as roi_day25,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d26, '/', 6)) / sum(cost), 0), 4) as roi_day26,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d27, '/', 6)) / sum(cost), 0), 4) as roi_day27,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d28, '/', 6)) / sum(cost), 0), 4) as roi_day28,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d29, '/', 6)) / sum(cost), 0), 4) as roi_day29,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_m1, '/', 6)) / sum(cost), 0), 4) as roi_day30,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_m2, '/', 6)) / sum(cost), 0), 4) as roi_day60,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_m3, '/', 6)) / sum(cost), 0), 4) as roi_day90,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_m6, '/', 6)) / sum(cost), 0), 4) as roi_day180,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_y1, '/', 6)) / sum(cost), 0), 4) as roi_year1,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_sum, '/', 6)) / sum(cost), 0), 4) as roi_total,
 | 
	
		
			
				|  |  | +                         """
 | 
	
		
			
				|  |  | +                +roiDay()+
 | 
	
		
			
				|  |  | +                  """
 | 
	
		
			
				|  |  | +                     round(if(SUM(IF(DATE_ADD(dt, INTERVAL 29 DAY) > CURRENT_DATE(), 0, cost)) > 0, sum(SPLIT_PART(amount_m1, '/', 6)) / SUM(IF(DATE_ADD(dt, INTERVAL 29 DAY) > CURRENT_DATE(), 0, cost)), 0), 4) as roi_day30,
 | 
	
		
			
				|  |  | +                     round(if(SUM(IF(DATE_ADD(dt, INTERVAL 59 DAY) > CURRENT_DATE(), 0, cost)) > 0, sum(SPLIT_PART(amount_m2, '/', 6)) / SUM(IF(DATE_ADD(dt, INTERVAL 59 DAY) > CURRENT_DATE(), 0, cost)), 0), 4) as roi_day60,
 | 
	
		
			
				|  |  | +                     round(if(SUM(IF(DATE_ADD(dt, INTERVAL 89 DAY) > CURRENT_DATE(), 0, cost)) > 0, sum(SPLIT_PART(amount_m3, '/', 6)) / SUM(IF(DATE_ADD(dt, INTERVAL 89 DAY) > CURRENT_DATE(), 0, cost)), 0), 4) as roi_day90,
 | 
	
		
			
				|  |  | +                     round(if(SUM(IF(DATE_ADD(dt, INTERVAL 179 DAY) > CURRENT_DATE(), 0, cost)) > 0, sum(SPLIT_PART(amount_m6, '/', 6)) / SUM(IF(DATE_ADD(dt, INTERVAL 179 DAY) > CURRENT_DATE(), 0, cost)), 0), 4) as roi_day180,
 | 
	
		
			
				|  |  | +                     round(if(SUM(IF(DATE_ADD(dt, INTERVAL 359 DAY) > CURRENT_DATE(), 0, cost)) > 0, sum(SPLIT_PART(amount_y1, '/', 6)) / SUM(IF(DATE_ADD(dt, INTERVAL 359 DAY) > CURRENT_DATE(), 0, cost)), 0), 4) as roi_year1,
 | 
	
		
			
				|  |  | +                     round(if(SUM(cost) > 0, sum(SPLIT_PART(amount_sum, '/', 6)) / SUM(cost), 0), 4) as roi_total,
 | 
	
		
			
				|  |  | +                 """
 | 
	
		
			
				|  |  | +                +
 | 
	
		
			
				|  |  | +                  """
 | 
	
		
			
				|  |  |                  	round(if(sum(a.register_num) > 0, sum(a.first_new_user_amount_num) / sum(a.register_num), 0), 4) as first_recharge_rate,
 | 
	
		
			
				|  |  |                  	round(if(sum(a.register_num) > 0, sum(a.new_user_total_amount_num) / sum(a.register_num), 0), 4) as today_recharge_rate,
 | 
	
		
			
				|  |  |                  	round(if(sum(a.first_new_user_amount_count) > 0, sum(a.first_new_user_amount) / sum(a.first_new_user_amount_count), 0), 4) as avg_first_user_recharge,
 | 
	
	
		
			
				|  | @@ -1380,41 +1343,18 @@ public class AccountAgentDayServiceImpl implements IAccountAgentDayService {
 | 
	
		
			
				|  |  |                  	round(if(sum(a.cost) > 0, sum(a.first_new_user_amount) / sum(a.cost), 0), 4) as first_recovery_rate,
 | 
	
		
			
				|  |  |                  	round(if(sum(a.cost) > 0, sum(a.new_user_total_amount) / sum(a.cost), 0), 4) as today_recovery_rate,
 | 
	
		
			
				|  |  |                  	sum(a.gross_profit) as gross_margin,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d1, '/', 6)) / sum(cost), 0), 4) as roi_day1,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d2, '/', 6)) / sum(cost), 0), 4) as roi_day2,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d3, '/', 6)) / sum(cost), 0), 4) as roi_day3,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d4, '/', 6)) / sum(cost), 0), 4) as roi_day4,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d5, '/', 6)) / sum(cost), 0), 4) as roi_day5,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d6, '/', 6)) / sum(cost), 0), 4) as roi_day6,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d7, '/', 6)) / sum(cost), 0), 4) as roi_day7,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d8, '/', 6)) / sum(cost), 0), 4) as roi_day8,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d9, '/', 6)) / sum(cost), 0), 4) as roi_day9,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d10, '/', 6)) / sum(cost), 0), 4) as roi_day10,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d11, '/', 6)) / sum(cost), 0), 4) as roi_day11,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d12, '/', 6)) / sum(cost), 0), 4) as roi_day12,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d13, '/', 6)) / sum(cost), 0), 4) as roi_day13,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d14, '/', 6)) / sum(cost), 0), 4) as roi_day14,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d15, '/', 6)) / sum(cost), 0), 4) as roi_day15,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d16, '/', 6)) / sum(cost), 0), 4) as roi_day16,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d17, '/', 6)) / sum(cost), 0), 4) as roi_day17,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d18, '/', 6)) / sum(cost), 0), 4) as roi_day18,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d19, '/', 6)) / sum(cost), 0), 4) as roi_day19,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d20, '/', 6)) / sum(cost), 0), 4) as roi_day20,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d21, '/', 6)) / sum(cost), 0), 4) as roi_day21,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d22, '/', 6)) / sum(cost), 0), 4) as roi_day22,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d23, '/', 6)) / sum(cost), 0), 4) as roi_day23,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d24, '/', 6)) / sum(cost), 0), 4) as roi_day24,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d25, '/', 6)) / sum(cost), 0), 4) as roi_day25,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d26, '/', 6)) / sum(cost), 0), 4) as roi_day26,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d27, '/', 6)) / sum(cost), 0), 4) as roi_day27,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d28, '/', 6)) / sum(cost), 0), 4) as roi_day28,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_d29, '/', 6)) / sum(cost), 0), 4) as roi_day29,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_m1, '/', 6)) / sum(cost), 0), 4) as roi_day30,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_m2, '/', 6)) / sum(cost), 0), 4) as roi_day60,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_m3, '/', 6)) / sum(cost), 0), 4) as roi_day90,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_m6, '/', 6)) / sum(cost), 0), 4) as roi_day180,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_y1, '/', 6)) / sum(cost), 0), 4) as roi_year1,
 | 
	
		
			
				|  |  | -                         round(if(sum(cost) > 0, sum(SPLIT_PART(amount_sum, '/', 6)) / sum(cost), 0), 4) as roi_total,
 | 
	
		
			
				|  |  | +                         """
 | 
	
		
			
				|  |  | +                +roiDay()+
 | 
	
		
			
				|  |  | +                """
 | 
	
		
			
				|  |  | +                   round(if(SUM(IF(DATE_ADD(dt, INTERVAL 29 DAY) > CURRENT_DATE(), 0, cost)) > 0, sum(SPLIT_PART(amount_m1, '/', 6)) / SUM(IF(DATE_ADD(dt, INTERVAL 29 DAY) > CURRENT_DATE(), 0, cost)), 0), 4) as roi_day30,
 | 
	
		
			
				|  |  | +                   round(if(SUM(IF(DATE_ADD(dt, INTERVAL 59 DAY) > CURRENT_DATE(), 0, cost)) > 0, sum(SPLIT_PART(amount_m2, '/', 6)) / SUM(IF(DATE_ADD(dt, INTERVAL 59 DAY) > CURRENT_DATE(), 0, cost)), 0), 4) as roi_day60,
 | 
	
		
			
				|  |  | +                   round(if(SUM(IF(DATE_ADD(dt, INTERVAL 89 DAY) > CURRENT_DATE(), 0, cost)) > 0, sum(SPLIT_PART(amount_m3, '/', 6)) / SUM(IF(DATE_ADD(dt, INTERVAL 89 DAY) > CURRENT_DATE(), 0, cost)), 0), 4) as roi_day90,
 | 
	
		
			
				|  |  | +                   round(if(SUM(IF(DATE_ADD(dt, INTERVAL 179 DAY) > CURRENT_DATE(), 0, cost)) > 0, sum(SPLIT_PART(amount_m6, '/', 6)) / SUM(IF(DATE_ADD(dt, INTERVAL 179 DAY) > CURRENT_DATE(), 0, cost)), 0), 4) as roi_day180,
 | 
	
		
			
				|  |  | +                   round(if(SUM(IF(DATE_ADD(dt, INTERVAL 359 DAY) > CURRENT_DATE(), 0, cost)) > 0, sum(SPLIT_PART(amount_y1, '/', 6)) / SUM(IF(DATE_ADD(dt, INTERVAL 359 DAY) > CURRENT_DATE(), 0, cost)), 0), 4) as roi_year1,
 | 
	
		
			
				|  |  | +                   round(if(SUM(cost) > 0, sum(SPLIT_PART(amount_sum, '/', 6)) / SUM(cost), 0), 4) as roi_total,
 | 
	
		
			
				|  |  | +               """
 | 
	
		
			
				|  |  | +                +
 | 
	
		
			
				|  |  | +                """
 | 
	
		
			
				|  |  |                  	round(if(sum(a.register_num) > 0, sum(a.first_new_user_amount_num) / sum(a.register_num), 0), 4) as first_recharge_rate,
 | 
	
		
			
				|  |  |                  	round(if(sum(a.register_num) > 0, sum(a.new_user_total_amount_num) / sum(a.register_num), 0), 4) as today_recharge_rate,
 | 
	
		
			
				|  |  |                  	round(if(sum(a.first_new_user_amount_count) > 0, sum(a.first_new_user_amount) / sum(a.first_new_user_amount_count), 0), 4) as avg_first_user_recharge,
 |