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);
}
}