diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java index 77c4340..e23f69c 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java @@ -11,16 +11,16 @@ import com.lyms.platform.pojo.BasicConfig; public class BasicConfigServiceTest { public static void main(String[] args) { - ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext_biz_patient.xml"); + ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext_biz_patient1.xml"); BasicConfigService basicConfigService = (BasicConfigService) applicationContext.getBean("basicConfigService"); + System.out.println(basicConfigService.queryParentConfig()); - - for(int i = 6;i<10;i++){ + for(int i = 6;i<7;i++){ BasicConfig obj = new BasicConfig(); - obj.setCode("xc"+i); - obj.setName("哮喘"+i); + obj.setCode("xc123456"+i); + obj.setName("哮喘123456"+i); obj.setYn(1); - obj.setParentId("56e8cf6e24fdcc51d22a4f27"); + obj.setParentId("56ea134c24fdaafbabbb0025"); basicConfigService.addBasicConfig(obj); } } 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 db36d0f..5442573 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 @@ -2,6 +2,7 @@ package com.lyms.platform.biz.service; import java.util.List; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Sort.Direction; import org.springframework.stereotype.Service; @@ -9,11 +10,14 @@ 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.MongoQuery; import com.lyms.platform.common.dao.operator.Page; import com.lyms.platform.pojo.BasicConfig; +import com.lyms.platform.pojo.BasicConfigQuery; @Service("basicConfigService") public class BasicConfigService { + @Autowired private IBasicConfigDao basicConfigDao; @@ -25,18 +29,26 @@ public class BasicConfigService { basicConfigDao.updateBasicConfig(obj, obj.getId()); } - public List queryBasicConfig(int start, int end) { - return basicConfigDao.queryBasicConfig(MongoCondition.newInstance().toMongoQuery().start(start).end(end) - .addOrder(Direction.ASC, "id")); + public List queryBasicConfig(BasicConfigQuery basicConfigQuery) { + MongoQuery query = basicConfigQuery.convertToQuery(); + if (StringUtils.isNotEmpty(basicConfigQuery.getNeed())) { + basicConfigQuery.mysqlBuild(basicConfigDao.queryBasicConfigCount(basicConfigQuery.convertToQuery())); + query.start(basicConfigQuery.getOffset()).end(basicConfigQuery.getLimit()); + } + + return basicConfigDao.queryBasicConfig(query.addOrder(Direction.ASC, "id")); } - - public List queryParentConfig(){ - return basicConfigDao.queryBasicConfig(MongoCondition.newInstance("parentId",null,MongoOper.IS).toMongoQuery().start(0).end(100) + + public List queryParentConfig() { + return basicConfigDao.queryBasicConfig(MongoCondition.newInstance("parentId", null, MongoOper.IS).toMongoQuery() .addOrder(Direction.ASC, "id")); } + public List queryByParentId(String parentId) { + return basicConfigDao.queryBasicConfig(MongoCondition.newInstance("parentId", parentId, MongoOper.IS).toMongoQuery()); + } + public Page queryGuidesAndPage(int start, int end) { - return basicConfigDao.findPage(MongoCondition.newInstance().toMongoQuery().start(start).end(end) - .addOrder(Direction.ASC, "id")); + return basicConfigDao.findPage(MongoCondition.newInstance().toMongoQuery().start(start).end(end).addOrder(Direction.ASC, "id")); } } \ No newline at end of file diff --git a/platform-biz-patient-service/src/main/resources/spring/applicationContext_biz_patient1.xml b/platform-biz-patient-service/src/main/resources/spring/applicationContext_biz_patient1.xml index 27055bb..ae5adf4 100644 --- a/platform-biz-patient-service/src/main/resources/spring/applicationContext_biz_patient1.xml +++ b/platform-biz-patient-service/src/main/resources/spring/applicationContext_biz_patient1.xml @@ -54,5 +54,5 @@ - + \ No newline at end of file diff --git a/platform-common/com/lyms/platform/common/dao/IBasicConfigDao.java b/platform-common/com/lyms/platform/common/dao/IBasicConfigDao.java deleted file mode 100644 index 3949866..0000000 --- a/platform-common/com/lyms/platform/common/dao/IBasicConfigDao.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.lyms.biz.core.dao.mongo; - -import com.lyms.biz.core.model.BasicConfig; -import com.lyms.platform.common.dao.operator.Page; -import java.util.List; - -public interface IBasicConfigDao { -public BasicConfig addBasicConfig(BasicConfig obj); -public void updateBasicConfig(BasicConfig obj,String id); -public void deleteBasicConfig (String id); -public BasicConfig getBasicConfig (String id); -public int queryBasicConfigCount (com.lyms.biz.core.dao.mongo.operator.MongoQuery query); -public List queryBasicConfig (com.lyms.biz.core.dao.mongo.operator.MongoQuery query); -public Page findPage(com.lyms.biz.core.dao.mongo.operator.MongoQuery query); -} \ No newline at end of file diff --git a/platform-common/com/lyms/platform/common/dao/impl/BasicConfigDaoImpl.java b/platform-common/com/lyms/platform/common/dao/impl/BasicConfigDaoImpl.java deleted file mode 100644 index 9fe7198..0000000 --- a/platform-common/com/lyms/platform/common/dao/impl/BasicConfigDaoImpl.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.lyms.biz.core.dao.mongo.impl; - -import com.lyms.biz.core.model.BasicConfig; -import org.springframework.stereotype.Repository; -import com.lyms.platform.common.dao.BaseMongoDAOImpl; -import com.lyms.platform.common.dao.IBasicConfigDao; -import java.util.List; -import com.lyms.platform.common.dao.operator.MongoQuery; -import com.lyms.platform.common.dao.operator.MongoCondition; -import com.lyms.platform.common.dao.operator.MongoOper; -import com.lyms.platform.common.dao.operator.Page; - - - -@Repository("basicConfigDao") -public class BasicConfigDaoImpl extends BaseMongoDAOImpl implements IBasicConfigDao { - public BasicConfig addBasicConfig(BasicConfig obj){ - return save(obj); - } - public void updateBasicConfig(BasicConfig obj,String id){ - update(new MongoQuery(new MongoCondition("id", id, MongoOper.IS)).convertToMongoQuery(), obj); - } - public void deleteBasicConfig(String id){ - delete(new MongoQuery(new MongoCondition("id", id, MongoOper.IS)).convertToMongoQuery()); - } - public BasicConfig getBasicConfig (String id){ - return findById(id); - } - public int queryBasicConfigCount(MongoQuery query){ - return (int)count(query.convertToMongoQuery()); - } - public List queryBasicConfig(MongoQuery query){ - return find(query.convertToMongoQuery()); - } - public Page findPage(MongoQuery query){ - return findPage(query.convertToMongoQuery()); -} -} diff --git a/platform-common/src/main/java/com/lyms/platform/common/GAllMysql.java b/platform-common/src/main/java/com/lyms/platform/common/GAllMysql.java index 14d66d9..adcd16f 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/GAllMysql.java +++ b/platform-common/src/main/java/com/lyms/platform/common/GAllMysql.java @@ -86,6 +86,8 @@ public class GAllMysql { FileUtils.writeStringToFile(new File(BASE_MONGO_DAO1 + "/impl/" + className + "DaoImpl.java"), daoImpl.toString()); + +// FileUtils.writeStringToFile(new File(baseDir+"model/"+className+"Query.java"), pojo.toString().replace("class " + className, "class " + className + "Query extends BaseQuery").replace("import java.util.Date;", "\n\nimport java.util.Date;\nimport com.lymsh.mommybaby.basecommon.base.BaseQuery;\n\n")); } catch (IOException e) { e.printStackTrace(); } diff --git a/platform-common/src/main/java/com/lyms/platform/common/dao/BaseQuery.java b/platform-common/src/main/java/com/lyms/platform/common/dao/BaseQuery.java new file mode 100644 index 0000000..b2bf8c9 --- /dev/null +++ b/platform-common/src/main/java/com/lyms/platform/common/dao/BaseQuery.java @@ -0,0 +1,265 @@ +package com.lyms.platform.common.dao; + + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class BaseQuery { + + // 排序 + private String sort; + // 是否分页 + private String need; + // 当前页起始行数 + private Integer offset = 0; + // 页面行数 + private Integer limit = 15; + // 当前页 + private int page = 1; + // 最后一页 + private int lastPage = 0; + // 行数 + private int count = 0; + + private boolean prev; + + private boolean next; + + private int[] range = new int[2]; + + private List pageNums = new ArrayList(); + + private int startNum; + private int endNum; + + private Date startTimeStart; + private Date startTimeEnd; + private Date endTimeStart; + private Date endTimeEnd; + + + public Date getStartTimeStart() { + return startTimeStart; + } + + public void setStartTimeStart(Date startTimeStart) { + this.startTimeStart = startTimeStart; + } + + public Date getStartTimeEnd() { + return startTimeEnd; + } + + public void setStartTimeEnd(Date startTimeEnd) { + this.startTimeEnd = startTimeEnd; + } + + public Date getEndTimeStart() { + return endTimeStart; + } + + public void setEndTimeStart(Date endTimeStart) { + this.endTimeStart = endTimeStart; + } + + public Date getEndTimeEnd() { + return endTimeEnd; + } + + public void setEndTimeEnd(Date endTimeEnd) { + this.endTimeEnd = endTimeEnd; + } + + public int getCount() { + return count; + } + + public void setCount(int count) { + this.count = count; + } + + public String getSort() { + return sort; + } + + public void setSort(String sort) { + this.sort = sort; + } + + public String getNeed() { + return need; + } + + public void setNeed(String need) { + this.need = need; + } + + public Integer getOffset() { + return offset; + } + + public void setOffset(Integer offset) { + this.offset = offset; + } + + public Integer getLimit() { + return limit; + } + + public void setLimit(Integer limit) { + if (limit != null && limit > 0) { + this.limit = limit; + } + } + + public int getPage() { + return page; + } + + public void setPage(int page) { + this.page = page; + } + + public int getLastPage() { + return lastPage; + } + + public void setLastPage(int lastPage) { + this.lastPage = lastPage; + } + + public void postgresqlBuild(int count) { + this.count = count; + lastPage = count / limit; + if (count % limit > 0) { + lastPage += 1; + } +// if (page > lastPage) { +// page = lastPage; +// } + if (page < 1) { + page = 1; + } + offset = page * limit - limit; + + + this.range[0] = (this.page - 1) * this.limit + 1; + this.range[1] = page * limit > count ? count : page * limit; + this.startNum = page / 5 * 5; + if (startNum < 0) { + startNum = 0; + } + + this.endNum = this.page / 5 * 5 + 5; + if (endNum > this.lastPage) { + endNum = this.lastPage; + } + + for (int i = 0; i < (endNum - startNum); i++) { + this.pageNums.add(startNum + i + 1); + } + if (this.page > 1) { + this.prev = this.page - 1 > 0 ? true : false; + } + + if (this.page < this.lastPage) { + this.next = this.page + 1 > 0 ? true : false; + } + } + + public void mysqlBuild(int count) { + this.count = count; + lastPage = count / limit; + if (count % limit > 0) { + lastPage += 1; + } +// if (page > lastPage) { +// page = lastPage; +// } + if (page < 1) { + page = 1; + } + offset = page * limit - limit; + + + this.range[0] = (this.page - 1) * this.limit + 1; + this.range[1] = page * limit > count ? count : page * limit; + this.startNum = page / 5 * 5; + if (startNum < 0) { + startNum = 0; + } + + this.endNum = this.page / 5 * 5 + 5; + if (endNum > this.lastPage) { + endNum = this.lastPage; + } + + for (int i = 0; i < (endNum - startNum); i++) { + this.pageNums.add(startNum + i + 1); + } + if (this.page > 1) { + this.prev = this.page - 1 > 0 ? true : false; + } + + if (this.page < this.lastPage) { + this.next = this.page + 1 > 0 ? true : false; + } + } + + public Integer prePage() { + return this.page - 1; + } + + public Integer nextPage() { + return this.page + 1; + } + + public int getStartNum() { + return startNum; + } + + public void setStartNum(int startNum) { + this.startNum = startNum; + } + + public int getEndNum() { + return endNum; + } + + public void setEndNum(int endNum) { + this.endNum = endNum; + } + + public boolean isPrev() { + return prev; + } + + public void setPrev(boolean prev) { + this.prev = prev; + } + + public boolean isNext() { + return next; + } + + public void setNext(boolean next) { + this.next = next; + } + + public int[] getRange() { + return range; + } + + public void setRange(int[] range) { + this.range = range; + } + + public List getPageNums() { + return pageNums; + } + + public void setPageNums(List pageNums) { + this.pageNums = pageNums; + } +} diff --git a/platform-common/src/main/java/com/lyms/platform/common/dao/operator/MongoCondition.java b/platform-common/src/main/java/com/lyms/platform/common/dao/operator/MongoCondition.java index 606d193..9bbea4b 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/dao/operator/MongoCondition.java +++ b/platform-common/src/main/java/com/lyms/platform/common/dao/operator/MongoCondition.java @@ -59,6 +59,7 @@ public class MongoCondition { } public MongoCondition() { + criteria = new Criteria(); } /** @@ -73,9 +74,15 @@ public class MongoCondition { * @return */ public MongoCondition and(String key, Object obj, MongoOper oper) { - Criteria criteria1 = criteria.and(key); - set(oper, obj, criteria1); - criteria = criteria1; + if(criteria ==null){ + criteria = Criteria.where(key); + set(oper, obj, criteria); + }else{ + Criteria criteria1 = criteria.and(key); + set(oper, obj, criteria1); + criteria = criteria1; + } + return this; } @@ -98,9 +105,36 @@ public class MongoCondition { * @return */ public MongoCondition orCondition(MongoCondition con) { - criteria = criteria.orOperator(con.criteria); + if(null==criteria){ + criteria= con.criteria; + }else{ + criteria = criteria.orOperator(con.criteria); + } return this; } + + public MongoCondition orCondition(MongoCondition... con){ + /* public Criteria orOperator(Criteria... criteria) { + BasicDBList bsonList = createCriteriaList(criteria); + return registerCriteriaChainElement(new Criteria("$or").is(bsonList)); + }*/ + Criteria[] list=new Criteria[con.length]; + int index= 0; + for(MongoCondition c:con){ + list[index++]=c.criteria; + } + if(null==criteria){ + criteria=list[0]; + if(con.length>1){ + Criteria[] dest = new Criteria[con.length-1]; + System.arraycopy(list, 1, dest, 0, dest.length); + criteria.orOperator(dest); + } + }else{ + criteria.orOperator(list); + } + return this; + } /** * 如果是模糊匹配,obj则为需要匹配的正则表达式 diff --git a/platform-common/src/main/java/com/lyms/platform/common/result/BaseResponse.java b/platform-common/src/main/java/com/lyms/platform/common/result/BaseResponse.java index 62a64a2..8fbb0a0 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/result/BaseResponse.java +++ b/platform-common/src/main/java/com/lyms/platform/common/result/BaseResponse.java @@ -15,13 +15,13 @@ public class BaseResponse extends BaseModel { private static final long serialVersionUID = 1L; protected String errormsg; - protected String errorcode; + protected int errorcode; public BaseResponse() { super(); } - public BaseResponse(String errormsg, String errorcode) { + public BaseResponse(String errormsg, int errorcode) { super(); this.errormsg = errormsg; this.errorcode = errorcode; @@ -35,11 +35,11 @@ public class BaseResponse extends BaseModel { this.errormsg = errormsg; } - public String getErrorcode() { + public int getErrorcode() { return errorcode; } - public void setErrorcode(String errorcode) { + public void setErrorcode(int errorcode) { this.errorcode = errorcode; } } \ No newline at end of file diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/ResultUtils.java b/platform-common/src/main/java/com/lyms/platform/common/utils/ResultUtils.java index 31e3091..9179feb 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/ResultUtils.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/ResultUtils.java @@ -4,7 +4,7 @@ import com.lyms.platform.common.result.BaseResponse; public final class ResultUtils { - public static BaseResponse buildBaseResponse(String msg, String errorcode) { + public static BaseResponse buildBaseResponse(String msg, int errorcode) { return new BaseResponse(msg, errorcode); } @@ -20,7 +20,7 @@ public final class ResultUtils { * @return */ public static T buildResponse(String msg, - String errorcode, T baseResponse) { + int errorcode, T baseResponse) { baseResponse.setErrormsg(msg); baseResponse.setErrorcode(errorcode); return baseResponse; diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BasicConfigQuery.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BasicConfigQuery.java new file mode 100644 index 0000000..54864d9 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BasicConfigQuery.java @@ -0,0 +1,94 @@ +package com.lyms.platform.pojo; + +import com.lyms.platform.common.dao.BaseQuery; +import com.lyms.platform.common.dao.operator.MongoCondition; +import com.lyms.platform.common.dao.operator.MongoOper; +import com.lyms.platform.common.dao.operator.MongoQuery; + +public class BasicConfigQuery extends BaseQuery { + + private String id; + + private String parentId; + + private String code; + + private String name; + + private String keyword; + + public MongoQuery convertToQuery() { +// MongoCondition condition = MongoCondition.newInstance("1","1",MongoOper.IS); + MongoCondition condition = MongoCondition.newInstance(); + if (null != id) { + condition = condition.and("id", id, MongoOper.IS); + } + + if (null != code) { + condition = condition.and("code", code, MongoOper.IS); + } + if (null != name) { + condition = condition.and("name", name, MongoOper.IS); + } + if (null != parentId) { + condition = condition.and("parentId", parentId, MongoOper.IS); + } + if (null != keyword) { + MongoCondition con1= MongoCondition.newInstance("code", keyword, MongoOper.LIKE); + MongoCondition con = MongoCondition.newInstance("name", keyword, MongoOper.LIKE); + condition = condition.orCondition(new MongoCondition[]{con1,con}); + } + + return condition.toMongoQuery(); + } + + public String getKeyword() { + return keyword; + } + + public void setKeyword(String keyword) { + this.keyword = keyword; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + private int yn; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getParentId() { + return parentId; + } + + public void setParentId(String parentId) { + this.parentId = parentId; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public int getYn() { + return yn; + } + + public void setYn(int yn) { + this.yn = yn; + } +} \ No newline at end of file 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 8585447..d979b26 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 @@ -2,9 +2,7 @@ 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; @@ -14,128 +12,122 @@ 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.RequestBody; 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.constants.ErrorCodeConstants; 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.operate.web.result.TreeNode; import com.lyms.platform.pojo.BasicConfig; +import com.lyms.platform.pojo.BasicConfigQuery; + +/** + * + * 基础项配置接口 + * + * @author Administrator + * + */ @Controller public class BasicConfigController { @Autowired private BasicConfigService basicConfigService; - private static final String NODE = "child"; - @RequestMapping(method = RequestMethod.GET, value = "/basicConfig") @ResponseBody - public BaseListResponse queryBasicConfig(@RequestParam(value="keywords",required=false) - String keywords) { - List data = basicConfigService.queryBasicConfig(0, 100); + public BaseListResponse queryBasicConfig(@RequestParam(value = "keywords", required = false) + String keywords,@RequestParam("page")int page,@RequestParam("limit")int limit) { + BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); + basicConfigQuery.setNeed("1"); + basicConfigQuery.setPage(page); + basicConfigQuery.setLimit(limit); + basicConfigQuery.setKeyword(keywords); + List data = basicConfigService.queryBasicConfig(basicConfigQuery); BaseListResponse baseListResponse = new BaseListResponse(); baseListResponse.setData(data); - baseListResponse.setErrorcode("0"); + baseListResponse.setErrorcode(ErrorCodeConstants.SUCCESS); baseListResponse.setErrormsg("成功"); return baseListResponse; } @RequestMapping(method = RequestMethod.PUT, value = "/basicConfig/{id}") @ResponseBody - public BaseResponse updateBasicConfig(@PathVariable("id")String id, - @RequestParam("title")String title, - @RequestParam("code") String code) { + 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.setErrorcode(ErrorCodeConstants.SUCCESS); baseResponse.setErrormsg("成功"); return baseResponse; } + @RequestMapping(method = RequestMethod.DELETE, value = "/basicConfig/{id}") @ResponseBody - public BaseResponse updateBasicConfig(@PathVariable("id")String id){ - BasicConfig obj = new BasicConfig(); + 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.setErrorcode(ErrorCodeConstants.SUCCESS); 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); + public TreeNode recursiveTree(BasicConfig b) { + TreeNode node = converToNode(b); + List l2 = basicConfigService.queryByParentId(b.getId()); + for (BasicConfig b1 : l2) { + TreeNode node1 = recursiveTree(b1); + if (null != node1) { + node.getNodes().add(node1); + } } + return node; + } - 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()); + @RequestMapping(method = RequestMethod.GET, value = "/basicConfigTree") + @ResponseBody + public List buildJson() { + List list = new ArrayList(); + List l = basicConfigService.queryParentConfig(); + for (BasicConfig b : l) { + TreeNode node = recursiveTree(b); + if (null != node) { + list.add(node); } - - 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)); + private TreeNode converToNode(BasicConfig c) { + TreeNode node = new TreeNode(); + node.setCid(c.getId()); + node.setCname(c.getName()); + node.setPid(c.getParentId()); + return node; } - @RequestMapping(method = RequestMethod.POST, value = "/basicConfig", consumes = { MediaType.APPLICATION_OCTET_STREAM_VALUE }) + @RequestMapping(method = RequestMethod.POST, value = "/basicConfig"/*, consumes = { MediaType.APPLICATION_OCTET_STREAM_VALUE }*/) @ResponseBody - public BaseResponse addBasicConfig(HttpServletRequest httpServletRequest) { - String json = ""; + public BaseResponse addBasicConfig(@RequestBody List listReq) { + /* String json = ""; try { json = IOUtils.toString(httpServletRequest.getInputStream(), "utf8"); } catch (IOException e) { @@ -147,9 +139,13 @@ public class BasicConfigController { for (BasicConfigRequest ba : li) { basicConfigService.addBasicConfig(ba.convertToBasicConfig()); } + }*/ + for (BasicConfigRequest ba : listReq) { + basicConfigService.addBasicConfig(ba.convertToBasicConfig()); } + BaseResponse baseResponse = new BaseResponse(); - baseResponse.setErrorcode("0"); + baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS); baseResponse.setErrormsg("成功"); return baseResponse; } 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 c9f91e6..33a9864 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,11 @@ 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; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/TreeNode.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/TreeNode.java new file mode 100644 index 0000000..47c0b43 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/TreeNode.java @@ -0,0 +1,67 @@ +package com.lyms.platform.operate.web.result; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +public class TreeNode implements Serializable { + /** + * + */ + private static final long serialVersionUID = 1L; + + /** + * 当前节点的id + */ + private String cid; + + /** + * 当前节点的名称 + */ + private String cname; + + /** + * 父节点id + */ + private String pid; + + /** + * 子节点 + */ + private List nodes = new ArrayList(); + + public TreeNode() { + } + + public String getCid() { + return cid; + } + + public void setCid(String cid) { + this.cid = cid; + } + + public String getCname() { + return cname; + } + + public void setCname(String cname) { + this.cname = cname; + } + + public String getPid() { + return pid; + } + + public void setPid(String pid) { + this.pid = pid; + } + + public List getNodes() { + return nodes; + } + + public void setNodes(List nodes) { + this.nodes = nodes; + } +} \ No newline at end of file diff --git a/platform-operate-api/src/main/resources/database.properties b/platform-operate-api/src/main/resources/database.properties index ddfb82a..9c887b7 100644 --- a/platform-operate-api/src/main/resources/database.properties +++ b/platform-operate-api/src/main/resources/database.properties @@ -1,3 +1,3 @@ -mongo.db.host=localhost +mongo.db.host=192.168.5.8 mongo.db.port=27017 mongo.db.dbname=platform \ No newline at end of file