青羊经侦大队-数据平台
baizonghao
2023-04-23 028bd9c7cccb1ba7569636c631fa3c83a16d3e48
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
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.MessageVo;
import com.example.jz.modle.vo.ReportVo;
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;
import java.util.stream.Collectors;
 
@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<>();
        if (!reports.isEmpty()) {
            reports.forEach(a -> {
                User user = userDao.selectOne(new QueryWrapper<User>().eq("id", a.getUserId()));
                ReportVo reportVo = new ReportVo();
                if (user != null) {
                    reportVo.setReporterName(user.getRealName());
                    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;
    }
 
    @Override
    public List<MessageVo> getGroupMessage() {
        return messageDao.selectList(new QueryWrapper<Message>().orderByDesc("ctime")).stream()
                .filter(item -> item.getUserId() != null).limit(5).map(a -> {
                    MessageVo messageVo = new MessageVo();
                    messageVo.setGroupName(groupDao.selectOne(new QueryWrapper<Group>().eq("id", a.getGroupId())).getGroupName());
                    BeanUtils.copyProperties(a, messageVo);
                    messageVo.setUserName(a.getReportName());
                    return messageVo;
                }).collect(Collectors.toList());
    }
}