From 3d571a3e5ef8e6cc76214b79ea386455afb1bd9d Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期五, 27 十二月 2024 11:02:05 +0800
Subject: [PATCH] 优化代码

---
 service-user/src/main/java/com/java110/user/cmd/question/SaveQuestionTitleCmd.java |   42 +++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 41 insertions(+), 1 deletions(-)

diff --git a/service-user/src/main/java/com/java110/user/cmd/question/SaveQuestionTitleCmd.java b/service-user/src/main/java/com/java110/user/cmd/question/SaveQuestionTitleCmd.java
index 9f98376..558bd6e 100644
--- a/service-user/src/main/java/com/java110/user/cmd/question/SaveQuestionTitleCmd.java
+++ b/service-user/src/main/java/com/java110/user/cmd/question/SaveQuestionTitleCmd.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,8 +23,11 @@
 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.QuestionTitleDto;
 import com.java110.intf.user.IQuestionTitleV1InnerServiceSMO;
-import com.java110.po.questionTitle.QuestionTitlePo;
+import com.java110.intf.user.IQuestionTitleValueV1InnerServiceSMO;
+import com.java110.po.question.QuestionTitlePo;
+import com.java110.po.question.QuestionTitleValuePo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
@@ -52,11 +56,23 @@
     @Autowired
     private IQuestionTitleV1InnerServiceSMO questionTitleV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IQuestionTitleValueV1InnerServiceSMO questionTitleValueV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "qaTitle", "璇锋眰鎶ユ枃涓湭鍖呭惈qaTitle");
         Assert.hasKeyAndValue(reqJson, "titleType", "璇锋眰鎶ユ枃涓湭鍖呭惈titleType");
         Assert.hasKeyAndValue(reqJson, "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈communityId");
+
+        //todo 濡傛灉涓嶆槸绠�绛旈 闇�瑕� 鍖呭惈閫夐」
+        JSONArray titleValues = null;
+        if (!QuestionTitleDto.TITLE_TYPE_QUESTIONS.equals(reqJson.getString("titleType"))) {
+            titleValues = reqJson.getJSONArray("titleValues");
+            if (titleValues.size() < 1) {
+                throw new IllegalArgumentException("鏈寘鍚�夐」");
+            }
+        }
 
     }
 
@@ -72,6 +88,30 @@
             throw new CmdException("淇濆瓨鏁版嵁澶辫触");
         }
 
+        //todo 绠�绛旈涓嶇敤 鍐欏叆锛岀洿鎺ヨ繑鍥�
+        if (QuestionTitleDto.TITLE_TYPE_QUESTIONS.equals(questionTitlePo.getTitleType())) {
+            cmdDataFlowContext.setResponseEntity(ResultVo.success());
+            return;
+        }
+        JSONArray titleValues = reqJson.getJSONArray("titleValues");
+        QuestionTitleValuePo questionTitleValuePo = null;
+        JSONObject valueObj = null;
+        for (int titleValueIndex = 0; titleValueIndex < titleValues.size(); titleValueIndex++) {
+            valueObj = titleValues.getJSONObject(titleValueIndex);
+            questionTitleValuePo = new QuestionTitleValuePo();
+            questionTitleValuePo.setQaValue(valueObj.getString("itemValue"));
+            questionTitleValuePo.setSeq((titleValueIndex+1)+"");
+            if(valueObj.containsKey("score")) {
+                questionTitleValuePo.setScore(valueObj.getString("score"));
+            }else{
+                questionTitleValuePo.setScore("0");
+            }
+            questionTitleValuePo.setTitleId(questionTitlePo.getTitleId());
+            questionTitleValuePo.setValueId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_valueId));
+            questionTitleValuePo.setCommunityId(questionTitlePo.getCommunityId());
+            questionTitleValueV1InnerServiceSMOImpl.saveQuestionTitleValue(questionTitleValuePo);
+        }
+
         cmdDataFlowContext.setResponseEntity(ResultVo.success());
     }
 }

--
Gitblit v1.8.0