|
@@ -3,8 +3,10 @@ package com.bosshand.virgo.api.controller;
|
|
|
import com.bosshand.virgo.api.model.ProjectItemTargetRoom;
|
|
|
import com.bosshand.virgo.api.model.RoomCollection;
|
|
|
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.api.service.RoomService;
|
|
|
+import com.bosshand.virgo.api.service.WorkOrderService;
|
|
|
import com.bosshand.virgo.core.config.OperationControllerLog;
|
|
|
import com.bosshand.virgo.core.response.Response;
|
|
|
import com.bosshand.virgo.core.utils.ContextUtils;
|
|
@@ -30,6 +32,12 @@ public class ProjectItemTargetRoomController {
|
|
|
@Autowired
|
|
|
RoomService roomService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ ContractService contractService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ WorkOrderService workOrderService;
|
|
|
+
|
|
|
@ApiOperation("当前用户(负责人)下房源列表")
|
|
|
@RequestMapping(value = "/count/{currPage}/{pageSize}", method = RequestMethod.GET)
|
|
|
public Response list(@PathVariable int currPage, @PathVariable int pageSize) {
|
|
@@ -51,6 +59,36 @@ public class ProjectItemTargetRoomController {
|
|
|
return getResponse(currPage, pageSize, projectItemTargetRoom);
|
|
|
}
|
|
|
|
|
|
+ @ApiOperation("房源下合同数、工单数")
|
|
|
+ @RequestMapping(value = "/countSize/{currPage}/{pageSize}", method = RequestMethod.POST)
|
|
|
+ public Response countSize(@RequestBody ProjectItemTargetRoom projectItemTargetRoom, @PathVariable int currPage, @PathVariable int pageSize) {
|
|
|
+ int totalCount = projectItemTargetRoomService.getTotalCount(projectItemTargetRoom);
|
|
|
+ List<ProjectItemTargetRoom> dataList = projectItemTargetRoomService.getLimit(projectItemTargetRoom, currPage, pageSize);
|
|
|
+ if (dataList != null && dataList.size() > 0) {
|
|
|
+ List<String> ids = new ArrayList<>();
|
|
|
+ dataList.forEach(ls -> ids.add(String.valueOf(ls.getId())));
|
|
|
+ String str = String.join(",", ids);
|
|
|
+ Map<Long, Integer> contractMap = contractService.countSize(str);
|
|
|
+ Map<Long, Integer> workOrderMap = workOrderService.countSize(str);
|
|
|
+ List<Tag> tags = new ArrayList<>();
|
|
|
+ for (ProjectItemTargetRoom room : dataList) {
|
|
|
+ tags.clear();
|
|
|
+ if (StringUtil.notBlank(room.getTagIds())) {
|
|
|
+ for (String tagId : room.getTagIds().split(",")) {
|
|
|
+ tags.add(projectItemTargetRoomService.getTag(Long.parseLong(tagId)));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ room.setTagList(tags);
|
|
|
+ room.setContractSize(contractMap.get(room.getId()));
|
|
|
+ room.setWorkOrderSize(workOrderMap.get(room.getId()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Map<String, Object> result = new HashMap<>();
|
|
|
+ result.put("dataList", dataList);
|
|
|
+ result.put("totalCount", totalCount);
|
|
|
+ return Response.ok(result);
|
|
|
+ }
|
|
|
+
|
|
|
@ApiOperation("获取公海房源")
|
|
|
@RequestMapping(value = "/open/{currPage}/{pageSize}", method = RequestMethod.POST)
|
|
|
public Response listOpen(@RequestBody ProjectItemTargetRoom projectItemTargetRoom, @PathVariable int currPage, @PathVariable int pageSize) {
|