|
@@ -16,7 +16,11 @@ import io.swagger.annotations.ApiOperation;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
|
|
|
|
+import java.util.Collections;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
+import java.util.Map;
|
|
|
|
|
+import java.util.Objects;
|
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 新闻发布Controller
|
|
* 新闻发布Controller
|
|
@@ -56,15 +60,31 @@ public class CrmNewsReleaseController extends BaseController {
|
|
|
|
|
|
|
|
@GetMapping("/getList")
|
|
@GetMapping("/getList")
|
|
|
@ApiOperation(value = "新闻发布查询所有")
|
|
@ApiOperation(value = "新闻发布查询所有")
|
|
|
- public AjaxResult getList(String conditionJson) throws Exception {
|
|
|
|
|
- List<CrmNewsRelease> list = service.list(SearchUtil.parseWhereSql(conditionJson));
|
|
|
|
|
- for(CrmNewsRelease entity : list){
|
|
|
|
|
- List<CrmFile> crmFile = crmFileService.selectByFid(entity.getId());
|
|
|
|
|
- if(crmFile != null) {
|
|
|
|
|
- entity.setFiles(crmFile);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ public AjaxResult getList(@RequestParam(required = false) String conditionJson) throws Exception {
|
|
|
|
|
+ // 解析查询条件
|
|
|
|
|
+ List<CrmNewsRelease> newsList = service.list(SearchUtil.parseWhereSql(conditionJson));
|
|
|
|
|
+
|
|
|
|
|
+ if (newsList.isEmpty()) {
|
|
|
|
|
+ return AjaxResult.success(Collections.emptyList());
|
|
|
}
|
|
}
|
|
|
- return AjaxResult.success(list);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // 收集所有新闻ID
|
|
|
|
|
+ List<String> ids = newsList.stream()
|
|
|
|
|
+ .map(CrmNewsRelease::getId)
|
|
|
|
|
+ .map(String::valueOf)
|
|
|
|
|
+ .filter(Objects::nonNull)
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+
|
|
|
|
|
+ // 一次性查询所有附件
|
|
|
|
|
+ Map<Long, List<CrmFile>> fileMap = crmFileService.selectByFids(ids).stream()
|
|
|
|
|
+ .collect(Collectors.groupingBy(CrmFile::getFid));
|
|
|
|
|
+
|
|
|
|
|
+ // 将附件分配回对应新闻
|
|
|
|
|
+ newsList.forEach(news ->
|
|
|
|
|
+ news.setFiles(fileMap.getOrDefault(news.getId(), Collections.emptyList()))
|
|
|
|
|
+ );
|
|
|
|
|
+
|
|
|
|
|
+ return AjaxResult.success(newsList);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|