package com.landtool.lanbase.modules.sys.service.impl;
|
|
import com.landtool.lanbase.common.utils.DateUtils;
|
import com.landtool.lanbase.common.utils.NameBindId;
|
import com.landtool.lanbase.modules.org.entity.OrgUser;
|
import com.landtool.lanbase.modules.sys.dao.RoleResCatalogMapper;
|
import com.landtool.lanbase.modules.sys.dao.SysRoleDao;
|
import com.landtool.lanbase.modules.sys.dao.SysRoleGroupDao;
|
import com.landtool.lanbase.modules.sys.entity.SysRole;
|
import com.landtool.lanbase.modules.sys.service.SysRoleService;
|
import org.apache.commons.lang.StringUtils;
|
import org.apache.shiro.SecurityUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.text.ParseException;
|
import java.text.SimpleDateFormat;
|
import java.util.*;
|
|
@Service("roleService")
|
public class SysRoleServiceImpl implements SysRoleService {
|
|
@Autowired
|
private SysRoleDao roleDao;
|
|
@Autowired
|
private SysRoleGroupDao roleGroupDao;
|
|
@Autowired
|
private RoleResCatalogMapper rolecatalogDao;
|
|
/**
|
* @Description: 查询单个数据
|
* @Author: zimao.guo
|
* @Date: 9:47 2018/1/23
|
* @param roleId
|
* @return SysRole
|
* @see SysRole
|
*/
|
@Override
|
public SysRole queryObject(Long roleId){
|
if(roleId == null) return new SysRole();
|
return roleDao.queryObject(roleId);
|
}
|
|
/**
|
* @Description: 查询列表
|
* @Author: zimao.guo
|
* @Date: 9:48 2018/1/23
|
* @param map
|
* @return List<SysRole>
|
* @see SysRole
|
*/
|
@Override
|
public List<SysRole> queryList(Map<String, Object> map){
|
return roleDao.queryList(map);
|
}
|
|
/**
|
* @Description: 根据appId查询角色列表 {@link SysRoleService}
|
* @Author: zimao.guo
|
* @Date: 11:49 2018/1/30
|
* @return: List<SysRole>
|
* @see SysRole
|
* @param appId
|
*/
|
@Override
|
public List<SysRole> queryListByAppId(Long appId) {
|
Map<String,Object> paramMap = new HashMap<String,Object>();
|
paramMap.put("appId",appId);
|
return roleDao.queryListForBareAPI(paramMap);
|
}
|
|
@Override
|
public List<SysRole> queryListByUserId(Long appId, Long userId) {
|
Map<String,Object> paramMap = new HashMap<String,Object>();
|
paramMap.put("appId",appId);
|
paramMap.put("userId",userId);
|
return roleDao.queryListForBareAPI(paramMap);
|
}
|
|
/**
|
* @Description: 查询列表总数
|
* @Author: zimao.guo
|
* @Date: 9:49 2018/1/23
|
* @param map
|
* @return int
|
*/
|
@Override
|
public int queryTotal(Map<String, Object> map){
|
return roleDao.queryTotal(map);
|
}
|
|
/**
|
* @Description: 保存对象
|
* @Author: zimao.guo
|
* @Date: 9:50 2018/1/23
|
* @param role
|
*/
|
@Override
|
public void save(SysRole role){
|
OrgUser user = (OrgUser) SecurityUtils.getSubject().getPrincipal();
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
String date = DateUtils.format(new Date(),"yyyy-MM-dd HH:mm:ss");
|
Date newDate = null;
|
try {
|
newDate = sdf.parse(date);
|
} catch (ParseException e) {
|
e.printStackTrace();
|
}
|
|
role.setrCreateDate(newDate);
|
role.setrCreateUser(user.getUserid());
|
roleDao.save(role);
|
|
|
|
}
|
|
/**
|
* @Description: 更新对象
|
* @Author: zimao.guo
|
* @Date: 9:50 2018/1/23
|
* @param role
|
*/
|
@Override
|
public void update(SysRole role){
|
roleDao.update(role);
|
}
|
|
/**
|
* @Description: 删除对象
|
* @Author: zimao.guo
|
* @Date: 9:51 2018/1/23
|
* @param roleId
|
*/
|
@Override
|
public void delete(Long roleId){
|
roleDao.delete(roleId);
|
}
|
|
/**
|
* @Description: 批量删除对象
|
* @Author: zimao.guo
|
* @Date: 9:51 2018/1/23
|
* @param roleIds
|
*/
|
@Override
|
public void deleteBatch(Long[] roleIds){
|
roleDao.deleteBatch(roleIds);
|
}
|
|
/**
|
* @Description: 获得系统名称 {@link SysRoleService}
|
* @Author: zimao.guo
|
* @Date: 17:58 2018/2/1
|
* @return: List<NameBindId>
|
* @see NameBindId
|
* @param keyWord
|
*/
|
@Override
|
public List<NameBindId> findSystemNamesByKeyWord(String keyWord) {
|
Map<String,Object> paramMap = new HashMap<String,Object>();
|
paramMap.put("systemName",keyWord);
|
return roleDao.findSysNames(paramMap);
|
}
|
|
/**
|
* @Description: 获取系统资源 {@link SysRoleService}
|
* @Author: zimao.guo
|
* @Date: 8:43 2018/2/8
|
* @return: List<NameBindId>
|
* @see NameBindId
|
* @param systemIdForOwner
|
*/
|
@Override
|
public List<NameBindId> getSystemResources(String systemIdForOwner) {
|
Map<String,Object> paramMap = new HashMap<String,Object>();
|
paramMap.put("systemIdForOwner",systemIdForOwner);
|
return roleDao.getSystemResources(paramMap);
|
}
|
|
/**
|
* @Description: 获取拥有的资源 {@link SysRoleService}
|
* @Author: zimao.guo
|
* @Date: 8:46 2018/2/8
|
* @return: List<NameBindId>
|
* @see NameBindId
|
* @param roleId
|
*/
|
@Override
|
public List<NameBindId> getOwnResources(String roleId) {
|
if (StringUtils.isEmpty(roleId)) return new ArrayList<NameBindId>();
|
Map<String,Object> paramMap = new HashMap<String,Object>();
|
paramMap.put("roleIdForOwner",roleId);
|
return roleDao.getSystemResources(paramMap);
|
}
|
|
/**
|
* @Description: 查询带id的对象 {@link SysRoleService}
|
* @Author: zimao.guo
|
* @Date: 9:42 2018/2/11
|
* @return: SysRole
|
* @see SysRole
|
* @param role
|
*/
|
@Override
|
public SysRole getRoleWithIdByRole(SysRole role) {
|
// modified by qufangxu
|
if (role.getrCreateDate() != null){
|
role.setrCreateDate(role.getrCreateDate());
|
}
|
return roleDao.queryRoleWithIdByParams(role);
|
}
|
|
@Override
|
public void processChangForSystem(SysRole role) {
|
SysRole sysRole = queryObject(role.getRoleId());
|
if(sysRole.getAppId().compareTo(role.getAppId()) != 0){
|
roleGroupDao.deleteBatch(new Long[]{role.getRoleId()});
|
}
|
}
|
}
|