青羊经侦大队-数据平台
wl
2022-10-19 744cd0a3bc66de73a94e320724b1bb776a6e4080
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
102
103
104
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;
 
@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() {
        ArrayList<MessageVo> messageVos = new ArrayList<>();
        if (!messageVos.isEmpty()){
            messageDao.selectList(new QueryWrapper<Message>().orderByDesc("ctime")).stream()
                    .filter(item->item.getUserId()!=null).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(a.getReportName());
                        messageVos.add(messageVo);
                    });
        }
        return messageVos;
    }
}