package com.bosshand.virgo.api.controller; import com.bosshand.virgo.api.model.Contract; import com.bosshand.virgo.api.model.Tag; import com.bosshand.virgo.api.service.ContractService; import com.bosshand.virgo.api.service.ProjectItemTargetRoomService; 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.ArrayList; import java.util.List; @RestController @RequestMapping({"contract"}) @Api(tags = {"合同管理"}) public class ContractController { @Autowired ContractService contractService; @Autowired ProjectItemTargetRoomService projectItemTargetRoomService; @ApiOperation("保存") @RequestMapping(value = "", method = RequestMethod.POST) public Response insert(@RequestBody Contract contract) { contractService.insert(contract); return Response.ok(); } @ApiOperation("获取") @RequestMapping(value = "/list", method = RequestMethod.POST) public Response getList(@RequestBody Contract contract) { List list = contractService.getList(contract); List tags = new ArrayList<>(); for (Contract ct : list) { tags.clear(); if (ct.getTagIds() != null) { for (String tagId : ct.getTagIds().split(",")) { tags.add(projectItemTargetRoomService.getTag(Long.parseLong(tagId))); } } ct.setTagList(tags); } return Response.ok(list); } @ApiOperation("更新") @RequestMapping(value = "/update", method = RequestMethod.PUT) public Response update(@RequestBody Contract contract) { contractService.update(contract); return Response.ok(); } @ApiOperation("删除") @RequestMapping(value = "/delete/{id}", method = RequestMethod.DELETE) public Response delete(@PathVariable long id) { contractService.delete(id); return Response.ok(); } @ApiOperation("详情") @RequestMapping(value = "/{id}", method = RequestMethod.GET) public Response get(@PathVariable long id) { Contract contract = contractService.get(id); List tags = new ArrayList<>(); String tagIds = contract.getTagIds(); if (tagIds != null) { for (String tagId : tagIds.split(",")) { tags.add(projectItemTargetRoomService.getTag(Long.parseLong(tagId))); } } contract.setTagList(tags); return Response.ok(contract); } }