package com.cloud.user.service.impl; import com.cloud.common.utils.PageUtil; import com.cloud.model.common.Page; import com.cloud.model.sys.SysPermission; import com.cloud.user.dao.RolePermissionDao; import com.cloud.user.dao.SysPermissionDao; import com.cloud.user.service.SysPermissionService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; @Slf4j @Service public class SysPermissionServiceImpl implements SysPermissionService { @Autowired private SysPermissionDao sysPermissionDao; @Autowired private RolePermissionDao rolePermissionDao; @Override public Set findByRoleIds(Set roleIds) { return rolePermissionDao.findPermissionsByRoleIds(roleIds); } @Transactional @Override public void save(SysPermission sysPermission) { SysPermission permission = sysPermissionDao.findByPermission(sysPermission.getPermission()); if (permission != null) { throw new IllegalArgumentException("权限标识已存在"); } sysPermission.setCreateTime(new Date()); sysPermission.setUpdateTime(sysPermission.getCreateTime()); sysPermissionDao.save(sysPermission); log.info("保存权限标识:{}", sysPermission); } @Override public void update(SysPermission sysPermission) { sysPermission.setUpdateTime(new Date()); sysPermissionDao.update(sysPermission); log.info("修改权限标识:{}", sysPermission); } @Transactional @Override public Integer delete(Long id) { SysPermission permission = sysPermissionDao.findById(id); if (permission == null) { throw new IllegalArgumentException("权限标识不存在"); } int result = sysPermissionDao.delete(id); rolePermissionDao.deleteRolePermission(null, id); log.info("删除权限标识:{}", permission); return result; } @Override public Page findPermissions(Map params) { int total = sysPermissionDao.count(params); List list = Collections.emptyList(); if (total > 0) { PageUtil.pageParamConver(params, false); list = sysPermissionDao.findData(params); } return new Page<>(total, list); } }