Просмотр исходного кода

加入小区房屋查询接口

wuxw лет назад: 7
Родитель
Сommit
e773bd21fa

+ 1 - 0
Api/src/main/java/com/java110/api/listener/AbstractServiceApiDataFlowListener.java

@@ -35,6 +35,7 @@ public abstract class AbstractServiceApiDataFlowListener implements ServiceDataF
     protected static final int DEFAULT_ORDER = 1;
     //默认序列
     protected static final int DEFAULT_SEQ = 1;
+    protected static final int MAX_ROW = 50;
 
     @Autowired
     private RestTemplate restTemplate;

+ 117 - 0
Api/src/main/java/com/java110/api/listener/room/QueryRoomsListener.java

@@ -0,0 +1,117 @@
+package com.java110.api.listener.room;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.api.listener.AbstractServiceApiDataFlowListener;
+import com.java110.common.constant.ResponseConstant;
+import com.java110.common.constant.ServiceCodeConstant;
+import com.java110.common.exception.SMOException;
+import com.java110.common.util.Assert;
+import com.java110.common.util.BeanConvertUtil;
+import com.java110.core.annotation.Java110Listener;
+import com.java110.core.context.DataFlowContext;
+import com.java110.core.smo.floor.IFloorInnerServiceSMO;
+import com.java110.core.smo.room.IRoomInnerServiceSMO;
+import com.java110.dto.FloorDto;
+import com.java110.dto.RoomDto;
+import com.java110.event.service.api.ServiceDataFlowEvent;
+import com.java110.vo.api.ApiRoomDataVo;
+import com.java110.vo.api.ApiRoomVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+
+import java.util.List;
+
+/**
+ * @ClassName QueryRoomsListener
+ * @Description TODO 查询房屋信息
+ * @Author wuxw
+ * @Date 2019/5/8 0:15
+ * @Version 1.0
+ * add by wuxw 2019/5/8
+ **/
+@Java110Listener("queryRoomsListener")
+public class QueryRoomsListener extends AbstractServiceApiDataFlowListener {
+
+    @Autowired
+    private IFloorInnerServiceSMO floorInnerServiceSMOImpl;
+
+    @Autowired
+    private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
+
+    @Override
+    public String getServiceCode() {
+        return ServiceCodeConstant.SERVICE_CODE_QUERY_ROOMS;
+    }
+
+    @Override
+    public HttpMethod getHttpMethod() {
+        return HttpMethod.GET;
+    }
+
+    @Override
+    public void soService(ServiceDataFlowEvent event) {
+        DataFlowContext dataFlowContext = event.getDataFlowContext();
+        //获取请求数据
+        JSONObject reqJson = dataFlowContext.getReqJson();
+        validateRoomData(reqJson);
+
+        RoomDto roomDto = BeanConvertUtil.covertBean(reqJson, RoomDto.class);
+
+        ApiRoomVo apiRoomVo = new ApiRoomVo();
+        //查询总记录数
+        int total = roomInnerServiceSMOImpl.queryRoomsCount(BeanConvertUtil.covertBean(reqJson, RoomDto.class));
+        apiRoomVo.setTotal(total);
+        if (total > 0) {
+            List<RoomDto> roomDtoList = roomInnerServiceSMOImpl.queryRooms(roomDto);
+            apiRoomVo.setRooms(BeanConvertUtil.covertBeanList(roomDtoList, ApiRoomDataVo.class));
+        }
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(apiRoomVo), HttpStatus.OK);
+        dataFlowContext.setResponseEntity(responseEntity);
+    }
+
+    /**
+     * 校验小区房屋查询入参信息
+     *
+     * @param reqJson 请求入参信息
+     */
+    private void validateRoomData(JSONObject reqJson) {
+        Assert.jsonObjectHaveKey(reqJson, "communityId", "请求中未包含communityId信息");
+        Assert.jsonObjectHaveKey(reqJson, "floorId", "请求中未包含communityId信息");
+        Assert.jsonObjectHaveKey(reqJson, "page", "请求报文中未包含page节点");
+        Assert.jsonObjectHaveKey(reqJson, "rows", "请求报文中未包含rows节点");
+
+        Assert.isInteger(reqJson.getString("page"), "page不是数字");
+        Assert.isInteger(reqJson.getString("rows"), "rows不是数字");
+        Assert.hasLength(reqJson.getString("communityId"), "小区ID不能为空");
+        int rows = Integer.parseInt(reqJson.getString("rows"));
+
+
+        if (rows > MAX_ROW) {
+            throw new SMOException(ResponseConstant.RESULT_CODE_ERROR, "rows 数量不能大于50");
+        }
+        //校验小区楼ID和小区是否有对应关系
+        int total = floorInnerServiceSMOImpl.queryFloorsCount(BeanConvertUtil.covertBean(reqJson, FloorDto.class));
+
+        if (total < 1) {
+            throw new IllegalArgumentException("传入小区楼ID不是该小区的楼");
+        }
+
+    }
+
+
+    @Override
+    public int getOrder() {
+        return DEFAULT_ORDER;
+    }
+
+    public IFloorInnerServiceSMO getFloorInnerServiceSMOImpl() {
+        return floorInnerServiceSMOImpl;
+    }
+
+    public void setFloorInnerServiceSMOImpl(IFloorInnerServiceSMO floorInnerServiceSMOImpl) {
+        this.floorInnerServiceSMOImpl = floorInnerServiceSMOImpl;
+    }
+}

+ 60 - 4
CommunityService/src/main/java/com/java110/community/smo/impl/RoomInnerServiceSMOImpl.java

@@ -1,12 +1,15 @@
 package com.java110.community.smo.impl;
 
 
+import com.java110.common.constant.StatusConstant;
 import com.java110.common.util.BeanConvertUtil;
+import com.java110.community.dao.IRoomAttrServiceDao;
 import com.java110.community.dao.IRoomServiceDao;
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.core.smo.room.IRoomInnerServiceSMO;
 import com.java110.core.smo.user.IUserInnerServiceSMO;
 import com.java110.dto.PageDto;
+import com.java110.dto.RoomAttrDto;
 import com.java110.dto.RoomDto;
 import com.java110.dto.UserDto;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -14,7 +17,9 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName FloorInnerServiceSMOImpl
@@ -30,6 +35,9 @@ public class RoomInnerServiceSMOImpl extends BaseServiceSMO implements IRoomInne
     @Autowired
     private IRoomServiceDao roomServiceDaoImpl;
 
+    @Autowired
+    private IRoomAttrServiceDao roomAttrServiceDaoImpl;
+
     @Autowired
     private IUserInnerServiceSMO userInnerServiceSMOImpl;
 
@@ -51,12 +59,18 @@ public class RoomInnerServiceSMOImpl extends BaseServiceSMO implements IRoomInne
             return rooms;
         }
 
+        String[] roomIds = getRoomIds(rooms);
+        Map attrParamInfo = new HashMap();
+        attrParamInfo.put("roomIds", roomIds);
+        attrParamInfo.put("statusCd", StatusConstant.STATUS_CD_VALID);
+        List<RoomAttrDto> roomAttrDtos = BeanConvertUtil.covertBeanList(roomAttrServiceDaoImpl.getRoomAttrInfo(attrParamInfo), RoomAttrDto.class);
+
         String[] userIds = getUserIds(rooms);
         //根据 userId 查询用户信息
         List<UserDto> users = userInnerServiceSMOImpl.getUserInfo(userIds);
 
         for (RoomDto room : rooms) {
-            refreshRoom(room, users);
+            refreshRoom(room, users, roomAttrDtos);
         }
         return rooms;
     }
@@ -64,15 +78,34 @@ public class RoomInnerServiceSMOImpl extends BaseServiceSMO implements IRoomInne
     /**
      * 从用户列表中查询用户,将用户中的信息 刷新到 floor对象中
      *
-     * @param room  小区小区房屋信息
-     * @param users 用户列表
+     * @param room         小区小区房屋信息
+     * @param users        用户列表
+     * @param roomAttrDtos 房屋属性信息
      */
-    private void refreshRoom(RoomDto room, List<UserDto> users) {
+    private void refreshRoom(RoomDto room, List<UserDto> users, List<RoomAttrDto> roomAttrDtos) {
         for (UserDto user : users) {
             if (room.getUserId().equals(user.getUserId())) {
                 BeanConvertUtil.covertBean(user, room);
             }
         }
+
+        if (roomAttrDtos == null || roomAttrDtos.size() == 0) {
+            return;
+        }
+
+        for (RoomAttrDto roomAttrDto : roomAttrDtos) {
+            if (!roomAttrDto.getRoomId().equals(room.getRoomId())) {
+                continue;
+            }
+
+            List<RoomAttrDto> tmpRoomAttrDtos = room.getRoomAttrDto();
+
+            if (tmpRoomAttrDtos == null) {
+                tmpRoomAttrDtos = new ArrayList<>();
+            }
+
+            tmpRoomAttrDtos.add(roomAttrDto);
+        }
     }
 
     /**
@@ -90,6 +123,21 @@ public class RoomInnerServiceSMOImpl extends BaseServiceSMO implements IRoomInne
         return userIds.toArray(new String[userIds.size()]);
     }
 
+    /**
+     * 获取roomId 信息
+     *
+     * @param rooms 房屋信息
+     * @return roomIds
+     */
+    private String[] getRoomIds(List<RoomDto> rooms) {
+        List<String> roomIds = new ArrayList<String>();
+        for (RoomDto room : rooms) {
+            roomIds.add(room.getRoomId());
+        }
+
+        return roomIds.toArray(new String[roomIds.size()]);
+    }
+
     @Override
     public int queryRoomsCount(@RequestBody RoomDto roomDto) {
         return roomServiceDaoImpl.queryRoomsCount(BeanConvertUtil.beanCovertMap(roomDto));
@@ -110,4 +158,12 @@ public class RoomInnerServiceSMOImpl extends BaseServiceSMO implements IRoomInne
     public void setUserInnerServiceSMOImpl(IUserInnerServiceSMO userInnerServiceSMOImpl) {
         this.userInnerServiceSMOImpl = userInnerServiceSMOImpl;
     }
+
+    public IRoomAttrServiceDao getRoomAttrServiceDaoImpl() {
+        return roomAttrServiceDaoImpl;
+    }
+
+    public void setRoomAttrServiceDaoImpl(IRoomAttrServiceDao roomAttrServiceDaoImpl) {
+        this.roomAttrServiceDaoImpl = roomAttrServiceDaoImpl;
+    }
 }

+ 41 - 0
WebService/src/main/java/com/java110/web/components/room/RoomComponent.java

@@ -0,0 +1,41 @@
+package com.java110.web.components.room;
+
+import com.java110.core.context.IPageData;
+import com.java110.web.smo.IRoomServiceSMO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Component;
+
+/**
+ * @ClassName RoomComponent
+ * @Description TODO 房屋组件
+ * @Author wuxw
+ * @Date 2019/5/7 23:40
+ * @Version 1.0
+ * add by wuxw 2019/5/7
+ **/
+@Component("room")
+public class RoomComponent {
+
+
+    @Autowired
+    private IRoomServiceSMO roomServiceSMOImpl;
+
+    /**
+     * 显示房屋信息
+     *
+     * @param pd 页面信息封装
+     * @return ResponseEntity对象
+     */
+    public ResponseEntity<String> listRoom(IPageData pd) {
+        return roomServiceSMOImpl.listRoom(pd);
+    }
+
+    public IRoomServiceSMO getRoomServiceSMOImpl() {
+        return roomServiceSMOImpl;
+    }
+
+    public void setRoomServiceSMOImpl(IRoomServiceSMO roomServiceSMOImpl) {
+        this.roomServiceSMOImpl = roomServiceSMOImpl;
+    }
+}

+ 32 - 3
WebService/src/main/java/com/java110/web/core/BaseComponentSMO.java

@@ -3,7 +3,6 @@ package com.java110.web.core;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.common.cache.MappingCache;
-import com.java110.common.constant.CommonConstant;
 import com.java110.common.constant.MappingConstant;
 import com.java110.common.constant.ResponseConstant;
 import com.java110.common.constant.ServiceConstant;
@@ -12,7 +11,7 @@ import com.java110.common.factory.ApplicationContextFactory;
 import com.java110.common.util.Assert;
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.core.context.IPageData;
-import com.java110.web.smo.impl.LoginServiceSMOImpl;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.http.HttpMethod;
@@ -21,6 +20,7 @@ import org.springframework.http.ResponseEntity;
 import org.springframework.web.client.RestTemplate;
 
 import java.lang.reflect.Method;
+import java.util.Map;
 
 /**
  * Created by wuxw on 2019/3/22.
@@ -29,6 +29,8 @@ public class BaseComponentSMO extends BaseServiceSMO {
 
     private static Logger logger = LoggerFactory.getLogger(BaseComponentSMO.class);
 
+    protected static final int MAX_ROW = 50;
+
     /**
      * 调用组件
      *
@@ -150,7 +152,34 @@ public class BaseComponentSMO extends BaseServiceSMO {
         ResponseEntity<String> responseEntity = null;
         responseEntity = this.callCenterService(restTemplate, pd, "", ServiceConstant.SERVICE_API_URL + "/api/check.user.hasPrivilege?userId=" + pd.getUserId() + "&pId=" + privilegeCode, HttpMethod.GET);
         if (responseEntity.getStatusCode() != HttpStatus.OK) {
-            throw new SMOException(1999, "用户没有权限操作权限" + privilegeCode);
+            throw new SMOException(ResponseConstant.RESULT_CODE_ERROR, "用户没有权限操作权限" + privilegeCode);
+        }
+    }
+
+    /**
+     * map 参数转 url get 参数 非空值转为get参数 空值忽略
+     *
+     * @param info map数据
+     * @return url get 参数 带?
+     */
+    protected String mapToUrlParam(Map info) {
+        String urlParam = "";
+        if (info == null || info.isEmpty()) {
+            return urlParam;
         }
+
+        urlParam += "?";
+
+        for (Object key : info.keySet()) {
+            if (StringUtils.isEmpty(info.get(key) + "")) {
+                continue;
+            }
+
+            urlParam += (key + "=" + info.get(key) + "&");
+        }
+
+        urlParam = urlParam.endsWith("&") ? urlParam.substring(0, urlParam.length() - 1) : urlParam;
+
+        return urlParam;
     }
 }

+ 9 - 0
WebService/src/main/java/com/java110/web/smo/IRoomServiceSMO.java

@@ -15,4 +15,13 @@ public interface IRoomServiceSMO {
      * @return 返回 ResponseEntity对象包含 http状态 信息 body信息
      */
     ResponseEntity<String> saveRoom(IPageData pd);
+
+
+    /**
+     * 查询 房间信息
+     *
+     * @param pd 页面数据封装对象  分页信息 房屋编号 单元信息
+     * @return 返回 ResponseEntity对象包含 http状态 信息 body信息
+     */
+    ResponseEntity<String> listRoom(IPageData pd);
 }

+ 1 - 1
WebService/src/main/java/com/java110/web/smo/impl/FloorServiceSMOImpl.java

@@ -30,7 +30,7 @@ public class FloorServiceSMOImpl extends BaseComponentSMO implements IFloorServi
 
     private static Logger logger = LoggerFactory.getLogger(FloorServiceSMOImpl.class);
 
-    private static final int MAX_ROW = 50;
+
 
     @Autowired
     private RestTemplate restTemplate;

+ 59 - 0
WebService/src/main/java/com/java110/web/smo/impl/RoomServiceSMOImpl.java

@@ -2,7 +2,9 @@ package com.java110.web.smo.impl;
 
 import com.alibaba.fastjson.JSONObject;
 import com.java110.common.constant.PrivilegeCodeConstant;
+import com.java110.common.constant.ResponseConstant;
 import com.java110.common.constant.ServiceConstant;
+import com.java110.common.exception.SMOException;
 import com.java110.common.util.Assert;
 import com.java110.core.context.IPageData;
 import com.java110.web.core.BaseComponentSMO;
@@ -56,6 +58,61 @@ public class RoomServiceSMOImpl extends BaseComponentSMO implements IRoomService
         return responseEntity;
     }
 
+    @Override
+    public ResponseEntity<String> listRoom(IPageData pd) {
+        validateListRoom(pd);
+
+        //校验用户是否有权限
+        super.checkUserHasPrivilege(pd, restTemplate, PrivilegeCodeConstant.PRIVILEGE_ROOM);
+
+        JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
+        String communityId = paramIn.getString("communityId");
+
+
+        ResponseEntity responseEntity = super.getStoreInfo(pd, restTemplate);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
+            return responseEntity;
+        }
+        Assert.jsonObjectHaveKey(responseEntity.getBody().toString(), "storeId", "根据用户ID查询商户ID失败,未包含storeId节点");
+        Assert.jsonObjectHaveKey(responseEntity.getBody().toString(), "storeTypeCd", "根据用户ID查询商户类型失败,未包含storeTypeCd节点");
+
+        String storeId = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeId");
+        String storeTypeCd = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeTypeCd");
+        //数据校验是否 商户是否入驻该小区
+        super.checkStoreEnterCommunity(pd, storeId, storeTypeCd, communityId, restTemplate);
+
+        String apiUrl = ServiceConstant.SERVICE_API_URL + "/api/room.queryRooms" + mapToUrlParam(paramIn);
+
+        responseEntity = this.callCenterService(restTemplate, pd, "",
+                apiUrl,
+                HttpMethod.GET);
+        return responseEntity;
+    }
+
+
+    /**
+     * 小区房屋查询数据校验
+     *
+     * @param pd 页面数据封装对象
+     */
+    private void validateListRoom(IPageData pd) {
+        Assert.jsonObjectHaveKey(pd.getReqData(), "communityId", "请求报文中未包含communityId节点");
+        Assert.jsonObjectHaveKey(pd.getReqData(), "floorId", "请求报文中未包含floorId节点");
+        Assert.jsonObjectHaveKey(pd.getReqData(), "page", "请求报文中未包含page节点");
+        Assert.jsonObjectHaveKey(pd.getReqData(), "rows", "请求报文中未包含rows节点");
+
+        JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
+        Assert.isInteger(paramIn.getString("page"), "page不是数字");
+        Assert.isInteger(paramIn.getString("rows"), "rows不是数字");
+        Assert.hasLength(paramIn.getString("communityId"), "小区ID不能为空");
+        int rows = Integer.parseInt(paramIn.getString("rows"));
+
+
+        if (rows > MAX_ROW) {
+            throw new SMOException(ResponseConstant.RESULT_CODE_ERROR, "rows 数量不能大于50");
+        }
+
+    }
     /**
      * 校验前台传入房屋信息
      * @param pd 页面数据封装
@@ -71,6 +128,8 @@ public class RoomServiceSMOImpl extends BaseComponentSMO implements IRoomService
         Assert.jsonObjectHaveKey(pd.getReqData(), "builtUpArea", "请求报文中未包含builtUpArea节点");
         Assert.jsonObjectHaveKey(pd.getReqData(), "unitPrice", "请求报文中未包含unitPrice节点");
         JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
+
+        Assert.hasLength(reqJson.getString("communityId"), "小区ID不能为空");
         Assert.isInteger(reqJson.getString("section"), "房间数不是有效数字");
         Assert.isMoney(reqJson.getString("builtUpArea"), "建筑面积数据格式错误");
         Assert.isMoney(reqJson.getString("unitPrice"), "房屋单价数据格式错误");

+ 12 - 2
WebService/src/main/resources/components/add-room/addRoom.js

@@ -128,6 +128,11 @@
                                     limit:"money",
                                     param:"",
                                     errInfo:"建筑面积错误,如 300.00"
+                                },
+                                {
+                                  limit:"maxLength",
+                                  param:"12",
+                                  errInfo:"建筑面积数字长度不能超过6位"
                                 }
                             ],
                             'addRoomInfo.unitPrice':[
@@ -140,7 +145,12 @@
                                     limit:"money",
                                     param:"",
                                     errInfo:"房屋单价错误 如 300.00"
-                                }
+                                },
+                                 {
+                                   limit:"maxLength",
+                                   param:"12",
+                                   errInfo:"房屋单价数字长度不能超过12位"
+                                 }
                             ],
                             'addRoomInfo.remark':[
                                 {
@@ -170,7 +180,7 @@
                         if(res.status == 200){
                             //关闭model
                             $('#addRoomModel').modal('hide');
-                            vc.emit('room','loadRoom',{
+                            vc.emit('room','loadData',{
                                 floorId:vc.component.addRoomInfo.floorId
                             });
                             return ;

+ 11 - 0
java110-bean/src/main/java/com/java110/dto/RoomDto.java

@@ -2,6 +2,7 @@ package com.java110.dto;
 
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 /**
  * @ClassName FloorDto
@@ -24,6 +25,8 @@ public class RoomDto extends PageDto implements Serializable {
     private String unitId;
     private String apartment;
 
+    private List<RoomAttrDto> roomAttrDto;
+
 
     private Date createTime;
 
@@ -126,4 +129,12 @@ public class RoomDto extends PageDto implements Serializable {
     public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
+
+    public List<RoomAttrDto> getRoomAttrDto() {
+        return roomAttrDto;
+    }
+
+    public void setRoomAttrDto(List<RoomAttrDto> roomAttrDto) {
+        this.roomAttrDto = roomAttrDto;
+    }
 }

+ 108 - 0
java110-bean/src/main/java/com/java110/vo/api/ApiRoomDataVo.java

@@ -0,0 +1,108 @@
+package com.java110.vo.api;
+
+import com.java110.vo.MorePageVo;
+
+import java.io.Serializable;
+
+/**
+ * @ClassName ApiRoomVo
+ * @Description TODO
+ * @Author wuxw
+ * @Date 2019/5/8 0:26
+ * @Version 1.0
+ * add by wuxw 2019/5/8
+ **/
+public class ApiRoomDataVo implements Serializable {
+
+    private String unitPrice;
+    private String section;
+    private String remark;
+    private String userName;
+    private String roomId;
+    private String layer;
+    private String builtUpArea;
+    private String roomNum;
+    private String unitId;
+    private String apartment;
+
+
+    public String getUnitPrice() {
+        return unitPrice;
+    }
+
+    public void setUnitPrice(String unitPrice) {
+        this.unitPrice = unitPrice;
+    }
+
+    public String getSection() {
+        return section;
+    }
+
+    public void setSection(String section) {
+        this.section = section;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getRoomId() {
+        return roomId;
+    }
+
+    public void setRoomId(String roomId) {
+        this.roomId = roomId;
+    }
+
+    public String getLayer() {
+        return layer;
+    }
+
+    public void setLayer(String layer) {
+        this.layer = layer;
+    }
+
+    public String getBuiltUpArea() {
+        return builtUpArea;
+    }
+
+    public void setBuiltUpArea(String builtUpArea) {
+        this.builtUpArea = builtUpArea;
+    }
+
+    public String getRoomNum() {
+        return roomNum;
+    }
+
+    public void setRoomNum(String roomNum) {
+        this.roomNum = roomNum;
+    }
+
+    public String getUnitId() {
+        return unitId;
+    }
+
+    public void setUnitId(String unitId) {
+        this.unitId = unitId;
+    }
+
+    public String getApartment() {
+        return apartment;
+    }
+
+    public void setApartment(String apartment) {
+        this.apartment = apartment;
+    }
+}

+ 28 - 0
java110-bean/src/main/java/com/java110/vo/api/ApiRoomVo.java

@@ -0,0 +1,28 @@
+package com.java110.vo.api;
+
+import com.java110.vo.MorePageVo;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @ClassName ApiRoomVo
+ * @Description TODO
+ * @Author wuxw
+ * @Date 2019/5/8 1:00
+ * @Version 1.0
+ * add by wuxw 2019/5/8
+ **/
+public class ApiRoomVo extends MorePageVo implements Serializable {
+
+    private List<ApiRoomDataVo> rooms;
+
+
+    public List<ApiRoomDataVo> getRooms() {
+        return rooms;
+    }
+
+    public void setRooms(List<ApiRoomDataVo> rooms) {
+        this.rooms = rooms;
+    }
+}

+ 5 - 1
java110-common/src/main/java/com/java110/common/constant/ServiceCodeConstant.java

@@ -381,6 +381,10 @@ public class ServiceCodeConstant {
     public static final String SERVICE_CODE_DELETE_UNIT = "unit.deleteUnit";
 
 
-    //保存小区单元
+    //保存房屋
     public static final String SERVICE_CODE_SAVE_ROOM = "room.saveRoom";
+
+
+    //查询房屋信息
+    public static final String SERVICE_CODE_QUERY_ROOMS = "room.queryRooms";
 }

+ 6 - 6
java110-config/db/CommunityService/create_room.sql

@@ -74,10 +74,10 @@ CREATE TABLE business_building_room(
   room_num VARCHAR(12) NOT NULL COMMENT '房屋编号',
   unit_id VARCHAR(30) NOT NULL COMMENT '单元ID',
   layer int NOT NULL COMMENT '层数',
-  section varchar(4) NOT NULL COMMENT '室',
+  section int NOT NULL COMMENT '室',
   apartment varchar(4) NOT NULL COMMENT '户型',
-  built_up_area varchar(4) NOT NULL COMMENT '建筑面积',
-  unit_price varchar(4) NOT NULL COMMENT '每平米单价',
+  built_up_area decimal(6,2) NOT NULL COMMENT '建筑面积',
+  unit_price DECIMAL(12,2) NOT NULL COMMENT '每平米单价',
   user_id VARCHAR(30) NOT NULL COMMENT '用户ID',
   remark VARCHAR(200) NOT NULL COMMENT '备注',
   create_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
@@ -95,10 +95,10 @@ CREATE TABLE building_room(
   room_num VARCHAR(12) NOT NULL COMMENT '房屋编号',
   unit_id VARCHAR(30) NOT NULL COMMENT '单元ID',
   layer int NOT NULL COMMENT '层数',
-  section varchar(4) NOT NULL COMMENT '室',
+  section int NOT NULL COMMENT '室',
   apartment varchar(4) NOT NULL COMMENT '户型',
-  built_up_area varchar(4) NOT NULL COMMENT '建筑面积',
-  unit_price varchar(4) NOT NULL COMMENT '每平米单价',
+  built_up_area decimal(6,2) NOT NULL COMMENT '建筑面积',
+  unit_price DECIMAL(12,2) NOT NULL COMMENT '每平米单价',
   user_id VARCHAR(30) NOT NULL COMMENT '用户ID',
   remark VARCHAR(200) NOT NULL COMMENT '备注',
   create_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

+ 7 - 1
java110-config/src/main/resources/mapper/room/RoomAttrServiceDaoImplMapper.xml

@@ -95,7 +95,13 @@ where 1 =1
 </if> 
 <if test="page != -1 and page != null and page != ''">
    limit page,row
-</if> 
+</if>
+        <if test="roomIds != null and roomIds != null">
+            and t.room_id in
+            <foreach collection="roomIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
 
     </select>