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")
@GetMapping("/queryFavoriteCaseOfIndex")
public JsonResponse<PageList<FavoriteCaseDto>> queryFavoriteCaseOfIndex(Integer pageIndex,Integer pageSize,String order) {
// String aid = this.getCurrent().getAccountId();
String aid = "965342027497607168";
PageList<FavoriteCaseDto> casesList = casesService.queryFavoriteCaseOfIndex(pageIndex,pageSize,order,aid);
public JsonResponse<PageList<FavoriteCaseDto>> queryFavoriteCaseOfIndex(@RequestParam(required = false,defaultValue = "1") Integer pageIndex,
@RequestParam(required = false,defaultValue = "5") Integer pageSize,
@RequestParam(required = false) String orderField,
@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);
}

View File

@@ -132,6 +132,6 @@ public interface ICasesService{
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
public PageList<Cases> queryPageCasesV2(CasePageVo caseVo) {
String type = caseVo.getType();
if (!StrUtil.equals(type,"excellent")) {
caseVo.setOrderField("");
caseVo.setOrderAsc(null);
}
String keyword = caseVo.getKeyWord();
QueryBuilder query = QueryBuilder.from(Cases.class);
PageList<Cases> page = null;
@@ -323,11 +317,7 @@ public class CasesServiceImpl implements ICasesService {
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)) {
query.addOrder(order);
}
@@ -1368,20 +1358,29 @@ public class CasesServiceImpl implements ICasesService {
}
@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";
QueryBuilder builder = QueryBuilder.from(from);
builder.addFields("f.id","f.sysCreateTime","c");
builder.addFilter(FieldFilters.eqField("f.objId","c.id"));
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));
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"));
}else if ("asc".equals(order)){
builder.addOrder(OrderCondition.asc("f.sysCreateTime"));
}
builder.setPageIndex(pageIndex);
@@ -1397,7 +1396,7 @@ public class CasesServiceImpl implements ICasesService {
List<Object[]> list = pageFields.getList();
// 提取出 Cases 对象,添加标签
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()));
PageList<FavoriteCaseDto> favoriteCaseDtoPageList = new PageList<>();

View File

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