dcs 1 год назад
Родитель
Сommit
cf3a1bc6a2

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

@@ -29,6 +29,12 @@ public class ProjectItemTargetRoomController {
     @Autowired
     RoomService roomService;
 
+    @ApiOperation("查询")
+    @RequestMapping(value = "/query", method = RequestMethod.POST)
+    public Response queryList(@RequestBody ProjectItemTargetRoom projectItemTargetRoom) {
+        return Response.ok(projectItemTargetRoomService.getProjectItemTargetRoom(projectItemTargetRoom));
+    }
+
     @ApiOperation("获取")
     @RequestMapping(value = "/{currPage}/{pageSize}", method = RequestMethod.POST)
     public Response list(@RequestBody ProjectItemTargetRoom projectItemTargetRoom, @PathVariable int currPage, @PathVariable int pageSize) {

+ 3 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/dao/ProjectDao.java

@@ -27,4 +27,7 @@ public interface ProjectDao {
     List<Project> getLimit(@Param("p") Project p, @Param("currIndex") int currIndex, @Param("pageSize") int pageSize);
 
     List<Project> getIds(List<Long> ids);
+
+    List<Long> fuzzyName(String name);
+
 }

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

@@ -21,6 +21,8 @@ public class ProjectItemTargetRoom {
 
     private String projectName;
 
+    private List<Long> projectIds;
+
     /**
      * 地理坐标
      */
@@ -203,6 +205,14 @@ public class ProjectItemTargetRoom {
         this.projectName = projectName;
     }
 
+    public List<Long> getProjectIds() {
+        return projectIds;
+    }
+
+    public void setProjectIds(List<Long> projectIds) {
+        this.projectIds = projectIds;
+    }
+
     public String getCoordinates() {
         return coordinates;
     }

+ 9 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/service/ProjectItemTargetRoomService.java

@@ -129,6 +129,15 @@ public class ProjectItemTargetRoomService {
     }
 
     public List<ProjectItemTargetRoom> getProjectItemTargetRoom(ProjectItemTargetRoom projectItemTargetRoom) {
+
+        String projectName = projectItemTargetRoom.getProjectName();
+        if (StringUtil.notBlank(projectName)) {
+            List<Long> projectIds = projectDao.fuzzyName(projectName);
+            if (projectIds.size() > 0) {
+                projectItemTargetRoom.setProjectIds(projectIds);
+            }
+        }
+
         List<ProjectItemTargetRoom> list = projectItemTargetRoomDao.getProjectItemTargetRoom(projectItemTargetRoom);
         for (ProjectItemTargetRoom room : list) {
             room.setProjectName(this.getProject(room.getProjectId()).getName());

+ 10 - 4
virgo.api/src/main/resources/mapper/ProjectItemTargetRoomMapper.xml

@@ -61,6 +61,12 @@
             <if test="projectId != 0">
                 and a.projectId = #{projectId}
             </if>
+            <if test="projectIds != null">
+                and a.projectId in
+            <foreach collection="projectIds" open="(" separator="," close=")" item="id">
+                #{id}
+            </foreach>
+            </if>
             <if test="projectItemId != 0">
                 and a.projectItemId = #{projectItemId}
             </if>
@@ -68,7 +74,7 @@
                 and a.projectItemTargetId = #{projectItemTargetId}
             </if>
             <if test="name != null">
-                and a.name = #{name}
+                and a.name LIKE CONCAT('%', #{name}, '%')
             </if>
             <if test="chargePersonId != 0">
                 and a.chargePersonId = #{chargePersonId}
@@ -95,7 +101,7 @@
                 and a.propertyCertificateNumber = #{propertyCertificateNumber}
             </if>
             <if test="tagIds != null">and
-                <foreach item="tagId" collection="tagIds.split(',')" open="(" separator=" and " close=")">
+                <foreach item="tagId" collection="tagIds.split(',')" open="(" separator=" or " close=")">
                     FIND_IN_SET (#{tagId}, a.tagIds)
                 </foreach>
             </if>
@@ -118,9 +124,9 @@
     </select>
 
     <insert id="insert" useGeneratedKeys="true" keyProperty="id">
-        INSERT INTO project_item_target_room(`projectId`, `projectItemId`, `projectItemTargetId`,`name`, `chargePersonId`, `roomTypeId`, `roomNumber`, `area`, `roomState`, `investmentState`,
+        INSERT INTO project_item_target_room(`code`, `projectId`, `projectItemId`, `projectItemTargetId`,`name`, `chargePersonId`, `roomTypeId`, `roomNumber`, `area`, `roomState`, `investmentState`,
                                              `invocationDate`, `decoration`, `propertyCertificateNumber`, `showPicture`, `picture`, `video`, `tagIds`, `openState`, `price`, `payWay`, `payType`, `introduce`, `data`)
-        VALUES (#{projectId}, #{projectItemId}, #{projectItemTargetId}, #{name}, #{chargePersonId}, #{roomTypeId}, #{roomNumber}, #{area}, #{roomState}, #{investmentState},
+        VALUES (#{code}, #{projectId}, #{projectItemId}, #{projectItemTargetId}, #{name}, #{chargePersonId}, #{roomTypeId}, #{roomNumber}, #{area}, #{roomState}, #{investmentState},
                 #{invocationDate}, #{decoration}, #{propertyCertificateNumber}, #{showPicture}, #{picture}, #{video}, #{tagIds}, #{openState}, #{price}, #{payWay}, #{payType}, #{introduce}, #{data})
     </insert>
 

+ 4 - 0
virgo.api/src/main/resources/mapper/ProjectMapper.xml

@@ -50,6 +50,10 @@
 		left join project_item pi on p.id = pi.projectId
 	</sql>
 
+	<select id="fuzzyName" resultType="long">
+		SELECT id FROM project where name LIKE CONCAT('%', #{name}, '%')
+	</select>
+
 	<select id="getProject" resultMap="result">
 		SELECT * FROM project WHERE id=#{id}
 	</select>