From 08fe53f4bba6265929d871701ec8ac9e0b14ba75 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期一, 08 二月 2021 10:33:42 +0800
Subject: [PATCH] 优化 加入 默认投票数 0
---
service-user/src/main/java/com/java110/user/bmo/userQuestionAnswerValue/impl/SaveUserQuestionAnswerValueBMOImpl.java | 90 ++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 85 insertions(+), 5 deletions(-)
diff --git a/service-user/src/main/java/com/java110/user/bmo/userQuestionAnswerValue/impl/SaveUserQuestionAnswerValueBMOImpl.java b/service-user/src/main/java/com/java110/user/bmo/userQuestionAnswerValue/impl/SaveUserQuestionAnswerValueBMOImpl.java
index 0b5e103..ba3a071 100644
--- a/service-user/src/main/java/com/java110/user/bmo/userQuestionAnswerValue/impl/SaveUserQuestionAnswerValueBMOImpl.java
+++ b/service-user/src/main/java/com/java110/user/bmo/userQuestionAnswerValue/impl/SaveUserQuestionAnswerValueBMOImpl.java
@@ -1,20 +1,38 @@
package com.java110.user.bmo.userQuestionAnswerValue.impl;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.questionAnswer.QuestionAnswerDto;
+import com.java110.intf.user.IQuestionAnswerInnerServiceSMO;
+import com.java110.intf.user.IUserQuestionAnswerInnerServiceSMO;
import com.java110.intf.user.IUserQuestionAnswerValueInnerServiceSMO;
+import com.java110.po.userQuestionAnswer.UserQuestionAnswerPo;
import com.java110.po.userQuestionAnswerValue.UserQuestionAnswerValuePo;
import com.java110.user.bmo.userQuestionAnswerValue.ISaveUserQuestionAnswerValueBMO;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.StringUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
@Service("saveUserQuestionAnswerValueBMOImpl")
public class SaveUserQuestionAnswerValueBMOImpl implements ISaveUserQuestionAnswerValueBMO {
@Autowired
private IUserQuestionAnswerValueInnerServiceSMO userQuestionAnswerValueInnerServiceSMOImpl;
+
+ @Autowired
+ private IUserQuestionAnswerInnerServiceSMO userQuestionAnswerInnerServiceSMOImpl;
+
+ @Autowired
+ private IQuestionAnswerInnerServiceSMO questionAnswerInnerServiceSMOImpl;
+
/**
* 娣诲姞灏忓尯淇℃伅
@@ -23,16 +41,78 @@
* @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
*/
@Java110Transactional
- public ResponseEntity<String> save(UserQuestionAnswerValuePo userQuestionAnswerValuePo) {
+ public ResponseEntity<String> save(UserQuestionAnswerValuePo userQuestionAnswerValuePo, JSONArray questionAnswerTitles) {
- userQuestionAnswerValuePo.setUserTitleId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_userTitleId));
- int flag = userQuestionAnswerValueInnerServiceSMOImpl.saveUserQuestionAnswerValue(userQuestionAnswerValuePo);
+ QuestionAnswerDto questionAnswerDto = new QuestionAnswerDto();
+ questionAnswerDto.setObjId(userQuestionAnswerValuePo.getObjId());
+ questionAnswerDto.setObjType(userQuestionAnswerValuePo.getObjType());
+ questionAnswerDto.setQaId(userQuestionAnswerValuePo.getQaId());
+ List<QuestionAnswerDto> questionAnswerDtos = questionAnswerInnerServiceSMOImpl.queryQuestionAnswers(questionAnswerDto);
+ Assert.listOnlyOne(questionAnswerDtos, "闂嵎涓嶅瓨鍦�");
- if (flag > 0) {
+ JSONObject titleObj = null;
+ UserQuestionAnswerValuePo tmpUserUserQuestionAnswerValue = null;
+ List<UserQuestionAnswerValuePo> tmpUserUserQuestionAnswerValues = new ArrayList<>();
+ UserQuestionAnswerPo userQuestionAnswerPo = new UserQuestionAnswerPo();
+ if(StringUtil.isEmpty(userQuestionAnswerValuePo.getUserQaId()) || userQuestionAnswerValuePo.getUserQaId().startsWith("-")){
+ userQuestionAnswerPo.setUserQaId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_userQaId));
+ }else{
+ userQuestionAnswerPo.setUserQaId(userQuestionAnswerValuePo.getUserQaId());
+ }
+ for (int questionAnswerTitleIndex = 0; questionAnswerTitleIndex < questionAnswerTitles.size(); questionAnswerTitleIndex++) {
+ titleObj = questionAnswerTitles.getJSONObject(questionAnswerTitleIndex);
+ tmpUserUserQuestionAnswerValue = new UserQuestionAnswerValuePo();
+ tmpUserUserQuestionAnswerValue.setAnswerType(userQuestionAnswerValuePo.getAnswerType());
+ tmpUserUserQuestionAnswerValue.setObjId(userQuestionAnswerValuePo.getObjId());
+ tmpUserUserQuestionAnswerValue.setObjType(userQuestionAnswerValuePo.getObjType());
+ tmpUserUserQuestionAnswerValue.setPersonId(userQuestionAnswerValuePo.getPersonId());
+ tmpUserUserQuestionAnswerValue.setQaId(userQuestionAnswerValuePo.getQaId());
+ tmpUserUserQuestionAnswerValue.setScore("0");
+ tmpUserUserQuestionAnswerValue.setTitleId(titleObj.getString("titleId"));
+ tmpUserUserQuestionAnswerValue.setUserQaId(userQuestionAnswerPo.getUserQaId());
+ tmpUserUserQuestionAnswerValue.setUserTitleId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_userTitleId));
+ if ("3003".equals(titleObj.getString("titleType"))) {
+ tmpUserUserQuestionAnswerValue.setValueId("999");
+ tmpUserUserQuestionAnswerValue.setValueContent(titleObj.getString("valueContent"));
+ } else {
+ tmpUserUserQuestionAnswerValue.setValueId(titleObj.getString("valueContent"));
+ tmpUserUserQuestionAnswerValue.setValueContent(titleObj.getString("valueContent"));
+ }
+ tmpUserUserQuestionAnswerValues.add(tmpUserUserQuestionAnswerValue);
+ }
+
+ int flag = userQuestionAnswerValueInnerServiceSMOImpl.saveUserQuestionAnswerValue(tmpUserUserQuestionAnswerValues);
+ if (flag < 0) {
+ return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "淇濆瓨澶辫触");
+ }
+
+ //濡傛灉鏄瀵� 璇勪环 鐩存帴杩斿洖
+ String answerType = userQuestionAnswerValuePo.getAnswerType();
+
+ if("2003".equals(answerType)){
+ userQuestionAnswerPo.setState("1202");
+ userQuestionAnswerInnerServiceSMOImpl.updateUserQuestionAnswer(userQuestionAnswerPo);
return ResultVo.createResponseEntity(ResultVo.CODE_OK, "淇濆瓨鎴愬姛");
}
- return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "淇濆瓨澶辫触");
+ userQuestionAnswerPo.setEvaluationScore("0");
+ userQuestionAnswerPo.setObjId(userQuestionAnswerValuePo.getObjId());
+ userQuestionAnswerPo.setObjType(userQuestionAnswerValuePo.getObjType());
+ userQuestionAnswerPo.setPersonId(userQuestionAnswerValuePo.getPersonId());
+ userQuestionAnswerPo.setQaId(userQuestionAnswerValuePo.getQaId());
+ userQuestionAnswerPo.setScore("0");
+
+ if ("2002".equals(questionAnswerDtos.get(0).getQaType())) {
+ userQuestionAnswerPo.setState("1201");
+ } else {
+ userQuestionAnswerPo.setState("1202");
+ }
+ flag = userQuestionAnswerInnerServiceSMOImpl.saveUserQuestionAnswer(userQuestionAnswerPo);
+ if (flag < 0) {
+ return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "淇濆瓨澶辫触");
+
+ }
+ return ResultVo.createResponseEntity(ResultVo.CODE_OK, "淇濆瓨鎴愬姛");
}
}
--
Gitblit v1.8.0