package com.huimv.admin.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.huimv.admin.common.utils.Result; import com.huimv.admin.common.utils.ResultCode; import com.huimv.admin.entity.AccountGroup; import com.huimv.admin.entity.Group; import com.huimv.admin.entity.GroupMenu; import com.huimv.admin.mapper.AccountGroupMapper; import com.huimv.admin.mapper.GroupMapper; import com.huimv.admin.mapper.GroupMenuMapper; import com.huimv.admin.service.IGroupService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** *

* 服务实现类 *

* * @author astupidcoder * @since 2021-09-09 */ @Service public class GroupServiceImpl extends ServiceImpl implements IGroupService { @Autowired private GroupMapper groupMapper; @Autowired private GroupMenuMapper groupMenuMapper; @Autowired private AccountGroupMapper accountGroupMapper; @Override public Result updateGroup(@RequestBody Group group) { try { groupMapper.updateById(group); return new Result(10000,"修改成功",true); }catch (Exception e){ return new Result(10001,"修改失败",false); } } @Override @Transactional public Result removeGroup(Integer groupId) { try { Group group = this.groupMapper.selectById(groupId); if (group == null) { return new Result(10002,"请选择数据",false); } // 删除权限组 this.groupMapper.deleteById(groupId); // 删除权限组关联菜单 QueryWrapper groupMenuQueryWrapper = new QueryWrapper<>(); groupMenuQueryWrapper.eq("group_id",groupId); groupMenuMapper.delete(groupMenuQueryWrapper); return new Result(10000,"删除成功",true); }catch (Exception e){ return new Result(10001,"删除失败",false); } } @Override public Result listGroup(Map map, List allChildId) { Integer pageNum = (Integer)map.get("pageNum"); Integer pageSize = (Integer)map.get("pageSize"); Page page = this.page(new Page<>(pageNum, pageSize), new QueryWrapper().in("account_id", allChildId).orderByDesc("id")); return new Result(ResultCode.SUCCESS,page); } @Override public Result addGroup(Group group, Integer userId) { try { group.setAccountId(userId); groupMapper.insert(group); return new Result(10000,"添加成功",true); }catch (Exception e){ return new Result(10001,"添加失败",false); } } @Override public Result getGroupByUserId(Integer userId) { List accountId = accountGroupMapper.selectList(new QueryWrapper().eq("account_id", userId)); List collect = accountId.stream().map(AccountGroup::getGroupId).collect(Collectors.toList()); return new Result(ResultCode.SUCCESS,collect); } }