From e7bd25e31151f94b2f87d9a1cb6071b42f2df2b1 Mon Sep 17 00:00:00 2001
From: 吴学文 <wuxuewen@wuxuewendeMacBook-Pro.local>
Date: 星期五, 05 七月 2019 00:22:35 +0800
Subject: [PATCH] 加入删除小区时清理 代理商 开发者 运维 关系

---
 Api/src/main/java/com/java110/api/listener/community/DeleteCommunityListener.java |   99 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 96 insertions(+), 3 deletions(-)

diff --git a/Api/src/main/java/com/java110/api/listener/community/DeleteCommunityListener.java b/Api/src/main/java/com/java110/api/listener/community/DeleteCommunityListener.java
index 489408f..5813834 100644
--- a/Api/src/main/java/com/java110/api/listener/community/DeleteCommunityListener.java
+++ b/Api/src/main/java/com/java110/api/listener/community/DeleteCommunityListener.java
@@ -3,24 +3,32 @@
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.api.listener.AbstractServiceApiListener;
-import com.java110.common.constant.BusinessTypeConstant;
+import com.java110.common.constant.*;
+import com.java110.common.exception.ListenerExecuteException;
 import com.java110.common.util.Assert;
 import com.java110.core.context.DataFlowContext;
+import com.java110.core.smo.community.ICommunityInnerServiceSMO;
+import com.java110.dto.CommunityMemberDto;
 import com.java110.entity.center.AppService;
 import com.java110.event.service.api.ServiceDataFlowEvent;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.ResponseEntity;
-import com.java110.common.constant.CommonConstant;
-import com.java110.common.constant.ServiceCodeConstant;
 
 import com.java110.core.annotation.Java110Listener;
+
+import java.util.List;
+
 /**
  * 淇濆瓨灏忓尯渚﹀惉
  * add by wuxw 2019-06-30
  */
 @Java110Listener("deleteCommunityListener")
 public class DeleteCommunityListener extends AbstractServiceApiListener {
+
+    @Autowired
+    private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
     @Override
     protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
         //Assert.hasKeyAndValue(reqJson, "xxx", "xxx");
@@ -40,6 +48,7 @@
 
         //娣诲姞鍗曞厓淇℃伅
         businesses.add(deleteCommunity(reqJson, context));
+        businesses.addAll(exitCommunityMember(reqJson));
 
         JSONObject paramInObj = super.restToCenterProtocol(businesses, context.getRequestCurrentHeaders());
 
@@ -49,6 +58,83 @@
         ResponseEntity<String> responseEntity = this.callService(context, service.getServiceCode(), paramInObj);
 
         context.setResponseEntity(responseEntity);
+    }
+
+    /**
+     * 閫�鍑哄皬鍖烘垚鍛�
+     *
+     * @param paramInJson 鎺ュ彛浼犲叆鍏ュ弬
+     * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
+     */
+    private JSONArray exitCommunityMember(JSONObject paramInJson) {
+
+        JSONArray businesses = new JSONArray();
+
+        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_MEMBER_QUIT_COMMUNITY);
+        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ + 1);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+        JSONObject businessCommunityMember = new JSONObject();
+        CommunityMemberDto communityMemberDto = new CommunityMemberDto();
+        communityMemberDto.setMemberTypeCd(CommunityMemberTypeConstant.AGENT);
+        communityMemberDto.setCommunityId(paramInJson.getString("communityId"));
+        communityMemberDto.setStatusCd(StatusConstant.STATUS_CD_VALID);
+        List<CommunityMemberDto> communityMemberDtoList = communityInnerServiceSMOImpl.getCommunityMembers(communityMemberDto);
+
+        if (communityMemberDtoList == null || communityMemberDtoList.size() != 1) {
+            throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "灏忓尯鍜屼唬鐞嗗晢瀛樺湪鍏崇郴瀛樺湪寮傚父锛岃妫�鏌�");
+        }
+
+
+        businessCommunityMember.put("communityMemberId", communityMemberDtoList.get(0).getCommunityMemberId());
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessCommunityMember", businessCommunityMember);
+
+        businesses.add(business);
+
+        //寮�鍙戣��
+         business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_MEMBER_QUIT_COMMUNITY);
+        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ + 2);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+         businessCommunityMember = new JSONObject();
+         communityMemberDto = new CommunityMemberDto();
+        communityMemberDto.setMemberTypeCd(CommunityMemberTypeConstant.DEV);
+        communityMemberDto.setCommunityId(paramInJson.getString("communityId"));
+        communityMemberDto.setStatusCd(StatusConstant.STATUS_CD_VALID);
+         communityMemberDtoList = communityInnerServiceSMOImpl.getCommunityMembers(communityMemberDto);
+
+        if (communityMemberDtoList == null || communityMemberDtoList.size() != 1) {
+            throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "灏忓尯鍜屼唬鐞嗗晢瀛樺湪鍏崇郴瀛樺湪寮傚父锛岃妫�鏌�");
+        }
+
+
+        businessCommunityMember.put("communityMemberId", communityMemberDtoList.get(0).getCommunityMemberId());
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessCommunityMember", businessCommunityMember);
+
+        businesses.add(business);
+        //杩愮淮鍥㈤槦
+         business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_MEMBER_QUIT_COMMUNITY);
+        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ + 3);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+         businessCommunityMember = new JSONObject();
+         communityMemberDto = new CommunityMemberDto();
+        communityMemberDto.setMemberTypeCd(CommunityMemberTypeConstant.OPT);
+        communityMemberDto.setCommunityId(paramInJson.getString("communityId"));
+        communityMemberDto.setStatusCd(StatusConstant.STATUS_CD_VALID);
+         communityMemberDtoList = communityInnerServiceSMOImpl.getCommunityMembers(communityMemberDto);
+
+        if (communityMemberDtoList == null || communityMemberDtoList.size() != 1) {
+            throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "灏忓尯鍜屼唬鐞嗗晢瀛樺湪鍏崇郴瀛樺湪寮傚父锛岃妫�鏌�");
+        }
+
+
+        businessCommunityMember.put("communityMemberId", communityMemberDtoList.get(0).getCommunityMemberId());
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessCommunityMember", businessCommunityMember);
+
+        businesses.add(business);
+
+        return businesses;
     }
 
     @Override
@@ -88,4 +174,11 @@
         return business;
     }
 
+    public ICommunityInnerServiceSMO getCommunityInnerServiceSMOImpl() {
+        return communityInnerServiceSMOImpl;
+    }
+
+    public void setCommunityInnerServiceSMOImpl(ICommunityInnerServiceSMO communityInnerServiceSMOImpl) {
+        this.communityInnerServiceSMOImpl = communityInnerServiceSMOImpl;
+    }
 }

--
Gitblit v1.8.0