From 108b66200c44bccbdcafb15d38b6038dfffceddc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=91=A8=E6=B5=A9?= Date: Thu, 7 Jul 2016 18:31:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=80=E5=A4=A7=E6=B3=A2=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hsweb-web-controller/pom.xml | 4 +++ .../web/controller/file/FileController.java | 19 ++++++++++++ .../form/DynamicFormController.java | 31 ++++++++++++++++--- .../siample/SimpleHttpSessionManager.java | 5 +-- .../mybatis/mapper/mysql/user/UserMapper.xml | 2 +- .../mybatis/mapper/oracle/user/UserMapper.xml | 2 +- .../impl/profile/UserProfileServiceImpl.java | 15 +++++++++ pom.xml | 20 ++++++++++++ 8 files changed, 89 insertions(+), 9 deletions(-) diff --git a/hsweb-web-controller/pom.xml b/hsweb-web-controller/pom.xml index 4b2f8acb8..e59c0c6ac 100644 --- a/hsweb-web-controller/pom.xml +++ b/hsweb-web-controller/pom.xml @@ -41,5 +41,9 @@ commons-fileupload ${commons.fileupload.version} + + org.hsweb + hsweb-expands-compress + \ No newline at end of file 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 16938231c..8a0f38e86 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,6 +1,10 @@ package org.hsweb.web.controller.file; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import org.hsweb.commons.StringUtils; +import org.hsweb.expands.compress.Compress; +import org.hsweb.expands.compress.zip.ZIPWriter; import org.hsweb.web.bean.po.resource.Resources; import org.hsweb.web.core.authorize.annotation.Authorize; import org.hsweb.web.core.exception.NotFoundException; @@ -64,6 +68,21 @@ public class FileController { mediaTypeMapper.put(".xml", MediaType.TEXT_XML_VALUE); } + /** + * 构建zip + */ + @RequestMapping(value = "/download-zip/{name:.+}", method = {RequestMethod.POST}) + public void downloadZip(@PathVariable("name") String name, + @RequestParam("data") String dataStr, + HttpServletResponse response) throws Exception { + response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); + response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(name, "utf-8")); + ZIPWriter writer = Compress.zip(); + List> data = (List) JSON.parseArray(dataStr, Map.class); + data.forEach(map -> writer.addTextFile(map.get("name"), map.get("text"))); + writer.write(response.getOutputStream()); + } + /** * 下载文本 */ 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 afe34ff6c..d07d3de3e 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,3 +1,19 @@ +/* + * Copyright 2015-2016 https://github.com/hs-web + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.hsweb.web.controller.form; import org.hsweb.web.bean.common.QueryParam; @@ -5,6 +21,7 @@ import org.hsweb.web.bean.common.UpdateMapParam; import org.hsweb.web.bean.po.form.Form; import org.hsweb.web.core.authorize.annotation.Authorize; import org.hsweb.web.core.exception.BusinessException; +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.form.DynamicFormService; @@ -20,7 +37,9 @@ import java.util.HashMap; import java.util.Map; /** - * Created by zhouhao on 16-4-23. + * 动态表单管理控制器,用于操作动态表单以及对表单数据的增删改查和excel导入导出 + * + * @author zhouhao */ @RestController @RequestMapping(value = "/dyn-form") @@ -38,16 +57,18 @@ public class DynamicFormController { @RequestMapping(value = "/deployed/{name}", method = RequestMethod.GET) @Authorize(expression = "#dynamicFormAuthorizeValidator.validate(#name,#user,#paramsMap,'R')") - public ResponseMessage deployed(@PathVariable("name") String name) throws Exception { + @AccessLogger("发布表单") + public ResponseMessage deployed(@PathVariable("name") String name) { return ResponseMessage.ok(formService.selectDeployed(name)); } @RequestMapping(value = "/{name}/v/{version}", method = RequestMethod.GET) @Authorize(expression = "#dynamicFormAuthorizeValidator.validate(#name,#user,#paramsMap,'R')") - public ResponseMessage latest(@PathVariable(value = "name") String name, - @PathVariable(value = "version") Integer version) throws Exception { + @AccessLogger("根据版本获取表单") + public ResponseMessage selectByVersion(@PathVariable(value = "name") String name, + @PathVariable(value = "version") Integer version) { Form form = formService.selectByVersion(name, version); - if (form == null) throw new BusinessException("表单不存在", 404); + if (form == null) throw new NotFoundException("表单不存在"); return ResponseMessage.ok(form); } diff --git a/hsweb-web-core/src/main/java/org/hsweb/web/core/session/siample/SimpleHttpSessionManager.java b/hsweb-web-core/src/main/java/org/hsweb/web/core/session/siample/SimpleHttpSessionManager.java index 5ce8d08f7..0d0042937 100644 --- a/hsweb-web-core/src/main/java/org/hsweb/web/core/session/siample/SimpleHttpSessionManager.java +++ b/hsweb-web-core/src/main/java/org/hsweb/web/core/session/siample/SimpleHttpSessionManager.java @@ -10,6 +10,7 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; import java.util.stream.Collectors; /** @@ -20,12 +21,12 @@ public class SimpleHttpSessionManager extends AbstractHttpSessionManager { /** * httpSession存储器,sessionId:HttpSession */ - private static final Map sessionStorage = new ConcurrentHashMap<>(); + private static final ConcurrentMap sessionStorage = new ConcurrentHashMap<>(); /** * 用户ID与session管理存储器,userId:HttpSession */ - private static final Map userSessionStorage = new ConcurrentHashMap<>(); + private static final ConcurrentMap userSessionStorage = new ConcurrentHashMap<>(); @Override public Set tryGetAllUser() { diff --git a/hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/user/UserMapper.xml b/hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/user/UserMapper.xml index 16f229f59..b66e8403f 100644 --- a/hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/user/UserMapper.xml +++ b/hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/user/UserMapper.xml @@ -33,7 +33,7 @@ - + update s_user set password=#{password,jdbcType=VARCHAR} where u_id = #{id} diff --git a/hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/user/UserMapper.xml b/hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/user/UserMapper.xml index 89aeb386d..e1498884b 100644 --- a/hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/user/UserMapper.xml +++ b/hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/user/UserMapper.xml @@ -33,7 +33,7 @@ - + update s_user set password=#{password,jdbcType=VARCHAR} where u_id = #{id} diff --git a/hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/profile/UserProfileServiceImpl.java b/hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/profile/UserProfileServiceImpl.java index 407104da0..c61567fce 100644 --- a/hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/profile/UserProfileServiceImpl.java +++ b/hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/profile/UserProfileServiceImpl.java @@ -1,5 +1,7 @@ package org.hsweb.web.service.impl.profile; +import org.hsweb.commons.MD5; +import org.hsweb.web.bean.common.UpdateParam; import org.hsweb.web.bean.po.profile.UserProfile; import org.hsweb.web.dao.profile.UserProfileMapper; import org.hsweb.web.service.impl.AbstractServiceImpl; @@ -22,5 +24,18 @@ public class UserProfileServiceImpl extends AbstractServiceImplhsweb-expands-office ${hsweb.expands.version} + + org.hsweb + hsweb-expands-request + ${hsweb.expands.version} + + + org.hsweb + hsweb-expands-shell + ${hsweb.expands.version} + + + org.hsweb + hsweb-expands-compress + ${hsweb.expands.version} + + + org.hsweb + hsweb-expands-template + ${hsweb.expands.version} + org.hsweb hsweb-easy-orm