From e18920790c687323c5f2945cae97d3b3cf6910ca Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 06 二月 2024 14:30:39 +0800
Subject: [PATCH] 优化代码
---
service-user/src/main/java/com/java110/user/cmd/question/SaveQuestionAnswerCmd.java | 67 ++++++++++++++++++++++++++++-----
1 files changed, 56 insertions(+), 11 deletions(-)
diff --git a/service-user/src/main/java/com/java110/user/cmd/question/SaveQuestionAnswerCmd.java b/service-user/src/main/java/com/java110/user/cmd/question/SaveQuestionAnswerCmd.java
index 7e5210a..72497c6 100644
--- a/service-user/src/main/java/com/java110/user/cmd/question/SaveQuestionAnswerCmd.java
+++ b/service-user/src/main/java/com/java110/user/cmd/question/SaveQuestionAnswerCmd.java
@@ -15,6 +15,7 @@
*/
package com.java110.user.cmd.question;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.annotation.Java110Transactional;
@@ -22,11 +23,15 @@
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.questionAnswer.QuestionAnswerDto;
+import com.java110.intf.user.IQuestionAnswerTitleRelV1InnerServiceSMO;
import com.java110.intf.user.IQuestionAnswerV1InnerServiceSMO;
import com.java110.po.questionAnswer.QuestionAnswerPo;
+import com.java110.po.questionAnswerTitleRel.QuestionAnswerTitleRelPo;
+import com.java110.user.bmo.question.IQuestionAnswerBMO;
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.springframework.beans.factory.annotation.Autowired;
import org.slf4j.Logger;
@@ -52,28 +57,68 @@
@Autowired
private IQuestionAnswerV1InnerServiceSMO questionAnswerV1InnerServiceSMOImpl;
+ @Autowired
+ private IQuestionAnswerTitleRelV1InnerServiceSMO questionAnswerTitleRelV1InnerServiceSMOImpl;
+
+ @Autowired
+ private IQuestionAnswerBMO questionAnswerBMOImpl;
+
@Override
public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
- Assert.hasKeyAndValue(reqJson, "qaType", "璇锋眰鎶ユ枃涓湭鍖呭惈qaType");
-Assert.hasKeyAndValue(reqJson, "qaName", "璇锋眰鎶ユ枃涓湭鍖呭惈qaName");
-Assert.hasKeyAndValue(reqJson, "startTime", "璇锋眰鎶ユ枃涓湭鍖呭惈startTime");
-Assert.hasKeyAndValue(reqJson, "endTime", "璇锋眰鎶ユ枃涓湭鍖呭惈endTime");
-Assert.hasKeyAndValue(reqJson, "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈communityId");
-
+ Assert.hasKeyAndValue(reqJson, "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈communityId");
+ Assert.hasKeyAndValue(reqJson, "qaName", "璇锋眰鎶ユ枃涓湭鍖呭惈鎶曠エ鍚嶇О");
+ Assert.hasKey(reqJson, "roomIds", "璇锋眰鎶ユ枃涓湭鍖呭惈鎶曠エ鎴垮眿");
+ Assert.hasKeyAndValue(reqJson, "startTime", "鏈寘鍚紑濮嬫椂闂�");
+ Assert.hasKeyAndValue(reqJson, "endTime", "鏈寘鍚粨鏉熸椂闂�");
+ Assert.hasKeyAndValue(reqJson, "content", "鏈寘鍚皟鐮旇鏄�");
+ Assert.hasKey(reqJson, "questionTitles", "璇锋眰鎶ユ枃涓湭鍖呭惈棰樼洰");
+ JSONArray questionTitles = reqJson.getJSONArray("questionTitles");
+ if (questionTitles == null || questionTitles.size() < 1) {
+ throw new IllegalArgumentException("鏈寘鍚鐩�");
+ }
}
@Override
@Java110Transactional
public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
-
- QuestionAnswerPo questionAnswerPo = BeanConvertUtil.covertBean(reqJson, QuestionAnswerPo.class);
+ //todo 鍐欏叆鎶曠エ淇℃伅
+ QuestionAnswerPo questionAnswerPo = new QuestionAnswerPo();
+ questionAnswerPo.setContent(reqJson.getString("content"));
+ questionAnswerPo.setEndTime(reqJson.getString("endTime"));
+ questionAnswerPo.setStartTime(reqJson.getString("startTime"));
questionAnswerPo.setQaId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+ questionAnswerPo.setQaName(reqJson.getString("qaName"));
+ questionAnswerPo.setCommunityId(reqJson.getString("communityId"));
+ questionAnswerPo.setQaType(QuestionAnswerDto.QA_TYPE_QUESTION);
+ questionAnswerPo.setState(QuestionAnswerDto.STATE_WAIT);
+ if (!StringUtil.isEmpty(reqJson.getString("communityId"))) {
+ questionAnswerPo.setObjType("3306"); //3306 鏄皬鍖猴紝3307 鏄晢鎴�
+ questionAnswerPo.setObjId(reqJson.getString("communityId"));
+ } else if (!StringUtil.isEmpty(reqJson.getString("storeId"))) {
+ questionAnswerPo.setObjType("3307"); //3306 鏄皬鍖猴紝3307 鏄晢鎴�
+ questionAnswerPo.setObjId(reqJson.getString("storeId"));
+ }
int flag = questionAnswerV1InnerServiceSMOImpl.saveQuestionAnswer(questionAnswerPo);
-
if (flag < 1) {
throw new CmdException("淇濆瓨鏁版嵁澶辫触");
}
-
+ JSONArray questionTitles = reqJson.getJSONArray("questionTitles");
+ JSONObject title = null;
+ for (int titleIndex = 0; titleIndex < questionTitles.size(); titleIndex++) {
+ title = questionTitles.getJSONObject(titleIndex);
+ QuestionAnswerTitleRelPo questionAnswerTitleRelPo = new QuestionAnswerTitleRelPo();
+ questionAnswerTitleRelPo.setCommunityId(reqJson.getString("communityId"));
+ questionAnswerTitleRelPo.setTitleId(title.getString("titleId"));
+ questionAnswerTitleRelPo.setSeq((titleIndex + 1) + "");
+ questionAnswerTitleRelPo.setScore("0");
+ if (title.containsKey("score")) {
+ questionAnswerTitleRelPo.setScore(title.getString("score"));
+ }
+ questionAnswerTitleRelPo.setQaId(questionAnswerPo.getQaId());
+ questionAnswerTitleRelPo.setQatrId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+ questionAnswerTitleRelV1InnerServiceSMOImpl.saveQuestionAnswerTitleRel(questionAnswerTitleRelPo);
+ }
+ questionAnswerBMOImpl.saveUserQuestionAnswer(questionAnswerPo, reqJson.getJSONArray("roomIds"));
cmdDataFlowContext.setResponseEntity(ResultVo.success());
}
}
--
Gitblit v1.8.0