mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-16 22:36:50 +08:00
案例萃取,刷新排行与推荐案例
This commit is contained in:
@@ -27,7 +27,7 @@ public interface CasesRecordDao extends JpaRepository<Cases, String>, JpaSpecifi
|
|||||||
" FROM boe_cases_recommend_push_record a " +
|
" FROM boe_cases_recommend_push_record a " +
|
||||||
" LEFT JOIN boe_cases b ON a.case_id = b.id " +
|
" LEFT JOIN boe_cases b ON a.case_id = b.id " +
|
||||||
" WHERE b.deleted = 0 " +
|
" WHERE b.deleted = 0 " +
|
||||||
" AND a.push_status = 5 " +
|
" AND a.push_status = 3 " +
|
||||||
" AND a.deleted = 0 " +
|
" AND a.deleted = 0 " +
|
||||||
" AND a.push_user_id = :#{#condition.userId} " +
|
" AND a.push_user_id = :#{#condition.userId} " +
|
||||||
" AND IF(IFNULL(:#{#condition.keyWord}, '') != '', " +
|
" AND IF(IFNULL(:#{#condition.keyWord}, '') != '', " +
|
||||||
@@ -63,7 +63,7 @@ public interface CasesRecordDao extends JpaRepository<Cases, String>, JpaSpecifi
|
|||||||
" FROM boe_cases_recommend_push_record a " +
|
" FROM boe_cases_recommend_push_record a " +
|
||||||
" LEFT JOIN boe_cases b ON a.case_id = b.id " +
|
" LEFT JOIN boe_cases b ON a.case_id = b.id " +
|
||||||
" WHERE b.deleted = 0 " +
|
" WHERE b.deleted = 0 " +
|
||||||
" AND a.push_status = 5 " +
|
" AND a.push_status = 3 " +
|
||||||
" AND a.deleted = 0 " +
|
" AND a.deleted = 0 " +
|
||||||
" AND a.push_user_id = :#{#condition.userId} " +
|
" AND a.push_user_id = :#{#condition.userId} " +
|
||||||
" AND IF(IFNULL(:#{#condition.keyWord}, '') != '', " +
|
" AND IF(IFNULL(:#{#condition.keyWord}, '') != '', " +
|
||||||
|
|||||||
@@ -489,7 +489,7 @@ public class CasesServiceImpl implements ICasesService {
|
|||||||
String viewRankTag = time + casesRank.getMajorName() + "类浏览量TOP" + (casesRank.getRank() + 1);
|
String viewRankTag = time + casesRank.getMajorName() + "类浏览量TOP" + (casesRank.getRank() + 1);
|
||||||
|
|
||||||
CaseViewRankingItemVo caseViewRankingItemVo = new CaseViewRankingItemVo();
|
CaseViewRankingItemVo caseViewRankingItemVo = new CaseViewRankingItemVo();
|
||||||
caseViewRankingItemVo.setMajorId(casesRank.getMajorId());
|
caseViewRankingItemVo.setMajorId(String.valueOf(casesRank.getMajorId()));
|
||||||
caseViewRankingItemVo.setMajorName(casesRank.getMajorName());
|
caseViewRankingItemVo.setMajorName(casesRank.getMajorName());
|
||||||
caseViewRankingItemVo.setTagName(viewRankTag);
|
caseViewRankingItemVo.setTagName(viewRankTag);
|
||||||
caseViewRankingItemVo.setRiseRankTime(casesRank.getRiseRankTime());
|
caseViewRankingItemVo.setRiseRankTime(casesRank.getRiseRankTime());
|
||||||
@@ -1158,7 +1158,8 @@ public class CasesServiceImpl implements ICasesService {
|
|||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void refreshViewsRankOfMajor(){
|
public void refreshViewsRankOfMajor(){
|
||||||
LocalDateTime riseRankTime = LocalDateTime.now().withDayOfMonth(1).minusDays(1).toLocalDate().atTime(23, 59, 59); // 上月最后一天的结束时间
|
// LocalDateTime riseRankTime = LocalDateTime.now().withDayOfMonth(1).minusDays(1).toLocalDate().atTime(23, 59, 59); // 上月最后一天的结束时间
|
||||||
|
LocalDateTime riseRankTime = LocalDateTime.now().minusMonths(2).minusDays(1).toLocalDate().atTime(23, 59, 59); // 上月最后一天的结束时间
|
||||||
int count = casesRankDao.sqlCount("SELECT count(1) FROM boe_cases_rank WHERE deleted=0 AND rise_rank_time = ?1", riseRankTime);
|
int count = casesRankDao.sqlCount("SELECT count(1) FROM boe_cases_rank WHERE deleted=0 AND rise_rank_time = ?1", riseRankTime);
|
||||||
if (count > 0){
|
if (count > 0){
|
||||||
return;
|
return;
|
||||||
@@ -1166,14 +1167,13 @@ public class CasesServiceImpl implements ICasesService {
|
|||||||
|
|
||||||
//获取案例当月排名
|
//获取案例当月排名
|
||||||
String sql =
|
String sql =
|
||||||
"SELECT bc.id,bcmt.major_id,bc.views - COALESCE(bc.last_month_views, 0) AS increment,bc.case_owner\n" +
|
"SELECT bc.id,bcmt.major_id,bc.views - COALESCE(bc.last_month_views, 0) AS increment\n" +
|
||||||
"FROM boe_cases bc\n" +
|
"FROM boe_cases bc\n" +
|
||||||
"JOIN boe_cases_major_type bcmt ON bcmt.case_id = bc.id and bc.deleted=0";
|
"JOIN boe_cases_major_type bcmt ON bcmt.case_id = bc.id and bc.deleted=0 and file_path is not null and file_path!=''";
|
||||||
List<Object> caseListOfObject = casesDao.sqlFindList(sql);
|
List<Object> caseListOfObject = casesDao.sqlFindList(sql);
|
||||||
|
|
||||||
// 转为casesRank
|
// 转为casesRank
|
||||||
List<CasesRank> casesRankList = caseListOfObject.stream()
|
List<CasesRank> casesRankList = caseListOfObject.stream()
|
||||||
.filter(o -> Array.get(o, 3)!=null && StringUtils.isNotBlank(Array.get(o, 3).toString()))
|
|
||||||
.map(o -> {
|
.map(o -> {
|
||||||
CasesRank casesRank = new CasesRank();
|
CasesRank casesRank = new CasesRank();
|
||||||
casesRank.setCaseId(Long.valueOf(Array.get(o, 0).toString()));
|
casesRank.setCaseId(Long.valueOf(Array.get(o, 0).toString()));
|
||||||
@@ -1253,7 +1253,7 @@ public class CasesServiceImpl implements ICasesService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
LocalDateTime startTime = month.withDayOfMonth(1);
|
LocalDateTime startTime = month.withDayOfMonth(1);
|
||||||
LocalDateTime endTime = month.plusMonths(1).minusDays(1);
|
LocalDateTime endTime = month.plusMonths(1).withDayOfMonth(1).minusDays(1);
|
||||||
|
|
||||||
List<String> caseIdList = casesRankDao.findPopularityOfMajor(pageSize, startTime, endTime,majorId);
|
List<String> caseIdList = casesRankDao.findPopularityOfMajor(pageSize, startTime, endTime,majorId);
|
||||||
QueryBuilder query = QueryBuilder.from(Cases.class);
|
QueryBuilder query = QueryBuilder.from(Cases.class);
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import java.time.LocalDateTime;
|
|||||||
@Data
|
@Data
|
||||||
public class CaseViewRankingItemVo {
|
public class CaseViewRankingItemVo {
|
||||||
|
|
||||||
private Long majorId;
|
private String majorId;
|
||||||
|
|
||||||
private String majorName;
|
private String majorName;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user