From 4348c321dfe200e4cdc430b1dc5b1caef4991261 Mon Sep 17 00:00:00 2001
From: 吴学文 <wuxuewen@wuxuewendeMacBook-Pro.local>
Date: 星期四, 18 四月 2019 23:46:00 +0800
Subject: [PATCH] 入驻小区 和退订开发测试完成
---
WebService/src/main/java/com/java110/web/smo/impl/CommunityServiceSMOImpl.java | 144 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 143 insertions(+), 1 deletions(-)
diff --git a/WebService/src/main/java/com/java110/web/smo/impl/CommunityServiceSMOImpl.java b/WebService/src/main/java/com/java110/web/smo/impl/CommunityServiceSMOImpl.java
index 43943fd..1e902be 100644
--- a/WebService/src/main/java/com/java110/web/smo/impl/CommunityServiceSMOImpl.java
+++ b/WebService/src/main/java/com/java110/web/smo/impl/CommunityServiceSMOImpl.java
@@ -1,8 +1,11 @@
package com.java110.web.smo.impl;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.common.cache.MappingCache;
+import com.java110.common.constant.AttrCdConstant;
import com.java110.common.constant.MappingConstant;
+import com.java110.common.constant.PrivilegeCodeConstant;
import com.java110.common.constant.ServiceConstant;
import com.java110.common.util.Assert;
import com.java110.core.context.IPageData;
@@ -16,6 +19,7 @@
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
+import org.thymeleaf.util.StringUtils;
/**
* 灏忓尯鏈嶅姟绫�
@@ -33,6 +37,8 @@
public ResponseEntity<String> listMyCommunity(IPageData pd) {
ResponseEntity<String> responseEntity = null;
JSONObject _paramObj = JSONObject.parseObject(pd.getReqData());
+ //鏉冮檺鏍¢獙
+ checkUserHasPrivilege(pd,restTemplate, PrivilegeCodeConstant.PRIVILEGE_ENTER_COMMUNITY);
responseEntity = super.getStoreInfo(pd,restTemplate);
if(responseEntity.getStatusCode() != HttpStatus.OK){
return responseEntity;
@@ -51,11 +57,147 @@
if(responseEntity.getStatusCode() != HttpStatus.OK){
return responseEntity;
}
- responseEntity = new ResponseEntity<String>(JSONObject.parseObject(responseEntity.getBody().toString()).getJSONArray("communitys").toJSONString(),
+ JSONArray tmpCommunitys = JSONObject.parseObject(responseEntity.getBody().toString()).getJSONArray("communitys");
+ freshCommunityAttr(tmpCommunitys);
+ responseEntity = new ResponseEntity<String>(tmpCommunitys.toJSONString(),
HttpStatus.OK);
return responseEntity;
}
+ /**
+ * 鏌ヨ鏈叆椹荤殑灏忓尯
+ * @param pd
+ * @return
+ */
+ @Override
+ public ResponseEntity<String> listNoEnterCommunity(IPageData pd) {
+ ResponseEntity<String> responseEntity = null;
+ JSONObject _paramObj = JSONObject.parseObject(pd.getReqData());
+ //鏉冮檺鏍¢獙
+ checkUserHasPrivilege(pd,restTemplate, PrivilegeCodeConstant.PRIVILEGE_ENTER_COMMUNITY);
+ responseEntity = super.getStoreInfo(pd,restTemplate);
+ if(responseEntity.getStatusCode() != HttpStatus.OK){
+ return responseEntity;
+ }
+ Assert.jsonObjectHaveKey(responseEntity.getBody().toString(),"storeId","鏍规嵁鐢ㄦ埛ID鏌ヨ鍟嗘埛ID澶辫触锛屾湭鍖呭惈storeId鑺傜偣");
+
+ String storeId = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeId");
+ String storeTypeCd = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeTypeCd");
+ String communityName = !_paramObj.containsKey("communityName")?"":_paramObj.getString("communityName");
+ //淇敼鐢ㄦ埛淇℃伅
+ if(StringUtils.isEmpty(communityName)) {
+ responseEntity = this.callCenterService(restTemplate, pd, "",
+ ServiceConstant.SERVICE_API_URL + "/api/query.noEnterCommunity.byMember?memberId=" + storeId +
+ "&memberTypeCd=" + MappingCache.getValue(MappingConstant.DOMAIN_STORE_TYPE_2_COMMUNITY_MEMBER_TYPE, storeTypeCd),
+ HttpMethod.GET);
+ }else{
+ responseEntity = this.callCenterService(restTemplate, pd, "",
+ ServiceConstant.SERVICE_API_URL + "/api/query.noEnterCommunity.byMemberAndName?memberId=" + storeId +
+ "&memberTypeCd=" + MappingCache.getValue(MappingConstant.DOMAIN_STORE_TYPE_2_COMMUNITY_MEMBER_TYPE, storeTypeCd)
+ +"&name="+communityName,
+ HttpMethod.GET);
+ }
+
+ if(responseEntity.getStatusCode() != HttpStatus.OK){
+ return responseEntity;
+ }
+
+ JSONArray tmpCommunitys = JSONObject.parseObject(responseEntity.getBody().toString()).getJSONArray("communitys");
+ freshCommunityAttr(tmpCommunitys);
+ responseEntity = new ResponseEntity<String>(tmpCommunitys.toJSONString(),
+ HttpStatus.OK);
+ return responseEntity;
+ }
+
+
+ /**
+ * 鍟嗘埛鍏ラ┗鐢宠鎺ュ彛
+ * @param pd
+ * @return
+ */
+ @Override
+ public ResponseEntity<String> _saveEnterCommunity(IPageData pd) {
+
+ ResponseEntity<String> responseEntity = null;
+ Assert.jsonObjectHaveKey(pd.getReqData(),"communityId","璇锋眰淇℃伅涓湭鍖呭惈communityId");
+ JSONObject _paramObj = JSONObject.parseObject(pd.getReqData());
+
+ String communityId = _paramObj.getString("communityId");
+
+ //鏉冮檺鏍¢獙
+ checkUserHasPrivilege(pd,restTemplate, PrivilegeCodeConstant.PRIVILEGE_ENTER_COMMUNITY);
+ responseEntity = super.getStoreInfo(pd,restTemplate);
+ if(responseEntity.getStatusCode() != HttpStatus.OK){
+ return responseEntity;
+ }
+ Assert.jsonObjectHaveKey(responseEntity.getBody().toString(),"storeId","鏍规嵁鐢ㄦ埛ID鏌ヨ鍟嗘埛ID澶辫触锛屾湭鍖呭惈storeId鑺傜偣");
+
+ String storeId = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeId");
+ String storeTypeCd = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeTypeCd");
+ _paramObj.put("memberId",storeId);
+ _paramObj.put("memberTypeCd",MappingCache.getValue(MappingConstant.DOMAIN_STORE_TYPE_2_COMMUNITY_MEMBER_TYPE,storeTypeCd));
+
+ responseEntity = this.callCenterService(restTemplate, pd, _paramObj.toJSONString(),
+ ServiceConstant.SERVICE_API_URL + "/api/member.join.community",
+ HttpMethod.POST);
+
+ return responseEntity;
+ }
+
+ /**
+ * 閫�鍑哄皬鍖�
+ * @param pd
+ * @return
+ */
+ @Override
+ public ResponseEntity<String> exitCommunity(IPageData pd) {
+ ResponseEntity<String> responseEntity = null;
+ Assert.jsonObjectHaveKey(pd.getReqData(),"communityId","璇锋眰淇℃伅涓湭鍖呭惈communityId");
+ JSONObject _paramObj = JSONObject.parseObject(pd.getReqData());
+
+ String communityId = _paramObj.getString("communityId");
+
+ Assert.hasLength(communityId,"璇锋眰鎶ユ枃涓璫ommunityId涓虹┖");
+
+ //鏉冮檺鏍¢獙
+ checkUserHasPrivilege(pd,restTemplate, PrivilegeCodeConstant.PRIVILEGE_ENTER_COMMUNITY);
+ responseEntity = super.getStoreInfo(pd,restTemplate);
+ if(responseEntity.getStatusCode() != HttpStatus.OK){
+ return responseEntity;
+ }
+ Assert.jsonObjectHaveKey(responseEntity.getBody().toString(),"storeId","鏍规嵁鐢ㄦ埛ID鏌ヨ鍟嗘埛ID澶辫触锛屾湭鍖呭惈storeId鑺傜偣");
+
+ String storeId = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeId");
+ String storeTypeCd = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeTypeCd");
+ JSONObject paramInObj = new JSONObject();
+ paramInObj.put("communityId",communityId);
+ paramInObj.put("memberId",storeId);
+ paramInObj.put("memberTypeCd",MappingCache.getValue(MappingConstant.DOMAIN_STORE_TYPE_2_COMMUNITY_MEMBER_TYPE,storeTypeCd));
+
+ responseEntity = this.callCenterService(restTemplate, pd, paramInObj.toJSONString(),
+ ServiceConstant.SERVICE_API_URL + "/api/member.quit.community",
+ HttpMethod.POST);
+
+ return responseEntity;
+ }
+
+
+ private void freshCommunityAttr(JSONArray community){
+ for(int _communityIndex = 0 ;_communityIndex < community.size();_communityIndex++){
+ JSONObject _community = community.getJSONObject(_communityIndex);
+ if(!_community.containsKey("attrs")){
+ continue;
+ }
+ JSONArray _attrs = _community.getJSONArray("attrs");
+ for(int _cAttrIndex = 0;_cAttrIndex < _attrs.size();_cAttrIndex++){
+ if(AttrCdConstant.SPEC_CD_COMMUNITY_TEL.equals(_attrs.getJSONObject(_cAttrIndex).getString("specCd"))){
+ _community.put("tel",_attrs.getJSONObject(_cAttrIndex).getString("value"));
+ }
+ }
+
+ }
+
+ }
public RestTemplate getRestTemplate() {
return restTemplate;
}
--
Gitblit v1.8.0