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 findList(Group group){ SysUserInfo userInfo = UserInfoUtils.getInstance().getUserInfo(); return groupMapper.findList(group.setCompanyId(userInfo.getCompanyId())); } @Override public List 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 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> pulldown() { SysUserInfo userInfo = UserInfoUtils.getInstance().getUserInfo(); List> map = groupMapper.queryGroupPull(userInfo.getCompanyId()); return map; } }