From af59c50ca24cce230aee5eaf5f001a70d957bf52 Mon Sep 17 00:00:00 2001 From: qiaowei Date: Mon, 6 May 2019 15:59:19 +0800 Subject: [PATCH] =?utf8?q?=E8=A7=92=E8=89=B2=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../dlpay/framework/dao/OperRoleDao.java | 2 + .../dlpay/framework/dao/PermissionDao.java | 7 +- .../dlpay/framework/dao/RoleDao.java | 4 +- .../dlpay/framework/domain/TPermission.java | 2 +- .../security/MyPermissionEvaluator.java | 9 +- .../system/controller/OperatorController.java | 23 +++-- .../system/controller/RoleController.java | 5 ++ .../dlpay/system/service/FunctionService.java | 14 +++ .../dlpay/system/service/OperatorService.java | 11 ++- .../dlpay/system/service/RoleService.java | 19 +++- .../service/impl/OperatorServiceImpl.java | 86 ++++++++++++------- .../system/service/impl/RoleServiceImpl.java | 44 +++++++--- .../templates/system/operator/operator.html | 2 - .../resources/templates/system/role/form.html | 8 +- .../templates/system/role/index.html | 18 ++-- 15 files changed, 176 insertions(+), 78 deletions(-) diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/OperRoleDao.java b/src/main/java/com/supwisdom/dlpay/framework/dao/OperRoleDao.java index 292a999c..c3fe0d1d 100644 --- a/src/main/java/com/supwisdom/dlpay/framework/dao/OperRoleDao.java +++ b/src/main/java/com/supwisdom/dlpay/framework/dao/OperRoleDao.java @@ -12,4 +12,6 @@ public interface OperRoleDao extends JpaRepository { @Query(value = "select distinct rolecode from TB_OPER_ROLE a,TB_ROLE b where a.roleid=b.roleid and a.operid=?1", nativeQuery = true) List getRolecodeByOperid(String operid); + + void deleteByRoleId(String roleId); } diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/PermissionDao.java b/src/main/java/com/supwisdom/dlpay/framework/dao/PermissionDao.java index 767df41a..af782a8e 100644 --- a/src/main/java/com/supwisdom/dlpay/framework/dao/PermissionDao.java +++ b/src/main/java/com/supwisdom/dlpay/framework/dao/PermissionDao.java @@ -3,14 +3,9 @@ package com.supwisdom.dlpay.framework.dao; import com.supwisdom.dlpay.framework.domain.TPermission; import org.springframework.data.jpa.repository.JpaRepository; -import java.util.List; - public interface PermissionDao extends JpaRepository { - List findByRoleFuncId(String roleFuncId); - - TPermission findByRoleFuncIdAndResid(String roleFuncId, Integer resid); - void deleteByRoleFuncId(String roleFuncId); + TPermission findByRoleIdAndResid(String roleId, Integer resid); void deleteByRoleId(String roleId); } diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/RoleDao.java b/src/main/java/com/supwisdom/dlpay/framework/dao/RoleDao.java index 0baed2ec..9ccc7c90 100644 --- a/src/main/java/com/supwisdom/dlpay/framework/dao/RoleDao.java +++ b/src/main/java/com/supwisdom/dlpay/framework/dao/RoleDao.java @@ -14,11 +14,13 @@ public interface RoleDao extends JpaRepository { @Query("from TRole order by createtime asc ") List getAllRoles(); - TRole findByRoleCode(String rolecode); + TRole findByRoleCode(String roleCode); Page findAllByRoleNameContaining(String roleName, Pageable pageable); TRole findByRoleNameAndRoleIdNot(String roleName, String roleId); + TRole findByRoleCodeAndRoleIdNot(String roleCode, String roleId); + TRole findByRoleName(String roleName); } diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TPermission.java b/src/main/java/com/supwisdom/dlpay/framework/domain/TPermission.java index 0d22f353..f9a23687 100644 --- a/src/main/java/com/supwisdom/dlpay/framework/domain/TPermission.java +++ b/src/main/java/com/supwisdom/dlpay/framework/domain/TPermission.java @@ -19,7 +19,7 @@ public class TPermission { @Column(name = "RESID") private Integer resid; - @Column(name = "ROLEID") + @Column(name = "ROLEID",length = 32) private String roleId; public String getRoleId() { diff --git a/src/main/java/com/supwisdom/dlpay/framework/security/MyPermissionEvaluator.java b/src/main/java/com/supwisdom/dlpay/framework/security/MyPermissionEvaluator.java index dfa30c68..db6a4f18 100644 --- a/src/main/java/com/supwisdom/dlpay/framework/security/MyPermissionEvaluator.java +++ b/src/main/java/com/supwisdom/dlpay/framework/security/MyPermissionEvaluator.java @@ -1,5 +1,6 @@ package com.supwisdom.dlpay.framework.security; +import com.supwisdom.dlpay.framework.domain.TPermission; import com.supwisdom.dlpay.framework.domain.TResource; import com.supwisdom.dlpay.framework.domain.TRole; import com.supwisdom.dlpay.framework.domain.TRoleFunction; @@ -22,7 +23,8 @@ public class MyPermissionEvaluator implements PermissionEvaluator { @Override public boolean hasPermission(Authentication authentication, Object targetUri, Object permission) { - if (targetUri != null && permission != null) { + //TODO save logger + if (targetUri != null) { UserDetails userDetails = (UserDetails) authentication.getPrincipal(); if (userDetails != null) { Collection authorities = (Collection) userDetails.getAuthorities(); @@ -32,9 +34,8 @@ public class MyPermissionEvaluator implements PermissionEvaluator { if (role != null) { TResource resource = roleService.findResourceByURI(String.valueOf(targetUri)); if (resource != null) { - TRoleFunction roleFunction = roleService.findRoleFunctionByRoleIdAndFunctionId(role.getRoleId(), resource.getFunctionId()); - if (roleFunction != null && !StringUtil.isEmpty(roleFunction.getPermissions()) - && roleFunction.getPermissions().contains(String.valueOf(permission))) { + TPermission permission1 = roleService.findByRoleIdAndResid(role.getRoleId(),resource.getId()); + if (permission1 != null) { return true; } } diff --git a/src/main/java/com/supwisdom/dlpay/system/controller/OperatorController.java b/src/main/java/com/supwisdom/dlpay/system/controller/OperatorController.java index fa1318e6..85acf8b8 100644 --- a/src/main/java/com/supwisdom/dlpay/system/controller/OperatorController.java +++ b/src/main/java/com/supwisdom/dlpay/system/controller/OperatorController.java @@ -10,6 +10,7 @@ import com.supwisdom.dlpay.system.service.OperatorService; import com.supwisdom.dlpay.system.service.RoleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; @@ -24,7 +25,7 @@ public class OperatorController { private RoleService roleService; @GetMapping("/index") - @PreAuthorize("hasPermission('/operator/index','query')") + @PreAuthorize("hasPermission('/operator/index','')") public String indexView(Model model) { return "system/operator/index"; } @@ -37,6 +38,7 @@ public class OperatorController { @RequestParam(value = "searchvalue", required = false) String searchValue, Model model) { try { + if (null == pageNo || pageNo < 1) pageNo = WebConstant.PAGENO_DEFAULT; if (null == pageSize || pageSize < 1) pageSize = WebConstant.PAGESIZE_DEFAULT; OperatorSearchBean searchBean = new OperatorSearchBean(); @@ -57,7 +59,7 @@ public class OperatorController { } @GetMapping("/load4add") - @PreAuthorize("hasPermission('/operator/load4add','query')") + @PreAuthorize("hasPermission('/operator/load4add','')") public String load4addOperator(Model model) { model.addAttribute("roles", roleService.findAllRoles()); return "system/operator/operator"; @@ -79,11 +81,20 @@ public class OperatorController { @RequestParam("opername") String opername, @RequestParam("sex") String sex, @RequestParam("mobile") String mobile, @RequestParam("email") String email, @RequestParam("roleId") String roleId, Model map) { - if (true) { - return JsonResult.ok("添加成功"); - } else { - return JsonResult.error("添加失败"); + if (operatorService.checkOpercodeExists(opercode, operid)) { + return JsonResult.error("账号重复"); } + TOperator operator = new TOperator(); + operator.setOpername(opername); + operator.setOpercode(opercode); + operator.setOperid(operid); + operator.setMobile(mobile); + operator.setEmail(email); + operator.setSex(sex); + BCryptPasswordEncoder encoder = new BCryptPasswordEncoder(); + operator.setOperpwd(encoder.encode("123456")); + operatorService.saveOperator(operator,roleId); + return JsonResult.ok("添加成功"); } @PostMapping("/update") diff --git a/src/main/java/com/supwisdom/dlpay/system/controller/RoleController.java b/src/main/java/com/supwisdom/dlpay/system/controller/RoleController.java index 8e82136e..bfe0127a 100644 --- a/src/main/java/com/supwisdom/dlpay/system/controller/RoleController.java +++ b/src/main/java/com/supwisdom/dlpay/system/controller/RoleController.java @@ -83,4 +83,9 @@ public class RoleController { result.put("node", nodes); return result; } + @PostMapping("/role/del") + @ResponseBody + public JsonResult del(@RequestParam String roleid) { + return roleService.deleteRole(roleid); + } } diff --git a/src/main/java/com/supwisdom/dlpay/system/service/FunctionService.java b/src/main/java/com/supwisdom/dlpay/system/service/FunctionService.java index 0c6aa926..8884b211 100644 --- a/src/main/java/com/supwisdom/dlpay/system/service/FunctionService.java +++ b/src/main/java/com/supwisdom/dlpay/system/service/FunctionService.java @@ -5,32 +5,46 @@ import com.supwisdom.dlpay.framework.domain.TFunction; import com.supwisdom.dlpay.framework.domain.TResource; import com.supwisdom.dlpay.framework.util.PageResult; import com.supwisdom.dlpay.system.bean.FunctionSearchBean; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Map; public interface FunctionService { + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class,readOnly = true) List getFunctionsByOperid(String operid); + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class,readOnly = true) List> getMenuTree(List funcList, Integer parentId); + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class,readOnly = true) PageResult getFunctionsByKey(FunctionSearchBean param); + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class,readOnly = true) TFunction getFunctionByNameAndId(String name,Integer id); + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) JsonResult saveFunction(TFunction function); + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class,readOnly = true) TFunction getFunctionById(Integer id); + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) JsonResult deleteFunction(Integer funcid); + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class,readOnly = true) List getParentFunction(); + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class,readOnly = true) List getResources(Integer function); + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class,readOnly = true) List getLeafFunction(); + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) JsonResult saveRes(TResource resource); + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) JsonResult deleteResource(Integer resid); } diff --git a/src/main/java/com/supwisdom/dlpay/system/service/OperatorService.java b/src/main/java/com/supwisdom/dlpay/system/service/OperatorService.java index 09ab1d4c..bbaff0af 100644 --- a/src/main/java/com/supwisdom/dlpay/system/service/OperatorService.java +++ b/src/main/java/com/supwisdom/dlpay/system/service/OperatorService.java @@ -3,9 +3,16 @@ package com.supwisdom.dlpay.system.service; import com.supwisdom.dlpay.framework.domain.TOperator; import com.supwisdom.dlpay.framework.util.PageResult; import com.supwisdom.dlpay.system.bean.OperatorSearchBean; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; public interface OperatorService { - PageResult getOperatorsByPage(int pageNo, int pageSize, OperatorSearchBean searchBean); + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class, readOnly = true) + PageResult getOperatorsByPage(int pageNo, int pageSize, OperatorSearchBean searchBean); - boolean checkOpercodeExists(String opercode, String operid); + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class, readOnly = true) + boolean checkOpercodeExists(String opercode, String operid); + + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) + boolean saveOperator(TOperator operator,String roles); } diff --git a/src/main/java/com/supwisdom/dlpay/system/service/RoleService.java b/src/main/java/com/supwisdom/dlpay/system/service/RoleService.java index 2306dd09..222dd8d3 100644 --- a/src/main/java/com/supwisdom/dlpay/system/service/RoleService.java +++ b/src/main/java/com/supwisdom/dlpay/system/service/RoleService.java @@ -8,29 +8,42 @@ import com.supwisdom.dlpay.framework.domain.TRoleFunction; import com.supwisdom.dlpay.framework.util.PageResult; import com.supwisdom.dlpay.system.bean.FunctionSearchBean; import com.supwisdom.dlpay.system.bean.ZTreeNode; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; import java.util.List; public interface RoleService { + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class,readOnly = true) List findAllRoles(); + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class,readOnly = true) TRole findRoleByRolecode(String rolecode); + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class,readOnly = true) TResource findResourceByURI(String uri); + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class,readOnly = true) TRoleFunction findRoleFunctionByRoleIdAndFunctionId(String roleid, Integer functionid); + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class,readOnly = true) PageResult getRolesByKey(FunctionSearchBean param); + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) JsonResult saveRole(TRole role); + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class,readOnly = true) List getRoleFuncByRoleid(String roleId); - List findByRoleFuncId(String roleFuncId); - - TPermission findByRoleFuncIdAndResid(String roleFuncId, Integer resid); + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class,readOnly = true) + TPermission findByRoleIdAndResid(String roleFuncId, Integer resid); + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) JsonResult saveRoleFuncId(String roleId, String funcs); + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class,readOnly = true) List findByRoleIdNative(String roleId); + + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) + JsonResult deleteRole(String roleid); } diff --git a/src/main/java/com/supwisdom/dlpay/system/service/impl/OperatorServiceImpl.java b/src/main/java/com/supwisdom/dlpay/system/service/impl/OperatorServiceImpl.java index 7babb623..167e955c 100644 --- a/src/main/java/com/supwisdom/dlpay/system/service/impl/OperatorServiceImpl.java +++ b/src/main/java/com/supwisdom/dlpay/system/service/impl/OperatorServiceImpl.java @@ -1,7 +1,10 @@ package com.supwisdom.dlpay.system.service.impl; +import com.supwisdom.dlpay.framework.dao.OperRoleDao; import com.supwisdom.dlpay.framework.dao.OperatorDao; +import com.supwisdom.dlpay.framework.domain.TOperRole; import com.supwisdom.dlpay.framework.domain.TOperator; +import com.supwisdom.dlpay.framework.util.DateUtil; import com.supwisdom.dlpay.framework.util.PageResult; import com.supwisdom.dlpay.framework.util.StringUtil; import com.supwisdom.dlpay.framework.util.TradeDict; @@ -24,40 +27,57 @@ import java.util.List; @Service public class OperatorServiceImpl implements OperatorService { - @Autowired - private OperatorDao operatorDao; + @Autowired + private OperatorDao operatorDao; + @Autowired + private OperRoleDao operRoleDao; - @Override - public PageResult getOperatorsByPage(int pageNo, int pageSize, OperatorSearchBean searchBean) { - Pageable pageable = PageRequest.of(pageNo - 1, pageSize, Sort.Direction.DESC, "opendate"); - Page page = operatorDao.findAll(new Specification() { - @Override - public Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder criteriaBuilder) { - List predicates = new ArrayList<>(); - if (!StringUtil.isEmpty(searchBean.getOpercode())) { - predicates.add(criteriaBuilder.equal(root.get("opercode").as(String.class), searchBean.getOpercode().trim())); - } - if (!StringUtil.isEmpty(searchBean.getOpername())) { - predicates.add(criteriaBuilder.like(root.get("opername").as(String.class), "%" + searchBean.getOpername().trim() + "%")); - } - if (!StringUtil.isEmpty(searchBean.getMobile())) { - predicates.add(criteriaBuilder.like(root.get("mobile").as(String.class), "%" + searchBean.getMobile().trim() + "%")); - } - if (null != searchBean.getDeleteShow() && !searchBean.getDeleteShow()) { - predicates.add(criteriaBuilder.equal(root.get("status").as(String.class), TradeDict.STATUS_NORMAL)); //仅显示正常 - } - return criteriaBuilder.and(predicates.toArray(new Predicate[0])); - } - }, pageable); + @Override + public PageResult getOperatorsByPage(int pageNo, int pageSize, OperatorSearchBean searchBean) { + Pageable pageable = PageRequest.of(pageNo - 1, pageSize, Sort.Direction.DESC, "opendate"); + Page page = operatorDao.findAll(new Specification() { + @Override + public Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder criteriaBuilder) { + List predicates = new ArrayList<>(); + if (!StringUtil.isEmpty(searchBean.getOpercode())) { + predicates.add(criteriaBuilder.equal(root.get("opercode").as(String.class), searchBean.getOpercode().trim())); + } + if (!StringUtil.isEmpty(searchBean.getOpername())) { + predicates.add(criteriaBuilder.like(root.get("opername").as(String.class), "%" + searchBean.getOpername().trim() + "%")); + } + if (!StringUtil.isEmpty(searchBean.getMobile())) { + predicates.add(criteriaBuilder.like(root.get("mobile").as(String.class), "%" + searchBean.getMobile().trim() + "%")); + } + if (null != searchBean.getDeleteShow() && !searchBean.getDeleteShow()) { + predicates.add(criteriaBuilder.equal(root.get("status").as(String.class), TradeDict.STATUS_NORMAL)); //仅显示正常 + } + return criteriaBuilder.and(predicates.toArray(new Predicate[0])); + } + }, pageable); + + return new PageResult<>(page); + } - return new PageResult<>(page); - } + @Override + public boolean checkOpercodeExists(String opercode, String operid) { + TOperator oper = operatorDao.findByOpercode(opercode.trim()); + if (null != oper && StringUtil.isEmpty(operid)) return true; + if (null != oper && !StringUtil.isEmpty(operid) && !operid.trim().equals(oper.getOperid())) return true; + return false; + } - @Override - public boolean checkOpercodeExists(String opercode, String operid) { - TOperator oper = operatorDao.findByOpercode(opercode.trim()); - if (null != oper && StringUtil.isEmpty(operid)) return true; - if (null != oper && !StringUtil.isEmpty(operid) && !operid.trim().equals(oper.getOperid())) return true; - return false; - } + @Override + public boolean saveOperator(TOperator operator,String roles) { + String[] roleids= roles.split(","); + operator.setOpendate(DateUtil.getNow()); + operator.setStatus(TradeDict.STATUS_NORMAL); + operatorDao.save(operator); + for(String role:roleids){ + TOperRole operRole = new TOperRole(); + operRole.setOperid(operator.getOperid()); + operRole.setRoleId(role); + operRoleDao.save(operRole); + } + return true; + } } diff --git a/src/main/java/com/supwisdom/dlpay/system/service/impl/RoleServiceImpl.java b/src/main/java/com/supwisdom/dlpay/system/service/impl/RoleServiceImpl.java index 7b42236f..0e30b2ae 100644 --- a/src/main/java/com/supwisdom/dlpay/system/service/impl/RoleServiceImpl.java +++ b/src/main/java/com/supwisdom/dlpay/system/service/impl/RoleServiceImpl.java @@ -1,10 +1,7 @@ package com.supwisdom.dlpay.system.service.impl; import com.supwisdom.dlpay.api.bean.JsonResult; -import com.supwisdom.dlpay.framework.dao.PermissionDao; -import com.supwisdom.dlpay.framework.dao.ResourceDao; -import com.supwisdom.dlpay.framework.dao.RoleDao; -import com.supwisdom.dlpay.framework.dao.RoleFunctionDao; +import com.supwisdom.dlpay.framework.dao.*; import com.supwisdom.dlpay.framework.data.NodeData; import com.supwisdom.dlpay.framework.domain.TPermission; import com.supwisdom.dlpay.framework.domain.TResource; @@ -39,6 +36,9 @@ public class RoleServiceImpl implements RoleService { @Autowired private PermissionDao permissionDao; + @Autowired + private OperRoleDao operRoleDao; + @Override public List findAllRoles() { @@ -79,6 +79,10 @@ public class RoleServiceImpl implements RoleService { if (temp != null) { return JsonResult.error("角色名称已存在"); } + temp = roleDao.findByRoleCodeAndRoleIdNot(role.getRoleCode(), role.getRoleId()); + if (temp != null) { + return JsonResult.error("角色代码已存在"); + } Optional opt = roleDao.findById(role.getRoleId()); if (opt == null || !opt.isPresent()) { return JsonResult.error("角色已被删除"); @@ -86,6 +90,7 @@ public class RoleServiceImpl implements RoleService { temp = opt.get(); temp.setRoleName(role.getRoleName()); temp.setRoleDesc(role.getRoleDesc()); + temp.setRoleCode(role.getRoleCode()); temp.setLastsaved(DateUtil.getNow()); roleDao.save(temp); } else { @@ -93,9 +98,13 @@ public class RoleServiceImpl implements RoleService { if (temp != null) { return JsonResult.error("角色名称已存在"); } + temp = roleDao.findByRoleCode(role.getRoleCode()); + if (temp != null) { + return JsonResult.error("角色代码已存在"); + } role.setCreatetime(DateUtil.getNow()); role.setEditflag(1); - role.setRoleCode("ROLE_ADMIN"); + role.setRoleCode(role.getRoleCode()); roleDao.save(role); } return JsonResult.ok("成功"); @@ -108,13 +117,8 @@ public class RoleServiceImpl implements RoleService { @Override - public List findByRoleFuncId(String roleFuncId) { - return permissionDao.findByRoleFuncId(roleFuncId); - } - - @Override - public TPermission findByRoleFuncIdAndResid(String roleFuncId, Integer resid) { - return permissionDao.findByRoleFuncIdAndResid(roleFuncId, resid); + public TPermission findByRoleIdAndResid(String roleFuncId, Integer resid) { + return permissionDao.findByRoleIdAndResid(roleFuncId, resid); } @Override @@ -158,4 +162,20 @@ public class RoleServiceImpl implements RoleService { } return ret; } + + @Override + public JsonResult deleteRole(String roleid) { + Optional ret = roleDao.findById(roleid); + if (ret == null || !ret.isPresent()) { + return JsonResult.error("角色不存在"); + } + if(ret.get().getEditflag()!=1){ + return JsonResult.error("该角色不能删除"); + } + permissionDao.deleteByRoleId(roleid); + roleFunctionDao.deleteByRoleId(roleid); + operRoleDao.deleteByRoleId(roleid); + roleDao.deleteById(roleid); + return JsonResult.ok("成功"); + } } diff --git a/src/main/resources/templates/system/operator/operator.html b/src/main/resources/templates/system/operator/operator.html index c43995ca..6676bf44 100644 --- a/src/main/resources/templates/system/operator/operator.html +++ b/src/main/resources/templates/system/operator/operator.html @@ -118,8 +118,6 @@ var token_name = $("meta[name='_csrf_token']").attr("content"); var token = $("meta[name='_csrf_token']").attr("value"); data.field[token_name] = token; - console.log(data); - debugger $.ajax({ type : "POST", dataType : "json", diff --git a/src/main/resources/templates/system/role/form.html b/src/main/resources/templates/system/role/form.html index 0769c8cd..f8714f35 100755 --- a/src/main/resources/templates/system/role/form.html +++ b/src/main/resources/templates/system/role/form.html @@ -8,6 +8,13 @@ lay-verify="required|roleName" required/> +
+ +
+ +
+
@@ -37,7 +44,6 @@ form.on('submit(form-submit)', function (data) { layer.load(2); let token = $("meta[name='_csrf_token']").attr("value"); - debugger $.ajax({ type : "POST", dataType : "json", diff --git a/src/main/resources/templates/system/role/index.html b/src/main/resources/templates/system/role/index.html index c96d5298..2d3f1677 100644 --- a/src/main/resources/templates/system/role/index.html +++ b/src/main/resources/templates/system/role/index.html @@ -32,13 +32,17 @@ page: true, cols: [ [ - {field: 'roleName', title: '角色名称', fixed: 'left', sort: true}, + {field: 'roleName', title: '角色名称', width: 160,fixed: 'left', sort: true}, + {field: 'roleCode', title: '角色代码', width: 160,fixed: 'left', sort: true}, {field: 'roleDesc', title: '描述'}, { field: 'roleId', align: 'center', title: '操作', fixed: 'right', templet: function (item) { - return ' 编辑 ' + - ' 分配功能 ' + - ' 删除' + let html = ' 编辑 ' + + ' 分配功能 '; + if(item.editflag===1){ + html +='删除'; + } + return html; } } ] @@ -85,12 +89,12 @@ } }); let showDelete = function (data) { - layer.confirm('确定删除吗,该功能下的子功能、资源、角色分配的该功能都将被删除?', function (i) { + layer.confirm('用户分配的该角色都将被删除,确定删除吗?', function (i) { layer.close(i); layer.load(2); let token = $("meta[name='_csrf_token']").attr("value"); admin.go('/role/del', { - funcid: data.id, + roleid: data.roleId, _csrf: token }, function (data) { console.log(data.code); @@ -105,7 +109,7 @@ } else { layer.msg(data.msg, {icon: 2}); } - table.reload('table', {}); + table.reload('roletable', {}); }, function (ret) { console.log(ret); layer.closeAll('loading'); -- 2.17.1