package com.zheng.upms.rpc.service.impl; import com.zheng.upms.dao.mapper.*; import com.zheng.upms.dao.model.*; import com.zheng.upms.rpc.api.UpmsApiService; import com.zheng.upms.rpc.mapper.UpmsApiMapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * 用户service实现 * Created by shuzheng on 2016/01/19. */ @Service @Transactional public class UpmsApiServiceImpl implements UpmsApiService { private static Logger _log = LoggerFactory.getLogger(UpmsApiServiceImpl.class); @Autowired UpmsUserMapper upmsUserMapper; @Autowired UpmsApiMapper upmsApiMapper; @Autowired UpmsRolePermissionMapper upmsRolePermissionMapper; @Autowired UpmsUserPermissionMapper upmsUserPermissionMapper; @Autowired UpmsSystemMapper upmsSystemMapper; @Autowired UpmsOrganizationMapper upmsOrganizationMapper; @Autowired UpmsLogMapper upmsLogMapper; /** * 根据用户id获取所拥有的权限 * @param upmsUserId * @return */ @Override public List<UpmsPermission> selectUpmsPermissionByUpmsUserId(Integer upmsUserId) { // 用户不存在或锁定状态 UpmsUser upmsUser = upmsUserMapper.selectByPrimaryKey(upmsUserId); if (null == upmsUser || 1 == upmsUser.getLocked()) { _log.info("selectUpmsPermissionByUpmsUserId : upmsUserId={}", upmsUserId); return null; } List<UpmsPermission> upmsPermissions = upmsApiMapper.selectUpmsPermissionByUpmsUserId(upmsUserId); return upmsPermissions; } /** * 根据用户id获取所属的角色 * @param upmsUserId * @return */ @Override public List<UpmsRole> selectUpmsRoleByUpmsUserId(Integer upmsUserId) { // 用户不存在或锁定状态 UpmsUser upmsUser = upmsUserMapper.selectByPrimaryKey(upmsUserId); if (null == upmsUser || 1 == upmsUser.getLocked()) { _log.info("selectUpmsRoleByUpmsUserId : upmsUserId={}", upmsUserId); return null; } List<UpmsRole> upmsRoles = upmsApiMapper.selectUpmsRoleByUpmsUserId(upmsUserId); return upmsRoles; } /** * 根据角色id获取所拥有的权限 * @param upmsRoleId * @return */ @Override public List<UpmsRolePermission> selectUpmsRolePermisstionByUpmsRoleId(Integer upmsRoleId) { UpmsRolePermissionExample upmsRolePermissionExample = new UpmsRolePermissionExample(); upmsRolePermissionExample.createCriteria() .andRoleIdEqualTo(upmsRoleId); List<UpmsRolePermission> upmsRolePermissions = upmsRolePermissionMapper.selectByExample(upmsRolePermissionExample); return upmsRolePermissions; } /** * 根据用户id获取所拥有的权限 * @param upmsUserId * @return */ @Override public List<UpmsUserPermission> selectUpmsUserPermissionByUpmsUserId(Integer upmsUserId) { UpmsUserPermissionExample upmsUserPermissionExample = new UpmsUserPermissionExample(); upmsUserPermissionExample.createCriteria() .andUserIdEqualTo(upmsUserId); List<UpmsUserPermission> upmsUserPermissions = upmsUserPermissionMapper.selectByExample(upmsUserPermissionExample); return upmsUserPermissions; } /** * 根据条件获取系统数据 * @param upmsSystemExample * @return */ @Override public List<UpmsSystem> selectUpmsSystemByExample(UpmsSystemExample upmsSystemExample) { return upmsSystemMapper.selectByExample(upmsSystemExample); } /** * 根据条件获取组织数据 * @param upmsOrganizationExample * @return */ @Override public List<UpmsOrganization> selectUpmsOrganizationByExample(UpmsOrganizationExample upmsOrganizationExample) { return upmsOrganizationMapper.selectByExample(upmsOrganizationExample); } /** * 根据username获取UpmsUser * @param username * @return */ @Override public UpmsUser selectUpmsUserByUsername(String username) { UpmsUserExample upmsUserExample = new UpmsUserExample(); upmsUserExample.createCriteria() .andUsernameEqualTo(username); List<UpmsUser> upmsUsers = upmsUserMapper.selectByExample(upmsUserExample); if (null != upmsUsers && upmsUsers.size() > 0) { return upmsUsers.get(0); } return null; } /** * 写入操作日志 * @param record * @return */ @Override public int insertUpmsLogSelective(UpmsLog record) { return upmsLogMapper.insertSelective(record); } }