From 2b3671a8af435fc1cd38067c3f45192b240d99e9 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Fri, 6 Jul 2018 12:37:56 +0800 Subject: [PATCH] merge --- .../sysconfig/core/PermissionManager.java | 12 --- .../impls/PartnerPermissionManagerImpl.java | 71 +++++++++------- .../core/impls/PermissionManagerImpl.java | 81 ------------------- .../web/SysPermissionConfigController.java | 14 ---- ...SysPermissionPartnerConfigController.java} | 16 ++-- .../PartnerPermissionFunctionMapper.java | 39 --------- .../system/PartnerPermissionModuleMapper.java | 32 -------- .../system/PermissionPartnerModuleMapper.java | 3 + .../system/PartnerPermissionModuleMapper.xml | 6 +- 9 files changed, 57 insertions(+), 217 deletions(-) rename src/main/java/au/com/royalpay/payment/manage/management/sysconfig/web/{SysPartnerPermission.java => SysPermissionPartnerConfigController.java} (89%) delete mode 100644 src/main/java/au/com/royalpay/payment/manage/mappers/system/PartnerPermissionFunctionMapper.java delete mode 100644 src/main/java/au/com/royalpay/payment/manage/mappers/system/PartnerPermissionModuleMapper.java diff --git a/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/core/PermissionManager.java b/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/core/PermissionManager.java index f67bfb956..c0841ea52 100644 --- a/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/core/PermissionManager.java +++ b/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/core/PermissionManager.java @@ -31,16 +31,4 @@ public interface PermissionManager { List listUserFunctions(int role); - - //partner start - void synchronizePartnerFunctions(); - - JSONObject listPartnerFunctions(); - - JSONObject getPartnerFuncById(String funcId); - - - - - } diff --git a/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/core/impls/PartnerPermissionManagerImpl.java b/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/core/impls/PartnerPermissionManagerImpl.java index 5a84e7613..5ccb9bf88 100644 --- a/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/core/impls/PartnerPermissionManagerImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/core/impls/PartnerPermissionManagerImpl.java @@ -1,22 +1,30 @@ package au.com.royalpay.payment.manage.management.sysconfig.core.impls; import au.com.royalpay.payment.manage.management.sysconfig.beans.FuncInfo; -import au.com.royalpay.payment.manage.management.sysconfig.beans.ModuleInfo; import au.com.royalpay.payment.manage.management.sysconfig.beans.PartnerModuleInfo; import au.com.royalpay.payment.manage.management.sysconfig.core.PartnerPermissionManager; -import au.com.royalpay.payment.manage.management.sysconfig.core.PermissionManager; -import au.com.royalpay.payment.manage.mappers.system.*; +import au.com.royalpay.payment.manage.mappers.system.ClientMapper; +import au.com.royalpay.payment.manage.mappers.system.PermissionClientModuleMapper; +import au.com.royalpay.payment.manage.mappers.system.PermissionPartnerFunctionMapper; +import au.com.royalpay.payment.manage.mappers.system.PermissionPartnerModuleMapper; import au.com.royalpay.payment.manage.permission.manager.scanner.PermissionNode; -import au.com.royalpay.payment.manage.permission.manager.scanner.PermissionReader; +import au.com.royalpay.payment.manage.permission.manager.scanner.PermissionPartnerReader; import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.permission.enums.ManagerRole; + import com.alibaba.fastjson.JSONObject; + import org.springframework.cache.annotation.CacheEvict; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; + import javax.annotation.Resource; -import java.util.*; /** * Created by yangluo on 2018/07/05. @@ -24,46 +32,47 @@ import java.util.*; @Service public class PartnerPermissionManagerImpl implements PartnerPermissionManager { @Resource - private PartnerPermissionFunctionMapper partnerPermissionFunctionMapper; + private PermissionPartnerFunctionMapper permissionPartnerFunctionMapper; @Resource - private PartnerPermissionModuleMapper partnerPermissionModuleMapper; + private PermissionPartnerModuleMapper permissionPartnerModuleMapper; @Resource - private PermissionReader permissionReader; + private PermissionPartnerReader permissionPartnerReader; @Resource - PermissionClientModuleMapper permissionClientModuleMapper; + private PermissionClientModuleMapper permissionClientModuleMapper; @Resource - ClientMapper clientMapper; + private ClientMapper clientMapper; + @Override public void synchronizeFunctions() { - List functions = partnerPermissionFunctionMapper.listAll(); + List functions = permissionPartnerFunctionMapper.listAll(); Map funcMapFromDB = new HashMap<>(); for (JSONObject func : functions) { funcMapFromDB.put(func.getString("func_id"), func); } - List nodes = permissionReader.listFunctions(); + List nodes = permissionPartnerReader.listFunctions(); for (PermissionNode node : nodes) { String funcId = node.getFuncId(); if (funcMapFromDB.containsKey(funcId)) { funcMapFromDB.remove(funcId); JSONObject func = node.initFuncObject(); func.remove("role"); - partnerPermissionFunctionMapper.update(func); + permissionPartnerFunctionMapper.update(func); } else { JSONObject func = node.initFuncObject(); - partnerPermissionFunctionMapper.save(func); + permissionPartnerFunctionMapper.save(func); } } for (String funcId : funcMapFromDB.keySet()) { - partnerPermissionFunctionMapper.delete(funcId); + permissionPartnerFunctionMapper.delete(funcId); } } @Override public JSONObject listFunctions() { - List funcs = partnerPermissionFunctionMapper.listAll(); + List funcs = permissionPartnerFunctionMapper.listAll(); Map> moduleMap = new TreeMap<>(); List noModule = new ArrayList<>(); for (JSONObject func : funcs) { @@ -100,19 +109,19 @@ public class PartnerPermissionManagerImpl implements PartnerPermissionManager { @Override public List listModules() { - return partnerPermissionModuleMapper.list(); + return permissionPartnerModuleMapper.list(); } @Override public void saveOrUpdateModule(String moduleName, PartnerModuleInfo module) { - JSONObject mod = partnerPermissionModuleMapper.find(moduleName); + JSONObject mod = permissionPartnerModuleMapper.find(moduleName); if (mod == null) { mod = new JSONObject(); mod.put("module_name", moduleName); module.initObject(mod); - partnerPermissionModuleMapper.save(mod); + permissionPartnerModuleMapper.save(mod); List IdandMoniker = clientMapper.listClientsIdAndMoniker(); - JSONObject nModuleId = partnerPermissionModuleMapper.listModuleId(moduleName); + JSONObject nModuleId = permissionPartnerModuleMapper.listModuleId(moduleName); if (module.getInitialize()) { for (JSONObject clientMod : IdandMoniker) { @@ -134,17 +143,17 @@ public class PartnerPermissionManagerImpl implements PartnerPermissionManager { } } module.initObject(mod); - partnerPermissionModuleMapper.update(mod); + permissionPartnerModuleMapper.update(mod); } @Override public void checkAndDeleteModule(String moduleName) { - List funcs = partnerPermissionFunctionMapper.listByModule(moduleName); + List funcs = permissionPartnerFunctionMapper.listByModule(moduleName); if (funcs.isEmpty()) { permissionClientModuleMapper.delete(moduleName); - partnerPermissionModuleMapper.delete(moduleName); + permissionPartnerModuleMapper.delete(moduleName); } else { throw new BadRequestException("Module have functions. Move them first."); @@ -157,7 +166,7 @@ public class PartnerPermissionManagerImpl implements PartnerPermissionManager { update.put("func_id", funcId); update.put("name", funcInfo.getName()); update.put("remark", funcInfo.getRemark()); - partnerPermissionFunctionMapper.update(update); + permissionPartnerFunctionMapper.update(update); } @Override @@ -166,21 +175,21 @@ public class PartnerPermissionManagerImpl implements PartnerPermissionManager { if (moduleName == null) { throw new BadRequestException("module name not provided"); } - JSONObject mod = partnerPermissionModuleMapper.find(moduleName); + JSONObject mod = permissionPartnerModuleMapper.find(moduleName); if (mod == null) { throw new BadRequestException("Module:" + moduleName + " not exists!"); } - JSONObject nModuleId = partnerPermissionModuleMapper.listModuleId(moduleName); + JSONObject nModuleId = permissionPartnerModuleMapper.listModuleId(moduleName); JSONObject update = new JSONObject(); update.put("func_id", funcId); update.put("module", moduleName); update.put("module_id",nModuleId.getString("id")); - partnerPermissionFunctionMapper.update(update); + permissionPartnerFunctionMapper.update(update); } @Override public List listRoleFunctions(ManagerRole role) { - List funcs = partnerPermissionFunctionMapper.listByRoleMask(role.getMask()); + List funcs = permissionPartnerFunctionMapper.listByRoleMask(role.getMask()); List funcIds = new ArrayList<>(); for (JSONObject func : funcs) { funcIds.add(func.getString("func_id")); @@ -192,13 +201,13 @@ public class PartnerPermissionManagerImpl implements PartnerPermissionManager { @Transactional @CacheEvict(value = ":login:managers:",allEntries = true) public void authorizeRole(ManagerRole role, List functions) { - partnerPermissionFunctionMapper.clearRolePermission(role.getInverseMask()); - partnerPermissionFunctionMapper.authorizeRole(role.getMask(), functions); + permissionPartnerFunctionMapper.clearRolePermission(role.getInverseMask()); + permissionPartnerFunctionMapper.authorizeRole(role.getMask(), functions); } @Override public List listUserFunctions(int role) { - return partnerPermissionFunctionMapper.listByRoleMask(role); + return permissionPartnerFunctionMapper.listByRoleMask(role); } } diff --git a/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/core/impls/PermissionManagerImpl.java b/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/core/impls/PermissionManagerImpl.java index 0d1413e76..2b2710c5d 100644 --- a/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/core/impls/PermissionManagerImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/core/impls/PermissionManagerImpl.java @@ -5,10 +5,7 @@ import au.com.royalpay.payment.manage.management.sysconfig.beans.ModuleInfo; import au.com.royalpay.payment.manage.management.sysconfig.core.PermissionManager; import au.com.royalpay.payment.manage.mappers.system.PermissionFunctionMapper; import au.com.royalpay.payment.manage.mappers.system.PermissionModuleMapper; -import au.com.royalpay.payment.manage.mappers.system.PermissionPartnerFunctionMapper; -import au.com.royalpay.payment.manage.mappers.system.PermissionPartnerModuleMapper; import au.com.royalpay.payment.manage.permission.manager.scanner.PermissionNode; -import au.com.royalpay.payment.manage.permission.manager.scanner.PermissionPartnerReader; import au.com.royalpay.payment.manage.permission.manager.scanner.PermissionReader; import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.permission.enums.ManagerRole; @@ -38,16 +35,6 @@ public class PermissionManagerImpl implements PermissionManager { private PermissionModuleMapper permissionModuleMapper; @Resource private PermissionReader permissionReader; - - - - @Resource - private PermissionPartnerFunctionMapper permissionPartnerFunctionMapper; - @Resource - private PermissionPartnerModuleMapper permissionPartnerModuleMapper; - @Resource - private PermissionPartnerReader permissionPartnerReader; - @Override public void synchronizeFunctions() { List functions = permissionFunctionMapper.listAll(); @@ -75,74 +62,6 @@ public class PermissionManagerImpl implements PermissionManager { } } - @Override - public void synchronizePartnerFunctions() { - List functions = permissionFunctionMapper.listAll(); - Map funcMapFromDB = new HashMap<>(); - for (JSONObject func : functions) { - funcMapFromDB.put(func.getString("func_id"), func); - } - - List nodes = permissionPartnerReader.listFunctions(); - for (PermissionNode node : nodes) { - String funcId = node.getFuncId(); - if (funcMapFromDB.containsKey(funcId)) { - funcMapFromDB.remove(funcId); - JSONObject func = node.initFuncObject(); - func.remove("role"); - permissionPartnerFunctionMapper.update(func); - } else { - JSONObject func = node.initFuncObject(); - permissionPartnerFunctionMapper.save(func); - } - } - - for (String funcId : funcMapFromDB.keySet()) { - permissionPartnerFunctionMapper.delete(funcId); - } - } - - @Override - public JSONObject listPartnerFunctions() { - List funcs = permissionPartnerFunctionMapper.listAll(); - Map> moduleMap = new TreeMap<>(); - List noModule = new ArrayList<>(); - for (JSONObject func : funcs) { - String module = func.getString("module"); - if (module == null) { - noModule.add(func); - continue; - } - List funcsInModule = moduleMap.get(module); - if (funcsInModule == null) { - funcsInModule = new ArrayList<>(); - moduleMap.put(module, funcsInModule); - } - funcsInModule.add(func); - } - JSONObject report = new JSONObject(); - report.put("no_module", noModule); - List modules = new ArrayList<>(); - for (String module : moduleMap.keySet()) { - JSONObject mod = new JSONObject(); - mod.put("module_name", module); - List funcList = moduleMap.get(module); - mod.put("remark", funcList.get(0).getString("mod_remark")); - mod.put("js_module", funcList.get(0).getString("js_module")); - mod.put("js_path", funcList.get(0).getString("js_path")); - mod.put("funcs", funcList); - modules.add(mod); - } - report.put("modules", modules); - return report; - } - - @Override - @CacheEvict(value = ":System:permissionCheck:",allEntries = true) - public JSONObject getPartnerFuncById(String funcId) { - return permissionPartnerFunctionMapper.find(funcId); - } - @Override public JSONObject listFunctions() { List funcs = permissionFunctionMapper.listAll(); diff --git a/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/web/SysPermissionConfigController.java b/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/web/SysPermissionConfigController.java index 32582492a..f1ada6533 100644 --- a/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/web/SysPermissionConfigController.java +++ b/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/web/SysPermissionConfigController.java @@ -93,18 +93,4 @@ public class SysPermissionConfigController { } throw new BadRequestException("Invalid role mask:" + roleMask); } - - - - - @RequestMapping(value = "/partner/synchronize", method = RequestMethod.POST) - public void synchronizePartnerFunctions() { - permissionManager.synchronizePartnerFunctions(); - } - - @RequestMapping(value = "/partner/functions", method = RequestMethod.GET) - public JSONObject listPartnerFunctions() { - return permissionManager.listPartnerFunctions(); - } - } diff --git a/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/web/SysPartnerPermission.java b/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/web/SysPermissionPartnerConfigController.java similarity index 89% rename from src/main/java/au/com/royalpay/payment/manage/management/sysconfig/web/SysPartnerPermission.java rename to src/main/java/au/com/royalpay/payment/manage/management/sysconfig/web/SysPermissionPartnerConfigController.java index 7d513bafb..8ef46bf4b 100644 --- a/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/web/SysPartnerPermission.java +++ b/src/main/java/au/com/royalpay/payment/manage/management/sysconfig/web/SysPermissionPartnerConfigController.java @@ -3,21 +3,27 @@ package au.com.royalpay.payment.manage.management.sysconfig.web; import au.com.royalpay.payment.manage.management.sysconfig.beans.FuncInfo; import au.com.royalpay.payment.manage.management.sysconfig.beans.PartnerModuleInfo; import au.com.royalpay.payment.manage.management.sysconfig.core.PartnerPermissionManager; -import au.com.royalpay.payment.manage.permission.manager.ManagerMapping; import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.permission.enums.ManagerRole; + import com.alibaba.fastjson.JSONObject; -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + import java.util.List; +import javax.annotation.Resource; + /** * Created by yangluo on 2018/07/05. */ @RestController -@ManagerMapping(role = ManagerRole.ADMIN, value = "/sys/partnerPermission") -public class SysPartnerPermission { +@RequestMapping( value = "/sys/partnerPermission") +public class SysPermissionPartnerConfigController { @Resource private PartnerPermissionManager patnerPermissionManager; diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/PartnerPermissionFunctionMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/PartnerPermissionFunctionMapper.java deleted file mode 100644 index f77a4d03d..000000000 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/system/PartnerPermissionFunctionMapper.java +++ /dev/null @@ -1,39 +0,0 @@ -package au.com.royalpay.payment.manage.mappers.system; - -import cn.yixblog.support.mybatis.autosql.annotations.AutoMapper; -import cn.yixblog.support.mybatis.autosql.annotations.AutoSql; -import cn.yixblog.support.mybatis.autosql.annotations.SqlType; -import com.alibaba.fastjson.JSONObject; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * Created by yixian on 2017-02-28. - */ -@AutoMapper(tablename = "sys_permission_partner_functions", pkName = "func_id") -public interface PartnerPermissionFunctionMapper { - - @AutoSql(type = SqlType.INSERT) - void save(JSONObject func); - - @AutoSql(type = SqlType.UPDATE) - void update(JSONObject func); - - List listByRoleMask(@Param("mask") int mask); - - List listAll(); - - @AutoSql(type = SqlType.SELECT) - List listByModule(@Param("module") String moduleName); - - @AutoSql(type = SqlType.DELETE) - void delete(@Param("func_id") String funcId); - - void clearRolePermission(@Param("mask") int mask); - - void authorizeRole(@Param("mask") int mask, @Param("func_ids") List functions); - - @AutoSql(type = SqlType.SELECT) - JSONObject find(@Param("func_id") String funcId); -} diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/PartnerPermissionModuleMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/PartnerPermissionModuleMapper.java deleted file mode 100644 index ad2814e54..000000000 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/system/PartnerPermissionModuleMapper.java +++ /dev/null @@ -1,32 +0,0 @@ -package au.com.royalpay.payment.manage.mappers.system; - -import cn.yixblog.support.mybatis.autosql.annotations.AutoMapper; -import cn.yixblog.support.mybatis.autosql.annotations.AutoSql; -import cn.yixblog.support.mybatis.autosql.annotations.SqlType; -import com.alibaba.fastjson.JSONObject; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * Created by yixian on 2017-02-28. - */ -@AutoMapper(tablename = "sys_permission_partner_modules", pkName = "module_name") -public interface PartnerPermissionModuleMapper { - - void save(JSONObject module); - - JSONObject listModuleId(@Param("module_name") String moduleName); - - @AutoSql(type = SqlType.UPDATE) - void update(JSONObject module); - - @AutoSql(type = SqlType.DELETE) - void delete(@Param("module_name") String moduleName); - - @AutoSql(type = SqlType.SELECT) - List list(); - - @AutoSql(type = SqlType.SELECT) - JSONObject find(@Param("module_name") String moduleName); -} diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/PermissionPartnerModuleMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/PermissionPartnerModuleMapper.java index 286a80459..0ec78a30f 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/system/PermissionPartnerModuleMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/PermissionPartnerModuleMapper.java @@ -29,4 +29,7 @@ public interface PermissionPartnerModuleMapper { @AutoSql(type = SqlType.SELECT) JSONObject find(@Param("module_name") String moduleName); + + @AutoSql(type = SqlType.SELECT) + JSONObject listModuleId(@Param("module_name") String moduleName); } diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/PartnerPermissionModuleMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/PartnerPermissionModuleMapper.xml index b0fc02a78..ce736d59b 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/PartnerPermissionModuleMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/PartnerPermissionModuleMapper.xml @@ -1,9 +1,9 @@ - + -