Merge branch 'refs/heads/zcwy0813-yang' into dev0525

This commit is contained in:
yang
2024-09-09 15:43:37 +08:00
4 changed files with 25 additions and 22 deletions

View File

@@ -742,10 +742,13 @@ public class CasesApi extends ApiBaseController {
*/ */
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@GetMapping("/queryFavoriteCaseOfIndex") @GetMapping("/queryFavoriteCaseOfIndex")
public JsonResponse<PageList<FavoriteCaseDto>> queryFavoriteCaseOfIndex(Integer pageIndex,Integer pageSize,String order) { public JsonResponse<PageList<FavoriteCaseDto>> queryFavoriteCaseOfIndex(@RequestParam(required = false,defaultValue = "1") Integer pageIndex,
// String aid = this.getCurrent().getAccountId(); @RequestParam(required = false,defaultValue = "5") Integer pageSize,
String aid = "965342027497607168"; @RequestParam(required = false) String orderField,
PageList<FavoriteCaseDto> casesList = casesService.queryFavoriteCaseOfIndex(pageIndex,pageSize,order,aid); @RequestParam(required = false) Boolean orderAsc) {
// String accountId = this.getCurrent().getAccountId();
String accountId = "965342027497607168";
PageList<FavoriteCaseDto> casesList = casesService.queryFavoriteCaseOfIndex(pageIndex,pageSize,accountId,orderField,orderAsc);
return success(casesList); return success(casesList);
} }

View File

@@ -132,6 +132,6 @@ public interface ICasesService{
List<Cases> queryPopularityOfMajor(Integer pageSize, Long majorId, LocalDateTime month, String accountId); List<Cases> queryPopularityOfMajor(Integer pageSize, Long majorId, LocalDateTime month, String accountId);
PageList<FavoriteCaseDto> queryFavoriteCaseOfIndex(Integer pageIndex, Integer pageSize, String order, String aid); PageList<FavoriteCaseDto> queryFavoriteCaseOfIndex(Integer pageIndex, Integer pageSize, String accountId, String orderField, Boolean orderAsc);
} }

View File

@@ -198,12 +198,6 @@ public class CasesServiceImpl implements ICasesService {
@Override @Override
public PageList<Cases> queryPageCasesV2(CasePageVo caseVo) { public PageList<Cases> queryPageCasesV2(CasePageVo caseVo) {
String type = caseVo.getType();
if (!StrUtil.equals(type,"excellent")) {
caseVo.setOrderField("");
caseVo.setOrderAsc(null);
}
String keyword = caseVo.getKeyWord(); String keyword = caseVo.getKeyWord();
QueryBuilder query = QueryBuilder.from(Cases.class); QueryBuilder query = QueryBuilder.from(Cases.class);
PageList<Cases> page = null; PageList<Cases> page = null;
@@ -323,11 +317,7 @@ public class CasesServiceImpl implements ICasesService {
order = OrderCondition.desc(caseVo.getOrderField()); order = OrderCondition.desc(caseVo.getOrderField());
} }
} }
if (StrUtil.equals(type,"new")) {
order = OrderCondition.desc("sysCreateTime");
} else if (StrUtil.equals(type,"hot")) {
order = OrderCondition.desc("views");
}
if(Objects.nonNull(order)) { if(Objects.nonNull(order)) {
query.addOrder(order); query.addOrder(order);
} }
@@ -1368,20 +1358,29 @@ public class CasesServiceImpl implements ICasesService {
} }
@Override @Override
public PageList<FavoriteCaseDto> queryFavoriteCaseOfIndex(Integer pageIndex, Integer pageSize, String order, String aid) { public PageList<FavoriteCaseDto> queryFavoriteCaseOfIndex(Integer pageIndex, Integer pageSize, String accountId, String orderField, Boolean orderAsc) {
String from = Favorites.class.getSimpleName()+" f,"+ Cases.class.getSimpleName()+" c"; String from = Favorites.class.getSimpleName()+" f,"+ Cases.class.getSimpleName()+" c";
QueryBuilder builder = QueryBuilder.from(from); QueryBuilder builder = QueryBuilder.from(from);
builder.addFields("f.id","f.sysCreateTime","c"); builder.addFields("f.id","f.sysCreateTime","c");
builder.addFilter(FieldFilters.eqField("f.objId","c.id")); builder.addFilter(FieldFilters.eqField("f.objId","c.id"));
builder.addFilter(FieldFilters.eq("f.objType", BoedxResourceType.Case.value())); builder.addFilter(FieldFilters.eq("f.objType", BoedxResourceType.Case.value()));
builder.addFilter(FieldFilters.eq("f.sysCreateAid",aid)); builder.addFilter(FieldFilters.eq("f.sysCreateAid",accountId));
builder.addFilter(FieldFilters.eq("c.deleted", false)); builder.addFilter(FieldFilters.eq("c.deleted", false));
if ("desc".equals(order)){ if (StringUtils.isNotBlank(orderField) && orderAsc != null) {
switch (orderField) {
case "sysCreateTime":
builder.addOrder(orderAsc ? OrderCondition.asc("f.sysCreateTime") : OrderCondition.desc("f.sysCreateTime"));
break;
case "views":
builder.addOrder(orderAsc ? OrderCondition.asc("c.views") : OrderCondition.desc("c.views"));
break;
default:
break;
}
}else {
builder.addOrder(OrderCondition.desc("f.sysCreateTime")); builder.addOrder(OrderCondition.desc("f.sysCreateTime"));
}else if ("asc".equals(order)){
builder.addOrder(OrderCondition.asc("f.sysCreateTime"));
} }
builder.setPageIndex(pageIndex); builder.setPageIndex(pageIndex);
@@ -1397,7 +1396,7 @@ public class CasesServiceImpl implements ICasesService {
List<Object[]> list = pageFields.getList(); List<Object[]> list = pageFields.getList();
// 提取出 Cases 对象,添加标签 // 提取出 Cases 对象,添加标签
List<Cases> casesList = list.stream().map(o -> (Cases) o[2]).collect(Collectors.toList()); List<Cases> casesList = list.stream().map(o -> (Cases) o[2]).collect(Collectors.toList());
casesList = addTags(casesList, aid); casesList = addTags(casesList, accountId);
Map<String, Cases> caseMap = casesList.stream().collect(Collectors.toMap(Cases::getId, Function.identity())); Map<String, Cases> caseMap = casesList.stream().collect(Collectors.toMap(Cases::getId, Function.identity()));
PageList<FavoriteCaseDto> favoriteCaseDtoPageList = new PageList<>(); PageList<FavoriteCaseDto> favoriteCaseDtoPageList = new PageList<>();

View File

@@ -12,6 +12,7 @@ public class FavoriteCaseDto {
private String id; private String id;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime time; private LocalDateTime time;
/** /**