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/CommunityServiceSMOImpl.java |  135 ++++++++++++++++++++++++++++++++++++--------
 1 files changed, 110 insertions(+), 25 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 cbbb738..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
@@ -19,6 +19,7 @@
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 import org.springframework.web.client.RestTemplate;
+import org.thymeleaf.util.StringUtils;
 
 /**
  * 灏忓尯鏈嶅姟绫�
@@ -27,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;
@@ -37,23 +38,23 @@
         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){
+        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");
@@ -65,6 +66,7 @@
 
     /**
      * 鏌ヨ鏈叆椹荤殑灏忓尯
+     *
      * @param pd
      * @return
      */
@@ -73,23 +75,31 @@
         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){
+        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;
         }
 
@@ -101,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