From 783f0a3125ad9500ff55e6e352dca4da7e8f8c7b Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期日, 19 六月 2022 10:41:57 +0800
Subject: [PATCH] 优化广告调整为cmd 模式
---
service-common/src/main/java/com/java110/common/cmd/advert/SaveAdvertCmd.java | 118 ++++++++++++++++++++++++++++++++++++-----------------------
1 files changed, 72 insertions(+), 46 deletions(-)
diff --git a/service-api/src/main/java/com/java110/api/listener/advert/SaveAdvertListener.java b/service-common/src/main/java/com/java110/common/cmd/advert/SaveAdvertCmd.java
old mode 100755
new mode 100644
similarity index 62%
rename from service-api/src/main/java/com/java110/api/listener/advert/SaveAdvertListener.java
rename to service-common/src/main/java/com/java110/common/cmd/advert/SaveAdvertCmd.java
index 76fcf71..63a7872
--- a/service-api/src/main/java/com/java110/api/listener/advert/SaveAdvertListener.java
+++ b/service-common/src/main/java/com/java110/common/cmd/advert/SaveAdvertCmd.java
@@ -1,34 +1,65 @@
-package com.java110.api.listener.advert;
+/*
+ * Copyright 2017-2020 鍚村鏂� and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.common.cmd.advert;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
-import com.java110.api.listener.AbstractServiceApiPlusListener;
-import com.java110.core.annotation.Java110Listener;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.annotation.Java110Transactional;
import com.java110.core.context.DataFlowContext;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.file.FileDto;
+import com.java110.intf.common.IAdvertItemV1InnerServiceSMO;
+import com.java110.intf.common.IAdvertV1InnerServiceSMO;
import com.java110.intf.common.IFileInnerServiceSMO;
import com.java110.intf.common.IFileRelInnerServiceSMO;
import com.java110.po.advert.AdvertItemPo;
import com.java110.po.advert.AdvertPo;
import com.java110.po.file.FileRelPo;
import com.java110.utils.constant.BusinessTypeConstant;
-import com.java110.utils.constant.ServiceCodeAdvertConstant;
+import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.StringUtil;
+import com.java110.vo.ResultVo;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
import java.util.Date;
/**
- * 淇濆瓨灏忓尯渚﹀惉
- * add by wuxw 2019-06-30
+ * 绫昏〃杩帮細淇濆瓨
+ * 鏈嶅姟缂栫爜锛歛dvert.saveAdvert
+ * 璇锋眰璺姴锛�/app/advert.SaveAdvert
+ * add by 鍚村鏂� at 2022-06-19 10:07:43 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 瀹樼綉锛歨ttp://www.homecommunity.cn
+ * 娓╅Θ鎻愮ず锛氬鏋滄偍瀵规鏂囦欢杩涜淇敼 璇蜂笉瑕佸垹闄ゅ師鏈変綔鑰呭強娉ㄩ噴淇℃伅锛岃琛ュ厖鎮ㄧ殑 淇敼鐨勫師鍥犱互鍙婅仈绯婚偖绠卞涓�
+ * // modify by 寮犱笁 at 2021-09-12 绗�10琛屽湪鏌愮鍦烘櫙涓嬪瓨鍦ㄦ煇绉峛ug 闇�瑕佷慨澶嶏紝娉ㄩ噴10鑷�20琛� 鍔犲叆 20琛岃嚦30琛�
*/
-@Java110Listener("saveAdvertListener")
-public class SaveAdvertListener extends AbstractServiceApiPlusListener {
+@Java110Cmd(serviceCode = "advert.saveAdvert")
+public class SaveAdvertCmd extends Cmd {
+
+ private static Logger logger = LoggerFactory.getLogger(SaveAdvertCmd.class);
+
+ public static final String CODE_PREFIX_ID = "10";
@Autowired
private IFileInnerServiceSMO fileInnerServiceSMOImpl;
@@ -36,8 +67,14 @@
@Autowired
private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
+ @Autowired
+ private IAdvertV1InnerServiceSMO advertV1InnerServiceSMOImpl;
+
+ @Autowired
+ private IAdvertItemV1InnerServiceSMO advertItemV1InnerServiceSMOImpl;
+
@Override
- protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
+ public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
//Assert.hasKeyAndValue(reqJson, "xxx", "xxx");
Assert.hasKeyAndValue(reqJson, "adName", "蹇呭~锛岃濉啓骞垮憡鍚嶇О");
Assert.hasKeyAndValue(reqJson, "adTypeCd", "蹇呭~锛岃閫夋嫨骞垮憡绫诲瀷");
@@ -52,6 +89,7 @@
if (!hasKeyAndValue(reqJson, "photos") && !hasKeyAndValue(reqJson, "vedioName")) {
throw new IllegalArgumentException("璇锋眰鎶ユ枃涓病鏈夊寘鍚棰戞垨鍥剧墖");
}
+
}
private boolean hasKeyAndValue(JSONObject paramIn, String key) {
@@ -64,28 +102,34 @@
return true;
}
+
@Override
- protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
+ @Java110Transactional
+ public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
+
String advertId = GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_advertId);
reqJson.put("advertId", advertId);
reqJson.put("state", "1000");
reqJson.put("createTime", new Date());
reqJson.put("communityId", "9999");
AdvertPo advertPo = BeanConvertUtil.covertBean(reqJson, AdvertPo.class);
- super.insert(context, advertPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_ADVERT);
+ int flag = advertV1InnerServiceSMOImpl.saveAdvert(advertPo);
+ if(flag < 1){
+ throw new CmdException("淇濆瓨澶辫触");
+ }
if (hasKeyAndValue(reqJson, "photos") && reqJson.getJSONArray("photos").size() > 0) {
JSONArray photos = reqJson.getJSONArray("photos");
for (int _photoIndex = 0; _photoIndex < photos.size(); _photoIndex++) {
- addAdvertItemPhoto(reqJson, context, photos.getString(_photoIndex));
- addAdvertFileRel(reqJson, context, "40000");
+ addAdvertItemPhoto(reqJson, cmdDataFlowContext, photos.getString(_photoIndex));
+ addAdvertFileRel(reqJson, cmdDataFlowContext, "40000");
}
} else {
- addAdvertItemVedio(reqJson, context);
- addAdvertFileRel(reqJson, context, "50000");
+ addAdvertItemVedio(reqJson, cmdDataFlowContext);
+ addAdvertFileRel(reqJson, cmdDataFlowContext, "50000");
}
}
- public void addAdvertItemPhoto(JSONObject paramInJson, DataFlowContext dataFlowContext, String photo) {
+ public void addAdvertItemPhoto(JSONObject paramInJson, ICmdDataFlowContext dataFlowContext, String photo) {
String itemTypeCd = "";
String url = "";
FileDto fileDto = new FileDto();
@@ -106,7 +150,10 @@
advertItemPo.setItemTypeCd(itemTypeCd);
advertItemPo.setUrl(fileName);
advertItemPo.setSeq("1");
- super.insert(dataFlowContext, advertItemPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_ADVERT_ITEM);
+ int flag = advertItemV1InnerServiceSMOImpl.saveAdvertItem(advertItemPo);
+ if(flag < 1){
+ throw new CmdException("淇濆瓨骞垮憡澶辫触");
+ }
}
@@ -117,7 +164,7 @@
* @param dataFlowContext 鏁版嵁涓婁笅鏂�
* @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
*/
- public void addAdvertFileRel(JSONObject paramInJson, DataFlowContext dataFlowContext, String relTypeCd) {
+ public void addAdvertFileRel(JSONObject paramInJson, ICmdDataFlowContext dataFlowContext, String relTypeCd) {
FileRelPo fileRelPo = new FileRelPo();
fileRelPo.setRelTypeCd(relTypeCd);
fileRelPo.setSaveWay("40000".equals(relTypeCd) ? "table" : "ftp");
@@ -125,7 +172,10 @@
fileRelPo.setObjId(paramInJson.getString("advertId"));
fileRelPo.setFileRealName(paramInJson.getString("vedioName"));
fileRelPo.setFileSaveName(paramInJson.getString("vedioName"));
- super.insert(dataFlowContext, fileRelPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FILE_REL);
+ int flag = fileRelInnerServiceSMOImpl.saveFileRel(fileRelPo);
+ if(flag < 1){
+ throw new CmdException("淇濆瓨骞垮憡澶辫触");
+ }
}
@@ -136,7 +186,7 @@
* @param dataFlowContext 鏁版嵁涓婁笅鏂�
* @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
*/
- public void addAdvertItemVedio(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+ public void addAdvertItemVedio(JSONObject paramInJson, ICmdDataFlowContext dataFlowContext) {
FileRelPo fileRelPo = new FileRelPo();
fileRelPo.setFileRelId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_fileRelId));
fileRelPo.setObjId(paramInJson.getString("advertId"));
@@ -158,29 +208,5 @@
advertItemPo.setUrl(url);
advertItemPo.setSeq("1");
super.insert(dataFlowContext, advertItemPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_ADVERT_ITEM);*/
- }
-
- @Override
- public String getServiceCode() {
- return ServiceCodeAdvertConstant.ADD_ADVERT;
- }
-
- @Override
- public HttpMethod getHttpMethod() {
- return HttpMethod.POST;
- }
-
- @Override
- public int getOrder() {
- return DEFAULT_ORDER;
- }
-
-
- public IFileInnerServiceSMO getFileInnerServiceSMOImpl() {
- return fileInnerServiceSMOImpl;
- }
-
- public void setFileInnerServiceSMOImpl(IFileInnerServiceSMO fileInnerServiceSMOImpl) {
- this.fileInnerServiceSMOImpl = fileInnerServiceSMOImpl;
}
}
--
Gitblit v1.8.0