mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-10 11:26:50 +08:00
案例萃取,bug修复
This commit is contained in:
@@ -702,8 +702,8 @@ public class CasesApi extends ApiBaseController {
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
@GetMapping("/queryRecommendRank")
|
||||
public JsonResponse<List<CasesQueryRecommendRankVo>> queryRecommendRank() {
|
||||
List<CasesQueryRecommendRankVo> list = casesService.queryRecommendRank();
|
||||
public JsonResponse<List<CasesQueryRecommendRankVo>> queryRecommendRank(@RequestParam(required = false,defaultValue = "3") Integer pageSize) {
|
||||
List<CasesQueryRecommendRankVo> list = casesService.queryRecommendRank(pageSize);
|
||||
return success(list);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ import java.util.List;
|
||||
public interface CasesRecordDao extends JpaRepository<Cases, String>, JpaSpecificationExecutor<Cases> {
|
||||
@Query(nativeQuery = true, value =
|
||||
" SELECT c.* FROM ( " +
|
||||
" SELECT b.* " +
|
||||
" SELECT b.*,a.sys_create_time as recommendPushTime" +
|
||||
" FROM boe_cases_recommend_push_record a " +
|
||||
" LEFT JOIN boe_cases b ON a.case_id = b.id " +
|
||||
" WHERE b.deleted = 0 " +
|
||||
@@ -55,7 +55,8 @@ public interface CasesRecordDao extends JpaRepository<Cases, String>, JpaSpecifi
|
||||
" IF(:#{#condition.orderField}='views' and :#{#condition.orderAsc}=true,c.views, null) asc," +
|
||||
" IF(:#{#condition.orderField}='views' and :#{#condition.orderAsc}=false,c.views, null) desc," +
|
||||
" IF(:#{#condition.orderField}='sysCreateTime' and :#{#condition.orderAsc}=true ,c.sys_create_time,null) asc," +
|
||||
" IF(:#{#condition.orderField}='sysCreateTime' and :#{#condition.orderAsc}=false , c.sys_create_time,null) desc",
|
||||
" IF(:#{#condition.orderField}='sysCreateTime' and :#{#condition.orderAsc}=false , c.sys_create_time,null) desc," +
|
||||
" IF(:#{#condition.orderField}='recommendPushTime', c.recommendPushTime,null) desc",
|
||||
countQuery =
|
||||
" SELECT count(*) FROM ( " +
|
||||
" SELECT b.* " +
|
||||
@@ -90,7 +91,8 @@ public interface CasesRecordDao extends JpaRepository<Cases, String>, JpaSpecifi
|
||||
" IF(:#{#condition.orderField}='views' and :#{#condition.orderAsc}=true,c.views, null) asc," +
|
||||
" IF(:#{#condition.orderField}='views' and :#{#condition.orderAsc}=false,c.views, null) desc," +
|
||||
" IF(:#{#condition.orderField}='sysCreateTime' and :#{#condition.orderAsc}=true ,c.sys_create_time,null) asc," +
|
||||
" IF(:#{#condition.orderField}='sysCreateTime' and :#{#condition.orderAsc}=false , c.sys_create_time,null) desc"
|
||||
" IF(:#{#condition.orderField}='sysCreateTime' and :#{#condition.orderAsc}=false , c.sys_create_time,null) desc," +
|
||||
" IF(:#{#condition.orderField}='recommendPushTime', c.recommendPushTime,null) desc"
|
||||
)
|
||||
Page<Cases> queryList(Pageable pageable, @Param("condition") CasePageVo casePage);
|
||||
|
||||
|
||||
@@ -120,7 +120,7 @@ public interface ICasesService{
|
||||
|
||||
void refreshLastQuarterStatistics();
|
||||
|
||||
List<CasesQueryRecommendRankVo> queryRecommendRank();
|
||||
List<CasesQueryRecommendRankVo> queryRecommendRank(Integer pageSize);
|
||||
|
||||
void riseIntoRank(Long caseId, CurrentUser currentUser);
|
||||
|
||||
|
||||
@@ -44,7 +44,6 @@ import java.lang.reflect.Array;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
@@ -385,8 +384,12 @@ public class CasesServiceImpl implements ICasesService {
|
||||
caseVo.setOrg2(level2);
|
||||
caseVo.setOrg3(level3);
|
||||
|
||||
if (StringUtils.isBlank(caseVo.getOrderField()) || caseVo.getOrderAsc()==null || (!"sysCreateTime".equals(caseVo.getOrderField()) && !"views".equals(caseVo.getOrderField()))){
|
||||
caseVo.setOrderField("sysCreateTime");
|
||||
Set<String> validOrderFields = new HashSet<>();
|
||||
validOrderFields.add("sysCreateTime");
|
||||
validOrderFields.add("views");
|
||||
validOrderFields.add("recommendPushTime");
|
||||
if (StringUtils.isBlank(caseVo.getOrderField()) || caseVo.getOrderAsc() == null || !validOrderFields.contains(caseVo.getOrderField())) {
|
||||
caseVo.setOrderField("recommendPushTime");
|
||||
caseVo.setOrderAsc(false);
|
||||
}
|
||||
|
||||
@@ -1266,9 +1269,9 @@ public class CasesServiceImpl implements ICasesService {
|
||||
|
||||
|
||||
@Override
|
||||
public List<CasesQueryRecommendRankVo> queryRecommendRank() {
|
||||
public List<CasesQueryRecommendRankVo> queryRecommendRank(Integer pageSize) {
|
||||
QueryBuilder queryBuilder = QueryBuilder.from(Cases.class);
|
||||
queryBuilder.setPageSize(10);
|
||||
queryBuilder.setPageSize(pageSize);
|
||||
queryBuilder.addFilter(FieldFilters.eq("deleted",false));
|
||||
queryBuilder.addFilter(FieldFilters.isNotNull("recommend_rank"));
|
||||
queryBuilder.addOrder(OrderCondition.asc("recommend_rank"));
|
||||
|
||||
Reference in New Issue
Block a user