|
@@ -1796,82 +1796,77 @@ public class PitcherDataServiceImpl implements IPitcherDataService {
|
|
|
amount_d27,
|
|
|
amount_d28,
|
|
|
amount_d29,
|
|
|
- amount_m1,
|
|
|
- amount_m2,
|
|
|
- amount_m3,
|
|
|
+ amount_d30,
|
|
|
+ amount_d31,
|
|
|
+ amount_d32,
|
|
|
+ amount_d33,
|
|
|
+ amount_d34,
|
|
|
+ amount_d35,
|
|
|
+ amount_d36,
|
|
|
+ amount_d37,
|
|
|
+ amount_d38,
|
|
|
+ amount_d39,
|
|
|
+ amount_d40,
|
|
|
+ amount_d41,
|
|
|
+ amount_d42,
|
|
|
+ amount_d43,
|
|
|
+ amount_d44,
|
|
|
+ amount_d45,
|
|
|
+ amount_d46,
|
|
|
+ amount_d47,
|
|
|
+ amount_d48,
|
|
|
+ amount_d49,
|
|
|
+ amount_d50,
|
|
|
+ amount_d51,
|
|
|
+ amount_d52,
|
|
|
+ amount_d53,
|
|
|
+ amount_d54,
|
|
|
+ amount_d55,
|
|
|
+ amount_d56,
|
|
|
+ amount_d57,
|
|
|
+ amount_d58,
|
|
|
+ amount_d59,
|
|
|
+ amount_d60,
|
|
|
+ amount_d61,
|
|
|
+ amount_d62,
|
|
|
+ amount_d63,
|
|
|
+ amount_d64,
|
|
|
+ amount_d65,
|
|
|
+ amount_d66,
|
|
|
+ amount_d67,
|
|
|
+ amount_d68,
|
|
|
+ amount_d69,
|
|
|
+ amount_d70,
|
|
|
+ amount_d71,
|
|
|
+ amount_d72,
|
|
|
+ amount_d73,
|
|
|
+ amount_d74,
|
|
|
+ amount_d75,
|
|
|
+ amount_d76,
|
|
|
+ amount_d77,
|
|
|
+ amount_d78,
|
|
|
+ amount_d79,
|
|
|
+ amount_d80,
|
|
|
+ amount_d81,
|
|
|
+ amount_d82,
|
|
|
+ amount_d83,
|
|
|
+ amount_d84,
|
|
|
+ amount_d85,
|
|
|
+ amount_d86,
|
|
|
+ amount_d87,
|
|
|
+ amount_d88,
|
|
|
+ amount_d89,
|
|
|
+ amount_d90,
|
|
|
+ amount_m4,
|
|
|
+ amount_m5,
|
|
|
amount_m6,
|
|
|
- amount_y1,
|
|
|
+ amount_m7,
|
|
|
+ amount_m8,
|
|
|
+ amount_m9,
|
|
|
+ amount_m10,
|
|
|
+ amount_m11,
|
|
|
+ amount_m12,
|
|
|
amount_sum,
|
|
|
- da1,
|
|
|
- da2,
|
|
|
- da3,
|
|
|
- da4,
|
|
|
- da5,
|
|
|
- da6,
|
|
|
- da7,
|
|
|
- da8,
|
|
|
- da9,
|
|
|
- da10,
|
|
|
- da11,
|
|
|
- da12,
|
|
|
- da13,
|
|
|
- da14,
|
|
|
- da15,
|
|
|
- da16,
|
|
|
- da17,
|
|
|
- da18,
|
|
|
- da19,
|
|
|
- da20,
|
|
|
- da21,
|
|
|
- da22,
|
|
|
- da23,
|
|
|
- da24,
|
|
|
- da25,
|
|
|
- da26,
|
|
|
- da27,
|
|
|
- da28,
|
|
|
- da29,
|
|
|
- da30,
|
|
|
- m2,
|
|
|
- m3,
|
|
|
- m6,
|
|
|
- y1,
|
|
|
- total,
|
|
|
- da1_num,
|
|
|
- da2_num,
|
|
|
- da3_num,
|
|
|
- da4_num,
|
|
|
- da5_num,
|
|
|
- da6_num,
|
|
|
- da7_num,
|
|
|
- da8_num,
|
|
|
- da9_num,
|
|
|
- da10_num,
|
|
|
- da11_num,
|
|
|
- da12_num,
|
|
|
- da13_num,
|
|
|
- da14_num,
|
|
|
- da15_num,
|
|
|
- da16_num,
|
|
|
- da17_num,
|
|
|
- da18_num,
|
|
|
- da19_num,
|
|
|
- da20_num,
|
|
|
- da21_num,
|
|
|
- da22_num,
|
|
|
- da23_num,
|
|
|
- da24_num,
|
|
|
- da25_num,
|
|
|
- da26_num,
|
|
|
- da27_num,
|
|
|
- da28_num,
|
|
|
- da29_num,
|
|
|
- da30_num,
|
|
|
- m2_num,
|
|
|
- m3_num,
|
|
|
- m6_num,
|
|
|
- y1_num,
|
|
|
- total_num,
|
|
|
first_role_cost,
|
|
|
new_user_total_role_cost,
|
|
|
role_num_cost,
|
|
@@ -2009,82 +2004,77 @@ public class PitcherDataServiceImpl implements IPitcherDataService {
|
|
|
amount_d27,
|
|
|
amount_d28,
|
|
|
amount_d29,
|
|
|
- amount_m1,
|
|
|
- amount_m2,
|
|
|
- amount_m3,
|
|
|
+ amount_d30,
|
|
|
+ amount_d31,
|
|
|
+ amount_d32,
|
|
|
+ amount_d33,
|
|
|
+ amount_d34,
|
|
|
+ amount_d35,
|
|
|
+ amount_d36,
|
|
|
+ amount_d37,
|
|
|
+ amount_d38,
|
|
|
+ amount_d39,
|
|
|
+ amount_d40,
|
|
|
+ amount_d41,
|
|
|
+ amount_d42,
|
|
|
+ amount_d43,
|
|
|
+ amount_d44,
|
|
|
+ amount_d45,
|
|
|
+ amount_d46,
|
|
|
+ amount_d47,
|
|
|
+ amount_d48,
|
|
|
+ amount_d49,
|
|
|
+ amount_d50,
|
|
|
+ amount_d51,
|
|
|
+ amount_d52,
|
|
|
+ amount_d53,
|
|
|
+ amount_d54,
|
|
|
+ amount_d55,
|
|
|
+ amount_d56,
|
|
|
+ amount_d57,
|
|
|
+ amount_d58,
|
|
|
+ amount_d59,
|
|
|
+ amount_d60,
|
|
|
+ amount_d61,
|
|
|
+ amount_d62,
|
|
|
+ amount_d63,
|
|
|
+ amount_d64,
|
|
|
+ amount_d65,
|
|
|
+ amount_d66,
|
|
|
+ amount_d67,
|
|
|
+ amount_d68,
|
|
|
+ amount_d69,
|
|
|
+ amount_d70,
|
|
|
+ amount_d71,
|
|
|
+ amount_d72,
|
|
|
+ amount_d73,
|
|
|
+ amount_d74,
|
|
|
+ amount_d75,
|
|
|
+ amount_d76,
|
|
|
+ amount_d77,
|
|
|
+ amount_d78,
|
|
|
+ amount_d79,
|
|
|
+ amount_d80,
|
|
|
+ amount_d81,
|
|
|
+ amount_d82,
|
|
|
+ amount_d83,
|
|
|
+ amount_d84,
|
|
|
+ amount_d85,
|
|
|
+ amount_d86,
|
|
|
+ amount_d87,
|
|
|
+ amount_d88,
|
|
|
+ amount_d89,
|
|
|
+ amount_d90,
|
|
|
+ amount_m4,
|
|
|
+ amount_m5,
|
|
|
amount_m6,
|
|
|
- amount_y1,
|
|
|
+ amount_m7,
|
|
|
+ amount_m8,
|
|
|
+ amount_m9,
|
|
|
+ amount_m10,
|
|
|
+ amount_m11,
|
|
|
+ amount_m12,
|
|
|
amount_sum,
|
|
|
- da1,
|
|
|
- da2,
|
|
|
- da3,
|
|
|
- da4,
|
|
|
- da5,
|
|
|
- da6,
|
|
|
- da7,
|
|
|
- da8,
|
|
|
- da9,
|
|
|
- da10,
|
|
|
- da11,
|
|
|
- da12,
|
|
|
- da13,
|
|
|
- da14,
|
|
|
- da15,
|
|
|
- da16,
|
|
|
- da17,
|
|
|
- da18,
|
|
|
- da19,
|
|
|
- da20,
|
|
|
- da21,
|
|
|
- da22,
|
|
|
- da23,
|
|
|
- da24,
|
|
|
- da25,
|
|
|
- da26,
|
|
|
- da27,
|
|
|
- da28,
|
|
|
- da29,
|
|
|
- da30,
|
|
|
- m2,
|
|
|
- m3,
|
|
|
- m6,
|
|
|
- y1,
|
|
|
- total,
|
|
|
- da1_num,
|
|
|
- da2_num,
|
|
|
- da3_num,
|
|
|
- da4_num,
|
|
|
- da5_num,
|
|
|
- da6_num,
|
|
|
- da7_num,
|
|
|
- da8_num,
|
|
|
- da9_num,
|
|
|
- da10_num,
|
|
|
- da11_num,
|
|
|
- da12_num,
|
|
|
- da13_num,
|
|
|
- da14_num,
|
|
|
- da15_num,
|
|
|
- da16_num,
|
|
|
- da17_num,
|
|
|
- da18_num,
|
|
|
- da19_num,
|
|
|
- da20_num,
|
|
|
- da21_num,
|
|
|
- da22_num,
|
|
|
- da23_num,
|
|
|
- da24_num,
|
|
|
- da25_num,
|
|
|
- da26_num,
|
|
|
- da27_num,
|
|
|
- da28_num,
|
|
|
- da29_num,
|
|
|
- da30_num,
|
|
|
- m2_num,
|
|
|
- m3_num,
|
|
|
- m6_num,
|
|
|
- y1_num,
|
|
|
- total_num,
|
|
|
first_role_cost,
|
|
|
new_user_total_role_cost,
|
|
|
role_num_cost,
|
|
@@ -2187,81 +2177,11 @@ public class PitcherDataServiceImpl implements IPitcherDataService {
|
|
|
ROUND(IF(SUM(cost) > 0 , SUM(da28) / SUM(cost), 0), 4) as roi28,
|
|
|
ROUND(IF(SUM(cost) > 0 , SUM(da29) / SUM(cost), 0), 4) as roi29,
|
|
|
ROUND(IF(SUM(cost) > 0 , SUM(da30) / SUM(cost), 0), 4) as roi30,
|
|
|
- ROUND(IF(SUM(cost) > 0 , SUM(m2) / SUM(cost), 0), 4) as roi60,
|
|
|
- ROUND(IF(SUM(cost) > 0 , SUM(m3) / SUM(cost), 0), 4) as roi90,
|
|
|
+ ROUND(IF(SUM(cost) > 0 , SUM(da60) / SUM(cost), 0), 4) as roi60,
|
|
|
+ ROUND(IF(SUM(cost) > 0 , SUM(da90) / SUM(cost), 0), 4) as roi90,
|
|
|
ROUND(IF(SUM(cost) > 0 , SUM(m6) / SUM(cost), 0), 4) as roi180,
|
|
|
- ROUND(IF(SUM(cost) > 0 , SUM(y1) / SUM(cost), 0), 4) as roi1yaer,
|
|
|
+ ROUND(IF(SUM(cost) > 0 , SUM(m12) / SUM(cost), 0), 4) as roi1yaer,
|
|
|
ROUND(IF(SUM(cost) > 0 , SUM(total) / SUM(cost), 0), 4) as roi_total,
|
|
|
- SUM(da1) as da1,
|
|
|
- SUM(da2) as da2,
|
|
|
- SUM(da3) as da3,
|
|
|
- SUM(da4) as da4,
|
|
|
- SUM(da5) as da5,
|
|
|
- SUM(da6) as da6,
|
|
|
- SUM(da7) as da7,
|
|
|
- SUM(da8) as da8,
|
|
|
- SUM(da9) as da9,
|
|
|
- SUM(da10) as da10,
|
|
|
- SUM(da11) as da11,
|
|
|
- SUM(da12) as da12,
|
|
|
- SUM(da13) as da13,
|
|
|
- SUM(da14) as da14,
|
|
|
- SUM(da15) as da15,
|
|
|
- SUM(da16) as da16,
|
|
|
- SUM(da17) as da17,
|
|
|
- SUM(da18) as da18,
|
|
|
- SUM(da19) as da19,
|
|
|
- SUM(da20) as da20,
|
|
|
- SUM(da21) as da21,
|
|
|
- SUM(da22) as da22,
|
|
|
- SUM(da23) as da23,
|
|
|
- SUM(da24) as da24,
|
|
|
- SUM(da25) as da25,
|
|
|
- SUM(da26) as da26,
|
|
|
- SUM(da27) as da27,
|
|
|
- SUM(da28) as da28,
|
|
|
- SUM(da29) as da29,
|
|
|
- SUM(da30) as da30,
|
|
|
- SUM(m2) as m2,
|
|
|
- SUM(m3) as m3,
|
|
|
- SUM(m6) as m6,
|
|
|
- SUM(y1) as y1,
|
|
|
- SUM(total) as total,
|
|
|
- SUM(da1_num) as da1_num,
|
|
|
- SUM(da2_num) as da2_num,
|
|
|
- SUM(da3_num) as da3_num,
|
|
|
- SUM(da4_num) as da4_num,
|
|
|
- SUM(da5_num) as da5_num,
|
|
|
- SUM(da6_num) as da6_num,
|
|
|
- SUM(da7_num) as da7_num,
|
|
|
- SUM(da8_num) as da8_num,
|
|
|
- SUM(da9_num) as da9_num,
|
|
|
- SUM(da10_num) as da10_num,
|
|
|
- SUM(da11_num) as da11_num,
|
|
|
- SUM(da12_num) as da12_num,
|
|
|
- SUM(da13_num) as da13_num,
|
|
|
- SUM(da14_num) as da14_num,
|
|
|
- SUM(da15_num) as da15_num,
|
|
|
- SUM(da16_num) as da16_num,
|
|
|
- SUM(da17_num) as da17_num,
|
|
|
- SUM(da18_num) as da18_num,
|
|
|
- SUM(da19_num) as da19_num,
|
|
|
- SUM(da20_num) as da20_num,
|
|
|
- SUM(da21_num) as da21_num,
|
|
|
- SUM(da22_num) as da22_num,
|
|
|
- SUM(da23_num) as da23_num,
|
|
|
- SUM(da24_num) as da24_num,
|
|
|
- SUM(da25_num) as da25_num,
|
|
|
- SUM(da26_num) as da26_num,
|
|
|
- SUM(da27_num) as da27_num,
|
|
|
- SUM(da28_num) as da28_num,
|
|
|
- SUM(da29_num) as da29_num,
|
|
|
- SUM(da30_num) as da30_num,
|
|
|
- SUM(m2_num) as m2_num,
|
|
|
- SUM(m3_num) as m3_num,
|
|
|
- SUM(m6_num) as m6_num,
|
|
|
- SUM(y1_num) as y1_num,
|
|
|
- SUM(total_num) as total_num,
|
|
|
""" + getPitcherGameDataDayTotalDayNsql() +
|
|
|
"""
|
|
|
FROM
|
|
@@ -2359,81 +2279,11 @@ public class PitcherDataServiceImpl implements IPitcherDataService {
|
|
|
ROUND(IF(SUM(cost) > 0 , SUM(da28) / SUM(cost), 0), 4) as roi28,
|
|
|
ROUND(IF(SUM(cost) > 0 , SUM(da29) / SUM(cost), 0), 4) as roi29,
|
|
|
ROUND(IF(SUM(cost) > 0 , SUM(da30) / SUM(cost), 0), 4) as roi30,
|
|
|
- ROUND(IF(SUM(cost) > 0 , SUM(m2) / SUM(cost), 0), 4) as roi60,
|
|
|
- ROUND(IF(SUM(cost) > 0 , SUM(m3) / SUM(cost), 0), 4) as roi90,
|
|
|
+ ROUND(IF(SUM(cost) > 0 , SUM(da60) / SUM(cost), 0), 4) as roi60,
|
|
|
+ ROUND(IF(SUM(cost) > 0 , SUM(da90) / SUM(cost), 0), 4) as roi90,
|
|
|
ROUND(IF(SUM(cost) > 0 , SUM(m6) / SUM(cost), 0), 4) as roi180,
|
|
|
- ROUND(IF(SUM(cost) > 0 , SUM(y1) / SUM(cost), 0), 4) as roi1yaer,
|
|
|
+ ROUND(IF(SUM(cost) > 0 , SUM(m12) / SUM(cost), 0), 4) as roi1yaer,
|
|
|
ROUND(IF(SUM(cost) > 0 , SUM(total) / SUM(cost), 0), 4) as roi_total,
|
|
|
- SUM(da1) as da1,
|
|
|
- SUM(da2) as da2,
|
|
|
- SUM(da3) as da3,
|
|
|
- SUM(da4) as da4,
|
|
|
- SUM(da5) as da5,
|
|
|
- SUM(da6) as da6,
|
|
|
- SUM(da7) as da7,
|
|
|
- SUM(da8) as da8,
|
|
|
- SUM(da9) as da9,
|
|
|
- SUM(da10) as da10,
|
|
|
- SUM(da11) as da11,
|
|
|
- SUM(da12) as da12,
|
|
|
- SUM(da13) as da13,
|
|
|
- SUM(da14) as da14,
|
|
|
- SUM(da15) as da15,
|
|
|
- SUM(da16) as da16,
|
|
|
- SUM(da17) as da17,
|
|
|
- SUM(da18) as da18,
|
|
|
- SUM(da19) as da19,
|
|
|
- SUM(da20) as da20,
|
|
|
- SUM(da21) as da21,
|
|
|
- SUM(da22) as da22,
|
|
|
- SUM(da23) as da23,
|
|
|
- SUM(da24) as da24,
|
|
|
- SUM(da25) as da25,
|
|
|
- SUM(da26) as da26,
|
|
|
- SUM(da27) as da27,
|
|
|
- SUM(da28) as da28,
|
|
|
- SUM(da29) as da29,
|
|
|
- SUM(da30) as da30,
|
|
|
- SUM(m2) as m2,
|
|
|
- SUM(m3) as m3,
|
|
|
- SUM(m6) as m6,
|
|
|
- SUM(y1) as y1,
|
|
|
- SUM(total) as total,
|
|
|
- SUM(da1_num) as da1_num,
|
|
|
- SUM(da2_num) as da2_num,
|
|
|
- SUM(da3_num) as da3_num,
|
|
|
- SUM(da4_num) as da4_num,
|
|
|
- SUM(da5_num) as da5_num,
|
|
|
- SUM(da6_num) as da6_num,
|
|
|
- SUM(da7_num) as da7_num,
|
|
|
- SUM(da8_num) as da8_num,
|
|
|
- SUM(da9_num) as da9_num,
|
|
|
- SUM(da10_num) as da10_num,
|
|
|
- SUM(da11_num) as da11_num,
|
|
|
- SUM(da12_num) as da12_num,
|
|
|
- SUM(da13_num) as da13_num,
|
|
|
- SUM(da14_num) as da14_num,
|
|
|
- SUM(da15_num) as da15_num,
|
|
|
- SUM(da16_num) as da16_num,
|
|
|
- SUM(da17_num) as da17_num,
|
|
|
- SUM(da18_num) as da18_num,
|
|
|
- SUM(da19_num) as da19_num,
|
|
|
- SUM(da20_num) as da20_num,
|
|
|
- SUM(da21_num) as da21_num,
|
|
|
- SUM(da22_num) as da22_num,
|
|
|
- SUM(da23_num) as da23_num,
|
|
|
- SUM(da24_num) as da24_num,
|
|
|
- SUM(da25_num) as da25_num,
|
|
|
- SUM(da26_num) as da26_num,
|
|
|
- SUM(da27_num) as da27_num,
|
|
|
- SUM(da28_num) as da28_num,
|
|
|
- SUM(da29_num) as da29_num,
|
|
|
- SUM(da30_num) as da30_num,
|
|
|
- SUM(m2_num) as m2_num,
|
|
|
- SUM(m3_num) as m3_num,
|
|
|
- SUM(m6_num) as m6_num,
|
|
|
- SUM(y1_num) as y1_num,
|
|
|
- SUM(total_num) as total_num,
|
|
|
""" + getPitcherGameDataDayTotalDayNsql() +
|
|
|
"""
|
|
|
FROM
|
|
@@ -2447,59 +2297,35 @@ public class PitcherDataServiceImpl implements IPitcherDataService {
|
|
|
*/
|
|
|
private String getPitcherGameDataDayTotalDayNsql() {
|
|
|
StringBuilder totalDayN = new StringBuilder(StringUtils.EMPTY);
|
|
|
- for (int day = 1; day <= 29 ; day++) {
|
|
|
+ for (int day = 1; day <= 90 ; day++) {
|
|
|
totalDayN.append("""
|
|
|
CONCAT(
|
|
|
- SUM(IF(DATE_ADD(dt, INTERVAL %s day) <= LocalDate.now() , CAST(SPLIT_PART(amount_d%s , '/', 1) AS DECIMAL(10, 2)), 0 )),'/',
|
|
|
- SUM(CAST(SPLIT_PART(amount_d%s, '/', 6) AS DECIMAL(10, 2))),'/',
|
|
|
- SUM(CAST(SPLIT_PART(amount_d%s, '/', 2) AS BIGINT)),'/',
|
|
|
- SUM(IF(DATE_ADD(dt, INTERVAL %s day) <= LocalDate.now(), cost, 0)),'/',
|
|
|
- SUM(IF(DATE_ADD(dt, INTERVAL %s day) <= LocalDate.now(), CAST(SPLIT_PART(amount_d1 , '/', 1) AS DECIMAL(10, 2)) , 0))
|
|
|
+ SUM(IF(DATE_ADD(dt, INTERVAL %s day) <= LocalDate.now(), SPLIT_PART(amount_d%s , '/', 1), 0)),'/',
|
|
|
+ SUM(SPLIT_PART(amount_d%s, '/', 6)),'/',
|
|
|
+ SUM(SPLIT_PART(amount_d%s, '/', 2)),'/',
|
|
|
+ SUM(IF(DATE_ADD(dt, INTERVAL %s day) <= LocalDate.now(), cost, 0)),'/',
|
|
|
+ SUM(IF(DATE_ADD(dt, INTERVAL %s day) <= LocalDate.now(), SPLIT_PART(amount_d1 , '/', 1), 0))
|
|
|
) AS amount_d%s ,
|
|
|
""".formatted(day - 1, day, day, day, day - 1, day - 1, day));
|
|
|
}
|
|
|
+ for (int month = 4; month <= 12 ; month ++) {
|
|
|
+ totalDayN.append("""
|
|
|
+ CONCAT(
|
|
|
+ SUM(IF(DATE_ADD(dt, INTERVAL %s month) <= LocalDate.now(), SPLIT_PART(amount_m%s , '/', 1), 0)),'/',
|
|
|
+ SUM(SPLIT_PART(amount_m%s, '/', 6)),'/',
|
|
|
+ SUM(SPLIT_PART(amount_m%s, '/', 2)),'/',
|
|
|
+ SUM(IF(DATE_ADD(dt, INTERVAL %s month) <= LocalDate.now(), cost, 0)),'/',
|
|
|
+ SUM(IF(DATE_ADD(dt, INTERVAL %s month) <= LocalDate.now(), SPLIT_PART(amount_d1 , '/', 1), 0))
|
|
|
+ ) AS amount_m%s ,
|
|
|
+ """.formatted(month, month, month, month, month, month, month));
|
|
|
+ }
|
|
|
totalDayN.append("""
|
|
|
CONCAT(
|
|
|
- SUM(IF(DATE_ADD(dt, INTERVAL 29 day) <= LocalDate.now() , CAST(SPLIT_PART(amount_m1 , '/', 1) AS DECIMAL(10, 2)), 0 )), '/',
|
|
|
- SUM(CAST(SPLIT_PART(amount_m1, '/', 6) AS DECIMAL(10, 2))), '/',
|
|
|
- SUM(CAST(SPLIT_PART(amount_m1, '/', 2) AS BIGINT)), '/',
|
|
|
- SUM(IF(DATE_ADD(dt, INTERVAL 29 day) <= LocalDate.now(), cost, 0)), '/',
|
|
|
- SUM(IF(DATE_ADD(dt, INTERVAL 29 day) <= LocalDate.now(), CAST(SPLIT_PART(amount_d1 , '/', 1) AS DECIMAL(10, 2)) , 0))
|
|
|
- ) AS amount_m1,
|
|
|
- CONCAT(
|
|
|
- SUM(IF(DATE_ADD(dt, INTERVAL 59 day) <= LocalDate.now() , CAST(SPLIT_PART(amount_m2 , '/', 1) AS DECIMAL(10, 2)), 0 )), '/',
|
|
|
- SUM(CAST(SPLIT_PART(amount_m2, '/', 6) AS DECIMAL(10, 2))), '/',
|
|
|
- SUM(CAST(SPLIT_PART(amount_m2, '/', 2) AS BIGINT)), '/',
|
|
|
- SUM(IF(DATE_ADD(dt, INTERVAL 59 day) <= LocalDate.now(), cost, 0)), '/',
|
|
|
- SUM(IF(DATE_ADD(dt, INTERVAL 59 day) <= LocalDate.now(), CAST(SPLIT_PART(amount_d1 , '/', 1) AS DECIMAL(10, 2)) , 0))
|
|
|
- ) AS amount_m2,
|
|
|
- CONCAT(
|
|
|
- SUM(IF(DATE_ADD(dt, INTERVAL 89 day) <= LocalDate.now() , CAST(SPLIT_PART(amount_m3 , '/', 1) AS DECIMAL(10, 2)), 0 )), '/',
|
|
|
- SUM(CAST(SPLIT_PART(amount_m3, '/', 6) AS DECIMAL(10, 2))), '/',
|
|
|
- SUM(CAST(SPLIT_PART(amount_m3, '/', 2) AS BIGINT)), '/',
|
|
|
- SUM(IF(DATE_ADD(dt, INTERVAL 89 day) <= LocalDate.now(), cost, 0)), '/',
|
|
|
- SUM(IF(DATE_ADD(dt, INTERVAL 89 day) <= LocalDate.now(), CAST(SPLIT_PART(amount_d1 , '/', 1) AS DECIMAL(10, 2)) , 0))
|
|
|
- ) AS amount_m3,
|
|
|
- CONCAT(
|
|
|
- SUM(IF(DATE_ADD(dt, INTERVAL 179 day) <= LocalDate.now() , CAST(SPLIT_PART(amount_m6 , '/', 1) AS DECIMAL(10, 2)), 0 )), '/',
|
|
|
- SUM(CAST(SPLIT_PART(amount_m6, '/', 6) AS DECIMAL(10, 2))), '/',
|
|
|
- SUM(CAST(SPLIT_PART(amount_m6, '/', 2) AS BIGINT)), '/',
|
|
|
- SUM(IF(DATE_ADD(dt, INTERVAL 179 day) <= LocalDate.now(), cost, 0)), '/',
|
|
|
- SUM(IF(DATE_ADD(dt, INTERVAL 179 day) <= LocalDate.now(), CAST(SPLIT_PART(amount_d1 , '/', 1) AS DECIMAL(10, 2)) , 0))
|
|
|
- ) AS amount_m6,
|
|
|
- CONCAT(
|
|
|
- SUM(IF(DATE_ADD(dt, INTERVAL 1 year) <= LocalDate.now() , CAST(SPLIT_PART(amount_y1 , '/', 1) AS DECIMAL(10, 2)), 0 )), '/',
|
|
|
- SUM(CAST(SPLIT_PART(amount_y1, '/', 6) AS DECIMAL(10, 2))), '/',
|
|
|
- SUM(CAST(SPLIT_PART(amount_y1, '/', 2) AS BIGINT)), '/',
|
|
|
- SUM(IF(DATE_ADD(dt, INTERVAL 1 year) <= LocalDate.now(), cost, 0)), '/',
|
|
|
- SUM(IF(DATE_ADD(dt, INTERVAL 1 year) <= LocalDate.now(), CAST(SPLIT_PART(amount_d1 , '/', 1) AS DECIMAL(10, 2)) , 0))
|
|
|
- ) AS amount_y1,
|
|
|
- CONCAT(
|
|
|
- SUM(CAST(SPLIT_PART(amount_sum , '/', 1) AS DECIMAL(10, 2))), '/',
|
|
|
- SUM(CAST(SPLIT_PART(amount_sum, '/', 6) AS DECIMAL(10, 2))), '/',
|
|
|
- SUM(CAST(SPLIT_PART(amount_sum, '/', 2) AS BIGINT)), '/',
|
|
|
+ SUM(SPLIT_PART(amount_sum, '/', 1)), '/',
|
|
|
+ SUM(SPLIT_PART(amount_sum, '/', 6)), '/',
|
|
|
+ SUM(SPLIT_PART(amount_sum, '/', 2)), '/',
|
|
|
SUM(cost), '/',
|
|
|
- SUM(CAST(SPLIT_PART(amount_d1 , '/', 1) AS DECIMAL(10, 2)))
|
|
|
+ SUM(SPLIT_PART(amount_d1 , '/', 1))
|
|
|
) AS amount_sum
|
|
|
""");
|
|
|
//返回结果
|
|
@@ -2581,13 +2407,13 @@ public class PitcherDataServiceImpl implements IPitcherDataService {
|
|
|
""" + pitcherDataTotalRoiSql() +
|
|
|
"""
|
|
|
ROUND(IF(SUM(IF(DATE_ADD(dt, INTERVAL 59 day) <= LocalDate.now(), cost, 0)) > 0 ,
|
|
|
- SUM(m2) / SUM(IF(DATE_ADD(dt, INTERVAL 59 day) <= LocalDate.now(), cost, 0)), 0), 4) as roi60,
|
|
|
+ SUM(da60) / SUM(IF(DATE_ADD(dt, INTERVAL 59 day) <= LocalDate.now(), cost, 0)), 0), 4) as roi60,
|
|
|
ROUND(IF(SUM(IF(DATE_ADD(dt, INTERVAL 89 day) <= LocalDate.now(), cost, 0)) > 0 ,
|
|
|
- SUM(m3) / SUM(IF(DATE_ADD(dt, INTERVAL 89 day) <= LocalDate.now(), cost, 0)), 0), 4) as roi90,
|
|
|
+ SUM(da90) / SUM(IF(DATE_ADD(dt, INTERVAL 89 day) <= LocalDate.now(), cost, 0)), 0), 4) as roi90,
|
|
|
ROUND(IF(SUM(IF(DATE_ADD(dt, INTERVAL 179 day) <= LocalDate.now(), cost, 0)) > 0 ,
|
|
|
SUM(m6) / SUM(IF(DATE_ADD(dt, INTERVAL 179 day) <= LocalDate.now(), cost, 0)), 0), 4) as roi180,
|
|
|
ROUND(IF(SUM(IF(DATE_ADD(dt, INTERVAL 1 year) <= LocalDate.now(), cost, 0)) > 0 ,
|
|
|
- SUM(y1) / SUM(IF(DATE_ADD(dt, INTERVAL 1 year) <= LocalDate.now(), cost, 0)), 0), 4) as roi1yaer,
|
|
|
+ SUM(m12) / SUM(IF(DATE_ADD(dt, INTERVAL 1 year) <= LocalDate.now(), cost, 0)), 0), 4) as roi1yaer,
|
|
|
ROUND(IF(SUM(cost) > 0 , SUM(total) / SUM(cost), 0), 4) as roi_total
|
|
|
FROM
|
|
|
game_ads.ads_pitcher_day
|
|
@@ -2664,7 +2490,7 @@ public class PitcherDataServiceImpl implements IPitcherDataService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 投手总数据的每日roi计算sql(投手总数据和投手总数据总计使用)
|
|
|
+ * 投手总数据的每日roi计算sql(投手总数据和投手总数据总计使用、投手游戏总数据和投手游戏总数据总计使用)
|
|
|
* @return String
|
|
|
*/
|
|
|
private String pitcherDataTotalRoiSql() {
|
|
@@ -2757,13 +2583,13 @@ public class PitcherDataServiceImpl implements IPitcherDataService {
|
|
|
""" + pitcherDataTotalRoiSql() +
|
|
|
"""
|
|
|
ROUND(IF(SUM(IF(DATE_ADD(dt, INTERVAL 59 day) <= LocalDate.now(), cost, 0)) > 0 ,
|
|
|
- SUM(m2) / SUM(IF(DATE_ADD(dt, INTERVAL 59 day) <= LocalDate.now(), cost, 0)), 0), 4) as roi60,
|
|
|
+ SUM(da60) / SUM(IF(DATE_ADD(dt, INTERVAL 59 day) <= LocalDate.now(), cost, 0)), 0), 4) as roi60,
|
|
|
ROUND(IF(SUM(IF(DATE_ADD(dt, INTERVAL 89 day) <= LocalDate.now(), cost, 0)) > 0 ,
|
|
|
- SUM(m3) / SUM(IF(DATE_ADD(dt, INTERVAL 89 day) <= LocalDate.now(), cost, 0)), 0), 4) as roi90,
|
|
|
+ SUM(da90) / SUM(IF(DATE_ADD(dt, INTERVAL 89 day) <= LocalDate.now(), cost, 0)), 0), 4) as roi90,
|
|
|
ROUND(IF(SUM(IF(DATE_ADD(dt, INTERVAL 179 day) <= LocalDate.now(), cost, 0)) > 0 ,
|
|
|
SUM(m6) / SUM(IF(DATE_ADD(dt, INTERVAL 179 day) <= LocalDate.now(), cost, 0)), 0), 4) as roi180,
|
|
|
ROUND(IF(SUM(IF(DATE_ADD(dt, INTERVAL 1 year) <= LocalDate.now(), cost, 0)) > 0 ,
|
|
|
- SUM(y1) / SUM(IF(DATE_ADD(dt, INTERVAL 1 year) <= LocalDate.now(), cost, 0)), 0), 4) as roi1yaer,
|
|
|
+ SUM(m12) / SUM(IF(DATE_ADD(dt, INTERVAL 1 year) <= LocalDate.now(), cost, 0)), 0), 4) as roi1yaer,
|
|
|
ROUND(IF(SUM(cost) > 0 , SUM(total) / SUM(cost), 0), 4) as roi_total
|
|
|
FROM
|
|
|
game_ads.ads_game_pitcher_day
|
|
@@ -2899,13 +2725,13 @@ public class PitcherDataServiceImpl implements IPitcherDataService {
|
|
|
""" + pitcherDataTotalRoiSql() +
|
|
|
"""
|
|
|
ROUND(IF(SUM(IF(DATE_ADD(dt, INTERVAL 59 day) <= LocalDate.now(), cost, 0)) > 0 ,
|
|
|
- SUM(m2) / SUM(IF(DATE_ADD(dt, INTERVAL 59 day) <= LocalDate.now(), cost, 0)), 0), 4) as roi60,
|
|
|
+ SUM(da60) / SUM(IF(DATE_ADD(dt, INTERVAL 59 day) <= LocalDate.now(), cost, 0)), 0), 4) as roi60,
|
|
|
ROUND(IF(SUM(IF(DATE_ADD(dt, INTERVAL 89 day) <= LocalDate.now(), cost, 0)) > 0 ,
|
|
|
- SUM(m3) / SUM(IF(DATE_ADD(dt, INTERVAL 89 day) <= LocalDate.now(), cost, 0)), 0), 4) as roi90,
|
|
|
+ SUM(da90) / SUM(IF(DATE_ADD(dt, INTERVAL 89 day) <= LocalDate.now(), cost, 0)), 0), 4) as roi90,
|
|
|
ROUND(IF(SUM(IF(DATE_ADD(dt, INTERVAL 179 day) <= LocalDate.now(), cost, 0)) > 0 ,
|
|
|
SUM(m6) / SUM(IF(DATE_ADD(dt, INTERVAL 179 day) <= LocalDate.now(), cost, 0)), 0), 4) as roi180,
|
|
|
ROUND(IF(SUM(IF(DATE_ADD(dt, INTERVAL 1 year) <= LocalDate.now(), cost, 0)) > 0 ,
|
|
|
- SUM(y1) / SUM(IF(DATE_ADD(dt, INTERVAL 1 year) <= LocalDate.now(), cost, 0)), 0), 4) as roi1yaer,
|
|
|
+ SUM(m12) / SUM(IF(DATE_ADD(dt, INTERVAL 1 year) <= LocalDate.now(), cost, 0)), 0), 4) as roi1yaer,
|
|
|
ROUND(IF(SUM(cost) > 0 , SUM(total) / SUM(cost), 0), 4) as roi_total
|
|
|
FROM
|
|
|
game_ads.ads_pitcher_day
|
|
@@ -2964,13 +2790,13 @@ public class PitcherDataServiceImpl implements IPitcherDataService {
|
|
|
""" + pitcherDataTotalRoiSql() +
|
|
|
"""
|
|
|
ROUND(IF(SUM(IF(DATE_ADD(dt, INTERVAL 59 day) <= LocalDate.now(), cost, 0)) > 0 ,
|
|
|
- SUM(m2) / SUM(IF(DATE_ADD(dt, INTERVAL 59 day) <= LocalDate.now(), cost, 0)), 0), 4) as roi60,
|
|
|
+ SUM(da60) / SUM(IF(DATE_ADD(dt, INTERVAL 59 day) <= LocalDate.now(), cost, 0)), 0), 4) as roi60,
|
|
|
ROUND(IF(SUM(IF(DATE_ADD(dt, INTERVAL 89 day) <= LocalDate.now(), cost, 0)) > 0 ,
|
|
|
- SUM(m3) / SUM(IF(DATE_ADD(dt, INTERVAL 89 day) <= LocalDate.now(), cost, 0)), 0), 4) as roi90,
|
|
|
+ SUM(da90) / SUM(IF(DATE_ADD(dt, INTERVAL 89 day) <= LocalDate.now(), cost, 0)), 0), 4) as roi90,
|
|
|
ROUND(IF(SUM(IF(DATE_ADD(dt, INTERVAL 179 day) <= LocalDate.now(), cost, 0)) > 0 ,
|
|
|
SUM(m6) / SUM(IF(DATE_ADD(dt, INTERVAL 179 day) <= LocalDate.now(), cost, 0)), 0), 4) as roi180,
|
|
|
ROUND(IF(SUM(IF(DATE_ADD(dt, INTERVAL 1 year) <= LocalDate.now(), cost, 0)) > 0 ,
|
|
|
- SUM(y1) / SUM(IF(DATE_ADD(dt, INTERVAL 1 year) <= LocalDate.now(), cost, 0)), 0), 4) as roi1yaer,
|
|
|
+ SUM(m12) / SUM(IF(DATE_ADD(dt, INTERVAL 1 year) <= LocalDate.now(), cost, 0)), 0), 4) as roi1yaer,
|
|
|
ROUND(IF(SUM(cost) > 0 , SUM(total) / SUM(cost), 0), 4) as roi_total
|
|
|
FROM
|
|
|
game_ads.ads_game_pitcher_day
|