liujie
2026-01-23 f87760efbc6b10685540a003e1d4ae7e4d9d00fa
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/DashboardStatisticsController.java
@@ -23,6 +23,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Optional;
/**
 * 数据统计面板 前端控制器
@@ -36,8 +37,6 @@
@RequiredArgsConstructor(onConstructor_ = @Lazy)
public class DashboardStatisticsController {
    @Autowired
    private ScreenAccountService screenAccountService;
    @Autowired
    private TokenService tokenService;
@@ -54,6 +53,8 @@
    @Autowired
    private AccidentBriefService accidentBriefService;
    @Autowired
    private AccidentClassificationService accidentClassificationService;
    @ApiOperation("获取当前登录信息")
@@ -99,10 +100,10 @@
    @ApiOperation(value = "获取故事简讯列表",response = AccidentBrief.class)
    @PostMapping("/getStoryList")
    public R<Page<AccidentBrief>> getStoryList(@RequestBody StoryListQuery query) {
    @PostMapping("/getStoryPage")
    public R<Page<AccidentBrief>> getStoryPage(@RequestBody StoryListQuery query) {
        Page<AccidentBrief> page = new Page<>(query.getPageNum(), query.getPageSize());
        List<AccidentClassification> list = accidentClassificationService.list(new LambdaQueryWrapper<AccidentClassification>().eq(AccidentClassification::getDeleted, false));
        LambdaQueryWrapper<AccidentBrief> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(AccidentBrief::getState,1);
        if(query.getCity()!=null && !query.getCity().isEmpty()){
@@ -121,6 +122,39 @@
        }
        wrapper.orderByDesc(AccidentBrief::getTime);
        Page<AccidentBrief> accidentBriefPage = accidentBriefService.page(page, wrapper);
        accidentBriefPage.getRecords().forEach(item->{
            item.setClassifyName(list.stream().filter(classify->classify.getId().equals(item.getClassifyId())).findFirst().get().getName());
        });
        return R.ok(accidentBriefPage);
    }
    @ApiOperation(value = "获取故事简讯列表-不分页",response = AccidentBrief.class)
    @PostMapping("/getStoryList")
    public R<List<AccidentBrief>> getStoryList(@RequestBody StoryListQuery query) {
        List<AccidentClassification> list = accidentClassificationService.list(new LambdaQueryWrapper<AccidentClassification>().eq(AccidentClassification::getDeleted, false));
        LambdaQueryWrapper<AccidentBrief> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(AccidentBrief::getState,1);
        if(query.getCity()!=null && !query.getCity().isEmpty()){
            wrapper.eq(AccidentBrief::getCity, query.getCity());
        }
        if(query.getClassifyId()!=null){
            wrapper.eq(AccidentBrief::getClassifyId, query.getClassifyId());
        }
        if(query.getTime()!=null && !query.getTime().isEmpty()){
            String sTime = query.getTime().split(" - ")[0]+" 00:00:00";
            String eTime = query.getTime().split(" - ")[1]+" 23:59:59";
            wrapper.between(AccidentBrief::getTime,sTime,eTime);
        }
        if(query.getContent()!=null && !query.getContent().isEmpty()){
            wrapper.like(AccidentBrief::getContent, query.getContent());
        }
        wrapper.orderByDesc(AccidentBrief::getTime);
        List<AccidentBrief> accidentBriefPage = accidentBriefService.list( wrapper);
        accidentBriefPage.forEach(item->{
            item.setClassifyName(list.stream().filter(classify -> classify.getId().equals(item.getClassifyId())).findFirst().orElse(new AccidentClassification()).getName());
        });
        return R.ok(accidentBriefPage);
    }