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/CauseServiceImpl.java |  101 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 99 insertions(+), 2 deletions(-)

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 a69c7a7..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,19 +1,116 @@
 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)琛ㄦ湇鍔″疄鐜扮被
+ * 妗堜欢琛�(Cause)琛ㄦ湇鍔″疄鐜扮被
  *
  * @author makejava
- * @since 2022-07-11 16:55:41
+ * @since 2022-07-13 11:52:58
  */
 @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);
+    }
 }
 

--
Gitblit v1.8.0