Merge branch 'master' of D:\ideaProject\ad-callback with conflicts.

master
wujingtao 3 years ago
parent 1937507f4c
commit 8996193d9b

@ -117,7 +117,7 @@ public class DmpMonitorNumServiceImpl implements DmpMonitorNumService {
listAll.addAll(getImeiNumJpa(TableEnum.BD.getTableName(), startTime, endTime, bdArray, flag));
}
if (CollUtil.isNotEmpty(gdArray)) {
listAll.addAll(getImeiNumJpa(TableEnum.GD.getTableName(), startTime, endTime, gdArray, flag));
listAll.addAll(getGdtNumJpa(TableEnum.GD.getTableName(), startTime, endTime, gdArray, flag));
}
return listAll;
}
@ -156,6 +156,16 @@ public class DmpMonitorNumServiceImpl implements DmpMonitorNumService {
return list;
}
/**
* sql
*
* @param tableName
* @param startDate
* @param endDate
* @param tags
* @param flag
* @return
*/
@Transactional(rollbackFor = Exception.class)
public List<DmpMonitorJpaDto> getImeiNumJpa(String tableName, Date startDate, Date endDate, List<String> tags, Integer flag) {
String sql = getSqlString(tableName, flag);
@ -193,6 +203,63 @@ public class DmpMonitorNumServiceImpl implements DmpMonitorNumService {
return sql.toString();
}
/**
* 广
*
* @param tableName
* @param startDate
* @param endDate
* @param tags
* @param flag
* @return
*/
@Transactional(rollbackFor = Exception.class)
public List<DmpMonitorJpaDto> getGdtNumJpa(String tableName, Date startDate, Date endDate, List<String> tags, Integer flag) {
String sql = getGdtSqlString(tableName, flag);
Query query = entityManager.createNativeQuery(sql);
query.setParameter("muid1", "");
query.setParameter("muid2", "__IMEI__");
query.setParameter("startDate", startDate);
query.setParameter("endDate", endDate);
query.setParameter("deviceOsType", "android");
query.setParameter("tag", tags);
query.unwrap(NativeQueryImpl.class).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
List list = query.getResultList();
return getDmpMonitorJpaDto(list, flag);
}
/**
* 广sql
*
* @param tableName
* @param flag
* @return
*/
private String getGdtSqlString(String tableName, Integer flag) {
StringBuilder sql = new StringBuilder();
if (1 == flag) {
sql.append(" select a.tag,a.date as date ,COUNT(*) as num FROM ( SELECT tb.muid,tb.tag ,substring_index(group_concat(DATE_FORMAT( tb.gmt_create, '%Y-%m-%d' )),',',-1) AS date FROM ").append(tableName).append(" as tb where ");
sql.append(" tb.muid != :muid1 ");
sql.append(" and tb.muid != :muid2 ");
sql.append(" and tb.gmt_create >= :startDate ");
sql.append(" and tb.gmt_create < :endDate ");
sql.append(" and tb.device_os_type = :deviceOsType ");
sql.append(" and tb.tag in :tag ");
sql.append(" group by muid,tag");
sql.append(" ) a group by a.tag,a.date");
} else {
sql.append("select substring_index(group_concat( DATE_FORMAT( tb.gmt_create, '%Y-%m-%d' )),',',-1) as date ,tb.muid as imei ,tb.tag as tag from ").append(tableName).append(" as tb where");
sql.append(" tb.muid != :muid1 ");
sql.append(" and tb.muid != :muid2 ");
sql.append(" and tb.gmt_create >= :startDate ");
sql.append(" and tb.gmt_create < :endDate ");
sql.append(" and tb.device_os_type = :deviceOsType ");
sql.append(" and tb.tag in :tag ");
sql.append(" group by tb.muid,tb.tag");
}
return sql.toString();
}
private List<DmpMonitorJpaDto> getDmpMonitorJpaDto(List list, Integer flag) {
List<DmpMonitorJpaDto> tradeList = new ArrayList<>();
for (Object obj : list) {

@ -31,7 +31,7 @@ spring:
ddl-auto: none
dialect: org.hibernate.dialect.MySQL5InnoDBDialect
open-in-view: true
show-sql: true
redis:
#数据库索引
database: 0

Loading…
Cancel
Save