From 0732dc7783cb3c1923536a2e1842394a8d04b877 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=91=A8=E6=B5=A9?= Date: Sat, 7 May 2016 11:49:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BE=9D=E8=B5=96=E5=8C=85?= =?UTF-8?q?=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/config/ConfigController.java | 8 +-- .../web/controller/file/FileController.java | 8 +-- .../form/DynamicFormController.java | 6 +- .../web/controller/form/FormController.java | 8 +-- .../controller/login/AuthorizeController.java | 10 ++-- .../login/UserModuleController.java | 58 +++++++++++++++++++ .../controller/module/ModuleController.java | 5 +- .../resource/ResourcesController.java | 10 ++-- .../web/controller/role/RoleController.java | 6 +- .../script/DynamicScriptController.java | 6 +- .../web/controller/user/UserController.java | 28 +++++---- 11 files changed, 105 insertions(+), 48 deletions(-) create mode 100644 hsweb-web-controller/src/main/java/org/hsweb/web/controller/login/UserModuleController.java diff --git a/hsweb-web-controller/src/main/java/org/hsweb/web/controller/config/ConfigController.java b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/config/ConfigController.java index a44b95380..07114e435 100644 --- a/hsweb-web-controller/src/main/java/org/hsweb/web/controller/config/ConfigController.java +++ b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/config/ConfigController.java @@ -1,21 +1,19 @@ package org.hsweb.web.controller.config; import com.alibaba.fastjson.JSON; -import org.hsweb.web.logger.annotation.AccessLogger; -import org.hsweb.web.authorize.annotation.Authorize; +import org.hsweb.web.core.logger.annotation.AccessLogger; +import org.hsweb.web.core.authorize.annotation.Authorize; import org.hsweb.web.bean.po.config.Config; import org.hsweb.web.controller.GenericController; -import org.hsweb.web.message.ResponseMessage; +import org.hsweb.web.core.message.ResponseMessage; import org.hsweb.web.service.config.ConfigService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.cache.annotation.Cacheable; import org.springframework.web.bind.annotation.*; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.Properties; /** * 系统配置控制器,继承自GenericController,使用rest+json。 diff --git a/hsweb-web-controller/src/main/java/org/hsweb/web/controller/file/FileController.java b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/file/FileController.java index ccee0d374..1ca9a8c6e 100644 --- a/hsweb-web-controller/src/main/java/org/hsweb/web/controller/file/FileController.java +++ b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/file/FileController.java @@ -1,10 +1,10 @@ package org.hsweb.web.controller.file; -import org.hsweb.web.exception.NotFoundException; -import org.hsweb.web.logger.annotation.AccessLogger; -import org.hsweb.web.authorize.annotation.Authorize; +import org.hsweb.web.core.exception.NotFoundException; +import org.hsweb.web.core.logger.annotation.AccessLogger; +import org.hsweb.web.core.authorize.annotation.Authorize; import org.hsweb.web.bean.po.resource.Resources; -import org.hsweb.web.message.ResponseMessage; +import org.hsweb.web.core.message.ResponseMessage; import org.slf4j.LoggerFactory; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; diff --git a/hsweb-web-controller/src/main/java/org/hsweb/web/controller/form/DynamicFormController.java b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/form/DynamicFormController.java index dfd09a032..cbaf52f06 100644 --- a/hsweb-web-controller/src/main/java/org/hsweb/web/controller/form/DynamicFormController.java +++ b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/form/DynamicFormController.java @@ -1,11 +1,11 @@ package org.hsweb.web.controller.form; -import org.hsweb.web.authorize.annotation.Authorize; +import org.hsweb.web.core.authorize.annotation.Authorize; import org.hsweb.web.bean.common.InsertMapParam; import org.hsweb.web.bean.common.QueryParam; import org.hsweb.web.bean.common.UpdateMapParam; -import org.hsweb.web.logger.annotation.AccessLogger; -import org.hsweb.web.message.ResponseMessage; +import org.hsweb.web.core.logger.annotation.AccessLogger; +import org.hsweb.web.core.message.ResponseMessage; import org.hsweb.web.service.form.DynamicFormService; import org.springframework.web.bind.annotation.*; diff --git a/hsweb-web-controller/src/main/java/org/hsweb/web/controller/form/FormController.java b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/form/FormController.java index c6f715dfb..4611c47df 100644 --- a/hsweb-web-controller/src/main/java/org/hsweb/web/controller/form/FormController.java +++ b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/form/FormController.java @@ -1,13 +1,13 @@ package org.hsweb.web.controller.form; -import org.hsweb.web.authorize.annotation.Authorize; +import org.hsweb.web.core.authorize.annotation.Authorize; import org.hsweb.web.bean.common.PagerResult; import org.hsweb.web.bean.common.QueryParam; import org.hsweb.web.bean.po.form.Form; import org.hsweb.web.controller.GenericController; -import org.hsweb.web.exception.BusinessException; -import org.hsweb.web.logger.annotation.AccessLogger; -import org.hsweb.web.message.ResponseMessage; +import org.hsweb.web.core.exception.BusinessException; +import org.hsweb.web.core.logger.annotation.AccessLogger; +import org.hsweb.web.core.message.ResponseMessage; import org.hsweb.web.service.form.FormService; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; diff --git a/hsweb-web-controller/src/main/java/org/hsweb/web/controller/login/AuthorizeController.java b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/login/AuthorizeController.java index e64d3ae13..cfe0649ad 100644 --- a/hsweb-web-controller/src/main/java/org/hsweb/web/controller/login/AuthorizeController.java +++ b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/login/AuthorizeController.java @@ -1,13 +1,13 @@ package org.hsweb.web.controller.login; import org.hsweb.web.bean.po.user.User; -import org.hsweb.web.exception.AuthorizeException; -import org.hsweb.web.exception.NotFoundException; -import org.hsweb.web.logger.annotation.AccessLogger; -import org.hsweb.web.message.ResponseMessage; +import org.hsweb.web.core.exception.AuthorizeException; +import org.hsweb.web.core.exception.NotFoundException; +import org.hsweb.web.core.logger.annotation.AccessLogger; +import org.hsweb.web.core.message.ResponseMessage; +import org.hsweb.web.core.utils.WebUtil; import org.hsweb.web.service.config.ConfigService; import org.hsweb.web.service.user.UserService; -import org.hsweb.web.utils.WebUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.Cache; import org.springframework.cache.CacheManager; diff --git a/hsweb-web-controller/src/main/java/org/hsweb/web/controller/login/UserModuleController.java b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/login/UserModuleController.java new file mode 100644 index 000000000..ea339e715 --- /dev/null +++ b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/login/UserModuleController.java @@ -0,0 +1,58 @@ +package org.hsweb.web.controller.login; + +import org.hsweb.web.core.authorize.annotation.Authorize; +import org.hsweb.web.bean.common.QueryParam; +import org.hsweb.web.bean.po.module.Module; +import org.hsweb.web.bean.po.user.User; +import org.hsweb.web.core.message.ResponseMessage; +import org.hsweb.web.service.module.ModuleService; +import org.hsweb.web.core.utils.WebUtil; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.webbuilder.utils.common.StringUtils; + +import javax.annotation.Resource; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * Created by zhouhao on 16-4-13. + */ +@RestController +@RequestMapping("/userModule") +@Authorize +public class UserModuleController { + @Resource + public ModuleService moduleService; + + @RequestMapping + public ResponseMessage userModule() throws Exception { + String[] includes = { + "name", "u_id", "p_id", "icon", "uri", "m_option" + }; + User user = WebUtil.getLoginUser(); + List modules; + if (user == null) { + modules = moduleService.select(new QueryParam().includes(includes).orderBy("sort_index")); + modules = modules.stream() + .filter(module -> { + Object obj = module.getM_optionMap().get("M"); + if (obj instanceof Map) + return StringUtils.isTrue(((Map) obj).get("checked")); + return false; + }) + .collect(Collectors.toCollection(() -> new LinkedList<>())); + } else { + modules = user.getModules().stream() + .filter(module -> user.hasAccessModuleAction(module.getU_id(), "M")) + .collect(Collectors.toCollection(() -> new LinkedList<>())); + } + + return ResponseMessage.ok(modules) + .include(Module.class, includes) + .exclude(Module.class, "m_option") + .onlyData(); + } +} diff --git a/hsweb-web-controller/src/main/java/org/hsweb/web/controller/module/ModuleController.java b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/module/ModuleController.java index 165ca034c..0538ce89a 100644 --- a/hsweb-web-controller/src/main/java/org/hsweb/web/controller/module/ModuleController.java +++ b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/module/ModuleController.java @@ -1,11 +1,10 @@ package org.hsweb.web.controller.module; -import org.hsweb.web.logger.annotation.AccessLogger; -import org.hsweb.web.authorize.annotation.Authorize; +import org.hsweb.web.core.logger.annotation.AccessLogger; +import org.hsweb.web.core.authorize.annotation.Authorize; import org.hsweb.web.bean.po.module.Module; import org.hsweb.web.controller.GenericController; import org.hsweb.web.service.module.ModuleService; -import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; diff --git a/hsweb-web-controller/src/main/java/org/hsweb/web/controller/resource/ResourcesController.java b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/resource/ResourcesController.java index 39b4a6b58..d852863b8 100644 --- a/hsweb-web-controller/src/main/java/org/hsweb/web/controller/resource/ResourcesController.java +++ b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/resource/ResourcesController.java @@ -1,16 +1,14 @@ package org.hsweb.web.controller.resource; -import org.hsweb.web.exception.BusinessException; -import org.hsweb.web.exception.NotFoundException; -import org.hsweb.web.logger.annotation.AccessLogger; -import org.hsweb.web.authorize.annotation.Authorize; +import org.hsweb.web.core.exception.NotFoundException; +import org.hsweb.web.core.logger.annotation.AccessLogger; +import org.hsweb.web.core.authorize.annotation.Authorize; import org.hsweb.web.bean.po.resource.Resources; import org.hsweb.web.bean.po.role.Role; import org.hsweb.web.controller.GenericController; -import org.hsweb.web.message.ResponseMessage; +import org.hsweb.web.core.message.ResponseMessage; import org.hsweb.web.service.resource.ResourcesService; -import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; diff --git a/hsweb-web-controller/src/main/java/org/hsweb/web/controller/role/RoleController.java b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/role/RoleController.java index c7a320266..bd44dbef0 100644 --- a/hsweb-web-controller/src/main/java/org/hsweb/web/controller/role/RoleController.java +++ b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/role/RoleController.java @@ -1,11 +1,11 @@ package org.hsweb.web.controller.role; -import org.hsweb.web.logger.annotation.AccessLogger; -import org.hsweb.web.authorize.annotation.Authorize; +import org.hsweb.web.core.logger.annotation.AccessLogger; +import org.hsweb.web.core.authorize.annotation.Authorize; import org.hsweb.web.bean.common.QueryParam; import org.hsweb.web.bean.po.role.Role; import org.hsweb.web.controller.GenericController; -import org.hsweb.web.message.ResponseMessage; +import org.hsweb.web.core.message.ResponseMessage; import org.springframework.web.bind.annotation.RestController; import org.hsweb.web.service.role.RoleService; diff --git a/hsweb-web-controller/src/main/java/org/hsweb/web/controller/script/DynamicScriptController.java b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/script/DynamicScriptController.java index f95b4a55b..ab7d7b1d1 100644 --- a/hsweb-web-controller/src/main/java/org/hsweb/web/controller/script/DynamicScriptController.java +++ b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/script/DynamicScriptController.java @@ -1,11 +1,11 @@ package org.hsweb.web.controller.script; -import org.hsweb.web.logger.annotation.AccessLogger; -import org.hsweb.web.authorize.annotation.Authorize; +import org.hsweb.web.core.logger.annotation.AccessLogger; +import org.hsweb.web.core.authorize.annotation.Authorize; import org.hsweb.web.bean.po.role.Role; import org.hsweb.web.bean.po.script.DynamicScript; import org.hsweb.web.controller.GenericController; -import org.hsweb.web.message.ResponseMessage; +import org.hsweb.web.core.message.ResponseMessage; import org.hsweb.web.service.script.DynamicScriptService; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; diff --git a/hsweb-web-controller/src/main/java/org/hsweb/web/controller/user/UserController.java b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/user/UserController.java index 85a561e0a..284d88db3 100644 --- a/hsweb-web-controller/src/main/java/org/hsweb/web/controller/user/UserController.java +++ b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/user/UserController.java @@ -1,16 +1,17 @@ package org.hsweb.web.controller.user; -import org.hsweb.web.authorize.annotation.Authorize; +import org.hsweb.web.bean.common.UpdateParam; +import org.hsweb.web.core.authorize.annotation.Authorize; import org.hsweb.web.bean.common.QueryParam; import org.hsweb.web.bean.po.user.User; import org.hsweb.web.controller.GenericController; -import org.hsweb.web.exception.NotFoundException; -import org.hsweb.web.logger.annotation.AccessLogger; -import org.hsweb.web.message.ResponseMessage; +import org.hsweb.web.core.exception.NotFoundException; +import org.hsweb.web.core.logger.annotation.AccessLogger; +import org.hsweb.web.core.message.ResponseMessage; import org.hsweb.web.service.user.UserService; -import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; @@ -49,15 +50,18 @@ public class UserController extends GenericController { return super.info(id).exclude(User.class, "password", "modules"); } - @Override @AccessLogger("禁用") - public ResponseMessage delete(@PathVariable("id") String id) throws Exception { - User user = getService().selectByPk(id); - if (user == null) throw new NotFoundException("用户不存在!"); - user.setStatus(-1); - getService().update(user); - return ResponseMessage.ok( "禁用成功"); + @RequestMapping(value = "/{id}/disable", method = RequestMethod.PUT) + public ResponseMessage disable(@PathVariable("id") String id) throws Exception { + getService().disableUser(id); + return ResponseMessage.ok(); } + @AccessLogger("启用") + @RequestMapping(value = "/{id}/enable", method = RequestMethod.PUT) + public ResponseMessage enable(@PathVariable("id") String id) throws Exception { + getService().enableUser(id); + return ResponseMessage.ok(); + } }