dcs há 10 meses atrás
pai
commit
c00a44d3fd
18 ficheiros alterados com 791 adições e 8 exclusões
  1. 19 6
      virgo.api/src/main/java/com/bosshand/virgo/api/controller/ProjectItemTargetRoomController.java
  2. 100 0
      virgo.api/src/main/java/com/bosshand/virgo/api/controller/RoomController.java
  3. 14 0
      virgo.api/src/main/java/com/bosshand/virgo/api/dao/RoomCollectionDao.java
  4. 18 0
      virgo.api/src/main/java/com/bosshand/virgo/api/dao/RoomEvaluateDao.java
  5. 15 0
      virgo.api/src/main/java/com/bosshand/virgo/api/dao/RoomReservationDao.java
  6. 18 0
      virgo.api/src/main/java/com/bosshand/virgo/api/dao/RoomVisitorDao.java
  7. 39 0
      virgo.api/src/main/java/com/bosshand/virgo/api/model/ProjectItemTargetRoom.java
  8. 61 0
      virgo.api/src/main/java/com/bosshand/virgo/api/model/RoomCollection.java
  9. 113 0
      virgo.api/src/main/java/com/bosshand/virgo/api/model/RoomEvaluate.java
  10. 83 0
      virgo.api/src/main/java/com/bosshand/virgo/api/model/RoomReservation.java
  11. 88 0
      virgo.api/src/main/java/com/bosshand/virgo/api/model/RoomVisitor.java
  12. 4 1
      virgo.api/src/main/java/com/bosshand/virgo/api/service/ProjectItemTargetRoomService.java
  13. 89 0
      virgo.api/src/main/java/com/bosshand/virgo/api/service/RoomService.java
  14. 3 1
      virgo.api/src/main/resources/mapper/ProjectItemTargetRoomMapper.xml
  15. 24 0
      virgo.api/src/main/resources/mapper/RoomCollectionMapper.xml
  16. 39 0
      virgo.api/src/main/resources/mapper/RoomEvaluateMapper.xml
  17. 27 0
      virgo.api/src/main/resources/mapper/RoomReservationMapper.xml
  18. 37 0
      virgo.api/src/main/resources/mapper/RoomVisitorMapper.xml

+ 19 - 6
virgo.api/src/main/java/com/bosshand/virgo/api/controller/ProjectItemTargetRoomController.java

@@ -1,9 +1,12 @@
 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.ProjectItemTargetRoomService;
+import com.bosshand.virgo.api.service.RoomService;
 import com.bosshand.virgo.core.response.Response;
+import com.bosshand.virgo.core.utils.ContextUtils;
 import com.bosshand.virgo.core.utils.StringUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -23,6 +26,9 @@ public class ProjectItemTargetRoomController {
     @Autowired
     ProjectItemTargetRoomService projectItemTargetRoomService;
 
+    @Autowired
+    RoomService roomService;
+
     @ApiOperation("获取")
     @RequestMapping(value = "/{currPage}/{pageSize}", method = RequestMethod.POST)
     public Response list(@RequestBody ProjectItemTargetRoom projectItemTargetRoom, @PathVariable int currPage, @PathVariable int pageSize) {
@@ -82,14 +88,21 @@ public class ProjectItemTargetRoomController {
     @RequestMapping(value = "/{id}", method = RequestMethod.GET)
     public Response get(@PathVariable long id) {
         ProjectItemTargetRoom room = projectItemTargetRoomService.get(id);
-        String tagIds = room.getTagIds();
-        List<Tag> tags = new ArrayList<>();
-        if (StringUtil.notBlank(tagIds)) {
-            for (String tagId : tagIds.split(",")) {
-                tags.add(projectItemTargetRoomService.getTag(Long.parseLong(tagId)));
+        if (room != null) {
+            String tagIds = room.getTagIds();
+            List<Tag> tags = new ArrayList<>();
+            if (StringUtil.notBlank(tagIds)) {
+                for (String tagId : tagIds.split(",")) {
+                    tags.add(projectItemTargetRoomService.getTag(Long.parseLong(tagId)));
+                }
+            }
+            room.setTagList(tags);
+            // 当前用户是否收藏
+            RoomCollection roomCollection = roomService.get(id, ContextUtils.getCurrentUser().getId());
+            if (roomCollection != null) {
+                room.setRoomCollection(true);
             }
         }
-        room.setTagList(tags);
         return Response.ok(room);
     }
 

+ 100 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/controller/RoomController.java

@@ -0,0 +1,100 @@
+package com.bosshand.virgo.api.controller;
+
+import com.bosshand.virgo.api.model.RoomCollection;
+import com.bosshand.virgo.api.model.RoomEvaluate;
+import com.bosshand.virgo.api.model.RoomReservation;
+import com.bosshand.virgo.api.model.RoomVisitor;
+import com.bosshand.virgo.api.service.RoomService;
+import com.bosshand.virgo.core.response.Response;
+import com.bosshand.virgo.core.utils.ContextUtils;
+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("roomOperation")
+@Api(tags = {"房源用户操作(访客,收藏,评价,预约)"})
+public class RoomController {
+
+    @Autowired
+    RoomService roomService;
+
+    @ApiOperation("获取访客记录")
+    @RequestMapping(value = "/visitor/{currPage}/{pageSize}", method = RequestMethod.POST)
+    public Response list(@RequestBody RoomVisitor roomVisitor, @PathVariable int currPage, @PathVariable int pageSize) {
+        int totalCount = roomService.getTotalCount(roomVisitor);
+        List<RoomVisitor> dataList = roomService.getLimit(roomVisitor, currPage, pageSize);
+        Map<String, Object> result = new HashMap<>();
+        result.put("dataList", dataList);
+        result.put("totalCount", totalCount);
+        return Response.ok(result);
+    }
+
+    @ApiOperation("新增访客")
+    @RequestMapping(value = "/visitor", method = RequestMethod.POST)
+    public Response insert(@RequestBody RoomVisitor roomVisitor) {
+        roomService.insert(roomVisitor);
+        return Response.ok();
+    }
+
+    @ApiOperation("当前用户收藏房源")
+    @RequestMapping(value = "/collection/{projectItemTargetRoomId}", method = RequestMethod.GET)
+    public Response insert(@PathVariable long projectItemTargetRoomId) {
+        long userId = ContextUtils.getCurrentUser().getId();
+        RoomCollection collection = roomService.get(projectItemTargetRoomId, userId);
+        if (collection != null) {
+            return Response.fail(100001, "该用户已收藏此房源");
+        }
+        RoomCollection roomCollection = new RoomCollection();
+        roomCollection.setProjectItemTargetRoomId(projectItemTargetRoomId);
+        roomCollection.setUserId(userId);
+        roomService.insert(roomCollection);
+        return Response.ok();
+    }
+
+    @ApiOperation("当前用户取消收藏房源")
+    @RequestMapping(value = "/collection/{projectItemTargetRoomId}", method = RequestMethod.DELETE)
+    public Response delete(@PathVariable long projectItemTargetRoomId) {
+        long userId = ContextUtils.getCurrentUser().getId();
+        roomService.deleteCollection(projectItemTargetRoomId, userId);
+        return Response.ok();
+    }
+
+    @ApiOperation("获取房源评价")
+    @RequestMapping(value = "/evaluate/{currPage}/{pageSize}", method = RequestMethod.POST)
+    public Response list(@RequestBody RoomEvaluate roomEvaluate, @PathVariable int currPage, @PathVariable int pageSize) {
+        int totalCount = roomService.getTotalCount(roomEvaluate);
+        List<RoomEvaluate> dataList = roomService.getLimit(roomEvaluate, currPage, pageSize);
+        Map<String, Object> result = new HashMap<>();
+        result.put("dataList", dataList);
+        result.put("totalCount", totalCount);
+        return Response.ok(result);
+    }
+
+    @ApiOperation("新增评价")
+    @RequestMapping(value = "/evaluate", method = RequestMethod.POST)
+    public Response insert(@RequestBody RoomEvaluate roomEvaluate) {
+        roomService.insert(roomEvaluate);
+        return Response.ok();
+    }
+
+    @ApiOperation("获取预约看房")
+    @RequestMapping(value = "/reservation/list", method = RequestMethod.POST)
+    public Response list(@RequestBody RoomReservation roomReservation) {
+        return Response.ok(roomService.getList(roomReservation));
+    }
+
+    @ApiOperation("新增预约看房")
+    @RequestMapping(value = "/reservation", method = RequestMethod.POST)
+    public Response insert(@RequestBody RoomReservation roomReservation) {
+        roomService.insert(roomReservation);
+        return Response.ok();
+    }
+
+
+}

+ 14 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/dao/RoomCollectionDao.java

@@ -0,0 +1,14 @@
+package com.bosshand.virgo.api.dao;
+
+import com.bosshand.virgo.api.model.RoomCollection;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface RoomCollectionDao {
+
+    int insert(RoomCollection roomCollection);
+
+    RoomCollection get(long projectItemTargetRoomId, long userId);
+
+    int delete(long projectItemTargetRoomId, long userId);
+}

+ 18 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/dao/RoomEvaluateDao.java

@@ -0,0 +1,18 @@
+package com.bosshand.virgo.api.dao;
+
+import com.bosshand.virgo.api.model.RoomEvaluate;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface RoomEvaluateDao {
+
+    int insert(RoomEvaluate roomEvaluate);
+
+    int getTotalCount(RoomEvaluate roomEvaluate);
+
+    List<RoomEvaluate> getLimit(@Param("p") RoomEvaluate p, @Param("currIndex") int currIndex, @Param("pageSize") int pageSize);
+
+}

+ 15 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/dao/RoomReservationDao.java

@@ -0,0 +1,15 @@
+package com.bosshand.virgo.api.dao;
+
+import com.bosshand.virgo.api.model.RoomReservation;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface RoomReservationDao {
+
+    int insert(RoomReservation roomReservation);
+
+    List<RoomReservation> getList(RoomReservation roomReservation);
+
+}

+ 18 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/dao/RoomVisitorDao.java

@@ -0,0 +1,18 @@
+package com.bosshand.virgo.api.dao;
+
+import com.bosshand.virgo.api.model.RoomVisitor;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface RoomVisitorDao {
+
+    int insert(RoomVisitor roomVisitor);
+
+    int getTotalCount(RoomVisitor roomVisitor);
+
+    List<RoomVisitor> getLimit(@Param("p") RoomVisitor p, @Param("currIndex") int currIndex, @Param("pageSize") int pageSize);
+
+}

+ 39 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/model/ProjectItemTargetRoom.java

@@ -31,6 +31,11 @@ public class ProjectItemTargetRoom {
      */
     private Double distance;
 
+    /**
+     * 项目配套设施
+     */
+    private String supportingFacilities;
+
     /**
      * 单位工程id
      */
@@ -55,6 +60,11 @@ public class ProjectItemTargetRoom {
      */
     private String chargePersonName;
 
+    /**
+     * 负责人头像
+     */
+    private String chargePersonPortrait;
+
     /**
      * 名称
      */
@@ -150,6 +160,11 @@ public class ProjectItemTargetRoom {
      */
     private String introduce;
 
+    /**
+     * 当前用户是否的收藏
+     */
+    private boolean roomCollection;
+
     /**
      * 自定义字段
      */
@@ -204,6 +219,14 @@ public class ProjectItemTargetRoom {
         this.distance = distance;
     }
 
+    public String getSupportingFacilities() {
+        return supportingFacilities;
+    }
+
+    public void setSupportingFacilities(String supportingFacilities) {
+        this.supportingFacilities = supportingFacilities;
+    }
+
     public long getProjectItemId() {
         return projectItemId;
     }
@@ -252,6 +275,14 @@ public class ProjectItemTargetRoom {
         this.chargePersonName = chargePersonName;
     }
 
+    public String getChargePersonPortrait() {
+        return chargePersonPortrait;
+    }
+
+    public void setChargePersonPortrait(String chargePersonPortrait) {
+        this.chargePersonPortrait = chargePersonPortrait;
+    }
+
     public String getName() {
         return name;
     }
@@ -404,6 +435,14 @@ public class ProjectItemTargetRoom {
         this.introduce = introduce;
     }
 
+    public boolean isRoomCollection() {
+        return roomCollection;
+    }
+
+    public void setRoomCollection(boolean roomCollection) {
+        this.roomCollection = roomCollection;
+    }
+
     public String getData() {
         return data;
     }

+ 61 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/model/RoomCollection.java

@@ -0,0 +1,61 @@
+package com.bosshand.virgo.api.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.util.Date;
+
+/**
+ * 收藏房源
+ */
+public class RoomCollection {
+
+    private long id;
+
+    /**
+     * 房源id
+     */
+    private long projectItemTargetRoomId;
+
+    /**
+     * 用户id
+     */
+    private long userId;
+
+    /**
+     * 时间
+     */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date date;
+
+    public long getId() {
+        return id;
+    }
+
+    public void setId(long id) {
+        this.id = id;
+    }
+
+    public long getProjectItemTargetRoomId() {
+        return projectItemTargetRoomId;
+    }
+
+    public void setProjectItemTargetRoomId(long projectItemTargetRoomId) {
+        this.projectItemTargetRoomId = projectItemTargetRoomId;
+    }
+
+    public long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(long userId) {
+        this.userId = userId;
+    }
+
+    public Date getDate() {
+        return date;
+    }
+
+    public void setDate(Date date) {
+        this.date = date;
+    }
+}

+ 113 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/model/RoomEvaluate.java

@@ -0,0 +1,113 @@
+package com.bosshand.virgo.api.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.util.Date;
+
+/**
+ * 房源评价
+ */
+public class RoomEvaluate {
+
+    private long id;
+
+    /**
+     * 父节点
+     */
+    private long parentId;
+
+    /**
+     * 房源id
+     */
+    private long projectItemTargetRoomId;
+
+    /**
+     * 用户id
+     */
+    private long userId;
+
+    /**
+     * 用户名称
+     */
+    private String userName;
+
+    /**
+     * 用户头像
+     */
+    private String userPortrait;
+
+    /**
+     * 时间
+     */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date date;
+
+    /**
+     * 内容
+     */
+    private String content;
+
+    public long getId() {
+        return id;
+    }
+
+    public void setId(long id) {
+        this.id = id;
+    }
+
+    public long getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(long parentId) {
+        this.parentId = parentId;
+    }
+
+    public long getProjectItemTargetRoomId() {
+        return projectItemTargetRoomId;
+    }
+
+    public void setProjectItemTargetRoomId(long projectItemTargetRoomId) {
+        this.projectItemTargetRoomId = projectItemTargetRoomId;
+    }
+
+    public long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(long userId) {
+        this.userId = userId;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getUserPortrait() {
+        return userPortrait;
+    }
+
+    public void setUserPortrait(String userPortrait) {
+        this.userPortrait = userPortrait;
+    }
+
+    public Date getDate() {
+        return date;
+    }
+
+    public void setDate(Date date) {
+        this.date = date;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+}

+ 83 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/model/RoomReservation.java

@@ -0,0 +1,83 @@
+package com.bosshand.virgo.api.model;
+
+/**
+ * 预约看房
+ */
+public class RoomReservation {
+
+    private long id;
+
+    /**
+     * 房源id
+     */
+    private long projectItemTargetRoomId;
+
+    /**
+     * 用户id
+     */
+    private long userId;
+
+    /**
+     * 用户名称
+     */
+    private String userName;
+
+    /**
+     * 用户头像
+     */
+    private String userPortrait;
+
+    /**
+     * 预约时间
+     */
+    private String date;
+
+    public long getId() {
+        return id;
+    }
+
+    public void setId(long id) {
+        this.id = id;
+    }
+
+    public long getProjectItemTargetRoomId() {
+        return projectItemTargetRoomId;
+    }
+
+    public void setProjectItemTargetRoomId(long projectItemTargetRoomId) {
+        this.projectItemTargetRoomId = projectItemTargetRoomId;
+    }
+
+    public long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(long userId) {
+        this.userId = userId;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getUserPortrait() {
+        return userPortrait;
+    }
+
+    public void setUserPortrait(String userPortrait) {
+        this.userPortrait = userPortrait;
+    }
+
+    public String getDate() {
+        return date;
+    }
+
+    public void setDate(String date) {
+        this.date = date;
+    }
+
+}

+ 88 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/model/RoomVisitor.java

@@ -0,0 +1,88 @@
+package com.bosshand.virgo.api.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.util.Date;
+
+/**
+ * 访客记录
+ */
+public class RoomVisitor {
+
+    private long id;
+
+    /**
+     * 房源id
+     */
+    private long projectItemTargetRoomId;
+
+    /**
+     * 用户id
+     */
+    private long userId;
+
+    /**
+     * 用户名称
+     */
+    private String userName;
+
+    /**
+     * 用户头像
+     */
+    private String userPortrait;
+
+    /**
+     * 时间
+     */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date date;
+
+    public long getId() {
+        return id;
+    }
+
+    public void setId(long id) {
+        this.id = id;
+    }
+
+    public long getProjectItemTargetRoomId() {
+        return projectItemTargetRoomId;
+    }
+
+    public void setProjectItemTargetRoomId(long projectItemTargetRoomId) {
+        this.projectItemTargetRoomId = projectItemTargetRoomId;
+    }
+
+    public long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(long userId) {
+        this.userId = userId;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getUserPortrait() {
+        return userPortrait;
+    }
+
+    public void setUserPortrait(String userPortrait) {
+        this.userPortrait = userPortrait;
+    }
+
+    public Date getDate() {
+        return date;
+    }
+
+    public void setDate(Date date) {
+        this.date = date;
+    }
+
+}

+ 4 - 1
virgo.api/src/main/java/com/bosshand/virgo/api/service/ProjectItemTargetRoomService.java

@@ -87,7 +87,10 @@ public class ProjectItemTargetRoomService {
     public ProjectItemTargetRoom get(long id) {
         ProjectItemTargetRoom room = projectItemTargetRoomDao.get(id);
         if(room != null){
-            room.setProjectName(this.getProject(room.getProjectId()).getName());
+            Project project = this.getProject(room.getProjectId());
+            room.setProjectName(project.getName());
+            room.setCoordinates(project.getCoordinates());
+            room.setSupportingFacilities(project.getSupportingFacilities());
             room.setProjectItemName(this.getProjectItem(room.getProjectItemId()).getName());
             room.setProjectItemTargetName(this.getProjectItemTarget(room.getProjectItemTargetId()).getName());
         }

+ 89 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/service/RoomService.java

@@ -0,0 +1,89 @@
+package com.bosshand.virgo.api.service;
+
+import com.bosshand.virgo.api.dao.RoomCollectionDao;
+import com.bosshand.virgo.api.dao.RoomEvaluateDao;
+import com.bosshand.virgo.api.dao.RoomReservationDao;
+import com.bosshand.virgo.api.dao.RoomVisitorDao;
+import com.bosshand.virgo.api.model.RoomCollection;
+import com.bosshand.virgo.api.model.RoomEvaluate;
+import com.bosshand.virgo.api.model.RoomReservation;
+import com.bosshand.virgo.api.model.RoomVisitor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class RoomService {
+
+    @Autowired
+    RoomVisitorDao roomVisitorDao;
+
+    @Autowired
+    RoomCollectionDao roomCollectionDao;
+
+    @Autowired
+    RoomEvaluateDao roomEvaluateDao;
+
+    @Autowired
+    RoomReservationDao roomReservationDao;
+
+    /**
+     * 访客记录
+     */
+    public int insert(RoomVisitor roomVisitor) {
+        return roomVisitorDao.insert(roomVisitor);
+    }
+
+    public int getTotalCount(RoomVisitor roomVisitor) {
+        return roomVisitorDao.getTotalCount(roomVisitor);
+    }
+
+    public List<RoomVisitor> getLimit(RoomVisitor roomVisitor, int currPage, int pageSize) {
+        int currIndex = (currPage - 1) * pageSize;
+        return roomVisitorDao.getLimit(roomVisitor, currIndex, pageSize);
+    }
+
+    /**
+     * 收藏房源
+     */
+    public int insert(RoomCollection roomCollection) {
+        return roomCollectionDao.insert(roomCollection);
+    }
+
+    public int deleteCollection(long projectItemTargetRoomId, long userId) {
+        return roomCollectionDao.delete(projectItemTargetRoomId, userId);
+    }
+
+    public RoomCollection get(long projectItemTargetRoomId, long userId) {
+        return roomCollectionDao.get(projectItemTargetRoomId, userId);
+    }
+
+    /**
+     * 房源评价
+     */
+    public int insert(RoomEvaluate roomEvaluate) {
+        return roomEvaluateDao.insert(roomEvaluate);
+    }
+
+    public int getTotalCount(RoomEvaluate roomEvaluate) {
+        return roomEvaluateDao.getTotalCount(roomEvaluate);
+    }
+
+    public List<RoomEvaluate> getLimit(RoomEvaluate roomEvaluate, int currPage, int pageSize) {
+        int currIndex = (currPage - 1) * pageSize;
+        return roomEvaluateDao.getLimit(roomEvaluate, currIndex, pageSize);
+    }
+
+    /**
+     * 预约看房
+     */
+    public int insert(RoomReservation roomReservation) {
+        return roomReservationDao.insert(roomReservation);
+    }
+
+    public List<RoomReservation> getList(RoomReservation roomReservation) {
+        return roomReservationDao.getList(roomReservation);
+    }
+
+}

+ 3 - 1
virgo.api/src/main/resources/mapper/ProjectItemTargetRoomMapper.xml

@@ -12,6 +12,8 @@
         <result column="projectItemTargetId" property="projectItemTargetId"/>
         <result column="chargePersonId" property="chargePersonId"/>
         <result column="chargePersonName" property="chargePersonName"/>
+        <result column="chargePersonName" property="chargePersonName"/>
+        <result column="chargePersonPortrait" property="chargePersonPortrait"/>
         <result column="name" property="name"/>
         <result column="roomTypeId" property="roomTypeId"/>
         <result column="roomNumber" property="roomNumber"/>
@@ -34,7 +36,7 @@
     </resultMap>
 
     <sql id="ProjectItemTargetRoomQuery">
-        SELECT a.*, b.name as chargePersonName FROM project_item_target_room a LEFT JOIN mgr_user b ON a.chargePersonId = b.id
+        SELECT a.*, b.name as chargePersonName, b.portrait as chargePersonPortrait FROM project_item_target_room a LEFT JOIN mgr_user b ON a.chargePersonId = b.id
     </sql>
 
     <select id="get" resultMap="projectItemTargetRoomResult">

+ 24 - 0
virgo.api/src/main/resources/mapper/RoomCollectionMapper.xml

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.bosshand.virgo.api.dao.RoomCollectionDao">
+
+    <resultMap type="com.bosshand.virgo.api.model.RoomCollection" id="result">
+        <id column="id" property="id"/>
+        <result column="projectItemTargetRoomId" property="projectItemTargetRoomId"/>
+        <result column="userId" property="userId"/>
+        <result column="date" property="date"/>
+    </resultMap>
+
+    <insert id="insert" parameterType="com.bosshand.virgo.api.model.RoomCollection" useGeneratedKeys="true" keyProperty="id">
+        INSERT INTO room_collection(`projectItemTargetRoomId`, `userId`, `date`) VALUES (#{projectItemTargetRoomId}, #{userId}, now())
+    </insert>
+
+    <select id="get" resultMap="result">
+        SELECT * FROM room_collection where projectItemTargetRoomId = #{projectItemTargetRoomId} and userId = #{userId}
+    </select>
+
+    <delete id="delete">
+        DELETE FROM room_collection WHERE projectItemTargetRoomId = #{projectItemTargetRoomId} and userId = #{userId}
+    </delete>
+
+</mapper>

+ 39 - 0
virgo.api/src/main/resources/mapper/RoomEvaluateMapper.xml

@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.bosshand.virgo.api.dao.RoomEvaluateDao">
+
+    <resultMap type="com.bosshand.virgo.api.model.RoomEvaluate" id="result">
+        <id column="id" property="id"/>
+        <result column="parentId" property="parentId"/>
+        <result column="projectItemTargetRoomId" property="projectItemTargetRoomId"/>
+        <result column="userId" property="userId"/>
+        <result column="userName" property="userName"/>
+        <result column="userPortrait" property="userPortrait"/>
+        <result column="content" property="content"/>
+        <result column="date" property="date"/>
+    </resultMap>
+
+    <insert id="insert" parameterType="com.bosshand.virgo.api.model.RoomEvaluate" useGeneratedKeys="true" keyProperty="id">
+        INSERT INTO room_evaluate(`parentId`, `projectItemTargetRoomId`, `userId`, `content`, `date`) VALUES (#{parentId}, #{projectItemTargetRoomId}, #{userId}, #{content}, now())
+    </insert>
+
+    <select id="getTotalCount" parameterType="com.bosshand.virgo.api.model.RoomEvaluate" resultType="Integer">
+        SELECT count(*) FROM room_evaluate
+        <where>
+            <if test="projectItemTargetRoomId != 0">and projectItemTargetRoomId = #{projectItemTargetRoomId}</if>
+            <if test="userId !=0">and userId = #{userId}</if>
+            <if test="date != null">and date = #{date}</if>
+        </where>
+    </select>
+
+    <select id="getLimit" resultMap="result">
+        SELECT a.*, b.name as userName, b.portrait as userPortrait FROM room_evaluate a LEFT JOIN mgr_user b ON a.userId = b.id
+        <where>
+            <if test="p.projectItemTargetRoomId!=0">and a.projectItemTargetRoomId=#{p.projectItemTargetRoomId}</if>
+            <if test="p.userId!=0">and a.userId=#{p.userId}</if>
+            <if test="p.date!=null">and a.date = #{p.date}</if>
+        </where>
+        order by a.date desc limit #{currIndex} , #{pageSize}
+    </select>
+
+</mapper>

+ 27 - 0
virgo.api/src/main/resources/mapper/RoomReservationMapper.xml

@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.bosshand.virgo.api.dao.RoomReservationDao">
+
+    <resultMap type="com.bosshand.virgo.api.model.RoomReservation" id="result">
+        <id column="id" property="id"/>
+        <result column="projectItemTargetRoomId" property="projectItemTargetRoomId"/>
+        <result column="userId" property="userId"/>
+        <result column="userName" property="userName"/>
+        <result column="userPortrait" property="userPortrait"/>
+        <result column="date" property="date"/>
+    </resultMap>
+
+    <insert id="insert" parameterType="com.bosshand.virgo.api.model.RoomReservation" useGeneratedKeys="true" keyProperty="id">
+        INSERT INTO room_reservation(`projectItemTargetRoomId`, `userId`, `date`) VALUES (#{projectItemTargetRoomId}, #{userId}, #{date})
+    </insert>
+
+    <select id="getList" resultMap="result">
+        SELECT a.*, b.name as userName, b.portrait as userPortrait FROM room_reservation a LEFT JOIN mgr_user b ON a.userId = b.id
+        <where>
+            <if test="projectItemTargetRoomId!=0">and a.projectItemTargetRoomId=#{projectItemTargetRoomId}</if>
+            <if test="userId!=0">and a.userId=#{userId}</if>
+            <if test="date!=null">and a.date = #{date}</if>
+        </where>
+    </select>
+
+</mapper>

+ 37 - 0
virgo.api/src/main/resources/mapper/RoomVisitorMapper.xml

@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.bosshand.virgo.api.dao.RoomVisitorDao">
+
+    <resultMap type="com.bosshand.virgo.api.model.RoomVisitor" id="result">
+        <id column="id" property="id"/>
+        <result column="projectItemTargetRoomId" property="projectItemTargetRoomId"/>
+        <result column="userId" property="userId"/>
+        <result column="userName" property="userName"/>
+        <result column="userPortrait" property="userPortrait"/>
+        <result column="date" property="date"/>
+    </resultMap>
+
+    <insert id="insert" parameterType="com.bosshand.virgo.api.model.RoomVisitor" useGeneratedKeys="true" keyProperty="id">
+        INSERT INTO room_visitor(`projectItemTargetRoomId`, `userId`, `date`) VALUES (#{projectItemTargetRoomId}, #{userId}, now())
+    </insert>
+
+    <select id="getTotalCount" parameterType="com.bosshand.virgo.api.model.RoomVisitor" resultType="Integer">
+        SELECT count(*) FROM room_visitor
+        <where>
+            <if test="projectItemTargetRoomId != 0">and projectItemTargetRoomId = #{projectItemTargetRoomId}</if>
+            <if test="userId !=0">and userId = #{userId}</if>
+            <if test="date != null">and date = #{date}</if>
+        </where>
+    </select>
+
+    <select id="getLimit" resultMap="result">
+        SELECT a.*, b.name as userName, b.portrait as userPortrait FROM room_visitor a LEFT JOIN mgr_user b ON a.userId = b.id
+        <where>
+            <if test="p.projectItemTargetRoomId!=0">and a.projectItemTargetRoomId=#{p.projectItemTargetRoomId}</if>
+            <if test="p.userId!=0">and a.userId=#{p.userId}</if>
+            <if test="p.date!=null">and a.date = #{p.date}</if>
+        </where>
+        order by a.date desc limit #{currIndex} , #{pageSize}
+    </select>
+
+</mapper>