package com.test.service.impl;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.test.domain.Permission;
import com.test.mapper.PermissionMapper;
import com.test.service.PermissionService;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.entity.Example;
@Service
public class PermissionServiceImpl extends BaseServiceImpl<Permission>
implements PermissionService {
@Autowired
private PermissionMapper permissionMapper;
@Override
protected Mapper<Permission> getMapper() {
return this.permissionMapper;
}
@Override
public void save(Permission permission) {
if (permission.getPid() != null && permission.getPid() != 0) {
Permission parent = this.getById(permission.getPid());
permission.setParentName(parent.getName());
}
this.getMapper().insert(permission);
}
@Override
public void update(Permission permission) {
if (permission.getPid() != null && permission.getPid() != 0) {
Permission parent = this.getById(permission.getPid());
permission.setParentName(parent.getName());
}
this.getMapper().updateByPrimaryKeySelective(permission);
}
@Override
public Map<String, List<Permission>> getPermissionMapByUserId(Integer userId) {
List<Permission> permissionList = this.permissionMapper.getPermissionList(userId);
List<Permission> menuList = new ArrayList<>();
Map<Integer, Permission> map = new HashMap<>();
// 筛选目录
for (Permission permission : permissionList) {
if (permission.getType() != 3 && permission.getPid() == 0L) {
map.put(permission.getId(), permission);
menuList.add(permission);
}
}
// 封装菜单
for (Permission permission : permissionList) {
if (permission.getType() != 3 && map.get(permission.getPid()) != null) {
Permission parent = map.get(permission.getPid());
parent.getChildren().add(permission);
}
}
Map<String,List<Permission>> resultMap = new HashMap<>(2);
resultMap.put("menuList", menuList);
resultMap.put("permissionList", permissionList);
return resultMap;
}
@Override
public PageInfo<Permission> getListByPage(int currentNum, int pageSize, String name) {
Example cond = new Example(Permission.class);
if (!StringUtils.isEmpty(name)) {
try {
name = new String(name.getBytes("iso8859-1"),"utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
cond.createCriteria().andLike("name",name);
}
PageHelper.startPage(currentNum, pageSize);
List<Permission> list = this.permissionMapper.selectByExample(cond);
return new PageInfo<Permission>(list);
}
@Override
public void deleteById(Serializable id) {
Permission permission = this.getById(id);
if (permission != null) {
if (permission.getType() != 3) {
int count = this.permissionMapper.getChildrenCount(id);
if (count > 0) {
throw new RuntimeException("该权限包含子权限,不能删除!如要删除,请将子权限删除再进行操作");
}
}
this.getMapper().deleteByPrimaryKey(id);
}
}
@Override
public List<Permission> getPermissionWithoutButton() {
return this.permissionMapper.getPermissionWithoutButton();
}
@Override
public List<Permission> getPermissionListByRoleId(int roleId) {
List<Permission> list = this.permissionMapper.getPermissionListByRoleId(roleId);
List<Permission> permissionList = this.getList();
for (Permission permission : permissionList) {
for (Permission p : list) {
if (permission.getId() == p.getId()) {
permission.setChecked(true);
}
}
}
return permissionList;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
SSM权限管理系统(完整可运行版) (334个子文件)
PermissionServiceImpl.class 6KB
PermissionController.class 5KB
RoleServiceImpl.class 5KB
Permission.class 4KB
UserServiceImpl.class 4KB
UserController.class 4KB
RoleController.class 4KB
User.class 4KB
AuthorizateInterceptor.class 3KB
LoginController.class 3KB
BaseServiceImpl.class 2KB
Result.class 2KB
PermissionTag.class 2KB
Role.class 2KB
LoginInterceptor.class 2KB
PermissionService.class 867B
RoleMapper.class 729B
PermissionMapper.class 708B
UserMapper.class 684B
RoleService.class 633B
BaseService.class 602B
UserService.class 595B
RequirePermission.class 438B
.classpath 3KB
org.eclipse.wst.common.component 554B
org.eclipse.wst.jsdt.ui.superType.container 49B
ace.min.css 265KB
bootstrap.min.css 94KB
ace-rtl.min.css 36KB
ace-skins.min.css 26KB
bootstrap-table-group-by.css 24KB
font-awesome.min.css 22KB
layer.css 14KB
bootstrap-table.css 7KB
metro.css 6KB
bootstrap-table.min.css 6KB
layer.css 5KB
bootstrap-table-reorder-rows.css 819B
bootstrap-table-tree-column.css 582B
bootstrap-table-tree-column.css 582B
bootstrap-table-sticky-header.css 416B
bootstrap-table-multiple-selection-row.css 306B
bootstrap-table-click-edit-row.css 287B
bootstrap-table-filter-control.css 190B
bootstrap-table-group-by.css 129B
bootstrap-table-auto-refresh.css 46B
loading-0.gif 6KB
metro.gif 5KB
loading-2.gif 2KB
loading-1.gif 701B
loading.gif 381B
line_conn.gif 45B
druid-1.0.28.jar 2.04MB
aspectjweaver-1.8.9.jar 1.78MB
mybatis-3.4.2.jar 1.52MB
jackson-databind-2.8.8.jar 1.18MB
spring-context-4.3.7.RELEASE.jar 1.09MB
spring-core-4.3.7.RELEASE.jar 1.07MB
mysql-connector-java-5.1.34.jar 938KB
spring-webmvc-4.3.7.RELEASE.jar 894KB
spring-web-4.3.7.RELEASE.jar 799KB
spring-beans-4.3.7.RELEASE.jar 745KB
log4j-1.2.17.jar 478KB
fastjson-1.2.32.jar 455KB
commons-lang3-3.4.jar 424KB
spring-jdbc-4.3.7.RELEASE.jar 418KB
jstl-1.2.jar 405KB
spring-aop-4.3.7.RELEASE.jar 371KB
jsqlparser-1.0.jar 356KB
commons-codec-1.10.jar 278KB
jackson-core-2.8.8.jar 276KB
spring-tx-4.3.7.RELEASE.jar 261KB
spring-expression-4.3.7.RELEASE.jar 257KB
commons-io-2.4.jar 181KB
mapper-3.4.5.jar 155KB
pagehelper-5.1.2.jar 77KB
commons-logging-1.2.jar 60KB
spring-aspects-4.3.7.RELEASE.jar 57KB
jackson-annotations-2.8.0.jar 54KB
mybatis-spring-1.3.0.jar 52KB
persistence-api-1.0.jar 51KB
slf4j-api-1.7.12.jar 31KB
slf4j-log4j12-1.7.12.jar 9KB
PermissionServiceImpl.java 4KB
PermissionController.java 3KB
RoleController.java 3KB
User.java 3KB
UserController.java 3KB
RoleServiceImpl.java 2KB
Permission.java 2KB
UserServiceImpl.java 2KB
LoginController.java 2KB
AuthorizateInterceptor.java 2KB
Result.java 1KB
LoginInterceptor.java 1KB
Role.java 1KB
BaseServiceImpl.java 976B
PermissionTag.java 923B
PermissionService.java 620B
PermissionMapper.java 508B
共 334 条
- 1
- 2
- 3
- 4
wx_dy611688
- 粉丝: 6
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页