From 91735f6452dca94bcc8782b4a7551a64b1e465e6 Mon Sep 17 00:00:00 2001 From: guyue <1721849008@qq.com> Date: 星期五, 11 七月 2025 16:32:26 +0800 Subject: [PATCH] token --- src/main/java/com/linghu/controller/KeywordController.java | 114 ++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 92 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/linghu/controller/KeywordController.java b/src/main/java/com/linghu/controller/KeywordController.java index 0128509..cee397f 100644 --- a/src/main/java/com/linghu/controller/KeywordController.java +++ b/src/main/java/com/linghu/controller/KeywordController.java @@ -51,6 +51,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; @RestController @@ -75,14 +76,58 @@ @ApiOperation(value = "EChart图") public ResponseResult<KeywordStaticsListVO> statics(@RequestParam("id") Integer keywordId, @RequestParam(value = "questionId", required = false) Integer questionId) { + // return keywordService.statics(keywordId, questionId); } + + @GetMapping("/getTime") + @ApiOperation(value = "查看时间") + public ResponseResult<GetTimeVO> getTime(@RequestParam("id") Integer keywordId,@RequestParam(value = "questionId", required = false) Integer questionId) { + // + GetTimeVO vo = new GetTimeVO(); + Keyword keyword = keywordService.getById(keywordId); + + LambdaQueryWrapper<Reference> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(Reference::getKeyword_id, keywordId); + if (questionId != null) { + queryWrapper.eq(Reference::getQuestion_id, questionId); + } + queryWrapper.eq(Reference::getNum,keyword.getNum()); + + List<Reference> list = referenceService.list(queryWrapper); + if (null != list && !list.isEmpty()) { + vo.setNow(list.get(0).getCreate_time()); + } + //首次 + LambdaQueryWrapper<Reference> queryWrapper2 = new LambdaQueryWrapper<>(); + queryWrapper2.eq(Reference::getKeyword_id, keywordId); + if (questionId != null) { + queryWrapper2.eq(Reference::getQuestion_id, questionId); + } + queryWrapper2.eq(Reference::getNum,1); + + List<Reference> list2 = referenceService.list(queryWrapper2); + if (null != list2 && !list2.isEmpty()) { + vo.setFirst(list2.get(0).getCreate_time()); + } + + return ResponseResult.success(vo); + } + @PostMapping(value = "/exportStatics") @ApiOperation(value = "EChart图导出") public ResponseEntity<byte[]> exportStatics(@RequestBody ExportStaticsDTO exportStaticsDTO) { + Keyword keyword = keywordMapper.selectById(exportStaticsDTO.getKeywordId()); - List<KeywordStaticsVO> voList = keywordMapper.statics(exportStaticsDTO.getKeywordId(), exportStaticsDTO.getQuestionId(), keyword.getNum()); + List<KeywordStaticsVO> voList=new ArrayList<>(); + if (exportStaticsDTO.getIsFirst()==0){ + voList = keywordMapper.statics(exportStaticsDTO.getKeywordId(), exportStaticsDTO.getQuestionId(), keyword.getNum()); + + }else { + voList = keywordMapper.statics(exportStaticsDTO.getKeywordId(), exportStaticsDTO.getQuestionId(), 1); + + } // 3. 导出Excel ByteArrayOutputStream out = new ByteArrayOutputStream(); @@ -110,16 +155,20 @@ if (isNow == 0) { List<PlatformProportionVO> result = keywordMapper.getResultByTypeId(keywordId, questionId, keyword.getNum() , typeId); + // 检查列表是否为空或只包含null元素 + boolean isValid = result != null && result.stream() + .anyMatch(Objects::nonNull); - return ResponseResult.success(result); - } - if (isNow > 0 && keyword.getNum()>isNow){ - List<PlatformProportionVO> result = keywordMapper.getResultByTypeId(keywordId, questionId, - keyword.getNum() - isNow, typeId); - - return ResponseResult.success(result); + return isValid ? ResponseResult.success(result) + : ResponseResult.success(new ArrayList<>()); }else { - return ResponseResult.success(new ArrayList<>()); + List<PlatformProportionVO> result = keywordMapper.getResultByTypeId(keywordId, questionId, 1, typeId); + boolean isValid = result != null && result.stream() + .anyMatch(Objects::nonNull); + + return isValid ? ResponseResult.success(result) + : ResponseResult.success(new ArrayList<>()); + } } @@ -131,8 +180,18 @@ @ApiOperation(value = "导出:根据类别查看") public ResponseEntity<byte[]> exportGetResultByTypeId(@RequestBody ExportGetResultDTO dto) { Keyword keyword = keywordService.getById(dto.getKeywordId()); - List<PlatformProportionVO> result = keywordMapper.getResultByTypeId(dto.getKeywordId(), dto.getQuestionId(), - keyword.getNum() - dto.getIsNow(), dto.getTypeId()); + List<PlatformProportionVO> result =new ArrayList<>(); + + if (dto.getIsNow()==0){ + result = keywordMapper.getResultByTypeId(dto.getKeywordId(), dto.getQuestionId(), + keyword.getNum() , dto.getTypeId()); + }else { + result = keywordMapper.getResultByTypeId(dto.getKeywordId(), dto.getQuestionId(), + 1 , dto.getTypeId()); + } + + + // 3. 导出Excel ByteArrayOutputStream out = new ByteArrayOutputStream(); EasyExcel.write(out, PlatformProportionVO.class) @@ -156,19 +215,24 @@ @RequestParam(value = "platformId", required = false) Integer platformId, @RequestParam(value = "isNow") Integer isNow) { Keyword keyword = keywordService.getById(keywordId); - if (isNow==0){ + if (isNow == 0) { List<ResultListVO> result = keywordMapper.getResultByPlatformId(keywordId, questionId, keyword.getNum(), platformId); - return ResponseResult.success(result); - } - if (isNow > 0 && keyword.getNum()>isNow){ - List<ResultListVO> result = keywordMapper.getResultByPlatformId(keywordId, questionId, keyword.getNum() - isNow, - platformId); + boolean isValid = result != null && result.stream() + .anyMatch(Objects::nonNull); - return ResponseResult.success(result); - }else { - return ResponseResult.success(new ArrayList<>()); + return isValid ? ResponseResult.success(result) + : ResponseResult.success(new ArrayList<>()); + } else { + List<ResultListVO> result = keywordMapper.getResultByPlatformId(keywordId, questionId, 1, + platformId); + boolean isValid = result != null && result.stream() + .anyMatch(Objects::nonNull); + + return isValid ? ResponseResult.success(result) + : ResponseResult.success(new ArrayList<>()); } + } /** @@ -178,8 +242,14 @@ @ApiOperation(value = "导出:根据平台查看") public ResponseEntity<byte[]> exportGetResultByPlatformId(@RequestBody ExportGetResultByPlatformIdDTO dto) { Keyword keyword = keywordService.getById(dto.getKeywordId()); - List<ResultListVO> result = keywordMapper.getResultByPlatformId(dto.getKeywordId(), dto.getQuestionId(), keyword.getNum() - dto.getIsNow(), - dto.getPlatformId()); + List<ResultListVO> result=new ArrayList<>(); + if (dto.getIsNow()==0){ + result = keywordMapper.getResultByPlatformId(dto.getKeywordId(), dto.getQuestionId(), keyword.getNum(), + dto.getPlatformId()); + }else { + result = keywordMapper.getResultByPlatformId(dto.getKeywordId(), dto.getQuestionId(), 1, + dto.getPlatformId()); + } // 3. 导出Excel ByteArrayOutputStream out = new ByteArrayOutputStream(); EasyExcel.write(out, ResultListVO.class) -- Gitblit v1.7.1