| | |
| | | */ |
| | | 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.QuestionTitleDto; |
| | | import com.java110.dto.question.QuestionTitleValueDto; |
| | | 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; |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | |
| | | import java.util.List; |
| | | |
| | | |
| | | /** |
| | |
| | | @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 |
| | |
| | | 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")); |
| | | if(titleValues.getJSONObject(titleValueIndex).containsKey("score")) { |
| | | questionTitleValuePo.setScore(titleValues.getJSONObject(titleValueIndex).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()); |
| | | } |
| | | } |