java110 лет назад: 2
Родитель
Сommit
2453546605

+ 6 - 6
java110-db/src/main/resources/mapper/user/QuestionTitleValueV1ServiceDaoImplMapper.xml

@@ -65,12 +65,6 @@
         <if test="score !=null and score != ''">
             , t.score= #{score}
         </if>
-        <if test="titleId !=null and titleId != ''">
-            , t.title_id= #{titleId}
-        </if>
-        <if test="communityId !=null and communityId != ''">
-            , t.community_id= #{communityId}
-        </if>
         <if test="qaValue !=null and qaValue != ''">
             , t.qa_value= #{qaValue}
         </if>
@@ -81,6 +75,12 @@
         <if test="valueId !=null and valueId != ''">
             and t.value_id= #{valueId}
         </if>
+        <if test="titleId !=null and titleId != ''">
+            and t.title_id= #{titleId}
+        </if>
+        <if test="communityId !=null and communityId != ''">
+            and t.community_id= #{communityId}
+        </if>
 
     </update>
 

+ 25 - 0
service-user/src/main/java/com/java110/user/cmd/question/DeleteQuestionTitleCmd.java

@@ -21,8 +21,12 @@ 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.dto.questionTitle.QuestionTitleDto;
+import com.java110.dto.questionTitleValue.QuestionTitleValueDto;
 import com.java110.intf.user.IQuestionTitleV1InnerServiceSMO;
+import com.java110.intf.user.IQuestionTitleValueV1InnerServiceSMO;
 import com.java110.po.questionTitle.QuestionTitlePo;
+import com.java110.po.questionTitleValue.QuestionTitleValuePo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
@@ -31,6 +35,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.List;
+
 /**
  * 类表述:删除
  * 服务编码:questionTitle.deleteQuestionTitle
@@ -48,6 +54,9 @@ public class DeleteQuestionTitleCmd extends Cmd {
     @Autowired
     private IQuestionTitleV1InnerServiceSMO questionTitleV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IQuestionTitleValueV1InnerServiceSMO questionTitleValueV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "titleId", "titleId不能为空");
@@ -66,6 +75,22 @@ public class DeleteQuestionTitleCmd extends Cmd {
             throw new CmdException("删除数据失败");
         }
 
+        if (QuestionTitleDto.TITLE_TYPE_QUESTIONS.equals(questionTitlePo.getTitleType())) {
+            cmdDataFlowContext.setResponseEntity(ResultVo.success());
+            return;
+        }
+        QuestionTitleValueDto questionTitleValueDto = new QuestionTitleValueDto();
+        questionTitleValueDto.setTitleId(reqJson.getString("titleId"));
+        List<QuestionTitleValueDto> questionTitleValues = questionTitleValueV1InnerServiceSMOImpl.queryQuestionTitleValues(questionTitleValueDto);
+        if (questionTitleValues != null && questionTitleValues.size() > 0) {
+            QuestionTitleValuePo deleteQuestionTitleValuePo = new QuestionTitleValuePo();
+            deleteQuestionTitleValuePo.setTitleId(questionTitlePo.getTitleId());
+            flag = questionTitleValueV1InnerServiceSMOImpl.deleteQuestionTitleValue(deleteQuestionTitleValuePo);
+            if (flag < 1) {
+                throw new CmdException("更新数据失败");
+            }
+        }
+
         cmdDataFlowContext.setResponseEntity(ResultVo.success());
     }
 }

+ 49 - 0
service-user/src/main/java/com/java110/user/cmd/question/UpdateQuestionTitleCmd.java

@@ -15,14 +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.inspection.InspectionItemTitleDto;
+import com.java110.dto.maintainance.MaintainanceItemDto;
+import com.java110.dto.maintainance.MaintainanceItemValueDto;
+import com.java110.dto.questionTitle.QuestionTitleDto;
+import com.java110.dto.questionTitleValue.QuestionTitleValueDto;
 import com.java110.intf.user.IQuestionTitleV1InnerServiceSMO;
+import com.java110.intf.user.IQuestionTitleValueV1InnerServiceSMO;
+import com.java110.po.maintainance.MaintainanceItemValuePo;
 import com.java110.po.questionTitle.QuestionTitlePo;
+import com.java110.po.questionTitleValue.QuestionTitleValuePo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
@@ -31,6 +41,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.List;
+
 
 /**
  * 类表述:更新
@@ -51,11 +63,21 @@ public class UpdateQuestionTitleCmd extends Cmd {
     @Autowired
     private IQuestionTitleV1InnerServiceSMO questionTitleV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IQuestionTitleValueV1InnerServiceSMO questionTitleValueV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "titleId", "titleId不能为空");
         Assert.hasKeyAndValue(reqJson, "communityId", "communityId不能为空");
 
+        JSONArray titleValues = null;
+        if (!QuestionTitleDto.TITLE_TYPE_QUESTIONS.equals(reqJson.getString("titleType"))) {
+            titleValues = reqJson.getJSONArray("titleValues");
+            if (titleValues.size() < 1) {
+                throw new IllegalArgumentException("未包含选项");
+            }
+        }
     }
 
     @Override
@@ -69,6 +91,33 @@ public class UpdateQuestionTitleCmd extends Cmd {
             throw new CmdException("更新数据失败");
         }
 
+        if (QuestionTitleDto.TITLE_TYPE_QUESTIONS.equals(questionTitlePo.getTitleType())) {
+            cmdDataFlowContext.setResponseEntity(ResultVo.success());
+            return;
+        }
+        QuestionTitleValueDto questionTitleValueDto = new QuestionTitleValueDto();
+        questionTitleValueDto.setTitleId(reqJson.getString("titleId"));
+        List<QuestionTitleValueDto> questionTitleValues = questionTitleValueV1InnerServiceSMOImpl.queryQuestionTitleValues(questionTitleValueDto);
+        if (questionTitleValues != null && questionTitleValues.size() > 0) {
+            QuestionTitleValuePo deleteQuestionTitleValuePo = new QuestionTitleValuePo();
+            deleteQuestionTitleValuePo.setTitleId(questionTitlePo.getTitleId());
+            flag = questionTitleValueV1InnerServiceSMOImpl.deleteQuestionTitleValue(deleteQuestionTitleValuePo);
+            if (flag < 1) {
+                throw new CmdException("更新数据失败");
+            }
+        }
+        JSONArray titleValues = reqJson.getJSONArray("titleValues");
+        QuestionTitleValuePo questionTitleValuePo = null;
+        for (int titleValueIndex = 0; titleValueIndex < titleValues.size(); titleValueIndex++) {
+            questionTitleValuePo = new QuestionTitleValuePo();
+            questionTitleValuePo.setQaValue(titleValues.getJSONObject(titleValueIndex).getString("qaValue"));
+            questionTitleValuePo.setSeq(titleValues.getJSONObject(titleValueIndex).getString("seq"));
+            questionTitleValuePo.setTitleId(questionTitlePo.getTitleId());
+            questionTitleValuePo.setValueId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_valueId));
+            questionTitleValuePo.setCommunityId(questionTitlePo.getCommunityId());
+            questionTitleValueV1InnerServiceSMOImpl.saveQuestionTitleValue(questionTitleValuePo);
+        }
+
         cmdDataFlowContext.setResponseEntity(ResultVo.success());
     }
 }