|
@@ -3,6 +3,7 @@
|
|
|
*/
|
|
|
package com.platomix.userprofile.handler.core;
|
|
|
|
|
|
+import java.time.LocalDate;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
import com.platomix.userprofile.enums.DsEnum;
|
|
@@ -33,6 +34,7 @@ public class XxhLongTagHandler extends AbstractTagHandler {
|
|
|
public void invoke(String month, String mobileLeft, String mobileRight) {
|
|
|
String lrMobileSql = mobileLeft == null || mobileRight == null ? "" : String.format(" and DEVICE_NUMBER>='%s' and DEVICE_NUMBER<'%s'", mobileLeft, mobileRight);
|
|
|
StrBuilder sqlBuilder = new StrBuilder();
|
|
|
+ int year = LocalDate.now().getYear();
|
|
|
sqlBuilder.appendLn(super.buildTableSql(XXH_TABLE_NAME, null, "DEVICE_NUMBER"));
|
|
|
sqlBuilder.appendLn("select DEVICE_NUMBER ,any(PROV_DESC) PROV_DESC,");
|
|
|
sqlBuilder.appendLn("any(SERVICE_TYPE) SERVICE_TYPE,any(CUST_SEX) CUST_SEX,any(CERT_AGE) CERT_AGE,any(PRODUCT_CLASS_DESC) PRODUCT_CLASS_DESC ");
|
|
@@ -43,8 +45,8 @@ public class XxhLongTagHandler extends AbstractTagHandler {
|
|
|
sqlBuilder.appendLn(String.format(" where MONTH_ID >='202101' and DEVICE_NUMBER not in (select DEVICE_NUMBER from ads.XXH_KUAISHOU_MONTH where 1=1 %s) %s ",lrMobileSql,lrMobileSql));
|
|
|
sqlBuilder.appendLn(" union all ");
|
|
|
sqlBuilder.appendLn(" select MONTH_ID,DEVICE_NUMBER, PROV_DESC, NULL as SERVICE_TYPE,if(CUST_SEX==1,'男','女') as CUST_SEX, ");
|
|
|
- sqlBuilder.appendLn(" multiIf((2021-CERT_AGE)>=2010,'10后',(2021-CERT_AGE)>=2000,'00后',(2021-CERT_AGE)>=1990,'90后',(2021-CERT_AGE)>=1980,'80后', ");
|
|
|
- sqlBuilder.appendLn(" (2021-CERT_AGE)>=1970,'70后',(2021-CERT_AGE)<1970,'70前','未知') as CERT_AGE, ");
|
|
|
+ sqlBuilder.appendLn(" multiIf(("+year+"-CERT_AGE)>=2010,'10后',("+year+"-CERT_AGE)>=2000,'00后',("+year+"-CERT_AGE)>=1990,'90后',("+year+"-CERT_AGE)>=1980,'80后', ");
|
|
|
+ sqlBuilder.appendLn(" ("+year+"-CERT_AGE)>=1970,'70后',("+year+"-CERT_AGE)<1970,'70前','未知') as CERT_AGE, ");
|
|
|
sqlBuilder.appendLn(" PRODUCT_CLASS_DESC ");
|
|
|
sqlBuilder.appendLn(" from ads.XXH_KUAISHOU_MONTH where 1=1 " + lrMobileSql);
|
|
|
sqlBuilder.appendLn(" ) s1 ");
|