123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- package com.bosshand.virgo.api.controller;
- import com.bosshand.virgo.api.model.Project;
- import com.bosshand.virgo.api.service.ProjectItemTargetRoomService;
- import com.bosshand.virgo.api.service.ProjectService;
- import com.bosshand.virgo.api.service.QuartzService;
- import com.bosshand.virgo.core.response.Response;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- @RestController
- @RequestMapping("project")
- @Api(tags = {"项目管理"})
- public class ProjectController {
- @Autowired
- ProjectService projectService;
- @Autowired
- ProjectItemTargetRoomService projectItemTargetRoomService;
- @Autowired
- QuartzService quartzService;
- @ApiOperation("获取")
- @RequestMapping(value = "/{currPage}/{pageSize}", method = RequestMethod.POST)
- public Response list(@RequestBody Project project, @PathVariable int currPage, @PathVariable int pageSize) {
- int totalCount = projectService.getTotalCount(project);
- List<Project> dataList = projectService.getLimit(project, currPage, pageSize);
- Map<String, Object> result = new HashMap<>();
- result.put("dataList", dataList);
- result.put("totalCount", totalCount);
- return Response.ok(result);
- }
- @ApiOperation("根据id列表获取")
- @RequestMapping(value = "/getIds", method = RequestMethod.POST)
- public Response getIds(@RequestBody List<Long> ids) {
- List<Project> list = projectService.getIds(ids);
- return Response.ok(list);
- }
- @ApiOperation("详情")
- @RequestMapping(value = "/getProject/{id}", method = RequestMethod.GET)
- public Response getProject(@PathVariable long id) {
- return Response.ok(projectService.get(id));
- }
- @ApiOperation("根据组织获取项目列表")
- @RequestMapping(value = "/getOrganization/{organizationId}", method = RequestMethod.GET)
- public Response getProjectByOrganizationId(@PathVariable long organizationId) {
- return Response.ok(projectService.getProjectByOrganizationId(organizationId));
- }
- @ApiOperation("新增")
- @RequestMapping(value = "", method = RequestMethod.POST)
- public Response insertProject(@RequestBody Project project) {
- Project p = projectService.insert(project);
- // 每天0点定时保存项目地址天气
- quartzService.executeJobCityWeatherQuartz(p);
- // 定时生成项目周报数据
- quartzService.executeJobProjectWeeklyQuartz(p);
- return Response.ok();
- }
- @ApiOperation("删除")
- @RequestMapping(value = "/delete/{id}", method = RequestMethod.DELETE)
- public Response deleteProject(@PathVariable long id) {
- Project project = projectService.getProject(id);
- quartzService.deleteJobQuartz(project);
- projectService.deleteProject(id);
- projectItemTargetRoomService.projectCache.clear();
- return Response.ok();
- }
- @ApiOperation("修改")
- @RequestMapping(value = "/update", method = RequestMethod.PUT)
- public Response updateProject(@RequestBody Project project) {
- projectService.update(project);
- projectItemTargetRoomService.projectCache.clear();
- return Response.ok();
- }
- }
|