From b88a288f4f787b509463678e3cd9ccfa3f37014b Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期三, 11 三月 2026 12:01:05 +0800
Subject: [PATCH] 导入测试

---
 service-user/src/main/java/com/java110/user/cmd/question/UpdateQuestionAnswerCmd.java |   79 ++++++++++++++++++++++++++++++++++++---
 1 files changed, 72 insertions(+), 7 deletions(-)

diff --git a/service-user/src/main/java/com/java110/user/cmd/question/UpdateQuestionAnswerCmd.java b/service-user/src/main/java/com/java110/user/cmd/question/UpdateQuestionAnswerCmd.java
index 64e427d..3b51300 100644
--- a/service-user/src/main/java/com/java110/user/cmd/question/UpdateQuestionAnswerCmd.java
+++ b/service-user/src/main/java/com/java110/user/cmd/question/UpdateQuestionAnswerCmd.java
@@ -15,17 +15,24 @@
  */
 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;
 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.question.QuestionAnswerDto;
+import com.java110.intf.user.IQuestionAnswerTitleRelV1InnerServiceSMO;
 import com.java110.intf.user.IQuestionAnswerV1InnerServiceSMO;
-import com.java110.po.questionAnswer.QuestionAnswerPo;
+import com.java110.intf.user.IUserQuestionAnswerV1InnerServiceSMO;
+import com.java110.po.question.QuestionAnswerPo;
+import com.java110.po.question.QuestionAnswerTitleRelPo;
+import com.java110.po.user.UserQuestionAnswerPo;
+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.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.slf4j.Logger;
@@ -47,14 +54,32 @@
 
     private static Logger logger = LoggerFactory.getLogger(UpdateQuestionAnswerCmd.class);
 
-
     @Autowired
     private IQuestionAnswerV1InnerServiceSMO questionAnswerV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IQuestionAnswerTitleRelV1InnerServiceSMO questionAnswerTitleRelV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IQuestionAnswerBMO questionAnswerBMOImpl;
+
+    @Autowired
+    private IUserQuestionAnswerV1InnerServiceSMO userQuestionAnswerV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
-        Assert.hasKeyAndValue(reqJson, "qaId", "qaId涓嶈兘涓虹┖");
-        Assert.hasKeyAndValue(reqJson, "communityId", "communityId涓嶈兘涓虹┖");
+        Assert.hasKeyAndValue(reqJson, "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈communityId");
+        Assert.hasKeyAndValue(reqJson, "qaName", "璇锋眰鎶ユ枃涓湭鍖呭惈鎶曠エ鍚嶇О");
+        Assert.hasKeyAndValue(reqJson, "qaId", "璇锋眰鎶ユ枃涓湭鍖呭惈棰樼洰");
+        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("鏈寘鍚鐩�");
+        }
 
     }
 
@@ -62,12 +87,52 @@
     @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(reqJson.getString("qaId"));
+        questionAnswerPo.setQaName(reqJson.getString("qaName"));
+        questionAnswerPo.setCommunityId(reqJson.getString("communityId"));
+        questionAnswerPo.setQaType(QuestionAnswerDto.QA_TYPE_QUESTION);
+        questionAnswerPo.setState(QuestionAnswerDto.STATE_WAIT);
         int flag = questionAnswerV1InnerServiceSMOImpl.updateQuestionAnswer(questionAnswerPo);
 
         if (flag < 1) {
-            throw new CmdException("鏇存柊鏁版嵁澶辫触");
+            throw new CmdException("淇濆瓨鏁版嵁澶辫触");
         }
+        JSONArray questionTitles = reqJson.getJSONArray("questionTitles");
+        QuestionAnswerTitleRelPo questionAnswerTitleRelPo = new QuestionAnswerTitleRelPo();
+        questionAnswerTitleRelPo.setQaId(reqJson.getString("qaId"));
+        questionAnswerTitleRelPo.setCommunityId(reqJson.getString("communityId"));
+        questionAnswerTitleRelV1InnerServiceSMOImpl.deleteQuestionAnswerTitleRel(questionAnswerTitleRelPo);
+        JSONObject title = null;
+        for (int titleIndex = 0; titleIndex < questionTitles.size(); titleIndex++) {
+            title= questionTitles.getJSONObject(titleIndex);
+            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("11"));
+            questionAnswerTitleRelV1InnerServiceSMOImpl.saveQuestionAnswerTitleRel(questionAnswerTitleRelPo);
+        }
+
+        JSONArray roomIds = reqJson.getJSONArray("roomIds");
+        if(roomIds == null || roomIds.size() < 1){
+            return ;
+        }
+        UserQuestionAnswerPo userQuestionAnswerPo = new UserQuestionAnswerPo();
+        userQuestionAnswerPo.setQaId(reqJson.getString("qaId"));
+        userQuestionAnswerPo.setCommunityId(reqJson.getString("communityId"));
+        userQuestionAnswerV1InnerServiceSMOImpl.deleteUserQuestionAnswer(userQuestionAnswerPo);
+
+        questionAnswerBMOImpl.saveUserQuestionAnswer(questionAnswerPo, reqJson.getJSONArray("roomIds"));
 
         cmdDataFlowContext.setResponseEntity(ResultVo.success());
     }

--
Gitblit v1.8.0