From f016363ca628b296d6edb65fc509fb89b22ee94f Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期四, 14 七月 2022 16:34:14 +0800
Subject: [PATCH] 案件区相关接口

---
 src/main/java/com/example/jz/service/impl/WorkbenchServiceImpl.java |    2 
 src/main/java/com/example/jz/modle/vo/UserVo.java                   |   18 +++
 src/main/java/com/example/jz/modle/vo/ReportVo.java                 |    4 
 src/main/java/com/example/jz/modle/entity/User.java                 |    8 
 src/main/java/com/example/jz/modle/vo/CauseVo.java                  |   47 +++++++
 src/main/java/com/example/jz/modle/vo/MessageVo.java                |    1 
 src/main/java/com/example/jz/controller/CauseController.java        |   82 ++++---------
 src/main/java/com/example/jz/service/impl/CauseServiceImpl.java     |   97 ++++++++++++++++
 src/main/java/com/example/jz/modle/dto/CauseDto.java                |   32 +++++
 src/main/java/com/example/jz/modle/entity/Group.java                |    1 
 src/main/java/com/example/jz/service/CauseService.java              |   23 +++
 src/main/resources/application.yml                                  |    2 
 12 files changed, 257 insertions(+), 60 deletions(-)

diff --git a/src/main/java/com/example/jz/controller/CauseController.java b/src/main/java/com/example/jz/controller/CauseController.java
index c0ec5f2..43fe51b 100644
--- a/src/main/java/com/example/jz/controller/CauseController.java
+++ b/src/main/java/com/example/jz/controller/CauseController.java
@@ -1,18 +1,16 @@
 package com.example.jz.controller;
 
 
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.api.ApiController;
-import com.baomidou.mybatisplus.extension.api.R;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.example.jz.modle.entity.Cause;
+import com.example.jz.modle.R;
+import com.example.jz.modle.dto.CauseDto;
 import com.example.jz.service.CauseService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
-import java.io.Serializable;
-import java.util.List;
 
 /**
  * 妗堜欢琛�(Cause)琛ㄦ帶鍒跺眰
@@ -22,6 +20,7 @@
  */
 @RestController
 @RequestMapping("cause")
+@Api(tags = "妗堜欢鍖�")
 public class CauseController extends ApiController {
     /**
      * 鏈嶅姟瀵硅薄
@@ -29,60 +28,33 @@
     @Resource
     private CauseService causeService;
 
-    /**
-     * 鍒嗛〉鏌ヨ鎵�鏈夋暟鎹�
-     *
-     * @param page 鍒嗛〉瀵硅薄
-     * @param cause 鏌ヨ瀹炰綋
-     * @return 鎵�鏈夋暟鎹�
-     */
-    @GetMapping
-    public R selectAll(Page<Cause> page, Cause cause) {
-        return success(this.causeService.page(page, new QueryWrapper<>(cause)));
+    @ApiOperation(httpMethod = "POST", value = "娣诲姞妗堜欢")
+    @PostMapping("/addCause")
+    @ApiResponse(message = "鎵ц鎴愬姛", code = 200)
+    public R addCause(@RequestBody CauseDto causeDto) {
+        return R.ok(causeService.addCause(causeDto));
     }
 
-    /**
-     * 閫氳繃涓婚敭鏌ヨ鍗曟潯鏁版嵁
-     *
-     * @param id 涓婚敭
-     * @return 鍗曟潯鏁版嵁
-     */
-    @GetMapping("{id}")
-    public R selectOne(@PathVariable Serializable id) {
-        return success(this.causeService.getById(id));
+    @ApiOperation(httpMethod = "POST", value = "淇敼妗堜欢")
+    @PostMapping("/updateCause")
+    @ApiResponse(message = "鎵ц鎴愬姛", code = 200)
+    public R updateCause(@RequestBody CauseDto causeDto,Integer id) {
+        return R.ok(causeService.updateCause(causeDto,id));
     }
 
-    /**
-     * 鏂板鏁版嵁
-     *
-     * @param cause 瀹炰綋瀵硅薄
-     * @return 鏂板缁撴灉
-     */
-    @PostMapping
-    public R insert(@RequestBody Cause cause) {
-        return success(this.causeService.save(cause));
+
+    @ApiOperation(httpMethod = "GET", value = "妗堜欢褰曞叆鍒楄〃")
+    @GetMapping("/getCauseList")
+    @ApiResponse(message = "鎵ц鎴愬姛", code = 200)
+    public R getCauseList(String cause, Integer status, Integer size, Integer current) {
+        return R.ok(causeService.getCauserListByCondition(cause, status, size, current));
     }
 
-    /**
-     * 淇敼鏁版嵁
-     *
-     * @param cause 瀹炰綋瀵硅薄
-     * @return 淇敼缁撴灉
-     */
-    @PutMapping
-    public R update(@RequestBody Cause cause) {
-        return success(this.causeService.updateById(cause));
-    }
-
-    /**
-     * 鍒犻櫎鏁版嵁
-     *
-     * @param idList 涓婚敭缁撳悎
-     * @return 鍒犻櫎缁撴灉
-     */
-    @DeleteMapping
-    public R delete(@RequestParam("idList") List<Long> idList) {
-        return success(this.causeService.removeByIds(idList));
+    @ApiOperation(httpMethod = "GET", value = "璐熻矗浜烘煡璇�")
+    @GetMapping("/getManagerList")
+    @ApiResponse(message = "鎵ц鎴愬姛", code = 200)
+    public R getManagerList() {
+        return R.ok(causeService.getManagerList());
     }
 }
 
diff --git a/src/main/java/com/example/jz/modle/dto/CauseDto.java b/src/main/java/com/example/jz/modle/dto/CauseDto.java
new file mode 100644
index 0000000..125558e
--- /dev/null
+++ b/src/main/java/com/example/jz/modle/dto/CauseDto.java
@@ -0,0 +1,32 @@
+package com.example.jz.modle.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@ApiModel(description = "娣诲姞妗堜欢瀛楁", value = "CauseDto")
+public class CauseDto {
+    //妗堜欢缂栧彿
+    @ApiModelProperty(dataType = "String", value = "妗堜欢缂栧彿")
+    private String number;
+
+    //妗堜欢鍚嶇О
+    @ApiModelProperty(dataType = "String", value = "妗堜欢鍚嶇О")
+    private String name;
+
+    //绗竴娆℃鍙戞椂闂�
+    @ApiModelProperty(dataType = "Date", value = "绗竴娆℃鍙戞椂闂�")
+//    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss.SSS")
+    private Date firstTime;
+
+    //璐熻矗浜篿d
+    @ApiModelProperty(dataType = "Integer", value = "璐熻矗浜篿d")
+    private Integer userId;
+
+    //妗堜欢鎻忚堪
+    @ApiModelProperty(dataType = "String", value = "妗堜欢鎻忚堪")
+    private String description;
+}
diff --git a/src/main/java/com/example/jz/modle/entity/Group.java b/src/main/java/com/example/jz/modle/entity/Group.java
index 6628fac..37d9a98 100644
--- a/src/main/java/com/example/jz/modle/entity/Group.java
+++ b/src/main/java/com/example/jz/modle/entity/Group.java
@@ -8,6 +8,7 @@
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
 
+
 import java.io.Serializable;
 import java.util.Date;
 
diff --git a/src/main/java/com/example/jz/modle/entity/User.java b/src/main/java/com/example/jz/modle/entity/User.java
index 04b73f0..20968c7 100644
--- a/src/main/java/com/example/jz/modle/entity/User.java
+++ b/src/main/java/com/example/jz/modle/entity/User.java
@@ -66,7 +66,7 @@
     /**
      * ID
      */
-    private String id;
+    private Integer id;
 
 
     public String getNickName() {
@@ -173,13 +173,13 @@
         this.status = status;
     }
 
-    public String getId() {
+
+    public Integer getId() {
         return id;
     }
 
-    public void setId(String id) {
+    public void setId(Integer id) {
         this.id = id;
     }
-
 }
 
diff --git a/src/main/java/com/example/jz/modle/vo/CauseVo.java b/src/main/java/com/example/jz/modle/vo/CauseVo.java
new file mode 100644
index 0000000..2aedd56
--- /dev/null
+++ b/src/main/java/com/example/jz/modle/vo/CauseVo.java
@@ -0,0 +1,47 @@
+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 = "CauseVo")
+public class CauseVo {
+
+    @ApiModelProperty(dataType = "String", value = "缇ょ粍鍚嶇О")
+    private Integer id;
+
+    //妗堜欢缂栧彿
+    @ApiModelProperty(dataType = "String", value = "妗堜欢缂栧彿")
+    private String number;
+
+    //妗堜欢鍚嶇О
+    @ApiModelProperty(dataType = "String", value = "妗堜欢鍚嶇О")
+    private String name;
+
+    //绗竴娆℃鍙戞椂闂�
+    @ApiModelProperty(dataType = "Date", value = "绗竴娆℃鍙戞椂闂�")
+    private Date firstTime;
+
+    //鍒涘缓鏃堕棿
+    @ApiModelProperty(dataType = "Date", value = "鍒涘缓鏃堕棿")
+    private Date ctime;
+
+    //鐘舵�� 0鏈鏍� 1涓嶄簣绔嬫 2鍙楃悊涓� 3宸茬粨妗�
+    @ApiModelProperty(dataType = "String", value = "鐘舵�� 0鏈鏍� 1涓嶄簣绔嬫 2鍙楃悊涓� 3宸茬粨妗�")
+    private String status;
+
+    //璐熻矗浜篿d
+    @ApiModelProperty(dataType = "Integer", value = "璐熻矗浜哄悕绉�")
+    private String userName;
+
+    //妗堜欢鎻忚堪
+    @ApiModelProperty(dataType = "String", value = "妗堜欢鎻忚堪")
+    private String description;
+
+    //妗堜欢鎶ユ浜烘暟
+    @ApiModelProperty(dataType = "Integer", value = "妗堜欢鎶ユ浜烘暟")
+    private Integer reportNumber;
+}
diff --git a/src/main/java/com/example/jz/modle/vo/MessageVo.java b/src/main/java/com/example/jz/modle/vo/MessageVo.java
index 6900d92..f7796fc 100644
--- a/src/main/java/com/example/jz/modle/vo/MessageVo.java
+++ b/src/main/java/com/example/jz/modle/vo/MessageVo.java
@@ -3,6 +3,7 @@
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.util.Date;
 
diff --git a/src/main/java/com/example/jz/modle/vo/ReportVo.java b/src/main/java/com/example/jz/modle/vo/ReportVo.java
index b113d77..e99002e 100644
--- a/src/main/java/com/example/jz/modle/vo/ReportVo.java
+++ b/src/main/java/com/example/jz/modle/vo/ReportVo.java
@@ -24,4 +24,8 @@
     @ApiModelProperty(value = "鎶ユ浜鸿韩浠借瘉鍙�",dataType = "String")
     //鎶ユ浜鸿韩浠借瘉鍙�
     private String idcard;
+
+    //鎶ユ浜篿d
+    @ApiModelProperty(value = "id",dataType = "Integer")
+    private Integer id;
 }
diff --git a/src/main/java/com/example/jz/modle/vo/UserVo.java b/src/main/java/com/example/jz/modle/vo/UserVo.java
new file mode 100644
index 0000000..c85d373
--- /dev/null
+++ b/src/main/java/com/example/jz/modle/vo/UserVo.java
@@ -0,0 +1,18 @@
+package com.example.jz.modle.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(description = "璐熻矗浜�",value = "UserVo")
+public class UserVo {
+
+    //璐熻矗浜哄悕绉�
+    @ApiModelProperty(dataType = "String",value = "璐熻矗浜哄悕绉�")
+    private String userName;
+
+    //璐熻矗浜篿d
+    @ApiModelProperty(dataType = "Integer",value = "璐熻矗浜篿d")
+    private Integer userId;
+}
diff --git a/src/main/java/com/example/jz/service/CauseService.java b/src/main/java/com/example/jz/service/CauseService.java
index a7aba8a..8c6e0f9 100644
--- a/src/main/java/com/example/jz/service/CauseService.java
+++ b/src/main/java/com/example/jz/service/CauseService.java
@@ -1,7 +1,13 @@
 package com.example.jz.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.example.jz.modle.PageParam;
+import com.example.jz.modle.dto.CauseDto;
 import com.example.jz.modle.entity.Cause;
+import com.example.jz.modle.vo.CauseVo;
+import com.example.jz.modle.vo.UserVo;
+
+import java.util.List;
 
 /**
  * 妗堜欢琛�(Cause)琛ㄦ湇鍔℃帴鍙�
@@ -11,5 +17,22 @@
  */
 public interface CauseService extends IService<Cause> {
 
+    /**
+     * @return java.lang.Integer
+     * @Description 娣诲姞妗堜欢
+     * @Param [causeDto]
+     **/
+    Integer addCause(CauseDto causeDto);
+
+    /**
+     * @Description  鑾峰彇妗堜欢鏍规嵁鏉′欢
+     * @Param [cause, status]
+     * @return java.util.List<com.example.jz.modle.vo.CauseVo>
+     **/
+    PageParam<CauseVo> getCauserListByCondition(String cause, Integer status, Integer size, Integer current);
+
+    List<UserVo> getManagerList();
+
+    Integer updateCause(CauseDto causeDto,Integer id);
 }
 
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 c6af4f0..1e0d780 100644
--- a/src/main/java/com/example/jz/service/impl/CauseServiceImpl.java
+++ b/src/main/java/com/example/jz/service/impl/CauseServiceImpl.java
@@ -1,10 +1,29 @@
 package com.example.jz.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.example.jz.dao.CauseDao;
+import com.example.jz.dao.GroupDao;
+import com.example.jz.dao.ReportDao;
+import com.example.jz.dao.UserDao;
+import com.example.jz.modle.PageParam;
+import com.example.jz.modle.dto.CauseDto;
 import com.example.jz.modle.entity.Cause;
+import com.example.jz.modle.entity.Group;
+import com.example.jz.modle.entity.Report;
+import com.example.jz.modle.entity.User;
+import com.example.jz.modle.vo.CauseVo;
+import com.example.jz.modle.vo.UserVo;
 import com.example.jz.service.CauseService;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 妗堜欢琛�(Cause)琛ㄦ湇鍔″疄鐜扮被
@@ -15,5 +34,83 @@
 @Service("causeService")
 public class CauseServiceImpl extends ServiceImpl<CauseDao, Cause> implements CauseService {
 
+    @Resource
+    CauseDao causeDao;
+    @Resource
+    UserDao userDao;
+    @Resource
+    ReportDao reportDao;
+    @Resource
+    CauseService causeService;
+    @Resource
+    GroupDao groupDao;
+
+    @Override
+    public Integer addCause(CauseDto causeDto) {
+        //鍒涘缓妗堜欢
+        Cause cause = new Cause();
+        BeanUtils.copyProperties(causeDto, cause);
+        cause.setCtime(new Date());
+        causeService.save(cause);
+        //鍒涘缓缇ょ粍
+        Group group = new Group();
+        group.setCtime(new Date());
+        group.setGroupName(causeDto.getName());
+        group.setUserId(causeDto.getUserId());
+        group.setCauseId(cause.getId());
+        return groupDao.insert(group);
+    }
+
+    @Override
+    public PageParam<CauseVo> getCauserListByCondition(String cause, Integer status, Integer size, Integer current) {
+        QueryWrapper<Cause> causeQueryWrapper = new QueryWrapper<>();
+        if (StringUtils.isNotBlank(cause)) {
+            causeQueryWrapper.and(a -> a.like(StringUtils.isNotBlank(cause), "number", cause)
+                    .or(StringUtils.isNotBlank(cause))
+                    .like(StringUtils.isNotBlank(cause), "name", cause));
+        }
+        if (status != null) {
+            causeQueryWrapper.eq("status", status);
+        }
+        causeQueryWrapper.orderByDesc("ctime");
+        PageParam<Cause> causePageParam = new PageParam<>();
+        if (size != null) {
+            causePageParam.setSize(size);
+        }
+        if (current != null) {
+            causePageParam.setCurrent(current);
+        }
+        PageParam<Cause> causePage = causeDao.selectPage(causePageParam, causeQueryWrapper);
+        List<CauseVo> causeVos = causePage.getRecords().stream().map(
+                a -> {
+                    CauseVo causeVo = new CauseVo();
+                    BeanUtils.copyProperties(a, causeVo);
+                    causeVo.setUserName(userDao.selectOne(new QueryWrapper<User>().eq("id", a.getUserId())).getRealName());
+                    causeVo.setReportNumber(reportDao.selectCount(new QueryWrapper<Report>().eq("cause_id", a.getId())));
+                    return causeVo;
+                }).collect(Collectors.toList());
+        PageParam<CauseVo> causeVoPageParam = new PageParam<>();
+        BeanUtils.copyProperties(causePage, causeVoPageParam);
+        causeVoPageParam.setRecords(causeVos);
+        return causeVoPageParam;
+    }
+
+    @Override
+    public List<UserVo> getManagerList() {
+        return userDao.selectList(new QueryWrapper<User>().eq("role", 1)).stream().map(a -> {
+            UserVo userVo = new UserVo();
+            userVo.setUserId(a.getId());
+            userVo.setUserName(a.getRealName());
+            return userVo;
+        }).collect(Collectors.toList());
+    }
+
+    @Override
+    public Integer updateCause(CauseDto causeDto,Integer id) {
+        Cause cause = new Cause();
+        BeanUtils.copyProperties(causeDto,cause);
+        cause.setId(id);
+        return causeDao.updateById(cause);
+    }
 }
 
diff --git a/src/main/java/com/example/jz/service/impl/WorkbenchServiceImpl.java b/src/main/java/com/example/jz/service/impl/WorkbenchServiceImpl.java
index 8745bdf..6f23222 100644
--- a/src/main/java/com/example/jz/service/impl/WorkbenchServiceImpl.java
+++ b/src/main/java/com/example/jz/service/impl/WorkbenchServiceImpl.java
@@ -66,6 +66,7 @@
 
     @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 -> {
@@ -75,6 +76,7 @@
             String regex = "(?<=[\\d]{3})\\d(?=[\\d]{4})";
             reportVo.setIdcard(user.getUserIdcard().replaceAll(regex, "*"));
             reportVo.setMobile(user.getUserMobile());
+            reportVo.setId(a.getId());
             reportVos.add(reportVo);
         });
         return reportVos;
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 9681f9d..c9fb515 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -44,4 +44,4 @@
       id-type: auto
       field-strategy: NOT_NULL
   configuration:
-    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
\ No newline at end of file

--
Gitblit v1.8.0