package com.doumee.service.system.impl; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Utils; import com.doumee.dao.system.SystemRoleMenuMapper; import com.doumee.dao.system.model.SystemRoleMenu; import com.doumee.service.system.SystemRoleMenuService; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.util.List; /** * 角色菜单关联Service实现 * @author Eva.Caesar Liu * @since 2025/03/31 16:44 */ @Service public class SystemRoleMenuServiceImpl implements SystemRoleMenuService { @Autowired private SystemRoleMenuMapper systemRoleMenuMapper; @Override public Integer create(SystemRoleMenu systemRoleMenu) { systemRoleMenuMapper.insert(systemRoleMenu); return systemRoleMenu.getId(); } @Override public void deleteById(Integer id) { SystemRoleMenu systemRoleMenu = new SystemRoleMenu(); systemRoleMenu.setId(id); systemRoleMenu.setDeleted(Boolean.TRUE); this.updateById(systemRoleMenu); } @Override public void delete(SystemRoleMenu systemRoleMenu) { SystemRoleMenu newRoleMenu = new SystemRoleMenu(); newRoleMenu.setDeleted(Boolean.TRUE); UpdateWrapper updateWrapper = new UpdateWrapper<>(systemRoleMenu); systemRoleMenuMapper.update(newRoleMenu, updateWrapper); } @Override @Transactional public void deleteByIdInBatch(List ids) { if (CollectionUtils.isEmpty(ids)) return; for (Integer id : ids) { this.deleteById(id); } } @Override public void updateById(SystemRoleMenu systemRoleMenu) { systemRoleMenuMapper.updateById(systemRoleMenu); } @Override @Transactional public void updateByIdInBatch(List systemRoleMenus) { if (CollectionUtils.isEmpty(systemRoleMenus)) return; for (SystemRoleMenu systemRoleMenu: systemRoleMenus) { this.updateById(systemRoleMenu); } } @Override public SystemRoleMenu findById(Integer id) { return systemRoleMenuMapper.selectById(id); } @Override public SystemRoleMenu findOne(SystemRoleMenu systemRoleMenu) { Wrapper wrapper = new QueryWrapper<>(systemRoleMenu); return systemRoleMenuMapper.selectOne(wrapper); } @Override public List findList(SystemRoleMenu systemRoleMenu) { Wrapper wrapper = new QueryWrapper<>(systemRoleMenu); return systemRoleMenuMapper.selectList(wrapper); } @Override public PageData findPage(PageWrap pageWrap) { IPage page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); QueryWrapper queryWrapper = new QueryWrapper<>(Utils.MP.blankToNull(pageWrap.getModel())); for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase("DESC")) { queryWrapper.orderByDesc(sortData.getProperty()); } else { queryWrapper.orderByAsc(sortData.getProperty()); } } return PageData.from(systemRoleMenuMapper.selectPage(page, queryWrapper)); } @Override public long count(SystemRoleMenu systemRoleMenu) { Wrapper wrapper = new QueryWrapper<>(systemRoleMenu); return systemRoleMenuMapper.selectCount(wrapper); } }