From a5a0ff50ea4be9a7e7d0c6f805ed26809e3b183e Mon Sep 17 00:00:00 2001
From: shiyue <1211061228@qq.com>
Date: 星期四, 16 二月 2023 12:48:42 +0800
Subject: [PATCH] 2023-02-16更新

---
 src/main/java/com/example/jz/controller/WxAppController.java |   80 ++++++++++++++++++++++++++++++++-------
 1 files changed, 65 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/example/jz/controller/WxAppController.java b/src/main/java/com/example/jz/controller/WxAppController.java
index 2c7afe6..c936a00 100644
--- a/src/main/java/com/example/jz/controller/WxAppController.java
+++ b/src/main/java/com/example/jz/controller/WxAppController.java
@@ -3,6 +3,7 @@
 
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@@ -12,6 +13,7 @@
 import com.example.jz.modle.entity.*;
 import com.example.jz.modle.vo.CauseVo;
 import com.example.jz.modle.vo.MemberVo;
+import com.example.jz.modle.vo.ReportVo;
 import com.example.jz.service.*;
 import com.example.jz.utils.HttpUtil;
 import lombok.SneakyThrows;
@@ -38,7 +40,7 @@
     private final String wxApp_accessToken_verify_url = "https://api.weixin.qq.com/cgi-bin/token";
 
     @Value("${wx.appid}")
-    private  String appid;
+    private String appid;
 
     @Value("${wx.secret}")
     private String secret;
@@ -66,6 +68,8 @@
     MessageService messageService;
     @Autowired
     GroupUserService groupUserService;
+    @Autowired
+    PublicityService publicityService;
 
     @GetMapping("/login")
     @SneakyThrows
@@ -121,10 +125,12 @@
             role = user.getRole();
             id = user.getId();
         }
+        User user1 = userDao.selectOne(new QueryWrapper<User>().eq("user_mobile", phone_info.getPurePhoneNumber()));
         HashMap<String, Object> loginMessage = new HashMap<>();
         loginMessage.put("id", id);
         loginMessage.put("token", token);
         loginMessage.put("role", role);
+        loginMessage.put("time", user1.getUserIdcard());
         return R.ok(loginMessage);
     }
 
@@ -158,7 +164,7 @@
         report.setIsInGroup(0);
         report.setCtime(new Date());
         report.setStatus(0);
-        report.setReportMethod("鐜板満褰曞叆");
+        report.setReportMethod("鎵爜鎶ユ");
         return R.ok(reportService.save(report));
     }
 
@@ -171,18 +177,13 @@
     @GetMapping("/manager/group/list")
     public R getMessage(@RequestParam Integer id, @RequestParam String newDate, @RequestParam String lastDate) {
         ArrayList<Map<String, Object>> list = new ArrayList<>();
-//        List<GroupUser> groupUsers = groupUserService.list(new QueryWrapper<GroupUser>().eq("user_id", id));
         List<Group> groupUsers = groupService.list(new QueryWrapper<Group>().eq("user_id", id));
-        if (groupUsers != null && groupUsers.size() != 0) {
+        if (!groupUsers.isEmpty()) {
             groupUsers.forEach(item -> {
                 HashMap<String, Object> groupMap = new HashMap<>();
-                List<Message> message = messageService.list(new QueryWrapper<Message>().eq("group_id", item.getId()).isNotNull("user_id").orderByDesc("ctime"));
+                List<Message> message = messageService.list(new QueryWrapper<Message>().eq("group_id", item.getId()).orderByDesc("ctime"));
                 groupMap.put("groupName", item.getGroupName());
-                if (message != null && message.size() != 0) {
-                    groupMap.put("message", message.get(0).getText());
-                    groupMap.put("name", message.get(0).getReportName());
-                    groupMap.put("time", message.get(0).getCtime());
-                }
+                getMessage(groupMap, message);
                 if (StringUtils.isNotBlank(lastDate)) {
                     int count = messageService.count(new QueryWrapper<Message>().eq("group_id", item.getId()).between("ctime", lastDate, newDate));
                     groupMap.put("count", count);
@@ -194,21 +195,30 @@
         return R.ok(list);
     }
 
+    private void getMessage(HashMap<String, Object> groupMap, List<Message> message) {
+        if (!message.isEmpty()) {
+            groupMap.put("message", message.get(0).getText());
+            if (message.get(0).getUserId() == null) {
+                groupMap.put("name", userDao.selectOne(new QueryWrapper<User>().eq("id", message.get(0).getCopId())).getRealName());
+            } else {
+                groupMap.put("name", message.get(0).getReportName());
+            }
+            groupMap.put("time", message.get(0).getCtime());
+        }
+    }
+
 
     @GetMapping("/user/group/list")
     public R getUserMessage(@RequestParam Integer id, @RequestParam String newDate, @RequestParam String lastDate) {
         ArrayList<Map<String, Object>> list = new ArrayList<>();
-        reportService.list((new QueryWrapper<Report>().eq("user_id", id)))
+        reportService.listGroup(id)
                 .forEach(item ->
                         {
                             GroupUser groupUser = groupUserService.getOne(new QueryWrapper<GroupUser>().eq("user_id", item.getId()));
                             if (groupUser != null) {
                                 HashMap<String, Object> groupMap = new HashMap<>();
                                 List<Message> message = messageService.list(new QueryWrapper<Message>().eq("group_id", groupUser.getGroupId()).orderByDesc("ctime"));
-                                if (message != null && message.size() != 0) {
-                                    groupMap.put("message", message.get(0).getText());
-                                    groupMap.put("time", message.get(0).getCtime());
-                                }
+                                getMessage(groupMap, message);
                                 Group group = groupService.getOne(new QueryWrapper<Group>().eq("id", groupUser.getGroupId()));
                                 groupMap.put("groupName", group.getGroupName());
                                 groupMap.put("id", group.getId());
@@ -392,6 +402,9 @@
 
     @GetMapping("/group/user/sendMsg")
     public R sendUserMsg(@RequestParam Integer id, @RequestParam Integer groupId, @RequestParam String msg) {
+        if (StringUtils.isBlank(msg)) {
+            return R.failed("msg is blank");
+        }
         Message message = new Message();
         message.setUserId(id);
         message.setText(msg);
@@ -400,4 +413,41 @@
         message.setReportName(userService.getOne(new QueryWrapper<User>().eq("id", reportService.getOne(new QueryWrapper<Report>().eq("id", id)).getUserId())).getRealName());
         return R.ok(messageService.save(message));
     }
+
+    @GetMapping("/group/member/detail")
+    public R getMemberDetail(@RequestParam Integer id) {
+        Report report = reportService.getOne(new LambdaQueryWrapper<Report>().eq(Report::getId, id));
+        ReportVo reportVo = new ReportVo();
+        BeanUtils.copyProperties(report, reportVo);
+        User user = userDao.selectOne(new LambdaQueryWrapper<User>().eq(User::getId, report.getUserId()));
+        reportVo.setReporterName(user.getRealName());
+        reportVo.setMobile(user.getUserMobile());
+        reportVo.setIdcard(user.getUserIdcard());
+        return R.ok(reportVo);
+    }
+
+    @GetMapping("/manager/report")
+    public R queryReport() {
+        return R.ok(reportService.list(new LambdaQueryWrapper<Report>().eq(Report::getStatus, 0))
+                .stream()
+                .map(item -> {
+                    ReportVo reportVo = new ReportVo();
+                    BeanUtils.copyProperties(item, reportVo);
+                    User user = userDao.selectOne(new LambdaQueryWrapper<User>().eq(User::getId, item.getUserId()));
+                    reportVo.setReporterName(user.getRealName());
+                    reportVo.setMobile(user.getUserMobile());
+                    reportVo.setIdcard(user.getUserIdcard());
+                    return reportVo;
+                })
+                .collect(Collectors.toList()));
+    }
+
+    @GetMapping("/publicity")
+    public R queryPublicity(@RequestParam(required = false) Integer size) {
+        List<Publicity> publicityList = publicityService.list(new LambdaQueryWrapper<Publicity>().eq(Publicity::getStatus, 1));
+        if (size != null) {
+            return R.ok(publicityList.stream().limit(size));
+        }
+        return R.ok(publicityList);
+    }
 }

--
Gitblit v1.8.0