package org.alshat.so.admin.web;
import org.alshat.so.core.util.ResponseUtil;
import org.alshat.so.db.domain.MonProject;
import org.alshat.so.db.service.MonProjectService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("/mon/project")
@Validated
public class MonProjectController {
@Autowired
private MonProjectService monProjectService;
//项目列表(分页)
@GetMapping("page")
public Object page(String name,
@RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "10") Integer size
){
List<MonProject> list = monProjectService.page(name,page,size);
int total = monProjectService.count(name);
Map<String, Object> data = new HashMap<>();
data.put("total", total);
data.put("items", list);
return ResponseUtil.ok(data);
}
//项目列表
@GetMapping("")
public Object list(){
List<MonProject> list = monProjectService.list();
return ResponseUtil.ok(list);
}
//获取项目
@GetMapping("{id}")
public Object list(@PathVariable String id){
MonProject project = monProjectService.info(id);
return ResponseUtil.ok(project);
}
//添加项目
@PostMapping("")
public Object add(@RequestBody MonProject monProject){
try{
List<MonProject> list = monProjectService.checkName(monProject);
if(list.size()>0){
return ResponseUtil.fail(409,"已存在相同项目名");
}
if(monProjectService.add(monProject)>0){
return ResponseUtil.ok();
}else {
return ResponseUtil.errorAction();
}
}catch (Exception e){
return ResponseUtil.errorAction();
}
}
//修改项目
@PutMapping("{id}")
public Object update(@PathVariable String id,@RequestBody MonProject monProject){
try{
monProject.setId(id);
if(monProjectService.update(monProject)>0){
return ResponseUtil.ok();
}else {
return ResponseUtil.errorAction();
}
}catch (Exception e){
return ResponseUtil.errorAction();
}
}
//删除项目
@DeleteMapping("{id}")
public Object delete(@PathVariable String id){
try{
if(monProjectService.delete(id)>0){
return ResponseUtil.ok();
}else {
return ResponseUtil.errorAction();
}
}catch (Exception e){
return ResponseUtil.errorAction();
}
}
}
package com.equi.server.web;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.equi.server.entity.MonProject;
import com.equi.server.service.IMonProjectService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* <p>
* 前端控制器
* </p>
*
* @author mdk
* @since 2019-01-28
*/
@RestController
@RequestMapping("/mon/project")
public class MonProjectController {
@Autowired
private IMonProjectService monProjectService;
//项目列表(分页)
@GetMapping("page")
public Object page(String name,
@RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "10") Integer size
){
Page<MonProject> projectPage = new Page<MonProject>();
projectPage.setCurrent(page);
projectPage.setSize(size);
projectPage.setAsc("create_time");
QueryWrapper<MonProject> qw = new QueryWrapper<>();
if(!StringUtils.isEmpty(name)){
qw.like("name",name);
}
Page<MonProject> list = (Page<MonProject>) monProjectService.page(projectPage,qw);
return list;
}
//项目列表
@GetMapping("")
public Object list(){
List<MonProject> list = monProjectService.list(new QueryWrapper<MonProject>().orderByAsc("create_time"));
return list;
}
//获取项目
@GetMapping("{id}")
public Object list(@PathVariable String id){
MonProject project = monProjectService.getById(id);
return project;
}
//添加项目
@PostMapping("")
public Object add(@RequestBody MonProject monProject){
try{
if(StringUtils.isEmpty(monProject.getName())){
return new ResponseEntity<String>("参数name必填", HttpStatus.PRECONDITION_FAILED);
}
//检查项目名是否重复
QueryWrapper<MonProject> qw = new QueryWrapper<MonProject>();
qw.eq("name",monProject.getName());
List<MonProject> list = monProjectService.list(qw);
if(list.size()>0){
return new ResponseEntity<String>("已存在相同项目名", HttpStatus.CONFLICT);
}
if(monProjectService.save(monProject)==true){
return new ResponseEntity<String>("添加成功",HttpStatus.OK);
}else {
return new ResponseEntity<String>("添加失败",HttpStatus.INTERNAL_SERVER_ERROR);
}
}catch (Exception e){
return new ResponseEntity<String>("添加失败",HttpStatus.INTERNAL_SERVER_ERROR);
}
}
//修改项目
@PutMapping("{id}")
public Object update(@PathVariable String id,@RequestBody MonProject monProject){
try{
monProject.setId(id);
//校验项目名是否已存在
if(!StringUtils.isEmpty(monProject.getName())){
QueryWrapper<MonProject> qw = new QueryWrapper<MonProject>();
qw.eq("name",monProject.getName());
qw.notIn("id",id);
List<MonProject> list = monProjectService.list(qw);
if(list.size()>0){
return new ResponseEntity<String>("已存在相同项目名", HttpStatus.CONFLICT);
}
}
if(monProjectService.updateById(monProject)==true){
return new ResponseEntity<String>("修改成功",HttpStatus.OK);
}else {
return new ResponseEntity<String>("修改失败",HttpStatus.INTERNAL_SERVER_ERROR);
}
}catch (Exception e){
System.out.println(e);
return new ResponseEntity<String>("修改失败",HttpStatus.INTERNAL_SERVER_ERROR);
}
}
//删除项目
@DeleteMapping("{id}")
public Object delete(@PathVariable String id){
try{
UpdateWrapper<MonProject> qw = new UpdateWrapper <MonProject>();
qw.eq("id",id);
qw.set("delete_status","1");
if(monProjectService.update(qw)==true){
return new ResponseEntity<String>("删除成功",HttpStatus.OK);
}else {
return new ResponseEntity<String>("删除失败",HttpStatus.INTERNAL_SERVER_ERROR);
}
}catch (Exception e){
return new ResponseEntity<String>("删除失败",HttpStatus.INTERNAL_SERVER_ERROR);
}
}
}