package com.zteits.sys.biz; import java.util.ArrayList; import java.util.Date; import java.util.List; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import com.zteits.clouds.api.apibase.exception.BizException; import org.apache.commons.lang3.StringUtils; import com.clouds.common.log.LogSelf; import com.clouds.common.utils.BeanValidatorsUtils; import com.clouds.common.utils.ListCopyUtil; import com.clouds.common.utils.LogSelfFactory; import com.github.pagehelper.PageInfo; import com.google.common.collect.Lists; import com.zteits.clouds.api.apibase.bean.BizResult; import com.zteits.clouds.api.apibase.bean.PageBean; import com.zteits.clouds.api.apibase.constants.DataStatusEnum; import com.zteits.clouds.api.apibase.constants.ErrorType; import com.zteits.clouds.api.dto.sys.SysRoleDTO; import com.zteits.clouds.api.dto.sys.param.QueryRoleExistByRoleNameRequest; import com.zteits.clouds.api.dto.sys.param.QueryRolesByUserIdRequest; import com.zteits.clouds.api.dto.sys.param.SysRoleDeleteRequest; import com.zteits.clouds.api.dto.sys.param.SysRolePageQueryRequest; import com.zteits.clouds.api.dto.sys.param.SysRoleQueryByIdRequest; import com.zteits.clouds.api.dto.sys.param.SysRoleQueryByOpIdRequest; import com.zteits.clouds.api.dto.sys.param.SysRoleSaveRequest; import com.zteits.clouds.api.dto.sys.param.SysRoleUpdateRequest; import com.zteits.clouds.api.service.sys.SysRoleService; import com.zteits.sys.dao.SysOpRoleDao; import com.zteits.sys.dao.SysRoleDao; import com.zteits.sys.domain.SysRole; import com.zteits.sys.pagepaper.PageBeanUtil; /** * Copyright: Copyright (c) 2017 zteits * * @ClassName: com.zteits.sys.biz * @Description: * @version: v1.0.0 * @author: atao * @date: 2017/4/24 上午10:44 * Modification History: * Date Author Version Description * ---------------------------------------------------------* * 2017/4/24 atao v1.0.0 创建 */ @Service("com.zteits.sys.biz.SysRoleServiceImpl") public class SysRoleServiceImpl implements SysRoleService { private static final LogSelf log = LogSelfFactory.getLogSelf(SysRoleServiceImpl.class); @Autowired private SysRoleDao sysRoleDao; @Autowired private SysOpRoleDao sysOpRoleDao; @Override public BizResult deleteSysRole(SysRoleDeleteRequest request) { //验证参数 BeanValidatorsUtils.validateWithException(request); //逻辑删除 int num = sysRoleDao.logicDeleteBatchSysRoleByIds(request.getOpId(),request.getRoleIds(), request.getSysCode()); return new BizResult<>(num); } @Override @Transactional public BizResult saveSysRole(SysRoleSaveRequest request) { //验证参数 BeanValidatorsUtils.validateWithException(request); //保存角色信息 SysRole sysRole = new SysRole(); sysRole.setDataState(DataStatusEnum.DATA_STATUS_VALID.value()); sysRole.setRoleName(request.getRoleName()); sysRole.setCreateEmpid(request.getOperId()); sysRole.setCreateEmpname(request.getOperName()); sysRole.setCreateDate(new Date()); sysRole.setModfiyDate(new Date()); sysRole.setModfiyEmpid(request.getOperId()); sysRole.setRoleDesc(request.getRoleDesc()); sysRole.setSysCode(request.getSysCode()); sysRole.setOrgId(request.getOrgId()); int num = sysRoleDao.saveSysRole(sysRole); return new BizResult<>(num); } @Override @Transactional public BizResult updateSysRole(SysRoleUpdateRequest request) { //验证参数 BeanValidatorsUtils.validateWithException(request); SysRole sysRole = sysRoleDao.querySysRoleById(request.getId(), request.getSysCode()); if (null == sysRole) { throw new BizException(ErrorType.OBJECT_NOT_EXISTS, "角色ID[" + request.getId() + "]"); } if (!request.getSysCode().equals(sysRole.getSysCode())) { throw new BizException(ErrorType.OBJECT_BELONG_ERROR, String.format("角色ID[%s]不存在或不归属于系统编码[%s]", request.getId(), request.getSysCode())); } //更新角色 sysRole.setRoleName(request.getRoleName()); sysRole.setModfiyDate(new Date()); sysRole.setModfiyEmpid(request.getOperId()); sysRole.setRoleDesc(request.getRoleDesc()); sysRole.setSysCode(request.getSysCode()); sysRole.setId(request.getId()); sysRole.setOrgId(request.getOrgId()); int num = sysRoleDao.updateSysRole(sysRole); return new BizResult<>(num); } @Override public BizResult querySysRoleById(SysRoleQueryByIdRequest request) { //验证参数 BeanValidatorsUtils.validateWithException(request); SysRole sysRole = sysRoleDao.querySysRoleById(request.getId(), request.getSysCode()); SysRoleDTO dto = new SysRoleDTO(); BeanUtils.copyProperties(sysRole, dto); return new BizResult<>(dto); } /** * 根据系统编码查询所有角色wangfs Edit .
* * @param request * @return */ @Override public BizResult> queryRoleBySysCode(SysRoleQueryByOpIdRequest request) { List list = new ArrayList(); if(request == null || StringUtils.isEmpty(request.getSysCode())){ throw new BizException(ErrorType.PARAMM_NULL, "入参系统编码为空"); }else{ List roleDOList = sysRoleDao.queryRoleBySysCode(request); if(!CollectionUtils.isEmpty(roleDOList)){ for(SysRole sysRole:roleDOList){ if(sysRole != null){ SysRoleDTO sysRoleDTO = new SysRoleDTO(); BeanUtils.copyProperties(sysRole, sysRoleDTO); list.add(sysRoleDTO); } } } } return new BizResult>(list); } @Override public BizResult> pageQuerySysRole(SysRolePageQueryRequest request) { SysRole sysRole = new SysRole(); BeanUtils.copyProperties(request, sysRole); PageInfo pageInfo = sysRoleDao.queryPageSysRole(sysRole , request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize(), request.getSysCode()); PageBean pageBean = new PageBean(); PageBeanUtil.copyProperties(pageInfo, pageBean, SysRoleDTO.class); return new BizResult>(pageBean); } @Override public BizResult> queryPageSysRoleForList(SysRolePageQueryRequest request) { SysRole sysRole = new SysRole(); BeanUtils.copyProperties(request, sysRole); PageInfo pageInfo = sysRoleDao.queryPageSysRoleForList(sysRole, request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize(), request.getSysCode()); PageBean pageBean = new PageBean(); PageBeanUtil.copyProperties(pageInfo, pageBean, SysRoleDTO.class); return new BizResult>(pageBean); } @Override public BizResult isUsedForRoleByRoleId(SysRoleQueryByIdRequest request) { //验证参数 BeanValidatorsUtils.validateWithException(request); List ids = Lists.newArrayList(); ids.add(request.getId()); List opIds = sysOpRoleDao.queryOpIdsByRoleId(ids,DataStatusEnum.DATA_STATUS_VALID.value(), request.getSysCode()); return new BizResult(!CollectionUtils.isEmpty(opIds)); } @Override public BizResult> queryRolesByUserId(QueryRolesByUserIdRequest queryRolesByUserIdRequest) throws Exception { List list = new ArrayList(); if(queryRolesByUserIdRequest == null){ throw new BizException(ErrorType.PARAMM_NULL, "入参系统编码为空"); }else{ List roleList = sysRoleDao.queryRolesByUserId(queryRolesByUserIdRequest); ListCopyUtil.listCopyProperties(roleList, list, SysRoleDTO.class); } return new BizResult>(list); } @Override public BizResult queryRoleExistByRoleName( QueryRoleExistByRoleNameRequest queryRoleExistByRoleNameRequest) { Boolean flg = sysRoleDao.queryRoleExistByRoleName(queryRoleExistByRoleNameRequest); return new BizResult(flg); } @Override public BizResult updateSysRoleOrgIdByOpOrgId(SysRoleUpdateRequest request) { return sysRoleDao.updateSysRoleOrgIdByOpOrgId(request); } }