From 2d5d9f31d09182555cc39fc65fa62fbaa319c456 Mon Sep 17 00:00:00 2001 From: "jinguo24@163.com" Date: Fri, 24 Aug 2018 22:20:22 +0800 Subject: [PATCH] =?UTF-8?q?[=E8=A7=92=E8=89=B2=E6=9D=83=E9=99=90][?= =?UTF-8?q?=E4=BF=AE=E6=94=B9]=E8=A7=92=E8=89=B2=E6=9D=83=E9=99=90?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/simple/controller/HomeController.java | 14 +++--- .../controller/MallPermissionController.java | 8 +++ .../simple/controller/MallRoleController.java | 49 ++++++++++++++++--- .../controller/WxLevelConfigController.java | 6 +-- .../com/simple/domain/po/MallPermission.java | 28 ++++++----- .../java/com/simple/domain/po/MallRole.java | 34 +++++++++---- .../mapper/MallRolePermissionMapper.java | 2 +- .../service/MallRolePermissionService.java | 4 +- .../impl/MallRolePermissionServiceImpl.java | 21 +++++--- .../service/impl/MallRoleServiceImpl.java | 4 +- .../resources/mapper/MallPermissionMapper.xml | 28 ++--------- .../main/resources/mapper/MallRoleMapper.xml | 14 ++---- .../mapper/MallRolePermissionMapper.xml | 5 +- 13 files changed, 130 insertions(+), 87 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/simple/controller/HomeController.java b/mallinkAdmin/src/main/java/com/simple/controller/HomeController.java index 88905c512..d0f406ae5 100644 --- a/mallinkAdmin/src/main/java/com/simple/controller/HomeController.java +++ b/mallinkAdmin/src/main/java/com/simple/controller/HomeController.java @@ -55,13 +55,13 @@ public class HomeController { Subject subject = SecurityUtils.getSubject(); UsernamePasswordToken token = new UsernamePasswordToken(user.getUsername(), user.getPassword()); subject.login(token); - List roleList = sysRoleService.findRoleByUserId(user.getId()); - if (null != roleList && roleList.size() > 0) { - List permissionList = sysPermissionService - .findPermissionByRoleIds(roleList.stream().map(MallRole::getId).collect(Collectors.toList())); - user.setRole(roleList); - user.setPermission(permissionList); - } +// List roleList = sysRoleService.findRoleByUserId(user.getId()); +// if (null != roleList && roleList.size() > 0) { +// List permissionList = sysPermissionService +// .findPermissionByRoleIds(roleList.stream().map(MallRole::getId).collect(Collectors.toList())); +// user.setRole(roleList); +// user.setPermission(permissionList); +// } MallUserInfo info =(MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute(UserSession.userInfo); info.setPassword("保密"); System.out.println("id:"+ SecurityUtils.getSubject().getSession().getId()); diff --git a/mallinkAdmin/src/main/java/com/simple/controller/MallPermissionController.java b/mallinkAdmin/src/main/java/com/simple/controller/MallPermissionController.java index 1d7c7c3b5..f0ac7ce96 100644 --- a/mallinkAdmin/src/main/java/com/simple/controller/MallPermissionController.java +++ b/mallinkAdmin/src/main/java/com/simple/controller/MallPermissionController.java @@ -12,6 +12,7 @@ import com.simple.common.Result; import com.simple.common.ResultData; import com.simple.domain.po.MallPermission; import com.simple.service.MallPermissionService; +import com.simple.service.MallRolePermissionService; /** * @author chenkx @@ -23,6 +24,7 @@ public class MallPermissionController { @Autowired MallPermissionService mallPermissionService; + @GetMapping("alllist") public ResultData alllist(String ava) { @@ -50,6 +52,12 @@ public class MallPermissionController { mallPermissionService.deleteById(id); return new ResultData(Result.SUCCESS, "删除成功", null); } + + @GetMapping("/findById") + public ResultData findById(Long id) { + mallPermissionService.getById(id); + return new ResultData(Result.SUCCESS, "成功", null); + } } diff --git a/mallinkAdmin/src/main/java/com/simple/controller/MallRoleController.java b/mallinkAdmin/src/main/java/com/simple/controller/MallRoleController.java index b67898602..f11f5468e 100644 --- a/mallinkAdmin/src/main/java/com/simple/controller/MallRoleController.java +++ b/mallinkAdmin/src/main/java/com/simple/controller/MallRoleController.java @@ -1,32 +1,40 @@ package com.simple.controller; -import com.simple.domain.po.MallRole; -import com.simple.service.MallRoleService; -import com.simple.service.MallRolePermissionService; -import io.swagger.annotations.Api; +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.github.pagehelper.PageInfo; import com.simple.common.Result; import com.simple.common.ResultData; +import com.simple.domain.po.MallRole; +import com.simple.service.MallRolePermissionService; +import com.simple.service.MallRoleService; + +import io.swagger.annotations.Api; @RestController @RequestMapping("role") @Api(description="角色相关接口") -public class MallRoleController { +public class MallRoleController extends BaseController{ @Autowired private MallRoleService sysRoleService; @Autowired - private MallRolePermissionService SysRolePermissionService; + private MallRolePermissionService sysRolePermissionService; + + private Logger logger = Logger.getLogger(MallRoleController.class); @@ -35,6 +43,28 @@ public class MallRoleController { final PageInfo page = sysRoleService.listAsPage(sysRole, pageNum, pageSize); return new ResultData(page); } + + + @PostMapping("saveOrUpdate") + public ResultData saveOrUpdate(@RequestBody MallRole sysRole ) { + String tenantId = getTenantId(); + int count = sysRoleService.countByName(sysRole.getName(), sysRole.getId()); + if(count>0) { + return new ResultData(ResultData.ERROR,"角色名已存在"); + } + sysRole.setTenantId(tenantId); + sysRoleService.saveOrUpdate(sysRole); +// SysRolePermissionService.deleteById(id); + if(StringUtils.isNoneBlank(sysRole.getMenus())) { + List mIds =new ArrayList<>(); + for(String mId:sysRole.getMenus().split(",")) { + mIds.add(Long.valueOf(mId)); + } + sysRolePermissionService.savePermissions(tenantId,sysRole.getId(), mIds.toArray(new Long[] {}));; + } + return new ResultData(); + } + @PostMapping("add") public ResultData add(MallRole sysRole) { @@ -54,10 +84,13 @@ public class MallRoleController { // Assert.notNull(sysRole.getName(), "角色名不能为空"); return new ResultData(); } + + - @GetMapping("/del") - public ResultData delete(Long id) { + @PostMapping("/del") + public ResultData delete(@RequestBody Long id) { sysRoleService.deleteById(id); + sysRolePermissionService.deleteByRoleId(id); return new ResultData(Result.SUCCESS, "删除成功", null); } diff --git a/mallinkAdmin/src/main/java/com/simple/controller/WxLevelConfigController.java b/mallinkAdmin/src/main/java/com/simple/controller/WxLevelConfigController.java index 13ec0b946..72fc73465 100644 --- a/mallinkAdmin/src/main/java/com/simple/controller/WxLevelConfigController.java +++ b/mallinkAdmin/src/main/java/com/simple/controller/WxLevelConfigController.java @@ -47,9 +47,9 @@ public class WxLevelConfigController extends BaseController public ResultData add(@RequestBody WxLevelConfigDto dto) { //Assert.notNull(wxLevelConfig.getName(), "角色名不能为空"); //Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名"); - String[] points = dto.getPoints().split("|"); - String[] level = dto.getLevel().split("|"); - String[] descs =dto.getDescription().split("|"); + String[] points = dto.getPoints().split("&"); + String[] level = dto.getLevel().split("&"); + String[] descs =dto.getDescription().split("&"); String tenantId = getTenantId(); wxLevelConfigService.deleteAll(); for(int i=0;i ids; + protected List ids; @Transient protected String sortColumns; @@ -31,10 +32,11 @@ public class MallPermission implements Serializable { return sortColumns; } - public List getIds() { + public List getIds() { return ids; } - public void setIds(List ids) { + + public void setIds(List ids) { this.ids = ids; } @@ -53,7 +55,7 @@ public class MallPermission implements Serializable { private String available; /*父编号**/ @io.swagger.annotations.ApiModelProperty(value="父编号",name="parentId") - private String parentId; + private Long parentId; /*父编号列表**/ @io.swagger.annotations.ApiModelProperty(value="父编号列表",name="parentIds") private String parentIds; @@ -107,10 +109,10 @@ public class MallPermission implements Serializable { public void setAvailable(String _available) { available = _available; } - public String getParentId() { + public Long getParentId() { return parentId; } - public void setParentId(String _parentId) { + public void setParentId(Long _parentId) { parentId = _parentId; } public String getParentIds() { @@ -232,9 +234,9 @@ public class MallPermission implements Serializable { sb.append(","); sb.append(fields[k].toString()); } - + } - + public void setSortColumns(String sortColumns) { if (sortColumns == null || "".equals(sortColumns.trim())) { @@ -242,7 +244,7 @@ public class MallPermission implements Serializable { } if (sortColumns.contains(",")) { String[] cols = sortColumns.split(","); - List fList = new ArrayList(); + java.util.List fList = new java.util.ArrayList(); for (int k = 0; k < cols.length; k++) { fList.add(Field.valueOf(cols[k])); } diff --git a/mallinkService/src/main/java/com/simple/domain/po/MallRole.java b/mallinkService/src/main/java/com/simple/domain/po/MallRole.java index 0b1809620..cca216034 100644 --- a/mallinkService/src/main/java/com/simple/domain/po/MallRole.java +++ b/mallinkService/src/main/java/com/simple/domain/po/MallRole.java @@ -1,11 +1,12 @@ package com.simple.domain.po; -import javax.persistence.Id; -import javax.persistence.Table; +import javax.persistence.*; +import java.util.*; +import java.math.*; import javax.persistence.Transient; -import java.io.Serializable; -import java.util.ArrayList; import java.util.List; +import javax.persistence.Id; +import java.io.Serializable; @Table(name = "mall_role") public class MallRole implements Serializable { @@ -15,7 +16,7 @@ public class MallRole implements Serializable { protected Long id; @Transient - protected List ids; + protected List ids; @Transient protected String sortColumns; @@ -31,10 +32,11 @@ public class MallRole implements Serializable { return sortColumns; } - public List getIds() { + public List getIds() { return ids; } - public void setIds(List ids) { + + public void setIds(List ids) { this.ids = ids; } @@ -52,6 +54,18 @@ public class MallRole implements Serializable { /*角色描述**/ @io.swagger.annotations.ApiModelProperty(value="角色描述",name="description") private String description; + + @Transient + private String menus; + + public String getMenus() { + return menus; + } + + public void setMenus(String menus) { + this.menus = menus; + } + public String getTenantId() { return tenantId; } @@ -118,9 +132,9 @@ public class MallRole implements Serializable { sb.append(","); sb.append(fields[k].toString()); } - + } - + public void setSortColumns(String sortColumns) { if (sortColumns == null || "".equals(sortColumns.trim())) { @@ -128,7 +142,7 @@ public class MallRole implements Serializable { } if (sortColumns.contains(",")) { String[] cols = sortColumns.split(","); - List fList = new ArrayList(); + java.util.List fList = new java.util.ArrayList(); for (int k = 0; k < cols.length; k++) { fList.add(Field.valueOf(cols[k])); } diff --git a/mallinkService/src/main/java/com/simple/mapper/MallRolePermissionMapper.java b/mallinkService/src/main/java/com/simple/mapper/MallRolePermissionMapper.java index d137b0f68..b65310ef0 100644 --- a/mallinkService/src/main/java/com/simple/mapper/MallRolePermissionMapper.java +++ b/mallinkService/src/main/java/com/simple/mapper/MallRolePermissionMapper.java @@ -12,7 +12,7 @@ public interface MallRolePermissionMapper extends CommonMapper map); + void deleteByRoleId(Long roleId); diff --git a/mallinkService/src/main/java/com/simple/service/MallRolePermissionService.java b/mallinkService/src/main/java/com/simple/service/MallRolePermissionService.java index 645373c15..9ab45a7de 100644 --- a/mallinkService/src/main/java/com/simple/service/MallRolePermissionService.java +++ b/mallinkService/src/main/java/com/simple/service/MallRolePermissionService.java @@ -44,10 +44,10 @@ public interface MallRolePermissionService { * @param roleId * @param perId */ - void savePermissions(Long roleId, Long[] perId); + void savePermissions(String tenantId,Long roleId, Long[] perId); - + void deleteByRoleId(Long roleId); } diff --git a/mallinkService/src/main/java/com/simple/service/impl/MallRolePermissionServiceImpl.java b/mallinkService/src/main/java/com/simple/service/impl/MallRolePermissionServiceImpl.java index d28484338..30063765f 100644 --- a/mallinkService/src/main/java/com/simple/service/impl/MallRolePermissionServiceImpl.java +++ b/mallinkService/src/main/java/com/simple/service/impl/MallRolePermissionServiceImpl.java @@ -17,7 +17,9 @@ public class MallRolePermissionServiceImpl implements MallRolePermissionService @Autowired MallRolePermissionMapper mallUserRolePermissionMapper; - + + + @Override public PageInfo listAsPage(MallRolePermission record, Integer pageIndex, Integer pageSize) { @@ -49,18 +51,25 @@ public class MallRolePermissionServiceImpl implements MallRolePermissionService @Override - public void savePermissions(Long roleId, Long[] perId) { - Map map = new HashMap<>(); - map.put("roleId", roleId); - mallUserRolePermissionMapper.deleteByRoleId(map); + public void savePermissions(String tenantId,Long roleId, Long[] perId) { +// Map map = new HashMap<>(); +// map.put("roleId", roleId); + mallUserRolePermissionMapper.deleteByRoleId(roleId); for(Long pId:perId){ MallRolePermission permission =new MallRolePermission(); - permission.setId(roleId); + final IdWorker idWorker = IdWorker.get(); + permission.setId(idWorker.nextId()); permission.setPermissionId(pId); + permission.setTenantId(tenantId); + permission.setRoleId(roleId); mallUserRolePermissionMapper.insert(permission); } } + + public void deleteByRoleId(Long roleId) { + mallUserRolePermissionMapper.deleteByRoleId(roleId); + } diff --git a/mallinkService/src/main/java/com/simple/service/impl/MallRoleServiceImpl.java b/mallinkService/src/main/java/com/simple/service/impl/MallRoleServiceImpl.java index 1c2401cb5..a626e6bf6 100644 --- a/mallinkService/src/main/java/com/simple/service/impl/MallRoleServiceImpl.java +++ b/mallinkService/src/main/java/com/simple/service/impl/MallRoleServiceImpl.java @@ -57,7 +57,9 @@ public class MallRoleServiceImpl implements MallRoleService { public int countByName(String name,Long id) { Map map = new HashMap<>(2); map.put("name", name); - map.put("id", id); + if(id!=null) { + map.put("id", id); + } return mallRoleMapper.countByName(map); } diff --git a/mallinkService/src/main/resources/mapper/MallPermissionMapper.xml b/mallinkService/src/main/resources/mapper/MallPermissionMapper.xml index 4807ea205..f6cdddd38 100644 --- a/mallinkService/src/main/resources/mapper/MallPermissionMapper.xml +++ b/mallinkService/src/main/resources/mapper/MallPermissionMapper.xml @@ -2,12 +2,12 @@ - + - - + + @@ -22,7 +22,7 @@ where 1 = 1 - and `id` like concat('%', #{id},'%') + and `id` = #{id} @@ -43,7 +43,7 @@ - and `parent_id` like concat('%', #{parentId},'%') + and `parent_id` = #{parentId} @@ -97,24 +97,6 @@ - - - diff --git a/mallinkService/src/main/resources/mapper/MallRoleMapper.xml b/mallinkService/src/main/resources/mapper/MallRoleMapper.xml index 6a72d4913..3322fbb9e 100644 --- a/mallinkService/src/main/resources/mapper/MallRoleMapper.xml +++ b/mallinkService/src/main/resources/mapper/MallRoleMapper.xml @@ -2,7 +2,7 @@ - + @@ -17,7 +17,7 @@ where 1 = 1 - and `id` like concat('%', #{id},'%') + and `id` = #{id} @@ -26,7 +26,7 @@ - + and `name` like concat('%', #{name},'%') @@ -54,18 +54,10 @@ - - - diff --git a/mallinkService/src/main/resources/mapper/MallRolePermissionMapper.xml b/mallinkService/src/main/resources/mapper/MallRolePermissionMapper.xml index 0ea875534..e8c80c5b8 100644 --- a/mallinkService/src/main/resources/mapper/MallRolePermissionMapper.xml +++ b/mallinkService/src/main/resources/mapper/MallRolePermissionMapper.xml @@ -49,8 +49,9 @@ - - + + delete from mall_user_role_permission where role_id=#{roleId} +