From 48311fea51701fdbed8425bcd72d772c9bcba476 Mon Sep 17 00:00:00 2001 From: jiangjiazhi Date: Wed, 16 Mar 2016 17:18:16 +0800 Subject: [PATCH] c --- .../platform/biz/service/BasicConfigService.java | 8 +- .../web/controller/BasicConfigController.java | 123 ++++++++++++++++++++- .../operate/web/request/BasicConfigRequest.java | 11 +- .../src/main/webapp/WEB-INF/web.xml | 63 +++++++---- 4 files changed, 173 insertions(+), 32 deletions(-) diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BasicConfigService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BasicConfigService.java index 6ae4034..db36d0f 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BasicConfigService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BasicConfigService.java @@ -8,6 +8,7 @@ import org.springframework.stereotype.Service; import com.lyms.platform.biz.dal.IBasicConfigDao; import com.lyms.platform.common.dao.operator.MongoCondition; +import com.lyms.platform.common.dao.operator.MongoOper; import com.lyms.platform.common.dao.operator.Page; import com.lyms.platform.pojo.BasicConfig; @@ -24,10 +25,15 @@ public class BasicConfigService { basicConfigDao.updateBasicConfig(obj, obj.getId()); } - public List queryGuides(int start, int end) { + public List queryBasicConfig(int start, int end) { return basicConfigDao.queryBasicConfig(MongoCondition.newInstance().toMongoQuery().start(start).end(end) .addOrder(Direction.ASC, "id")); } + + public List queryParentConfig(){ + return basicConfigDao.queryBasicConfig(MongoCondition.newInstance("parentId",null,MongoOper.IS).toMongoQuery().start(0).end(100) + .addOrder(Direction.ASC, "id")); + } public Page queryGuidesAndPage(int start, int end) { return basicConfigDao.findPage(MongoCondition.newInstance().toMongoQuery().start(start).end(end) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BasicConfigController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BasicConfigController.java index 0445146..8585447 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BasicConfigController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BasicConfigController.java @@ -1,17 +1,28 @@ package com.lyms.platform.operate.web.controller; +import java.io.IOException; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import javax.servlet.http.HttpServletRequest; + +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.io.IOUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; import org.springframework.stereotype.Controller; +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.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import com.lyms.platform.biz.service.BasicConfigService; import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.JsonUtil; import com.lyms.platform.operate.web.request.BasicConfigRequest; import com.lyms.platform.pojo.BasicConfig; @@ -20,24 +31,126 @@ public class BasicConfigController { @Autowired private BasicConfigService basicConfigService; + private static final String NODE = "child"; + @RequestMapping(method = RequestMethod.GET, value = "/basicConfig") @ResponseBody - public BaseListResponse queryBasicConfig() { - List data = basicConfigService.queryGuides(0, 100); + public BaseListResponse queryBasicConfig(@RequestParam(value="keywords",required=false) + String keywords) { + List data = basicConfigService.queryBasicConfig(0, 100); BaseListResponse baseListResponse = new BaseListResponse(); baseListResponse.setData(data); baseListResponse.setErrorcode("0"); baseListResponse.setErrormsg("成功"); return baseListResponse; } - @RequestMapping(method = RequestMethod.POST, value = "/basicConfig") + + @RequestMapping(method = RequestMethod.PUT, value = "/basicConfig/{id}") @ResponseBody - public BaseResponse addBasicConfig(BasicConfigRequest basicConfigRequests){ -// basicConfigService.addBasicConfig(basicConfigRequests); + public BaseResponse updateBasicConfig(@PathVariable("id")String id, + @RequestParam("title")String title, + @RequestParam("code") String code) { + BasicConfig obj = new BasicConfig(); + obj.setId(id); + obj.setName(title); + obj.setCode(code); + basicConfigService.updateBasicConfig(obj); + BaseResponse baseResponse = new BaseResponse(); + baseResponse.setErrorcode("0"); + baseResponse.setErrormsg("成功"); + return baseResponse; + } + @RequestMapping(method = RequestMethod.DELETE, value = "/basicConfig/{id}") + @ResponseBody + public BaseResponse updateBasicConfig(@PathVariable("id")String id){ + BasicConfig obj = new BasicConfig(); + obj.setId(id); + obj.setYn(0); + basicConfigService.updateBasicConfig(obj); BaseResponse baseResponse = new BaseResponse(); baseResponse.setErrorcode("0"); baseResponse.setErrormsg("成功"); return baseResponse; } + + private static List convertToTreeMap(List basicList) { + List list = new ArrayList(); + // 存放模块名字和索引映射 + Map nameToIndex = new HashMap<>(); + Map nameToIndex1 = new HashMap<>(); + for (BasicConfig b : basicList) { + nameToIndex1.put(b.getId(), b); + } + + int index = 0; + + for (BasicConfig config : basicList) { + Map moduleMap = new HashMap<>(); + // 如果存在就加下一级节点 + moduleMap.put("id", config.getId()); + moduleMap.put("parentId", config.getParentId()); + moduleMap.put("name", config.getName()); + + if (null == config.getParentId()) { + + } else { + nameToIndex1.get(config.getParentId()); + } + + list.add(moduleMap); + } + System.out.print(JsonUtil.array2JsonString(list)); + return list; + } + + public static void main(String[] args) { + BasicConfig basicConfig = new BasicConfig(); + basicConfig.setId("1"); + basicConfig.setName("1"); + + BasicConfig basicConfig1 = new BasicConfig(); + basicConfig1.setId("11"); + basicConfig1.setName("11"); + basicConfig1.setParentId("1"); + + BasicConfig basicConfig2 = new BasicConfig(); + basicConfig2.setId("112"); + basicConfig2.setName("112"); + basicConfig2.setParentId("11"); + + BasicConfig basicConfig3 = new BasicConfig(); + basicConfig3.setId("113"); + basicConfig3.setName("113"); + basicConfig3.setParentId("11"); + + List list = new ArrayList<>(); + list.add(basicConfig); + list.add(basicConfig1); + list.add(basicConfig2); + list.add(basicConfig3); + System.out.println(convertToTreeMap(list)); + } + + @RequestMapping(method = RequestMethod.POST, value = "/basicConfig", consumes = { MediaType.APPLICATION_OCTET_STREAM_VALUE }) + @ResponseBody + public BaseResponse addBasicConfig(HttpServletRequest httpServletRequest) { + String json = ""; + try { + json = IOUtils.toString(httpServletRequest.getInputStream(), "utf8"); + } catch (IOException e) { + e.printStackTrace(); + } + List li = JsonUtil.toList(json, BasicConfigRequest.class); + + if (CollectionUtils.isNotEmpty(li)) { + for (BasicConfigRequest ba : li) { + basicConfigService.addBasicConfig(ba.convertToBasicConfig()); + } + } + BaseResponse baseResponse = new BaseResponse(); + baseResponse.setErrorcode("0"); + baseResponse.setErrormsg("成功"); + return baseResponse; + } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BasicConfigRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BasicConfigRequest.java index 662154b..c9f91e6 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BasicConfigRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BasicConfigRequest.java @@ -2,10 +2,10 @@ package com.lyms.platform.operate.web.request; import org.hibernate.validator.constraints.NotEmpty; -import com.lyms.platform.common.core.annotation.form.Form; import com.lyms.platform.common.core.annotation.form.FormParam; +import com.lyms.platform.pojo.BasicConfig; -@Form +//@Form public class BasicConfigRequest { @FormParam private String parentId; @@ -31,4 +31,11 @@ public class BasicConfigRequest { public void setCode(String code) { this.code = code; } + public BasicConfig convertToBasicConfig(){ + BasicConfig basicConfig = new BasicConfig(); + basicConfig.setCode(code); + basicConfig.setName(name); + basicConfig.setParentId(parentId); + return basicConfig; + } } \ No newline at end of file diff --git a/platform-operate-api/src/main/webapp/WEB-INF/web.xml b/platform-operate-api/src/main/webapp/WEB-INF/web.xml index f372c87..e208829 100644 --- a/platform-operate-api/src/main/webapp/WEB-INF/web.xml +++ b/platform-operate-api/src/main/webapp/WEB-INF/web.xml @@ -1,34 +1,28 @@ - - - + + + contextConfigLocation classpath*:/spring/applicationContext.xml - - 60 - - + + 60 + + log4jConfigLocation classpath:log4j_config.xml @@ -49,6 +43,27 @@ dispatcher / + + HttpMethodFilter + org.springframework.web.filter.HttpPutFormContentFilter + + + HttpMethodFilter + /* + + + encodingFilter + org.springframework.web.filter.CharacterEncodingFilter + + encoding + UTF-8 + + + + + encodingFilter + /* + org.springframework.web.context.ContextLoaderListener -- 1.8.3.1