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