| | |
| | | */ |
| | | 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.event.cmd.Cmd; |
| | | import com.java110.core.event.cmd.CmdEvent; |
| | | import com.java110.core.factory.GenerateCodeFactory; |
| | | import com.java110.dto.maintainance.MaintainanceItemDto; |
| | | import com.java110.dto.questionTitle.QuestionTitleDto; |
| | | 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; |
| | |
| | | @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("未包含选项"); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | 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()); |
| | | } |
| | | } |