From 94c89cf9f870027a290ea1c1c768d9901346acbf Mon Sep 17 00:00:00 2001
From: baizonghao <1719256278@qq.com>
Date: 星期二, 21 三月 2023 17:19:08 +0800
Subject: [PATCH] 微信的查找案件

---
 src/main/java/com/example/jz/modle/vo/NewCauseVo.java            |   13 +++++++++++++
 src/main/java/com/example/jz/controller/CauseController.java     |    8 ++++++++
 src/main/java/com/example/jz/service/impl/CauseServiceImpl.java  |   28 +++++++++++++++++++++++++++-
 src/main/java/com/example/jz/service/CauseService.java           |   10 ++++++----
 src/main/java/com/example/jz/service/impl/ReportServiceImpl.java |    1 +
 5 files changed, 55 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/example/jz/controller/CauseController.java b/src/main/java/com/example/jz/controller/CauseController.java
index 4f3ef4a..cdf47b2 100644
--- a/src/main/java/com/example/jz/controller/CauseController.java
+++ b/src/main/java/com/example/jz/controller/CauseController.java
@@ -16,6 +16,7 @@
 import com.example.jz.modle.dto.ReportParamDto;
 import com.example.jz.modle.entity.Cause;
 import com.example.jz.modle.entity.GroupUser;
+import com.example.jz.modle.vo.NewCauseVo;
 import com.example.jz.modle.vo.ReportListVo;
 import com.example.jz.service.CauseService;
 import com.example.jz.service.GroupService;
@@ -87,6 +88,13 @@
         return R.ok(causeService.getCauserListByCondition(cause, status, size, current));
     }
 
+    @GetMapping("/getVxCauseList")
+    @ApiOperation(httpMethod = "GET", value = "寰俊鎵炬浠�")
+    public R getVxCauseList(@RequestParam String phone){
+        List<NewCauseVo> res =  causeService.getVxCauseList(phone);
+        return R.ok(res);
+    }
+
     @ApiOperation(httpMethod = "GET", value = "妗堜欢鍙�-妗堜欢褰曞叆-妗堜欢褰曞叆鍒楄〃")
     @GetMapping("/getCause")
     @ApiResponse(message = "鎵ц鎴愬姛", code = 200)
diff --git a/src/main/java/com/example/jz/modle/vo/NewCauseVo.java b/src/main/java/com/example/jz/modle/vo/NewCauseVo.java
new file mode 100644
index 0000000..fbda3df
--- /dev/null
+++ b/src/main/java/com/example/jz/modle/vo/NewCauseVo.java
@@ -0,0 +1,13 @@
+package com.example.jz.modle.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class NewCauseVo {
+    private Integer id;
+    private String name;
+}
diff --git a/src/main/java/com/example/jz/service/CauseService.java b/src/main/java/com/example/jz/service/CauseService.java
index 8f3ca06..df5799a 100644
--- a/src/main/java/com/example/jz/service/CauseService.java
+++ b/src/main/java/com/example/jz/service/CauseService.java
@@ -6,10 +6,7 @@
 import com.example.jz.modle.dto.CauseDto;
 import com.example.jz.modle.entity.Announcement;
 import com.example.jz.modle.entity.Cause;
-import com.example.jz.modle.vo.AnnouncementVo;
-import com.example.jz.modle.vo.CauseReportVo;
-import com.example.jz.modle.vo.CauseVo;
-import com.example.jz.modle.vo.UserVo;
+import com.example.jz.modle.vo.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.util.List;
@@ -86,5 +83,10 @@
     void loadFileReport(MultipartFile multipartFile,Integer causeId);
 
     PageParam<CauseVo> getCauserListByCondition(String cause, Integer status, Integer size, Integer current, Integer id);
+
+
+    List<NewCauseVo> getVxCauseList(String phone);
+
+
 }
 
diff --git a/src/main/java/com/example/jz/service/impl/CauseServiceImpl.java b/src/main/java/com/example/jz/service/impl/CauseServiceImpl.java
index 085d98b..4c87b5d 100644
--- a/src/main/java/com/example/jz/service/impl/CauseServiceImpl.java
+++ b/src/main/java/com/example/jz/service/impl/CauseServiceImpl.java
@@ -3,11 +3,11 @@
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.context.AnalysisContext;
 import com.alibaba.excel.event.AnalysisEventListener;
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.example.jz.dao.*;
 import com.example.jz.enums.CauseEnums;
@@ -20,6 +20,7 @@
 import com.example.jz.modle.entity.*;
 import com.example.jz.modle.vo.CauseReportVo;
 import com.example.jz.modle.vo.CauseVo;
+import com.example.jz.modle.vo.NewCauseVo;
 import com.example.jz.modle.vo.UserVo;
 import com.example.jz.service.CauseService;
 import com.example.jz.service.ReportService;
@@ -34,6 +35,8 @@
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.function.Function;
+import java.util.function.Predicate;
 import java.util.stream.Collectors;
 
 /**
@@ -155,6 +158,29 @@
     }
 
     @Override
+    public List<NewCauseVo> getVxCauseList(String phone) {
+
+        User user = userDao.selectOne(new LambdaQueryWrapper<User>().eq(User::getUserMobile, phone));
+
+        List<Report> reports = reportDao.selectList(new LambdaQueryWrapper<Report>().eq(Report::getUserId, user.getId()));
+
+        List<Integer> list = reports.stream()
+                .map(item -> item.getCauseId())
+                .distinct()
+                .filter(integer -> integer != null)
+                .collect(Collectors.toList());
+        List<Cause> causes = causeDao.selectList(new LambdaQueryWrapper<Cause>().notIn(Cause::getId, list));
+        List<NewCauseVo> res = causes.stream()
+                .map(item -> {
+                    NewCauseVo newCauseVo = new NewCauseVo();
+                    newCauseVo.setName(item.getName());
+                    newCauseVo.setId(item.getId());
+                    return newCauseVo;
+                }).collect(Collectors.toList());
+        return res;
+    }
+
+    @Override
     public List<UserVo> getManagerList() {
         return userDao.selectList(new QueryWrapper<User>().eq("role", 1)).stream().map(a -> {
             UserVo userVo = new UserVo();
diff --git a/src/main/java/com/example/jz/service/impl/ReportServiceImpl.java b/src/main/java/com/example/jz/service/impl/ReportServiceImpl.java
index b0e059b..2ab9bbd 100644
--- a/src/main/java/com/example/jz/service/impl/ReportServiceImpl.java
+++ b/src/main/java/com/example/jz/service/impl/ReportServiceImpl.java
@@ -275,6 +275,7 @@
         reportVXVO.setSex(user.getSex());
         reportVXVO.setRealName(user.getRealName());
         reportVXVO.setUserIdCard(user.getUserIdcard());
+        reportVXVO.setDescription(causeDao.selectOne(new LambdaQueryWrapper<Cause>().eq(Cause::getId, reportDao.selectOne(new LambdaQueryWrapper<Report>().eq(Report::getId, id)).getCauseId())).getName());
         return reportVXVO;
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0