From b784175e978b0fcfca8ca8bed7953ae4eacf49e8 Mon Sep 17 00:00:00 2001
From: shiyj <1098226878@qq.com>
Date: 星期一, 02 九月 2019 20:18:58 +0800
Subject: [PATCH] Merge branch 'master' of https://github.com/java110/MicroCommunity
---
WebService/src/main/java/com/java110/web/smo/impl/RoomServiceSMOImpl.java | 315 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 310 insertions(+), 5 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 f1b73d4..f88bce8 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
@@ -32,7 +32,7 @@
@Override
public ResponseEntity<String> saveRoom(IPageData pd) {
- validateSaveRoom(pd);
+ validateSaveRoom(pd);
//鏍¢獙鍛樺伐鏄惁鏈夋潈闄愭搷浣�
super.checkUserHasPrivilege(pd, restTemplate, PrivilegeCodeConstant.PRIVILEGE_ROOM);
@@ -89,6 +89,265 @@
return responseEntity;
}
+ @Override
+ public ResponseEntity<String> listRoomByOwner(IPageData pd) {
+ validateListRoomByOwner(pd);
+
+ //鏍¢獙鐢ㄦ埛鏄惁鏈夋潈闄�
+ super.checkUserHasPrivilege(pd, restTemplate, PrivilegeCodeConstant.PRIVILEGE_OWNER_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.queryRoomsByOwner" + mapToUrlParam(paramIn);
+
+ responseEntity = this.callCenterService(restTemplate, pd, "",
+ apiUrl,
+ HttpMethod.GET);
+ return responseEntity;
+ }
+
+
+ @Override
+ public ResponseEntity<String> listRoomWithOutSell(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.queryRoomsWithOutSell" + mapToUrlParam(paramIn);
+
+ responseEntity = this.callCenterService(restTemplate, pd, "",
+ apiUrl,
+ HttpMethod.GET);
+ return responseEntity;
+ }
+
+ @Override
+ public ResponseEntity<String> listRoomWithSell(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.queryRoomsWithSell" + mapToUrlParam(paramIn);
+
+ responseEntity = this.callCenterService(restTemplate, pd, "",
+ apiUrl,
+ HttpMethod.GET);
+ return responseEntity;
+ }
+
+ @Override
+ public ResponseEntity<String> updateRoom(IPageData pd) {
+ validateUpdateRoom(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);
+ paramIn.put("userId", pd.getUserId());
+ responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(),
+ ServiceConstant.SERVICE_API_URL + "/api/room.updateRoom",
+ HttpMethod.POST);
+
+ return responseEntity;
+ }
+
+ @Override
+ public ResponseEntity<String> deleteRoom(IPageData pd) {
+ validateDeleteRoom(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);
+ paramIn.put("userId", pd.getUserId());
+ responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(),
+ ServiceConstant.SERVICE_API_URL + "/api/room.deleteRoom",
+ HttpMethod.POST);
+
+ return responseEntity;
+ }
+
+ @Override
+ public ResponseEntity<String> sellRoom(IPageData pd) {
+
+ validateSellRoom(pd);
+
+ //鏍¢獙鍛樺伐鏄惁鏈夋潈闄愭搷浣�
+ super.checkUserHasPrivilege(pd, restTemplate, PrivilegeCodeConstant.PRIVILEGE_SELL_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);
+ paramIn.put("userId", pd.getUserId());
+ paramIn.put("storeId", storeId);
+ responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(),
+ ServiceConstant.SERVICE_API_URL + "/api/room.sellRoom",
+ HttpMethod.POST);
+
+ return responseEntity;
+ }
+
+ @Override
+ public ResponseEntity<String> exitRoom(IPageData pd) {
+
+ validateExitRoom(pd);
+ //鏍¢獙鍛樺伐鏄惁鏈夋潈闄愭搷浣�
+ super.checkUserHasPrivilege(pd, restTemplate, PrivilegeCodeConstant.PRIVILEGE_OWNER_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);
+ paramIn.put("userId", pd.getUserId());
+ paramIn.put("storeId", storeId);
+ responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(),
+ ServiceConstant.SERVICE_API_URL + "/api/room.exitRoom",
+ HttpMethod.POST);
+
+ return responseEntity;
+
+ }
+
+
+ /**
+ * 灏忓尯鎴垮眿鏌ヨ鏁版嵁鏍¢獙
+ *
+ * @param pd 椤甸潰鏁版嵁灏佽瀵硅薄
+ */
+ private void validateExitRoom(IPageData pd) {
+ Assert.jsonObjectHaveKey(pd.getReqData(), "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈communityId鑺傜偣");
+ Assert.jsonObjectHaveKey(pd.getReqData(), "ownerId", "璇锋眰鎶ユ枃涓湭鍖呭惈ownerId鑺傜偣");
+ Assert.jsonObjectHaveKey(pd.getReqData(), "roomId", "璇锋眰鎶ユ枃涓湭鍖呭惈roomId鑺傜偣");
+
+ JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
+ Assert.hasLength(paramIn.getString("communityId"), "灏忓尯ID涓嶈兘涓虹┖");
+ Assert.hasLength(paramIn.getString("ownerId"), "ownerId涓嶈兘涓虹┖");
+ Assert.hasLength(paramIn.getString("roomId"), "roomId涓嶈兘涓虹┖");
+
+ }
+
+ /**
+ * 灏忓尯鎴垮眿鏌ヨ鏁版嵁鏍¢獙
+ *
+ * @param pd 椤甸潰鏁版嵁灏佽瀵硅薄
+ */
+ private void validateSellRoom(IPageData pd) {
+ Assert.jsonObjectHaveKey(pd.getReqData(), "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈communityId鑺傜偣");
+ Assert.jsonObjectHaveKey(pd.getReqData(), "ownerId", "璇锋眰鎶ユ枃涓湭鍖呭惈ownerId鑺傜偣");
+ Assert.jsonObjectHaveKey(pd.getReqData(), "roomId", "璇锋眰鎶ユ枃涓湭鍖呭惈roomId鑺傜偣");
+ Assert.jsonObjectHaveKey(pd.getReqData(), "state", "璇锋眰鎶ユ枃涓湭鍖呭惈state鑺傜偣");
+
+ JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
+ Assert.hasLength(paramIn.getString("communityId"), "灏忓尯ID涓嶈兘涓虹┖");
+ Assert.hasLength(paramIn.getString("ownerId"), "ownerId涓嶈兘涓虹┖");
+ Assert.hasLength(paramIn.getString("roomId"), "roomId涓嶈兘涓虹┖");
+ Assert.hasLength(paramIn.getString("state"), "state涓嶈兘涓虹┖");
+
+ }
+
+ /**
+ * 鏍¢獙鏍规嵁涓氫富鏌ヨ鎴垮眿淇℃伅
+ * @param pd 椤甸潰鏁版嵁灏佽
+ */
+ private void validateListRoomByOwner(IPageData pd) {
+ Assert.jsonObjectHaveKey(pd.getReqData(), "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈communityId鑺傜偣");
+ Assert.jsonObjectHaveKey(pd.getReqData(), "ownerId", "璇锋眰鎶ユ枃涓湭鍖呭惈ownerId鑺傜偣");
+
+ JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
+ Assert.hasLength(paramIn.getString("ownerId"), "ownerId涓嶈兘涓虹┖");
+ Assert.hasLength(paramIn.getString("communityId"), "灏忓尯ID涓嶈兘涓虹┖");
+ }
/**
* 灏忓尯鎴垮眿鏌ヨ鏁版嵁鏍¢獙
@@ -97,15 +356,14 @@
*/
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鑺傜偣");
+ Assert.jsonObjectHaveKey(pd.getReqData(), "row", "璇锋眰鎶ユ枃涓湭鍖呭惈rows鑺傜偣");
JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
Assert.isInteger(paramIn.getString("page"), "page涓嶆槸鏁板瓧");
- Assert.isInteger(paramIn.getString("rows"), "rows涓嶆槸鏁板瓧");
+ Assert.isInteger(paramIn.getString("row"), "row涓嶆槸鏁板瓧");
Assert.hasLength(paramIn.getString("communityId"), "灏忓尯ID涓嶈兘涓虹┖");
- int rows = Integer.parseInt(paramIn.getString("rows"));
+ int rows = Integer.parseInt(paramIn.getString("row"));
if (rows > MAX_ROW) {
@@ -113,8 +371,10 @@
}
}
+
/**
* 鏍¢獙鍓嶅彴浼犲叆鎴垮眿淇℃伅
+ *
* @param pd 椤甸潰鏁版嵁灏佽
*/
private void validateSaveRoom(IPageData pd) {
@@ -126,6 +386,7 @@
Assert.jsonObjectHaveKey(pd.getReqData(), "section", "璇锋眰鎶ユ枃涓湭鍖呭惈section鑺傜偣");
Assert.jsonObjectHaveKey(pd.getReqData(), "apartment", "璇锋眰鎶ユ枃涓湭鍖呭惈apartment鑺傜偣");
Assert.jsonObjectHaveKey(pd.getReqData(), "builtUpArea", "璇锋眰鎶ユ枃涓湭鍖呭惈builtUpArea鑺傜偣");
+ Assert.jsonObjectHaveKey(pd.getReqData(), "state", "璇锋眰鎶ユ枃涓湭鍖呭惈state鑺傜偣");
Assert.jsonObjectHaveKey(pd.getReqData(), "unitPrice", "璇锋眰鎶ユ枃涓湭鍖呭惈unitPrice鑺傜偣");
JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
@@ -138,6 +399,50 @@
throw new IllegalArgumentException("涓嶆槸鏈夋晥鎴垮眿鎴峰瀷 浼犲叆鏁版嵁閿欒");
}
+ if (!"2001".equals(reqJson.getString("state"))
+ && !"2002".equals(reqJson.getString("state"))
+ && !"2003".equals(reqJson.getString("state"))
+ && !"2004".equals(reqJson.getString("state"))) {
+ throw new IllegalArgumentException("涓嶆槸鏈夋晥鎴垮眿鐘舵�� 浼犲叆鏁版嵁閿欒");
+ }
+
+ }
+
+ /**
+ * 鏍¢獙鍓嶅彴浼犲叆鎴垮眿淇℃伅
+ *
+ * @param pd 椤甸潰鏁版嵁灏佽
+ */
+ private void validateUpdateRoom(IPageData pd) {
+
+ validateSaveRoom(pd);
+
+ Assert.jsonObjectHaveKey(pd.getReqData(), "roomId", "璇锋眰鎶ユ枃涓湭鍖呭惈roomId鑺傜偣");
+
+ JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
+
+ Assert.hasLength(reqJson.getString("roomId"), "鎴垮眿roomId涓嶈兘涓虹┖");
+
+
+ }
+
+ /**
+ * 鏍¢獙鍓嶅彴浼犲叆鎴垮眿淇℃伅
+ *
+ * @param pd 椤甸潰鏁版嵁灏佽
+ */
+ private void validateDeleteRoom(IPageData pd) {
+
+ Assert.jsonObjectHaveKey(pd.getReqData(), "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈communityId鑺傜偣");
+ Assert.jsonObjectHaveKey(pd.getReqData(), "roomId", "璇锋眰鎶ユ枃涓湭鍖呭惈roomId鑺傜偣");
+ Assert.jsonObjectHaveKey(pd.getReqData(), "unitId", "璇锋眰鎶ユ枃涓湭鍖呭惈unitId鑺傜偣");
+ JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
+
+ Assert.hasLength(reqJson.getString("communityId"), "灏忓尯ID涓嶈兘涓虹┖");
+ Assert.hasLength(reqJson.getString("roomId"), "鎴垮眿roomId涓嶈兘涓虹┖");
+ Assert.hasLength(reqJson.getString("unitId"), "鎴垮眿unitId涓嶈兘涓虹┖");
+
+
}
--
Gitblit v1.8.0