package cn.huge.module.ctrole.service; import cn.huge.base.common.exception.ServiceException; import cn.huge.base.common.utils.DateUtils; import cn.huge.base.common.utils.IdUtils; import cn.huge.module.client.api.impl.UtilsClientImpl; import cn.huge.module.ctrole.dao.mapper.CtRoleMapper; import cn.huge.module.ctrole.domain.bo.CtRoleBO; import cn.huge.module.ctrole.domain.po.CtRole; import cn.huge.module.rsoper.domain.dto.RoleMenuTreeDTO; import cn.huge.module.ctuser.service.CtUserService; import cn.huge.module.rsoper.domain.po.RsRole; import cn.huge.module.rsoper.service.RsRolefunService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import lombok.extern.slf4j.Slf4j; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageRequest; import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; import java.util.Map; /** * @title: 角色表业务逻辑处理 * @Description 角色表业务逻辑处理 * @company hugeinfo * @author liyj * @Time 2024-08-19 20:04:19 * @version 1.0.0 */ @Slf4j @Service @Transactional(rollbackFor = Exception.class) public class CtRoleService extends ServiceImpl{ @Autowired private CtRoleMapper mapper; @Autowired private UtilsClientImpl utilsClient; @Autowired private CtUserService ctUserService; @Autowired private CtRolefunService ctRolefunService; @Autowired private RsRolefunService rsRolefunService; /** * 更新对象 * @param entity 对象 */ public void updateCRole(CtRole entity){ try{ mapper.updateCRole(entity); }catch (Exception e){ log.error("[CRoleService.updateCRole]调用失败,异常信息:"+e, e); throw new ServiceException("CRoleService.updateCRole", e); } } /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ public void updateCRoleTerms(CtRole entity, Map terms){ try{ mapper.updateCRoleTerms(entity, terms); }catch (Exception e){ log.error("[CRoleService.updateCRoleTerms]调用失败,异常信息:"+e, e); throw new ServiceException("CRoleService.updateCRoleTerms", e); } } /** * 根据编号物理删除 * @param id 查询条件集合 */ public void deleteCRole(String id){ try{ mapper.deleteCRole(id); }catch (Exception e){ log.error("[CRoleService.deleteCRole]调用失败,异常信息:"+e, e); throw new ServiceException("CRoleService.deleteCRole", e); } } /** * 按条件查询 * @param terms 条件 * @return List */ public List listTerms(Map terms){ return mapper.listTerms(terms); } /** * 按条件统计 * @param terms 条件 * @return long */ public long countTerms(Map terms){ return mapper.countTerms(terms); } /** * 按条件分页查询 * @param page 分页对象 * @param terms 条件 * @return Page */ public Page pageQuery(PageRequest page, Map terms){ long total = mapper.countTerms(terms); List content = mapper.pageTerms(page, terms); return new PageImpl(content, page, total); } /** * 新增或更新对象 * @param ctRole 实体对象 */ public void saveCRole(CtRole ctRole){ try{ Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(ctRole.getId())){ ctRole.setId(utilsClient.getNewTimeId()); ctRole.setCreateTime(nowDate); } ctRole.setUpdateTime(nowDate); this.saveOrUpdate(ctRole); }catch (Exception e){ log.error("[CRoleService.saveCRole]调用失败,异常信息:"+e, e); throw new ServiceException("CRoleService.saveCRole", e); } } /** * 根据单位编号和角色编号查询 * @param unitId 单位编号 * @param roleId 角色编号 * @return */ public CtRole getByUnitIdAndRoleId(String unitId, String roleId){ QueryWrapper ctRoleQueryWrapper = new QueryWrapper<>(); ctRoleQueryWrapper.eq("unit_id", unitId).eq("role_code", roleId); CtRole ctRole = mapper.selectOne(ctRoleQueryWrapper); return ctRole; } }