From 9e29441646434d9f54a2c3e855a724633885d8a4 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 13 八月 2019 19:43:49 +0800
Subject: [PATCH] 缓存开发测试完成
---
WebService/src/main/java/com/java110/web/smo/impl/CommunityServiceSMOImpl.java | 164 +++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 155 insertions(+), 9 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..c085e4c 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;
/**
* 灏忓尯鏈嶅姟绫�
@@ -24,7 +28,7 @@
@Service("communityServiceSMOImpl")
public class CommunityServiceSMOImpl extends BaseComponentSMO implements ICommunityServiceSMO {
- private final static Logger logger = LoggerFactory.getLogger(CommunityServiceSMOImpl.class);
+ private static Logger logger = LoggerFactory.getLogger(CommunityServiceSMOImpl.class);
@Autowired
private RestTemplate restTemplate;
@@ -33,29 +37,171 @@
public ResponseEntity<String> listMyCommunity(IPageData pd) {
ResponseEntity<String> responseEntity = null;
JSONObject _paramObj = JSONObject.parseObject(pd.getReqData());
- responseEntity = super.getStoreInfo(pd,restTemplate);
- if(responseEntity.getStatusCode() != HttpStatus.OK){
+ //鏉冮檺鏍¢獙
+ 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鑺傜偣");
+ 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");
//淇敼鐢ㄦ埛淇℃伅
- responseEntity = this.callCenterService(restTemplate,pd,"",
- ServiceConstant.SERVICE_API_URL+"/api/query.myCommunity.byMember?memberId="+storeId+
- "&memberTypeCd="+MappingCache.getValue(MappingConstant.DOMAIN_STORE_TYPE_2_COMMUNITY_MEMBER_TYPE,storeTypeCd),
+ responseEntity = this.callCenterService(restTemplate, pd, "",
+ ServiceConstant.SERVICE_API_URL + "/api/query.myCommunity.byMember?memberId=" + storeId +
+ "&memberTypeCd=" + MappingCache.getValue(MappingConstant.DOMAIN_STORE_TYPE_2_COMMUNITY_MEMBER_TYPE, storeTypeCd),
HttpMethod.GET);
- if(responseEntity.getStatusCode() != HttpStatus.OK){
+ 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