From 993c6978ad57926a777e3837053e7b28da62ee93 Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期三, 13 七月 2022 15:06:36 +0800
Subject: [PATCH] 工作台相关接口

---
 src/main/java/com/example/jz/service/impl/WorkbenchServiceImpl.java |   96 ++++++++++++++++
 src/main/java/com/example/jz/modle/entity/Report.java               |    9 +
 src/main/java/com/example/jz/modle/vo/ReportVo.java                 |   27 ++++
 src/main/java/com/example/jz/modle/vo/MessageVo.java                |   29 ++++
 src/main/java/com/example/jz/service/WorkbenchService.java          |   64 ++++++++++
 src/main/java/com/example/jz/controller/WorkbenchController.java    |   77 ++++++++++++
 6 files changed, 302 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/example/jz/controller/WorkbenchController.java b/src/main/java/com/example/jz/controller/WorkbenchController.java
new file mode 100644
index 0000000..36db773
--- /dev/null
+++ b/src/main/java/com/example/jz/controller/WorkbenchController.java
@@ -0,0 +1,77 @@
+package com.example.jz.controller;
+
+
+import com.example.jz.modle.R;
+import com.example.jz.service.WorkbenchService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/user")
+@Api(tags = "宸ヤ綔鍙�")
+public class WorkbenchController {
+
+    @Autowired
+    WorkbenchService workbenchService;
+
+    @ApiOperation(httpMethod = "GET", value = "鏌ヨ浠婃棩寰呭鏍镐汉鍛�")
+    @GetMapping("/checkPendingNumber")
+    @ApiResponse(message = "鎵ц鎴愬姛", code = 200)
+    public R getCheckPendingUser() {
+        return R.ok(workbenchService.getCheckPending());
+    }
+
+    @ApiOperation(httpMethod = "GET", value = "鏌ヨ浠婃棩宸插鏍镐汉鍛�")
+    @GetMapping("/checkPendedNumber")
+    @ApiResponse(message = "鎵ц鎴愬姛", code = 200)
+    public R getCheckPendedUser() {
+        return R.ok(workbenchService.getCheckPended());
+    }
+
+    @ApiOperation(httpMethod = "GET", value = "鏌ヨ浠婃棩杩涚兢浜烘暟")
+    @GetMapping("/intoGroupNumber")
+    @ApiResponse(message = "鎵ц鎴愬姛", code = 200)
+    public R getIntoGroupNumber() {
+        return R.ok(workbenchService.getIntoGroupNumbers());
+    }
+
+    @ApiOperation(httpMethod = "GET", value = "鏂板妗堜欢鏁�")
+    @GetMapping("/newCase")
+    @ApiResponse(message = "鎵ц鎴愬姛", code = 200)
+    public R getNewCase() {
+        return R.ok(workbenchService.getNewCase());
+    }
+
+    @ApiOperation(httpMethod = "GET", value = "妗堜欢鎬绘暟")
+    @GetMapping("/allCase")
+    @ApiResponse(message = "鎵ц鎴愬姛", code = 200)
+    public R getAllCase() {
+        return R.ok(workbenchService.getAllCase());
+    }
+
+    @ApiOperation(httpMethod = "GET", value = "绠$悊浜哄憳鎬绘暟")
+    @GetMapping("/allManager")
+    @ApiResponse(message = "鎵ц鎴愬姛", code = 200)
+    public R getAllManager() {
+        return R.ok(workbenchService.getAllManager());
+    }
+
+    @ApiOperation(httpMethod = "GET", value = "寰呭鏍镐汉鍛�")
+    @GetMapping("/checkPendingList")
+    @ApiResponse(message = "鎵ц鎴愬姛", code = 200)
+    public R getAllCheckPendingList() {
+        return R.ok(workbenchService.getAllCheckPendingList());
+    }
+
+    @ApiOperation(httpMethod = "GET", value = "缇ょ粍鍔ㄦ��")
+    @GetMapping("/groupMessage")
+    @ApiResponse(message = "鎵ц鎴愬姛", code = 200)
+    public R getGroupMessage() {
+        return R.ok(workbenchService.getGroupMessage());
+    }
+}
diff --git a/src/main/java/com/example/jz/modle/entity/Report.java b/src/main/java/com/example/jz/modle/entity/Report.java
index 5c99828..1c6db75 100644
--- a/src/main/java/com/example/jz/modle/entity/Report.java
+++ b/src/main/java/com/example/jz/modle/entity/Report.java
@@ -40,7 +40,16 @@
     private Date cheatTime;
     //琛ュ厖淇℃伅
     private String information;
+    //妗堜欢id
+    private Integer causeId;
 
+    public Integer getCauseId() {
+        return causeId;
+    }
+
+    public void setCauseId(Integer causeId) {
+        this.causeId = causeId;
+    }
 
     public Integer getId() {
         return id;
diff --git a/src/main/java/com/example/jz/modle/vo/MessageVo.java b/src/main/java/com/example/jz/modle/vo/MessageVo.java
new file mode 100644
index 0000000..6900d92
--- /dev/null
+++ b/src/main/java/com/example/jz/modle/vo/MessageVo.java
@@ -0,0 +1,29 @@
+package com.example.jz.modle.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@ApiModel(description = "缇ょ粍鍔ㄦ��",value = "MessageVo")
+public class MessageVo {
+
+    /**
+     * 鐢ㄦ埛id
+     */
+    @ApiModelProperty(dataType = "String",value = "鎶ユ浜哄悕绉�")
+    private String userName;
+
+    @ApiModelProperty(dataType = "String",value = "缇ょ粍鍚嶇О")
+    private String groupName;
+    /**
+     * 缇d
+     */
+    @ApiModelProperty(dataType = "Integer",value = "缇ょ粍id")
+    private Integer groupId;
+
+    @ApiModelProperty(dataType = "Date",value = "鍒涘缓甯堣")
+    private Date ctime;
+}
diff --git a/src/main/java/com/example/jz/modle/vo/ReportVo.java b/src/main/java/com/example/jz/modle/vo/ReportVo.java
new file mode 100644
index 0000000..b113d77
--- /dev/null
+++ b/src/main/java/com/example/jz/modle/vo/ReportVo.java
@@ -0,0 +1,27 @@
+package com.example.jz.modle.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * (Cause)琛ㄥ疄浣撶被
+ *
+ * @author makejava
+ * @since 2022-07-11 16:55:40
+ */
+@Data
+@ApiModel(description = "寰呭鏍镐汉鍛�", value = "CauseVo")
+public class ReportVo {
+    //鎶ユ浜�
+    @ApiModelProperty(value = "鎶ユ浜�",dataType = "String")
+    private String reporterName;
+
+    @ApiModelProperty(value = "鎶ユ浜烘墜鏈哄彿",dataType = "String")
+    //鎶ユ浜烘墜鏈哄彿
+    private String mobile;
+
+    @ApiModelProperty(value = "鎶ユ浜鸿韩浠借瘉鍙�",dataType = "String")
+    //鎶ユ浜鸿韩浠借瘉鍙�
+    private String idcard;
+}
diff --git a/src/main/java/com/example/jz/service/WorkbenchService.java b/src/main/java/com/example/jz/service/WorkbenchService.java
new file mode 100644
index 0000000..596f2fe
--- /dev/null
+++ b/src/main/java/com/example/jz/service/WorkbenchService.java
@@ -0,0 +1,64 @@
+package com.example.jz.service;
+
+import com.example.jz.modle.vo.ReportVo;
+import com.example.jz.modle.vo.MessageVo;
+
+import java.util.List;
+
+public interface WorkbenchService {
+    /**
+     * @return java.lang.Integer
+     * @Description 浠婃棩寰呭鏍镐汉鍛樻煡璇�
+     * @Param []
+     **/
+    Integer getCheckPending();
+
+    /**
+     * @return java.lang.Integer
+     * @Description 浠婃棩宸茬粡瀹℃牳浜哄憳鏌ヨ
+     * @Param []
+     **/
+    Integer getCheckPended();
+
+    /**
+     * @return java.lang.Integer
+     * @Description 浠婃棩杩涚兢浜烘暟鏌ヨ
+     * @Param []
+     **/
+    Integer getIntoGroupNumbers();
+
+    /**
+     * @return java.lang.Integer
+     * @Description 浠婃棩鏂板妗堜欢鏁�
+     * @Param []
+     **/
+    Integer getNewCase();
+
+    /**
+     * @return java.lang.Integer
+     * @Description 鏌ヨ鍏ㄩ儴妗堜欢
+     * @Param []
+     **/
+    Integer getAllCase();
+
+    /**
+     * @return java.lang.Integer
+     * @Description 鑾峰彇鍏ㄩ儴绠$悊鍛�
+     * @Param []
+     **/
+    Integer getAllManager();
+
+    /**
+     * @return java.util.List<com.example.jz.modle.vo.CauseVo>
+     * @Description 鑾峰彇鏈�鏂颁簲鏉″緟瀹℃牳妗堜欢
+     * @Param []
+     **/
+    List<ReportVo> getAllCheckPendingList();
+
+    /**
+     * @return java.util.List<com.example.jz.modle.vo.MessageVo>
+     * @Description 鑾峰彇缇ょ粍鏈�鏂颁簲鏉℃秷鎭�
+     * @Param []
+     **/
+    List<MessageVo> getGroupMessage();
+}
diff --git a/src/main/java/com/example/jz/service/impl/WorkbenchServiceImpl.java b/src/main/java/com/example/jz/service/impl/WorkbenchServiceImpl.java
new file mode 100644
index 0000000..8745bdf
--- /dev/null
+++ b/src/main/java/com/example/jz/service/impl/WorkbenchServiceImpl.java
@@ -0,0 +1,96 @@
+package com.example.jz.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.example.jz.dao.*;
+import com.example.jz.modle.entity.*;
+import com.example.jz.modle.vo.ReportVo;
+import com.example.jz.modle.vo.MessageVo;
+import com.example.jz.service.WorkbenchService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+public class WorkbenchServiceImpl implements WorkbenchService {
+    @Resource
+    ReportDao reportDao;
+
+    @Resource
+    CauseDao causeDao;
+
+    @Resource
+    UserDao userDao;
+
+    @Resource
+    GroupDao groupDao;
+
+    @Resource
+    GroupUserDao groupUserDao;
+
+
+    @Resource
+    MessageDao messageDao;
+
+    @Override
+    public Integer getCheckPending() {
+        return reportDao.selectCount(new QueryWrapper<Report>().eq("status", 0).last("and TO_DAYS(ctime)=TO_DAYS(NOW())"));
+    }
+
+    @Override
+    public Integer getCheckPended() {
+        return reportDao.selectCount(new QueryWrapper<Report>().eq("status", 1).last("and TO_DAYS(ctime)=TO_DAYS(NOW())"));
+    }
+
+    @Override
+    public Integer getIntoGroupNumbers() {
+        return groupUserDao.selectCount(new QueryWrapper<GroupUser>().apply("TO_DAYS(ctime)=TO_DAYS(NOW())"));
+    }
+
+    @Override
+    public Integer getNewCase() {
+        return causeDao.selectCount(new QueryWrapper<Cause>().apply("TO_DAYS(ctime)=TO_DAYS(NOW())"));
+    }
+
+    @Override
+    public Integer getAllCase() {
+        return causeDao.selectCount(new QueryWrapper<>());
+    }
+
+    @Override
+    public Integer getAllManager() {
+        return userDao.selectCount(new QueryWrapper<User>().eq("role", 1));
+    }
+
+    @Override
+    public List<ReportVo> getAllCheckPendingList() {
+        List<Report> reports = reportDao.selectList(new QueryWrapper<Report>().eq("status", 0).orderByDesc("ctime").last("limit 5"));
+        ArrayList<ReportVo> reportVos = new ArrayList<>();
+        reports.forEach(a -> {
+            User user = userDao.selectOne(new QueryWrapper<User>().eq("id", a.getUserId()));
+            ReportVo reportVo = new ReportVo();
+            reportVo.setReporterName(user.getRealName());
+            String regex = "(?<=[\\d]{3})\\d(?=[\\d]{4})";
+            reportVo.setIdcard(user.getUserIdcard().replaceAll(regex, "*"));
+            reportVo.setMobile(user.getUserMobile());
+            reportVos.add(reportVo);
+        });
+        return reportVos;
+    }
+
+    @Override
+    public List<MessageVo> getGroupMessage() {
+        ArrayList<MessageVo> messageVos = new ArrayList<>();
+        messageDao.selectList(new QueryWrapper<Message>().orderByDesc("ctime").last("limit 5"))
+                .forEach(a -> {
+                    MessageVo messageVo = new MessageVo();
+                    messageVo.setGroupName(groupDao.selectOne(new QueryWrapper<Group>().eq("id", a.getGroupId())).getGroupName());
+                    BeanUtils.copyProperties(a, messageVo);
+                    messageVo.setUserName(userDao.selectOne(new QueryWrapper<User>().eq("id", a.getUserId())).getRealName());
+                    messageVos.add(messageVo);
+                });
+        return messageVos;
+    }
+}

--
Gitblit v1.8.0