无关风月
2026-01-29 dc29f2f4f03cb93367b759c38c7e98c358e1f90e
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;
/**
 * 数据统计面板 前端控制器
@@ -32,12 +33,10 @@
 */
@RestController
@RequestMapping("/dashboard-statistics")
@Api(tags = "数据统计面板")
@Api(tags = "首页")
@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("获取当前登录信息")
@@ -75,6 +76,10 @@
                    screenUserVo.setPermissionClient(param.getPermissionClient());
                    screenUserVo.setPermissionProject(param.getPermissionProject());
                    screenUserVo.setCommentType(param.getCommentType());
                    screenUserVo.setSafetyId(param.getSafetyId());
                    screenUserVo.setDeviceTemplateId(param.getDeviceTemplateId());
                    screenUserVo.setBigHiddenDanger(param.getBigHiddenDanger());
                    screenUserVo.setGeneralHiddenDanger(param.getGeneralHiddenDanger());
                }
            }else if(type==2){
                Project project = projectService.getById(id);
@@ -85,6 +90,10 @@
                ClientParam param = clientParamService.getOne(new LambdaQueryWrapper<ClientParam>().eq(ClientParam::getClientId, client.getId()));
                if(param!=null){
                    screenUserVo.setCommentType(param.getCommentType());
                    screenUserVo.setSafetyId(param.getSafetyId());
                    screenUserVo.setDeviceTemplateId(param.getDeviceTemplateId());
                    screenUserVo.setBigHiddenDanger(param.getBigHiddenDanger());
                    screenUserVo.setGeneralHiddenDanger(param.getGeneralHiddenDanger());
                }
                screenUserVo.setName(project.getName());
                screenUserVo.setPermissionProject(project.getPermission());
@@ -99,10 +108,48 @@
    @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);
        wrapper.eq(AccidentBrief::getDeleted,false);
        if(query.getCity()!=null && !query.getCity().isEmpty()){
            wrapper.eq(AccidentBrief::getCity, query.getCity());
        }
        if(query.getProvince()!=null && !query.getProvince().isEmpty()){
            wrapper.eq(AccidentBrief::getProvince, query.getProvince());
        }
        if(query.getArea()!=null && !query.getArea().isEmpty()){
            wrapper.eq(AccidentBrief::getArea, query.getArea());
        }
        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);
        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()){
@@ -120,7 +167,10 @@
            wrapper.like(AccidentBrief::getContent, query.getContent());
        }
        wrapper.orderByDesc(AccidentBrief::getTime);
        Page<AccidentBrief> accidentBriefPage = accidentBriefService.page(page, wrapper);
        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);
    }
@@ -132,6 +182,13 @@
        return R.ok(accidentBrief);
    }
    @ApiOperation(value = "获取故事简讯详情分类",response = AccidentClassification.class)
    @GetMapping("/getStoryClassify")
    public R<List<AccidentClassification>> getStoryClassify() {
        List<AccidentClassification> list = accidentClassificationService.list(new LambdaQueryWrapper<AccidentClassification>().eq(AccidentClassification::getDeleted, false));
        return R.ok(list);
    }
    /**
     * 获取委托方大屏首页统计数据
     *