From c5cb75e69127ce6a2020be78e0a10f284e2091ca Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期四, 02 一月 2020 23:56:42 +0800
Subject: [PATCH] 合并最新功能版本

---
 Api/src/main/java/com/java110/api/listener/advert/UpdateAdvertListener.java |   74 +++++++++++++++++++++++++++++++++++--
 1 files changed, 70 insertions(+), 4 deletions(-)

diff --git a/Api/src/main/java/com/java110/api/listener/advert/UpdateAdvertListener.java b/Api/src/main/java/com/java110/api/listener/advert/UpdateAdvertListener.java
index 971d473..0c593e7 100644
--- a/Api/src/main/java/com/java110/api/listener/advert/UpdateAdvertListener.java
+++ b/Api/src/main/java/com/java110/api/listener/advert/UpdateAdvertListener.java
@@ -9,8 +9,11 @@
 import com.java110.core.smo.advert.IAdvertInnerServiceSMO;
 import com.java110.core.smo.advert.IAdvertItemInnerServiceSMO;
 import com.java110.core.smo.file.IFileInnerServiceSMO;
+import com.java110.core.smo.file.IFileRelInnerServiceSMO;
 import com.java110.dto.advert.AdvertDto;
+import com.java110.dto.advert.AdvertItemDto;
 import com.java110.dto.file.FileDto;
+import com.java110.dto.file.FileRelDto;
 import com.java110.entity.center.AppService;
 import com.java110.event.service.api.ServiceDataFlowEvent;
 import com.java110.utils.constant.BusinessTypeConstant;
@@ -42,6 +45,9 @@
 
     @Autowired
     private IFileInnerServiceSMO fileInnerServiceSMOImpl;
+
+    @Autowired
+    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
 
     @Override
     protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
@@ -87,7 +93,27 @@
         AppService service = event.getAppService();
         //娣诲姞鍗曞厓淇℃伅
         businesses.add(updateAdvert(reqJson, context));
-       /* if (hasKeyAndValue(reqJson, "photos") && reqJson.getJSONArray("photos").size() > 0) {
+
+        AdvertItemDto advertItemDto = new AdvertItemDto();
+        advertItemDto.setAdvertId(reqJson.getString("advertId"));
+        advertItemDto.setItemTypeCds(new String[]{"8888", "9999"});
+        List<AdvertItemDto> advertItemDtos = advertItemInnerServiceSMOImpl.queryAdvertItems(advertItemDto);
+
+        //鍒犻櫎鐓х墖鎴栬棰�
+        for (AdvertItemDto tmpAdvertItemDto : advertItemDtos) {
+            businesses.add(delAdvertItemPhotoOrVideo(tmpAdvertItemDto, context));
+        }
+
+        //鍒犻櫎鏂囦欢鍜� 骞垮憡鐨勫叧绯�
+        FileRelDto fileRelDto = new FileRelDto();
+        fileRelDto.setObjId(reqJson.getString("advertId"));
+        fileRelDto.setRelTypeCds(new String[]{"40000","50000"});
+        List<FileRelDto> fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto);
+        for (FileRelDto tmpFileRelDto : fileRelDtos) {
+            businesses.add(delAdvertFileRel(tmpFileRelDto, context));
+        }
+
+        if (hasKeyAndValue(reqJson, "photos") && reqJson.getJSONArray("photos").size() > 0) {
             JSONArray photos = reqJson.getJSONArray("photos");
             for (int _photoIndex = 0; _photoIndex < photos.size(); _photoIndex++) {
                 businesses.add(addAdvertItemPhoto(reqJson, context, photos.getString(_photoIndex)));
@@ -97,7 +123,7 @@
         } else {
             businesses.add(addAdvertItemVedio(reqJson, context));
             businesses.add(addAdvertFileRel(reqJson, context, "50000"));
-        }*/
+        }
 
 
         JSONObject paramInObj = super.restToCenterProtocol(businesses, context.getRequestCurrentHeaders());
@@ -108,6 +134,26 @@
         ResponseEntity<String> responseEntity = this.callService(context, service.getServiceCode(), paramInObj);
 
         context.setResponseEntity(responseEntity);
+    }
+
+    /**
+     * 鍒犻櫎鎵�鏈夌殑鐓х墖鎴栬棰戜俊鎭�
+     *
+     * @param advertItemDto
+     * @param context
+     * @return
+     */
+    private JSONObject delAdvertItemPhotoOrVideo(AdvertItemDto advertItemDto, DataFlowContext context) {
+        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_DELETE_ADVERT_ITEM);
+        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+        JSONObject businessAdvertItem = new JSONObject();
+        businessAdvertItem.put("advertItemId", advertItemDto.getAdvertItemId());
+        businessAdvertItem.put("communityId", advertItemDto.getCommunityId());
+        //璁$畻 搴旀敹閲戦
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessAdvertItem", businessAdvertItem);
+        return business;
     }
 
     private JSONObject addAdvertItemPhoto(JSONObject paramInJson, DataFlowContext dataFlowContext, String photo) {
@@ -131,7 +177,7 @@
 
         JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
         business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_ADVERT_ITEM);
-        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ);
+        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ + 1);
         business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
         JSONObject businessAdvertItem = new JSONObject();
         businessAdvertItem.put("advertId", paramInJson.getString("advertId"));
@@ -163,7 +209,7 @@
 
         JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
         business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_ADVERT_ITEM);
-        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ);
+        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ + 1);
         business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
         JSONObject businessAdvertItem = new JSONObject();
         businessAdvertItem.put("advertId", paramInJson.getString("advertId"));
@@ -204,6 +250,26 @@
         return business;
     }
 
+    /**
+     * 鍒犻櫎骞垮憡鏂囦欢鍏崇郴
+     *
+     * @param fileRelDto      鎺ュ彛璋冪敤鏀句紶鍏ュ叆鍙�
+     * @param dataFlowContext 鏁版嵁涓婁笅鏂�
+     * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
+     */
+    private JSONObject delAdvertFileRel(FileRelDto fileRelDto, DataFlowContext dataFlowContext) {
+
+
+        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_DELETE_FILE_REL);
+        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ + 1);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+        JSONObject businessUnit = new JSONObject();
+        businessUnit.put("fileRelId", fileRelDto.getFileRelId());
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessFileRel", businessUnit);
+        return business;
+    }
+
     @Override
     public String getServiceCode() {
         return ServiceCodeAdvertConstant.UPDATE_ADVERT;

--
Gitblit v1.8.0