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 * @see SysRole */ @Override public List queryList(Map map){ return roleDao.queryList(map); } /** * @Description: 根据appId查询角色列表 {@link SysRoleService} * @Author: zimao.guo * @Date: 11:49 2018/1/30 * @return: List * @see SysRole * @param appId */ @Override public List queryListByAppId(Long appId) { Map paramMap = new HashMap(); paramMap.put("appId",appId); return roleDao.queryListForBareAPI(paramMap); } @Override public List queryListByUserId(Long appId, Long userId) { Map paramMap = new HashMap(); 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 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 * @see NameBindId * @param keyWord */ @Override public List findSystemNamesByKeyWord(String keyWord) { Map paramMap = new HashMap(); paramMap.put("systemName",keyWord); return roleDao.findSysNames(paramMap); } /** * @Description: 获取系统资源 {@link SysRoleService} * @Author: zimao.guo * @Date: 8:43 2018/2/8 * @return: List * @see NameBindId * @param systemIdForOwner */ @Override public List getSystemResources(String systemIdForOwner) { Map paramMap = new HashMap(); paramMap.put("systemIdForOwner",systemIdForOwner); return roleDao.getSystemResources(paramMap); } /** * @Description: 获取拥有的资源 {@link SysRoleService} * @Author: zimao.guo * @Date: 8:46 2018/2/8 * @return: List * @see NameBindId * @param roleId */ @Override public List getOwnResources(String roleId) { if (StringUtils.isEmpty(roleId)) return new ArrayList(); Map paramMap = new HashMap(); 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()}); } } }