dcs 1 년 전
부모
커밋
d1603e55fb

+ 15 - 6
virgo.api/src/main/java/com/bosshand/virgo/api/controller/ProjectItemController.java

@@ -8,6 +8,10 @@ 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("projectItem")
 @Api(tags = {"单位工程管理"})
@@ -16,6 +20,17 @@ public class ProjectItemController {
 	@Autowired
 	ProjectItemService projectItemService;
 
+	@ApiOperation("获取")
+	@RequestMapping(value = "/{currPage}/{pageSize}", method = RequestMethod.POST)
+	public Response list(@RequestBody ProjectItem projectItem, @PathVariable int currPage, @PathVariable int pageSize) {
+		int totalCount = projectItemService.getTotalCount(projectItem);
+		List<ProjectItem> dataList = projectItemService.getLimit(projectItem, currPage, pageSize);
+		Map<String, Object> result = new HashMap<>();
+		result.put("dataList", dataList);
+		result.put("totalCount", totalCount);
+		return Response.ok(result);
+	}
+
 	@ApiOperation("新增")
 	@RequestMapping(value = "", method = RequestMethod.POST)
 	public Response insertProjectItem(@RequestBody ProjectItem projectItem) {
@@ -37,12 +52,6 @@ public class ProjectItemController {
 		return Response.ok();
 	}
 
-	@ApiOperation("根据项目获取单位工程列表")
-	@RequestMapping(value = "/getProject/{projectId}", method = RequestMethod.GET)
-	public Response getProjectItemList(@PathVariable long projectId) {
-		return Response.ok(projectItemService.getByProjectId(projectId));
-	}
-
 	@ApiOperation("详情")
 	@RequestMapping(value = "/{id}", method = RequestMethod.GET)
 	public Response get(@PathVariable long id) {

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

@@ -0,0 +1,51 @@
+package com.bosshand.virgo.api.controller;
+
+import com.bosshand.virgo.api.model.ProjectItemTargetRoom;
+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.*;
+
+@RestController
+@RequestMapping("projectItemTargetRoom")
+@Api(tags = {"房源管理"})
+public class ProjectItemTargetRoomController {
+
+    @Autowired
+    ProjectItemTargetRoomService projectItemTargetRoomService;
+
+    @ApiOperation("获取")
+    @RequestMapping(value = "/getList", method = RequestMethod.POST)
+    public Response getProjectItemTargetRoom(@RequestBody ProjectItemTargetRoom projectItemTargetRoom) {
+        return Response.ok(projectItemTargetRoomService.getProjectItemTargetRoom(projectItemTargetRoom));
+    }
+
+    @ApiOperation("新增")
+    @RequestMapping(value = "", method = RequestMethod.POST)
+    public Response insert(@RequestBody ProjectItemTargetRoom projectItemTargetRoom) {
+        projectItemTargetRoomService.insert(projectItemTargetRoom);
+        return Response.ok();
+    }
+
+    @ApiOperation("删除")
+    @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
+    public Response delete(@PathVariable long id) {
+        projectItemTargetRoomService.delete(id);
+        return Response.ok();
+    }
+
+    @ApiOperation("修改")
+    @RequestMapping(value = "", method = RequestMethod.PUT)
+    public Response update(@RequestBody ProjectItemTargetRoom projectItemTargetRoom) {
+        projectItemTargetRoomService.update(projectItemTargetRoom);
+        return Response.ok();
+    }
+
+    @ApiOperation("详情")
+    @RequestMapping(value = "/{id}", method = RequestMethod.GET)
+    public Response get(@PathVariable long id) {
+        return Response.ok(projectItemTargetRoomService.get(id));
+    }
+}

+ 4 - 1
virgo.api/src/main/java/com/bosshand/virgo/api/dao/ProjectItemDao.java

@@ -2,6 +2,7 @@ package com.bosshand.virgo.api.dao;
 
 import com.bosshand.virgo.api.model.ProjectItem;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -18,6 +19,8 @@ public interface ProjectItemDao {
 
     ProjectItem get(long id);
 
-    List<ProjectItem> getByProjectId(long projectId);
+    int getTotalCount(ProjectItem projectItem);
+
+    List<ProjectItem> getLimit(@Param("p") ProjectItem p, @Param("currIndex") int currIndex, @Param("pageSize") int pageSize);
 
 }

+ 0 - 1
virgo.api/src/main/java/com/bosshand/virgo/api/dao/ProjectItemTargetRoomDao.java

@@ -8,7 +8,6 @@ import java.util.List;
 @Mapper
 public interface ProjectItemTargetRoomDao {
     public ProjectItemTargetRoom get(long id);
-    public List<ProjectItemTargetRoom> getProjectItemTargetId(long projectItemTargetId);
     public List<ProjectItemTargetRoom> getProjectItemTargetRoom(ProjectItemTargetRoom projectItemTargetRoom);
     public int insert(ProjectItemTargetRoom projectItemTargetRoom);
     public int update(ProjectItemTargetRoom projectItemTargetRoom);

+ 168 - 27
virgo.api/src/main/java/com/bosshand/virgo/api/model/ProjectItemTargetRoom.java

@@ -1,22 +1,91 @@
 package com.bosshand.virgo.api.model;
 
+/**
+ * 房源
+ */
 public class ProjectItemTargetRoom {
 
     private long id;
 
-    private String name;
-
+    /**
+     * 项目id
+     */
     private long projectId;
 
+    /**
+     * 单位工程id
+     */
     private long projectItemId;
 
+    /**
+     * 楼层id
+     */
     private long projectItemTargetId;
 
-    private String value;
-
-    private int sequence;
-
-    private String remark;
+    /**
+     * 房源类型
+     */
+    private long roomTypeId;
+
+    /**
+     * 房号
+     */
+    private String roomNumber;
+
+    /**
+     *面积
+     */
+    private String area;
+
+    /**
+     * 房源状态
+     */
+    private int roomState;
+
+    /**
+     * 招商状态
+     */
+    private int investmentState;
+
+    /**
+     * 启用日期
+     */
+    private String invocationDate;
+
+    /**
+     * 装修
+     */
+    private int decoration;
+
+    /**
+     * 产权证书/不动产权证号
+     */
+    private String propertyCertificateNumber;
+
+    /**
+     * 照片
+     */
+    private String picture;
+
+    /**
+     * 视频
+     */
+    private String video;
+
+    /**
+     * 标签id
+     */
+    private long tagId;
+
+    /**
+     * 是否公开
+     */
+    private long openState;
+
+    /**
+     * 自定义字段
+     */
+    private String data;
 
     public long getId() {
         return id;
@@ -26,14 +95,6 @@ public class ProjectItemTargetRoom {
         this.id = id;
     }
 
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
     public long getProjectId() {
         return projectId;
     }
@@ -58,27 +119,107 @@ public class ProjectItemTargetRoom {
         this.projectItemTargetId = projectItemTargetId;
     }
 
-    public String getValue() {
-        return value;
+    public long getRoomTypeId() {
+        return roomTypeId;
+    }
+
+    public void setRoomTypeId(long roomTypeId) {
+        this.roomTypeId = roomTypeId;
+    }
+
+    public String getRoomNumber() {
+        return roomNumber;
+    }
+
+    public void setRoomNumber(String roomNumber) {
+        this.roomNumber = roomNumber;
+    }
+
+    public String getArea() {
+        return area;
+    }
+
+    public void setArea(String area) {
+        this.area = area;
+    }
+
+    public int getRoomState() {
+        return roomState;
+    }
+
+    public void setRoomState(int roomState) {
+        this.roomState = roomState;
+    }
+
+    public int getInvestmentState() {
+        return investmentState;
+    }
+
+    public void setInvestmentState(int investmentState) {
+        this.investmentState = investmentState;
+    }
+
+    public String getInvocationDate() {
+        return invocationDate;
+    }
+
+    public void setInvocationDate(String invocationDate) {
+        this.invocationDate = invocationDate;
+    }
+
+    public int getDecoration() {
+        return decoration;
+    }
+
+    public void setDecoration(int decoration) {
+        this.decoration = decoration;
+    }
+
+    public String getPropertyCertificateNumber() {
+        return propertyCertificateNumber;
+    }
+
+    public void setPropertyCertificateNumber(String propertyCertificateNumber) {
+        this.propertyCertificateNumber = propertyCertificateNumber;
+    }
+
+    public String getPicture() {
+        return picture;
+    }
+
+    public void setPicture(String picture) {
+        this.picture = picture;
+    }
+
+    public String getVideo() {
+        return video;
+    }
+
+    public void setVideo(String video) {
+        this.video = video;
+    }
+
+    public long getTagId() {
+        return tagId;
     }
 
-    public void setValue(String value) {
-        this.value = value;
+    public void setTagId(long tagId) {
+        this.tagId = tagId;
     }
 
-    public int getSequence() {
-        return sequence;
+    public long getOpenState() {
+        return openState;
     }
 
-    public void setSequence(int sequence) {
-        this.sequence = sequence;
+    public void setOpenState(long openState) {
+        this.openState = openState;
     }
 
-    public String getRemark() {
-        return remark;
+    public String getData() {
+        return data;
     }
 
-    public void setRemark(String remark) {
-        this.remark = remark;
+    public void setData(String data) {
+        this.data = data;
     }
 }

+ 7 - 2
virgo.api/src/main/java/com/bosshand/virgo/api/service/ProjectItemService.java

@@ -29,8 +29,13 @@ public class ProjectItemService {
 		return projectItemDao.get(id);
 	}
 
-	public List<ProjectItem> getByProjectId(long projectId) {
-		return projectItemDao.getByProjectId(projectId);
+	public int getTotalCount(ProjectItem projectItem) {
+		return projectItemDao.getTotalCount(projectItem);
+	}
+
+	public List<ProjectItem> getLimit(ProjectItem projectItem, int currPage, int pageSize) {
+		int currIndex = (currPage - 1) * pageSize;
+		return projectItemDao.getLimit(projectItem, currIndex, pageSize);
 	}
 
 }

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

@@ -0,0 +1,38 @@
+package com.bosshand.virgo.api.service;
+
+import com.bosshand.virgo.api.dao.ProjectItemTargetRoomDao;
+import com.bosshand.virgo.api.model.ProjectItemTargetRoom;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class ProjectItemTargetRoomService {
+
+
+    @Autowired
+    private ProjectItemTargetRoomDao projectItemTargetRoomDao;
+
+    public ProjectItemTargetRoom get(long id) {
+        return projectItemTargetRoomDao.get(id);
+    }
+
+    public List<ProjectItemTargetRoom> getProjectItemTargetRoom (ProjectItemTargetRoom projectItemTargetRoom) {
+        return projectItemTargetRoomDao.getProjectItemTargetRoom(projectItemTargetRoom);
+    }
+
+    public int insert(ProjectItemTargetRoom projectItemTargetRoom) {
+        return projectItemTargetRoomDao.insert(projectItemTargetRoom);
+    }
+
+    public int delete(long id) {
+        return projectItemTargetRoomDao.delete(id);
+    }
+
+    public int update(ProjectItemTargetRoom projectItemTargetRoom) {
+        return projectItemTargetRoomDao.update(projectItemTargetRoom);
+    }
+
+
+}

+ 15 - 2
virgo.api/src/main/resources/mapper/ProjectItemMapper.xml

@@ -49,8 +49,21 @@
 		where p.id=#{id}
 	</select>
 
-	<select id="getByProjectId" resultMap="projectItemResult">
-		SELECT * FROM project_item where projectId=#{projectId}
+	<select id="getTotalCount" parameterType="com.bosshand.virgo.api.model.ProjectItem" resultType="Integer">
+		SELECT count(*) FROM project_item
+		<where>
+			<if test="projectId != 0">and projectId = #{projectId}</if>
+			<if test="tagId != 0">and tagId = #{tagId}</if>
+		</where>
+	</select>
+
+	<select id="getLimit" resultMap="projectItemResult">
+		SELECT * FROM project_item
+		<where>
+			<if test="p.projectId !=0">and id=#{p.projectId}</if>
+			<if test="p.tagId != 0">and tagId = #{p.tagId}</if>
+		</where>
+		limit #{currIndex} , #{pageSize}
 	</select>
 	
 	<insert id="insert" useGeneratedKeys="true" keyProperty="id">

+ 39 - 17
virgo.api/src/main/resources/mapper/ProjectItemTargetRoomMapper.xml

@@ -6,13 +6,22 @@
 
     <resultMap type="com.bosshand.virgo.api.model.ProjectItemTargetRoom" id="projectItemTargetRoomResult">
         <id column="id" property="id"/>
-        <result column="name" property="name"/>
         <result column="projectId" property="projectId"/>
         <result column="projectItemId" property="projectItemId"/>
         <result column="projectItemTargetId" property="projectItemTargetId"/>
-        <result column="value" property="value"/>
-        <result column="sequence" property="sequence"/>
-        <result column="remark" property="remark"/>
+        <result column="roomTypeId" property="roomTypeId"/>
+        <result column="roomNumber" property="roomNumber"/>
+        <result column="area" property="area"/>
+        <result column="roomState" property="roomState"/>
+        <result column="investmentState" property="investmentState"/>
+        <result column="invocationDate" property="invocationDate"/>
+        <result column="decoration" property="decoration"/>
+        <result column="propertyCertificateNumber" property="propertyCertificateNumber"/>
+        <result column="picture" property="picture"/>
+        <result column="video" property="video"/>
+        <result column="tagId" property="tagId"/>
+        <result column="openState" property="openState"/>
+        <result column="data" property="data"/>
     </resultMap>
 
     <sql id="ProjectItemTargetRoomQuery">
@@ -30,8 +39,8 @@
             <if test="id != 0">
                 and id = #{id}
             </if>
-            <if test="name != null">
-                and name = #{name}
+            <if test="projectId != 0">
+                and projectId = #{projectId}
             </if>
             <if test="projectItemId != 0">
                 and projectItemId = #{projectItemId}
@@ -39,17 +48,20 @@
             <if test="projectItemTargetId != 0">
                 and projectItemTargetId = #{projectItemTargetId}
             </if>
+            <if test="tagId != 0">
+                and tagId = #{tagId}
+            </if>
+            <if test="openState == 0 or openState == 1">
+                and openState = #{openState}
+            </if>
         </where>
     </select>
 
-    <select id="getProjectItemTargetId" resultMap="projectItemTargetRoomResult">
-        <include refid="ProjectItemTargetRoomQuery"/>
-        where projectItemTargetId=#{projectItemTargetId} order by sequence
-    </select>
-
     <insert id="insert" useGeneratedKeys="true" keyProperty="id">
-        INSERT INTO project_item_target_room(name, projectId, projectItemId, projectItemTargetId, value, sequence, remark)
-        VALUES (#{name}, #{projectId}, #{projectItemId}, #{projectItemTargetId}, #{value}, #{sequence}, #{remark})
+        INSERT INTO project_item_target_room(`projectId`, `projectItemId`, `projectItemTargetId`, `roomTypeId`, `roomNumber`, `area`, `roomState`, `investmentState`,
+                                             `invocationDate`, `decoration`, `propertyCertificateNumber`, `picture`, `video`, `tagId`, `openState`, `data`)
+        VALUES (#{projectId}, #{projectItemId}, #{projectItemTargetId}, #{roomTypeId}, #{roomNumber}, #{area}, #{roomState}, #{investmentState},
+                #{invocationDate}, #{decoration}, #{propertyCertificateNumber}, #{picture}, #{video}, #{tagId}, #{openState}, #{data})
     </insert>
 
     <delete id="delete">
@@ -59,12 +71,22 @@
     <update id="update" parameterType="com.bosshand.virgo.api.model.ProjectItemTargetRoom">
         UPDATE project_item_target_room
         <trim prefix="set" suffixOverrides=",">
-            <if test="name!=null">name=#{name},</if>
             <if test="projectId!=0">projectId=#{projectId},</if>
             <if test="projectItemId!=0">projectItemId=#{projectItemId},</if>
-            <if test="value!=null">value=#{value},</if>
-            <if test="sequence!=0">sequence=#{sequence},</if>
-            <if test="remark!=null">remark=#{remark},</if>
+            <if test="projectItemTargetId!=0">projectItemTargetId=#{projectItemTargetId},</if>
+            <if test="roomTypeId!=0">roomTypeId=#{roomTypeId},</if>
+            <if test="roomNumber!=null">roomNumber=#{roomNumber},</if>
+            <if test="area!=null">area=#{area},</if>
+            <if test="roomState!=0">roomState=#{roomState},</if>
+            <if test="investmentState!=0">investmentState=#{investmentState},</if>
+            <if test="invocationDate!=0">invocationDate=#{invocationDate},</if>
+            <if test="decoration!=0">decoration=#{decoration},</if>
+            <if test="propertyCertificateNumber!=null">propertyCertificateNumber=#{propertyCertificateNumber},</if>
+            <if test="picture!=null">picture=#{picture},</if>
+            <if test="video!=null">video=#{video},</if>
+            <if test="tagId!=0">tagId=#{tagId},</if>
+            <if test="openState == 0 or openState == 1">openState=#{openState},</if>
+            <if test="data!=null">data=#{data},</if>
         </trim>
         WHERE id=#{id}
     </update>

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

@@ -87,12 +87,12 @@
 	</select>
 
 	<select id="getLimit" resultMap="result">
-		SELECT * FROM operate_device
+		SELECT * FROM project
 		<where>
-			<if test="p.organizationId!=0">and id=#{od.organizationId}</if>
+			<if test="p.organizationId!=0">and id=#{p.organizationId}</if>
 			<if test="p.tagId != 0">and tagId = #{p.tagId}</if>
 			<if test="p.name!=null">and name=#{p.name}</if>
-			<if test="p.createDate!=null">and createDate in (${p.createDate})</if>
+			<if test="p.createDate!=null and p.createDate !=''">and createDate = #{p.createDate}</if>
 		</where>
 		limit #{currIndex} , #{pageSize}
 	</select>