From 75c32d6d697a550400d0b4eec95b8570d83b726f Mon Sep 17 00:00:00 2001 From: kimi <kimi42345@gmail.com> Date: 星期五, 27 十一月 2020 19:20:32 +0800 Subject: [PATCH] 提交 --- src/main/java/com/highdatas/srs/web/TopicController.java | 154 ++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 114 insertions(+), 40 deletions(-) diff --git a/src/main/java/com/highdatas/srs/web/TopicController.java b/src/main/java/com/highdatas/srs/web/TopicController.java index 1b70586..ac03ee6 100644 --- a/src/main/java/com/highdatas/srs/web/TopicController.java +++ b/src/main/java/com/highdatas/srs/web/TopicController.java @@ -1,23 +1,24 @@ package com.highdatas.srs.web; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; -import com.baomidou.mybatisplus.plugins.Page; -import com.highdatas.srs.entity.Topic; +import com.highdatas.srs.entity.*; +import com.highdatas.srs.mapper.SysRoleMapper; import com.highdatas.srs.pojo.CodeMsg; import com.highdatas.srs.pojo.Result; -import com.highdatas.srs.service.ITopicService; +import com.highdatas.srs.service.*; +import com.highdatas.srs.util.Constant; +import com.highdatas.srs.util.ContentBuilder; import com.highdatas.srs.util.DbUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import javax.servlet.http.HttpServletRequest; import java.util.Date; import java.util.List; +import java.util.Map; +import java.util.Set; /** * <p> @@ -32,50 +33,85 @@ public class TopicController { @Autowired ITopicService topicService; + @Autowired + ISchemeDetailService schemeDetailService; + @Autowired + ISchemeDetailParttimeService parttimeService; + @Autowired + ITitleServiceService titleServiceService; + @Autowired + ISchemeService schemeService; + + @Autowired + SysRoleMapper mapper; @RequestMapping(value = "/get/{id}", method = RequestMethod.GET) public Result get(@PathVariable String id) { Topic topic = topicService.selectById(id); + String titleId = topic.getTitleId(); + TitleService titleService = titleServiceService.selectById(titleId); + topic.setTitleService(titleService); return Result.success(topic); } - @RequestMapping(value = "/page/{pageno}", method = RequestMethod.GET) - public Result page(@PathVariable Integer pageno, HttpServletRequest request) { - String title = request.getParameter("title"); - String desp = request.getParameter("desp"); - EntityWrapper<Topic> topicEntityWrapper = new EntityWrapper<>(); - if (!StringUtils.isEmpty(title)) { - topicEntityWrapper.like("title", title); + @RequestMapping(value = "/page/{pageno}", method = RequestMethod.POST) + public Result page(@PathVariable Integer pageno, @RequestBody TitleService titleService) { + Map<String, Object> stringObjectMap = DbUtils.beanToMap(titleService); + + Set<String> keySet = stringObjectMap.keySet(); + ContentBuilder builder = new ContentBuilder(" and "); + for (String key : keySet) { + if (key.equalsIgnoreCase("orderBy")){ + continue; + } + Object o = stringObjectMap.get(key); + if (o == null) { + continue; + } + builder.append(key + " like '%" + o.toString() + "%'"); } - if (!StringUtils.isEmpty(desp)) { - topicEntityWrapper.like("desp", desp); + String filter = builder.toString(); + if (StringUtils.isEmpty(filter)) { + filter = Constant.WHERE_DEFAULT; } - Page<Topic> topicPage= new Page<Topic>(pageno, 15); - topicEntityWrapper.orderBy("create_time desc"); - Page<Topic> result = topicService.selectPage(topicPage, topicEntityWrapper); - List<Topic> records = result.getRecords(); - JSONArray array = new JSONArray(); - for (Topic record : records) { - JSONObject one = (JSONObject) JSON.toJSON(record); - Date createTime = record.getCreateTime(); - String s = DbUtils.convert_before(createTime.getTime()); - one.fluentPut("time", s); - array.add(one); - } + Long aLong = mapper.selectTopicCnt(filter); JSONObject object = new JSONObject(); - object.fluentPut("records", array); - object.fluentPut("total", result.getTotal()); - object.fluentPut("maxPage", result.getPages()); - object.fluentPut("pageno", result.getCurrent()); + if (aLong == null) { + return Result.success(object); + } + com.highdatas.srs.pojo.Page page = new com.highdatas.srs.pojo.Page(aLong); + page.setPageNo(pageno); + page.setPageSize(10); + String orderBy = titleService.getOrderBy(); + if (StringUtils.isEmpty(orderBy)) { + orderBy = " create_time desc "; + } else { + orderBy = orderBy + ", create_time desc"; + } + + List<Map<String, Object>> maps = mapper.selectTopic(filter, orderBy, page.getLimitSQL()); + + object.fluentPut("records", maps); + object.fluentPut("total", page.getRecordCount()); + object.fluentPut("maxPage", page.getPageCount()); + object.fluentPut("pageno", pageno); return Result.success(object); + + } @RequestMapping(value = "/exam/{id}", method = RequestMethod.GET) public Result exam(@PathVariable String id, @RequestParam String projectId) { Topic topic = topicService.selectById(id); + if (StringUtils.isEmpty(topic.getTitleId())) { + return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED); + } + SchemeDetail detail = schemeDetailService.selectById(topic.getTitleId()); + detail.setParentId(projectId).updateById(); topic.setExamine(true); topic.setLinkId(projectId); + boolean insert = topic.updateById(); if (insert) { @@ -85,19 +121,55 @@ } } + @RequestMapping(value = "/saveLinkTitle/{topicId}", method = RequestMethod.POST) + public Result saveLinkTitle(@PathVariable String topicId, @RequestBody SchemeDetail detail) { + Topic topic = topicService.selectById(topicId); + String titleId = topic.getTitleId(); + if (StringUtils.isEmpty(titleId)) { + titleId = DbUtils.getUUID(); + } - @RequestMapping(value = "/add", method = RequestMethod.GET) - public Result add(HttpServletRequest request) { - String id = request.getParameter("id"); - String title = request.getParameter("title"); - String userId = request.getParameter("userId"); + parttimeService.delete(new EntityWrapper<SchemeDetailParttime>().eq("parent_id", detail.getId())); + if (detail.getParttime() != null && detail.getParttime()) { + List<SchemeDetailParttime> parttimeList = detail.getParttimeList(); + for (SchemeDetailParttime parttime : parttimeList) { + parttime.setParentId(detail.getId()).setId(DbUtils.getUUID()).insert(); + } + } + + detail.setId(titleId).setDetailInfoId(titleId).insertOrUpdate(); + JSONObject existsObject = detail.getExistsObject(); + if (existsObject != null) { + TitleService titleService = JSONObject.parseObject(existsObject.toJSONString(), TitleService.class); + String title = titleService.createTitle(); + Scheme scheme = schemeService.selectById(detail.getParentId()); + if (scheme == null) { + scheme = new Scheme().setUserId(detail.getUserId()).setStatus("edit").setId(DbUtils.getUUID()); + scheme.setCreateTime(new Date()); + } + scheme.setName(title); + } + topic.setTitleStatus(true).updateById(); + return Result.success(null); + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + public Result add(@RequestBody TitleService titleService) { + String id = titleService.getId(); + String title = titleService.createTitle(); + String userId = titleService.getUserId(); + if(StringUtils.isEmpty(title)) { return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED); } - String desp = request.getParameter("desp"); + if (StringUtils.isEmpty(id)) { - Topic topic = new Topic().setUserId(userId).setTitle(title).setDesp(desp).setCreateTime(new Date()); - topic.setId(DbUtils.getUUID()); + Topic topic = new Topic().setUserId(userId).setCreateTime(new Date()); + String uuid = DbUtils.getUUID(); + titleService.setTitle(titleService.createTitle()); + titleService.setId(uuid).insert(); + topic.setId(uuid); + topic.setTitleId(uuid); boolean insert = topic.insert(); if (insert) { return Result.success(null); @@ -106,7 +178,9 @@ } } else { Topic topic = topicService.selectById(id); - boolean b = topic.setDesp(desp).setTitle(title).updateById(); + titleService.setTitle(titleService.createTitle()); + titleService.updateById(); + boolean b = topic.updateById(); if (b) { return Result.success(null); } else { -- Gitblit v1.8.0