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.pojo.CodeMsg;
|
import com.highdatas.srs.pojo.Result;
|
import com.highdatas.srs.service.ITopicService;
|
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;
|
|
/**
|
* <p>
|
* 前端控制器
|
* </p>
|
*
|
* @author kimi
|
* @since 2020-01-15
|
*/
|
@RestController
|
@RequestMapping("/topic")
|
public class TopicController {
|
@Autowired
|
ITopicService topicService;
|
|
@RequestMapping(value = "/get/{id}", method = RequestMethod.GET)
|
public Result get(@PathVariable String id) {
|
Topic topic = topicService.selectById(id);
|
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);
|
}
|
if (!StringUtils.isEmpty(desp)) {
|
topicEntityWrapper.like("desp", desp);
|
}
|
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);
|
}
|
JSONObject object = new JSONObject();
|
object.fluentPut("records", array);
|
object.fluentPut("total", result.getTotal());
|
object.fluentPut("maxPage", result.getPages());
|
object.fluentPut("pageno", result.getCurrent());
|
|
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);
|
topic.setExamine(true);
|
topic.setLinkId(projectId);
|
boolean insert = topic.updateById();
|
|
if (insert) {
|
return Result.success(null);
|
} else {
|
return Result.error(CodeMsg.INSERT_ERROR);
|
}
|
|
}
|
|
@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");
|
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());
|
boolean insert = topic.insert();
|
if (insert) {
|
return Result.success(null);
|
} else {
|
return Result.error(CodeMsg.INSERT_ERROR);
|
}
|
} else {
|
Topic topic = topicService.selectById(id);
|
boolean b = topic.setDesp(desp).setTitle(title).updateById();
|
if (b) {
|
return Result.success(null);
|
} else {
|
return Result.error(CodeMsg.INSERT_ERROR);
|
}
|
}
|
|
|
}
|
}
|