张晓波
2023-09-19 164694c47c35d6654df69b533e8dbf8b5423efc5
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
package com.thhy.staff.modules.biz.group.service.impl;
 
import com.alibaba.nacos.shaded.io.grpc.netty.shaded.io.netty.util.internal.StringUtil;
import com.thhy.general.config.SysUserInfo;
import com.thhy.general.utils.UserInfoUtils;
import com.thhy.staff.modules.biz.group.entity.*;
import com.thhy.staff.modules.biz.group.mapper.GroupMapper;
import com.thhy.staff.modules.biz.group.mapper.GroupUserMapper;
import com.thhy.staff.modules.biz.group.service.GroupService;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
 
/**
 *  服务实现类
 * @author zhang_xiao_bo
 * @since 2023-03-31 13:25:03
 */
@Service
public class GroupServiceImpl implements GroupService {
 
 
 
    @Autowired
    private GroupMapper groupMapper;
 
    @Autowired
    private GroupUserMapper groupUserMapper;
 
    public Group get(Serializable id){
        return groupMapper.queryById(id);
    }
 
    public List<GroupListVo> findList(Group group){
        SysUserInfo userInfo = UserInfoUtils.getInstance().getUserInfo();
        return groupMapper.findList(group.setCompanyId(userInfo.getCompanyId()));
    }
 
    @Override
    public List<GroupListVo> findListForExport(Group group, String token) {
        SysUserInfo userInfo = UserInfoUtils.getInstance().getUserInfo(token);
        return groupMapper.findList(group.setCompanyId(userInfo.getCompanyId()));
    }
 
    /**
     * 增加和修改
     * @param group
     */
    @Transactional
    public void addGroup(Group group){
        SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
        if(group.getGroupId() == null){
            //增加操作
            group.setCreateUser(sysUserInfo.getUserId());
            groupMapper.insert(group);
 
        }else{
            //修改操作
            group.setUpdateUser(sysUserInfo.getUserId());
            group.setUpdateTime(new Date());
            groupMapper.update(group);
        }
 
    }
 
    /**
     * 修改
     * @param group
     */
    public void update(Group group){
        groupMapper.update(group);
    }
 
    /**
     * 删除
     * @param groupId
     */
    public void delete(Serializable groupId){
        groupMapper.deletelogic(groupId);
    }
 
    @Override
    public List<GroupPlatUserVo> groupUserList(GroupUserDto groupUserDto) {
        return groupMapper.queryGroupUserList(groupUserDto);
    }
 
    @Transactional
    @Override
    public void groupUserDelete(GroupUser groupUser) {
        groupUserMapper.deleteByGroupUser(groupUser);
    }
 
    @Transactional
    @Override
    public void groupUserAdd(GroupUserDto groupUserDto) {
        groupUserMapper.deleteByGroup(groupUserDto.getGroupId());
        String userIds = groupUserDto.getUserIds();
        if(!StringUtil.isNullOrEmpty(userIds)){
            String[] userIdArray = new String[]{userIds};
            if(userIds.contains(",")){
                userIdArray = userIds.split(",");
            }
            for(String uid : userIdArray){
                groupUserMapper.insert(new GroupUser(groupUserDto.getGroupId(), uid));
            }
 
        }
 
    }
 
    @Transactional
    @Override
    public void setGroupAdmin(GroupUser groupUser) {
        groupUserMapper.CancelAllAdminByGroup(groupUser);
        groupUserMapper.setGroupAdmin(groupUser);
    }
 
    @Override
    public void cancelGroupAdmin(GroupUser groupUser) {
        groupUserMapper.CancelAdminByGroupUser(groupUser);
    }
 
    @Override
    public GroupListVo queryGroupInfo(Group group) {
        return groupMapper.queryGroupInfo(group);
    }
 
    @Override
    public List<HashMap<String, Object>> pulldown() {
        SysUserInfo userInfo = UserInfoUtils.getInstance().getUserInfo();
        List<HashMap<String,Object>> map = groupMapper.queryGroupPull(userInfo.getCompanyId());
        return map;
    }
}