@ -299,6 +299,8 @@ public class ClueJpa {
List < Timestamp > createTimeList = clueQueryCriteria . getCreateTime ( ) ;
Integer clueStage = clueQueryCriteria . getClueStage ( ) ;
List < Long > userIdList = clueQueryCriteria . getUserIdList ( ) ;
Integer clueType = clueQueryCriteria . getClueType ( ) ;
StringBuilder sql = new StringBuilder ( ) ;
sql . append ( "SELECT tc.id as id,tc.nid as nid,tc.audio_url as audioUrl,tc.create_time as createTime,tc.name as name,tc.origin as origin,tc.cast_info as castInfo , tcm.task_id as taskId,tcm.member_status as memberStatus," +
"tcm.clue_stage as clueStage,tcm.clue_call_status as clueCallStatus,tcm.member_id as memberId,tcm.source_label as sourceLabel ,tcm.turnover_amount as turnoverAmount " +
@ -329,7 +331,11 @@ public class ClueJpa {
if ( createTimeList ! = null & & createTimeList . size ( ) = = 2 ) {
sql . append ( "and tc.create_time between :createTimeBegin and :createTimeEnd " ) ;
}
if ( clueType ! = null ) {
sql . append ( "AND tcm.clue_type = :clueType " ) ;
} else {
sql . append ( "AND tcm.clue_type < :clueType " ) ;
}
//拼接最后加入时间排序,没加id排序出现数据重复问题(注意空格)
sql . append ( "ORDER BY tc.create_time desc ,tc.id " ) ;
sql . append ( "LIMIT :number,:size " ) ;
@ -357,6 +363,11 @@ public class ClueJpa {
if ( userIdList ! = null & & userIdList . size ( ) > 0 ) {
query . setParameter ( "userIdList" , userIdList ) ;
}
if ( clueType ! = null ) {
query . setParameter ( "clueType" , clueType ) ;
} else {
query . setParameter ( "clueType" , DefaultNumberConstants . FOUR_NUMBER ) ;
}
query . setParameter ( "number" , pageable . getPageNumber ( ) * pageable . getPageSize ( ) ) ;
query . setParameter ( "size" , pageable . getPageSize ( ) ) ;
}
@ -407,6 +418,7 @@ public class ClueJpa {
List < Long > userIdList = clueQueryCriteria . getUserIdList ( ) ;
Integer clueStage = clueQueryCriteria . getClueStage ( ) ;
List < Timestamp > createTimeList = clueQueryCriteria . getCreateTime ( ) ;
Integer clueType = clueQueryCriteria . getClueType ( ) ;
StringBuilder sql = new StringBuilder ( "select count(*) as countNum from tb_clue as c LEFT JOIN tb_clue_middle as cm on c.id = cm.clue_id where 1=1 " ) ;
if ( CollUtil . isNotEmpty ( taskIds ) ) {
sql . append ( "AND cm.task_id IN (:taskId) " ) ;
@ -433,6 +445,11 @@ public class ClueJpa {
if ( clueStage ! = null ) {
sql . append ( "AND cm.clue_stage = :clueStage " ) ;
}
if ( clueType ! = null ) {
sql . append ( "AND cm.clue_type = :clueType " ) ;
} else {
sql . append ( "AND cm.clue_type < :clueType " ) ;
}
}
Query query = entityManager . createNativeQuery ( sql . toString ( ) ) ;
if ( CollUtil . isNotEmpty ( taskIds ) ) {
@ -455,7 +472,11 @@ public class ClueJpa {
if ( userIdList ! = null & & userIdList . size ( ) > 0 ) {
query . setParameter ( "userIdList" , userIdList ) ;
}
if ( clueType ! = null ) {
query . setParameter ( "clueType" , clueType ) ;
} else {
query . setParameter ( "clueType" , DefaultNumberConstants . FOUR_NUMBER ) ;
}
}
query . unwrap ( NativeQuery . class ) . setResultTransformer ( Transformers . ALIAS_TO_ENTITY_MAP ) ;
List confirmReceipt = query . getResultList ( ) ;