|
@@ -39,14 +39,14 @@ public class MobileRangeService {
|
|
* @param step
|
|
* @param step
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- @Cacheable(cacheNames = "userProfileCache", key = "'mobile_range_'+#p0")
|
|
|
|
|
|
+ //@Cacheable(cacheNames = "userProfileCache", key = "'mobile_range_'+#p0")
|
|
public SortedSet<String> getList(long step){
|
|
public SortedSet<String> getList(long step){
|
|
//todo
|
|
//todo
|
|
log.info("计算用户手机号范围开始.....");
|
|
log.info("计算用户手机号范围开始.....");
|
|
long startTime = System.currentTimeMillis();
|
|
long startTime = System.currentTimeMillis();
|
|
StrBuilder sqlBuilder = new StrBuilder();
|
|
StrBuilder sqlBuilder = new StrBuilder();
|
|
- sqlBuilder.appendLn("SELECT rowNumberInAllBlocks() % " + step + " as rNum, USERID")
|
|
|
|
- .appendLn("from (select DEVICE_NUMBER as USERID from ads.XXH_ALL_MONTH_LONG order by USERID) where rNum=0");
|
|
|
|
|
|
+ sqlBuilder.appendLn("SELECT rowNumberInAllBlocks() % " + (long) Math.floor(step/1000) + " as rNum, USERID")
|
|
|
|
+ .appendLn("from (select USERID from ads.CFG_ZT_USERS order by USERID) where rNum=0");
|
|
List<JSONObject> dataList = dynamicExecuteService.list(DsEnum.clickhouse, sqlBuilder.toString());
|
|
List<JSONObject> dataList = dynamicExecuteService.list(DsEnum.clickhouse, sqlBuilder.toString());
|
|
log.info("计算用户手机号范围结束.....|cost:{}s", (System.currentTimeMillis()-startTime)/1000);
|
|
log.info("计算用户手机号范围结束.....|cost:{}s", (System.currentTimeMillis()-startTime)/1000);
|
|
SortedSet<String> resultSet = new TreeSet<String>();
|
|
SortedSet<String> resultSet = new TreeSet<String>();
|