青羊经侦大队-数据平台
wl
2022-07-13 993c6978ad57926a777e3837053e7b28da62ee93
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
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;
    }
}