From e773bd21fad4f99149402114cb8f825192506b53 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期三, 08 五月 2019 01:06:32 +0800
Subject: [PATCH] 加入小区房屋查询接口

---
 WebService/src/main/java/com/java110/web/smo/impl/RoomServiceSMOImpl.java |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 59 insertions(+), 0 deletions(-)

diff --git a/WebService/src/main/java/com/java110/web/smo/impl/RoomServiceSMOImpl.java b/WebService/src/main/java/com/java110/web/smo/impl/RoomServiceSMOImpl.java
index 871ba88..f1b73d4 100644
--- a/WebService/src/main/java/com/java110/web/smo/impl/RoomServiceSMOImpl.java
+++ b/WebService/src/main/java/com/java110/web/smo/impl/RoomServiceSMOImpl.java
@@ -2,7 +2,9 @@
 
 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 @@
         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 @@
         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"), "鎴垮眿鍗曚环鏁版嵁鏍煎紡閿欒");

--
Gitblit v1.8.0