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 |  136 +++++++++++++++++++++++++++++++++++++-------
 1 files changed, 113 insertions(+), 23 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 f7d7799..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
@@ -5,6 +5,7 @@
 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;
@@ -18,6 +19,7 @@
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 import org.springframework.web.client.RestTemplate;
+import org.thymeleaf.util.StringUtils;
 
 /**
  * 灏忓尯鏈嶅姟绫�
@@ -26,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;
@@ -35,22 +37,24 @@
     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;
         }
         JSONArray tmpCommunitys = JSONObject.parseObject(responseEntity.getBody().toString()).getJSONArray("communitys");
@@ -62,6 +66,7 @@
 
     /**
      * 鏌ヨ鏈叆椹荤殑灏忓尯
+     *
      * @param pd
      * @return
      */
@@ -69,22 +74,32 @@
     public ResponseEntity<String> listNoEnterCommunity(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");
-
+        String communityName = !_paramObj.containsKey("communityName") ? "" : _paramObj.getString("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);
+        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){
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
             return responseEntity;
         }
 
@@ -96,22 +111,97 @@
     }
 
 
-    private void freshCommunityAttr(JSONArray community){
-        for(int _communityIndex = 0 ;_communityIndex < community.size();_communityIndex++){
+    /**
+     * 鍟嗘埛鍏ラ┗鐢宠鎺ュ彛
+     *
+     * @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")){
+            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"));
+            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