package com.monkeylessey.sys.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.monkeylessey.sys.domain.entity.SysRole; import com.monkeylessey.sys.domain.form.SysRoleForm; import com.monkeylessey.sys.domain.query.SysRoleQuery; import com.monkeylessey.sys.domain.vo.SysRoleVO; import com.monkeylessey.sys.mapper.SysRoleMapper; import com.monkeylessey.response.Result; import com.monkeylessey.sys.service.SysRoleService; import com.monkeylessey.framework.utils.SecurityUtil; import com.monkeylessey.utils.PageUtil; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; /** * 系统角色 服务实现类 * * @author 向培 * @since 2022-05-22 */ @Service @RequiredArgsConstructor public class SysRoleServiceImpl extends ServiceImpl implements SysRoleService { private final SysRoleMapper sysRoleMapper; @Override public Result addSysRole(SysRoleForm form) { SysRole entity = SysRoleForm.getSysRole(null, form); String s = SecurityUtil.getCurrentUserName(); entity.setCreateBy(s); try { int insert = baseMapper.insert(entity); return Result.ok("添加成功").data(insert); } catch (Exception e) { e.printStackTrace(); return Result.error("添加失败"); } } @Override public Result editSysRole(SysRoleForm form) { SysRole entity = SysRoleForm.getSysRole(null, form); String s = SecurityUtil.getCurrentUserName(); entity.setUpdateBy(s); try { baseMapper.updateById(entity); return Result.ok("修改成功"); } catch (Exception e) { e.printStackTrace(); return Result.error("修改失败"); } } @Override public Result deleteSysRoleById(String id) { try { baseMapper.deleteById(id); return Result.ok("删除成功"); } catch (Exception e) { e.printStackTrace(); return Result.error("删除失败"); } } @Override @Transactional(rollbackFor = Exception.class) public Result deleteSysRoleByIds(List ids) { return Result.ok("操作成功").data(baseMapper.deleteBatchIds(ids)); } @Override public Result getSysRoleByPage(SysRoleQuery query) { List vos = new ArrayList<>(); Long total = 0L; try { IPage page = PageUtil.getPage(query, SysRole.class); new LambdaQueryChainWrapper<>(this.baseMapper).page(page); vos = page.getRecords().stream() .map(sysRole -> SysRoleVO.getVoByEntity(sysRole, null)) .collect(Collectors.toList()); total = page.getTotal(); } catch (Exception e) { e.printStackTrace(); } return Result.ok().data(vos).total(total); } @Override public Result getSysRoleById(String id) { SysRole entity = baseMapper.selectById(id); SysRoleVO vo = new SysRoleVO(); BeanUtils.copyProperties(entity, vo); return Result.ok().data(vo); } }