123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- package com.huaxu.service.impl;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.huaxu.dao.GroupUserMapper;
- import com.huaxu.dao.UserGroupMapper;
- import com.huaxu.dao.UserRoleMapper;
- import com.huaxu.dto.UserGroupDto;
- import com.huaxu.entity.*;
- import com.huaxu.model.LoginUser;
- import com.huaxu.service.UserGroupService;
- import com.huaxu.util.UserUtil;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- /**
- * 用户组(UserGroup表)服务实现类
- *
- * @author makejava
- * @since 2020-10-27 09:13:57
- */
- @Service("userGroupService")
- public class UserGroupServiceImpl implements UserGroupService {
- @Autowired
- private UserGroupMapper userGroupMapper;
- @Autowired
- private GroupUserMapper groupUserMapper;
- /**
- * 通过ID查询单条数据
- *
- * @param id 主键
- * @return 实例对象
- */
- @Override
- public UserGroup selectById(Integer id) {
- return this.userGroupMapper.selectById(id);
- }
- /**
- * 查询所有
- *
- * @return 实例对象的集合
- */
- @Override
- public List<UserGroup> selectAll() {
- return this.userGroupMapper.selectAll();
- }
- /**
- * 根据条件查询
- *
- * @return 实例对象的集合
- */
- @Override
- public List<UserGroup> selectList(UserGroup userGroup) {
- return this.userGroupMapper.selectList(userGroup);
- }
- /**
- * 新增数据
- *
- * @param userGroup 实例对象
- * @return 实例对象
- */
- @Override
- public int insert(UserGroup userGroup) {
- LoginUser currentUser = UserUtil.getCurrentUser();
- userGroup.setTenantId(currentUser.getTenantId());
- userGroup.setCreateBy(currentUser.getUsername());
- return this.userGroupMapper.insert(userGroup);
- }
- /**
- * 批量新增
- *
- * @param userGroups 实例对象的集合
- * @return 生效的条数
- */
- @Override
- public int batchInsert(List<UserGroup> userGroups) {
- return this.userGroupMapper.batchInsert(userGroups);
- }
- /**
- * 修改数据
- *
- * @param userGroup 实例对象
- * @return 实例对象
- */
- @Override
- @Transactional
- public int update(UserGroup userGroup) {
- if(userGroup.getStatus()==-1){
- UserGroup hasUserGroupUsers = userGroupMapper.findHasUserGroupUsers(userGroup);
- if(hasUserGroupUsers!=null){
- return -1;
- }
- //删除用户与用户组的关系
- userGroupMapper.deleteUserGroupRelations(userGroup);
- }
- LoginUser currentUser = UserUtil.getCurrentUser();
- userGroup.setUpdateBy(currentUser.getUsername());
- return this.userGroupMapper.update(userGroup);
- }
- /**
- * 通过主键删除数据
- *
- * @param id 主键
- * @return 是否成功
- */
- @Override
- public int deleteById(Integer id) {
- return this.userGroupMapper.deleteById(id);
- }
- /**
- * 查询总数据数
- *
- * @return 数据总数
- */
- @Override
- public int count() {
- return this.userGroupMapper.count();
- }
- /**
- * 分页查询
- *
- * @return 对象列表
- */
- @Override
- public IPage<UserGroup> selectPage(UserGroup userGroup, IPage<UserGroup> page) {
- LoginUser currentUser = UserUtil.getCurrentUser();
- userGroup.setTenantId(currentUser.getTenantId());
- return this.userGroupMapper.selectPage(page, userGroup);
- }
- @Override
- public List<UserEntity> findUsersByUserGroup(UserGroup userGroup) {
- return userGroupMapper.findUsersByUserGroup( userGroup);
- }
- @Override
- @Transactional
- public int updateRolesByUserGroup(UserGroupDto userGroupDto) {
- UserGroup userGroup=new UserGroup();
- Integer groupId=userGroupDto.getGroupId();
- userGroup.setId(groupId);
- userGroupMapper.deleteUserGroupRelations(userGroup);
- List<Long> userIds = userGroupDto.getUserIds();
- List<GroupUser>groupUsers=new ArrayList<>();
- List<UserRoleEntity>userRoleEntities=new ArrayList<>();
- userIds.forEach(id->{
- GroupUser user=new GroupUser();
- user.setUserId(id);
- user.setGroupId(groupId);
- UserRoleEntity userRoleEntity=new UserRoleEntity();
- userRoleEntity.setRoleId(userGroupDto.getRoleId());
- userRoleEntity.setUserId(id);
- groupUsers.add(user);
- userRoleEntities.add(userRoleEntity);
- });
- userGroupMapper.deleteUserRoles(userGroupDto);
- userGroupMapper.batchInsertRoles(userRoleEntities);
- groupUserMapper.batchInsert(groupUsers);
- return 0;
- }
- }
|