java110 5 年之前
父節點
當前提交
b471e1bfb0

+ 132 - 131
java110-db/src/main/resources/mapper/user/UserQuestionAnswerValueServiceDaoImplMapper.xml

@@ -5,156 +5,157 @@
 <mapper namespace="userQuestionAnswerValueServiceDaoImpl">
 
 
-
-
-
     <!-- 保存答卷答案信息 add by wuxw 2018-07-03 -->
     <insert id="saveUserQuestionAnswerValueInfo" parameterType="Map">
         insert into user_question_answer_value(
-score,value_id,title_id,answer_type,obj_id,user_qa_id,value_content,person_id,obj_type,user_title_id,qa_id
-) values (
-#{score},#{valueId},#{titleId},#{answerType},#{objId},#{userQaId},#{valueContent},#{personId},#{objType},#{userTitleId},#{qaId}
-)
+        score,value_id,title_id,answer_type,obj_id,user_qa_id,value_content,person_id,obj_type,user_title_id,qa_id
+        )
+        values
+        <foreach collection="userQuestionAnswerValuePos" item="item" separator=",">
+            (#{item.score},'0',#{item.valueId},#{item.titleId},#{item.answerType},#{item.objId},#{item.userQaId},
+            #{item.valueContent},#{item.personId},#{item.objType},#{item.userTitleId},#{item.qaId})
+        </foreach>
     </insert>
 
 
-
     <!-- 查询答卷答案信息 add by wuxw 2018-07-03 -->
     <select id="getUserQuestionAnswerValueInfo" parameterType="Map" resultType="Map">
-        select  t.score,t.value_id,t.value_id valueId,t.title_id,t.title_id titleId,t.answer_type,t.answer_type answerType,t.obj_id,t.obj_id objId,t.user_qa_id,t.user_qa_id userQaId,t.value_content,t.value_content valueContent,t.person_id,t.person_id personId,t.status_cd,t.status_cd statusCd,t.obj_type,t.obj_type objType,t.user_title_id,t.user_title_id userTitleId,t.qa_id,t.qa_id qaId 
-from user_question_answer_value t 
-where 1 =1 
-<if test="score !=null and score != ''">
-   and t.score= #{score}
-</if> 
-<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="answerType !=null and answerType != ''">
-   and t.answer_type= #{answerType}
-</if> 
-<if test="objId !=null and objId != ''">
-   and t.obj_id= #{objId}
-</if> 
-<if test="userQaId !=null and userQaId != ''">
-   and t.user_qa_id= #{userQaId}
-</if> 
-<if test="valueContent !=null and valueContent != ''">
-   and t.value_content= #{valueContent}
-</if> 
-<if test="personId !=null and personId != ''">
-   and t.person_id= #{personId}
-</if> 
-<if test="statusCd !=null and statusCd != ''">
-   and t.status_cd= #{statusCd}
-</if> 
-<if test="objType !=null and objType != ''">
-   and t.obj_type= #{objType}
-</if> 
-<if test="userTitleId !=null and userTitleId != ''">
-   and t.user_title_id= #{userTitleId}
-</if> 
-<if test="qaId !=null and qaId != ''">
-   and t.qa_id= #{qaId}
-</if> 
-order by t.create_time desc
-<if test="page != -1 and page != null ">
-   limit #{page}, #{row}
-</if> 
+        select t.score,t.value_id,t.value_id valueId,t.title_id,t.title_id titleId,t.answer_type,t.answer_type
+        answerType,t.obj_id,t.obj_id objId,t.user_qa_id,t.user_qa_id userQaId,t.value_content,t.value_content
+        valueContent,t.person_id,t.person_id personId,t.status_cd,t.status_cd statusCd,t.obj_type,t.obj_type
+        objType,t.user_title_id,t.user_title_id userTitleId,t.qa_id,t.qa_id qaId
+        from user_question_answer_value t
+        where 1 =1
+        <if test="score !=null and score != ''">
+            and t.score= #{score}
+        </if>
+        <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="answerType !=null and answerType != ''">
+            and t.answer_type= #{answerType}
+        </if>
+        <if test="objId !=null and objId != ''">
+            and t.obj_id= #{objId}
+        </if>
+        <if test="userQaId !=null and userQaId != ''">
+            and t.user_qa_id= #{userQaId}
+        </if>
+        <if test="valueContent !=null and valueContent != ''">
+            and t.value_content= #{valueContent}
+        </if>
+        <if test="personId !=null and personId != ''">
+            and t.person_id= #{personId}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="objType !=null and objType != ''">
+            and t.obj_type= #{objType}
+        </if>
+        <if test="userTitleId !=null and userTitleId != ''">
+            and t.user_title_id= #{userTitleId}
+        </if>
+        <if test="qaId !=null and qaId != ''">
+            and t.qa_id= #{qaId}
+        </if>
+        order by t.create_time desc
+        <if test="page != -1 and page != null ">
+            limit #{page}, #{row}
+        </if>
 
     </select>
 
 
-
-
     <!-- 修改答卷答案信息 add by wuxw 2018-07-03 -->
     <update id="updateUserQuestionAnswerValueInfo" parameterType="Map">
-        update  user_question_answer_value t set t.status_cd = #{statusCd}
-<if test="newBId != null and newBId != ''">
-,t.b_id = #{newBId}
-</if> 
-<if test="score !=null and score != ''">
-, t.score= #{score}
-</if> 
-<if test="valueId !=null and valueId != ''">
-, t.value_id= #{valueId}
-</if> 
-<if test="titleId !=null and titleId != ''">
-, t.title_id= #{titleId}
-</if> 
-<if test="answerType !=null and answerType != ''">
-, t.answer_type= #{answerType}
-</if> 
-<if test="objId !=null and objId != ''">
-, t.obj_id= #{objId}
-</if> 
-<if test="userQaId !=null and userQaId != ''">
-, t.user_qa_id= #{userQaId}
-</if> 
-<if test="valueContent !=null and valueContent != ''">
-, t.value_content= #{valueContent}
-</if> 
-<if test="personId !=null and personId != ''">
-, t.person_id= #{personId}
-</if> 
-<if test="objType !=null and objType != ''">
-, t.obj_type= #{objType}
-</if> 
-<if test="qaId !=null and qaId != ''">
-, t.qa_id= #{qaId}
-</if> 
- where 1=1 <if test="userTitleId !=null and userTitleId != ''">
-and t.user_title_id= #{userTitleId}
-</if> 
+        update user_question_answer_value t set t.status_cd = #{statusCd}
+        <if test="newBId != null and newBId != ''">
+            ,t.b_id = #{newBId}
+        </if>
+        <if test="score !=null and score != ''">
+            , t.score= #{score}
+        </if>
+        <if test="valueId !=null and valueId != ''">
+            , t.value_id= #{valueId}
+        </if>
+        <if test="titleId !=null and titleId != ''">
+            , t.title_id= #{titleId}
+        </if>
+        <if test="answerType !=null and answerType != ''">
+            , t.answer_type= #{answerType}
+        </if>
+        <if test="objId !=null and objId != ''">
+            , t.obj_id= #{objId}
+        </if>
+        <if test="userQaId !=null and userQaId != ''">
+            , t.user_qa_id= #{userQaId}
+        </if>
+        <if test="valueContent !=null and valueContent != ''">
+            , t.value_content= #{valueContent}
+        </if>
+        <if test="personId !=null and personId != ''">
+            , t.person_id= #{personId}
+        </if>
+        <if test="objType !=null and objType != ''">
+            , t.obj_type= #{objType}
+        </if>
+        <if test="qaId !=null and qaId != ''">
+            , t.qa_id= #{qaId}
+        </if>
+        where 1=1
+        <if test="userTitleId !=null and userTitleId != ''">
+            and t.user_title_id= #{userTitleId}
+        </if>
 
     </update>
 
     <!-- 查询答卷答案数量 add by wuxw 2018-07-03 -->
-     <select id="queryUserQuestionAnswerValuesCount" parameterType="Map" resultType="Map">
-        select  count(1) count 
-from user_question_answer_value t 
-where 1 =1 
-<if test="score !=null and score != ''">
-   and t.score= #{score}
-</if> 
-<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="answerType !=null and answerType != ''">
-   and t.answer_type= #{answerType}
-</if> 
-<if test="objId !=null and objId != ''">
-   and t.obj_id= #{objId}
-</if> 
-<if test="userQaId !=null and userQaId != ''">
-   and t.user_qa_id= #{userQaId}
-</if> 
-<if test="valueContent !=null and valueContent != ''">
-   and t.value_content= #{valueContent}
-</if> 
-<if test="personId !=null and personId != ''">
-   and t.person_id= #{personId}
-</if> 
-<if test="statusCd !=null and statusCd != ''">
-   and t.status_cd= #{statusCd}
-</if> 
-<if test="objType !=null and objType != ''">
-   and t.obj_type= #{objType}
-</if> 
-<if test="userTitleId !=null and userTitleId != ''">
-   and t.user_title_id= #{userTitleId}
-</if> 
-<if test="qaId !=null and qaId != ''">
-   and t.qa_id= #{qaId}
-</if> 
+    <select id="queryUserQuestionAnswerValuesCount" parameterType="Map" resultType="Map">
+        select count(1) count
+        from user_question_answer_value t
+        where 1 =1
+        <if test="score !=null and score != ''">
+            and t.score= #{score}
+        </if>
+        <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="answerType !=null and answerType != ''">
+            and t.answer_type= #{answerType}
+        </if>
+        <if test="objId !=null and objId != ''">
+            and t.obj_id= #{objId}
+        </if>
+        <if test="userQaId !=null and userQaId != ''">
+            and t.user_qa_id= #{userQaId}
+        </if>
+        <if test="valueContent !=null and valueContent != ''">
+            and t.value_content= #{valueContent}
+        </if>
+        <if test="personId !=null and personId != ''">
+            and t.person_id= #{personId}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="objType !=null and objType != ''">
+            and t.obj_type= #{objType}
+        </if>
+        <if test="userTitleId !=null and userTitleId != ''">
+            and t.user_title_id= #{userTitleId}
+        </if>
+        <if test="qaId !=null and qaId != ''">
+            and t.qa_id= #{qaId}
+        </if>
 
 
-     </select>
+    </select>
 
 </mapper>

+ 1 - 1
java110-interface/src/main/java/com/java110/intf/user/IUserQuestionAnswerValueInnerServiceSMO.java

@@ -24,7 +24,7 @@ public interface IUserQuestionAnswerValueInnerServiceSMO {
 
 
     @RequestMapping(value = "/saveUserQuestionAnswerValue", method = RequestMethod.POST)
-    public int saveUserQuestionAnswerValue(@RequestBody UserQuestionAnswerValuePo userQuestionAnswerValuePo);
+    public int saveUserQuestionAnswerValue(@RequestBody List<UserQuestionAnswerValuePo> userQuestionAnswerValuePos);
 
     @RequestMapping(value = "/updateUserQuestionAnswerValue", method = RequestMethod.POST)
     public int updateUserQuestionAnswerValue(@RequestBody  UserQuestionAnswerValuePo userQuestionAnswerValuePo);

+ 24 - 2
service-user/src/main/java/com/java110/user/api/UserQuestionAnswerApi.java

@@ -1,5 +1,6 @@
 package com.java110.user.api;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.dto.questionAnswer.QuestionAnswerDto;
 import com.java110.dto.userQuestionAnswer.UserQuestionAnswerDto;
@@ -141,13 +142,34 @@ public class UserQuestionAnswerApi {
      * @path /app/userQuestionAnswer/saveUserQuestionAnswerValue
      */
     @RequestMapping(value = "/saveUserQuestionAnswerValue", method = RequestMethod.POST)
-    public ResponseEntity<String> saveUserQuestionAnswerValue(@RequestBody JSONObject reqJson) {
+    public ResponseEntity<String> saveUserQuestionAnswerValue(
+            @RequestHeader(value = "user-id") String userId,
+            @RequestBody JSONObject reqJson) {
 
         Assert.hasKeyAndValue(reqJson, "qaId", "请求报文中未包含qaId");
+        Assert.hasKeyAndValue(reqJson, "objType", "请求报文中未包含objType");
+        Assert.hasKeyAndValue(reqJson, "objId", "请求报文中未包含objId");
+        Assert.hasKeyAndValue(reqJson, "answerType", "请求报文中未包含answerType");
+        Assert.hasKey(reqJson, "questionAnswerTitles", "未包含答案");
 
+        JSONArray questionAnswerTitles = reqJson.getJSONArray("questionAnswerTitles");
+
+        if (questionAnswerTitles == null || questionAnswerTitles.size() < 1) {
+            throw new IllegalArgumentException("未包含答案");
+        }
+
+        JSONObject titleObj = null;
+        for (int questionAnswerTitleIndex = 0; questionAnswerTitleIndex < questionAnswerTitles.size(); questionAnswerTitleIndex++) {
+            titleObj = questionAnswerTitles.getJSONObject(questionAnswerTitleIndex);
+            Assert.hasKeyAndValue(titleObj, "valueContent", titleObj.getString("qaTitle") + ",未填写答案");
+        }
 
         UserQuestionAnswerValuePo userQuestionAnswerValuePo = BeanConvertUtil.covertBean(reqJson, UserQuestionAnswerValuePo.class);
-        return saveUserQuestionAnswerValueBMOImpl.save(userQuestionAnswerValuePo);
+
+        userQuestionAnswerValuePo.setPersonId(userId);
+
+
+        return saveUserQuestionAnswerValueBMOImpl.save(userQuestionAnswerValuePo, questionAnswerTitles);
     }
 
     /**

+ 2 - 1
service-user/src/main/java/com/java110/user/bmo/userQuestionAnswerValue/ISaveUserQuestionAnswerValueBMO.java

@@ -1,5 +1,6 @@
 package com.java110.user.bmo.userQuestionAnswerValue;
 
+import com.alibaba.fastjson.JSONArray;
 import com.java110.po.userQuestionAnswerValue.UserQuestionAnswerValuePo;
 import org.springframework.http.ResponseEntity;
 public interface ISaveUserQuestionAnswerValueBMO {
@@ -11,7 +12,7 @@ public interface ISaveUserQuestionAnswerValueBMO {
      * @param userQuestionAnswerValuePo
      * @return
      */
-    ResponseEntity<String> save(UserQuestionAnswerValuePo userQuestionAnswerValuePo);
+    ResponseEntity<String> save(UserQuestionAnswerValuePo userQuestionAnswerValuePo, JSONArray questionAnswerTitles);
 
 
 }

+ 78 - 5
service-user/src/main/java/com/java110/user/bmo/userQuestionAnswerValue/impl/SaveUserQuestionAnswerValueBMOImpl.java

@@ -1,21 +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.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 +40,72 @@ public class SaveUserQuestionAnswerValueBMOImpl implements ISaveUserQuestionAnsw
      * @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, "问卷不存在");
+
+        JSONObject titleObj = null;
+        UserQuestionAnswerValuePo tmpUserUserQuestionAnswerValue = null;
+        List<UserQuestionAnswerValuePo> tmpUserUserQuestionAnswerValues = new ArrayList<>();
+        UserQuestionAnswerPo userQuestionAnswerPo = new UserQuestionAnswerPo();
+        userQuestionAnswerPo.setUserQaId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_userQaId));
+        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);
+        }
 
-        if (flag > 0) {
+        int flag = userQuestionAnswerValueInnerServiceSMOImpl.saveUserQuestionAnswerValue(tmpUserUserQuestionAnswerValues);
+        if (flag < 0) {
+            return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
+        }
+
+        //如果是领导 评价 直接返回
+        String answerType = userQuestionAnswerValuePo.getAnswerType();
+
+        if("2003".equals(answerType)){
             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, "保存成功");
     }
 
 }

+ 12 - 2
service-user/src/main/java/com/java110/user/smo/impl/UserQuestionAnswerValueInnerServiceSMOImpl.java

@@ -12,7 +12,10 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName FloorInnerServiceSMOImpl
@@ -30,9 +33,16 @@ public class UserQuestionAnswerValueInnerServiceSMOImpl extends BaseServiceSMO i
 
 
     @Override
-    public int saveUserQuestionAnswerValue(@RequestBody UserQuestionAnswerValuePo userQuestionAnswerValuePo) {
+    public int saveUserQuestionAnswerValue(@RequestBody List<UserQuestionAnswerValuePo> userQuestionAnswerValuePos) {
         int saveFlag = 1;
-        userQuestionAnswerValueServiceDaoImpl.saveUserQuestionAnswerValueInfo(BeanConvertUtil.beanCovertMap(userQuestionAnswerValuePo));
+        List<Map> fees = new ArrayList<>();
+        for (UserQuestionAnswerValuePo payFeePo : userQuestionAnswerValuePos) {
+            fees.add(BeanConvertUtil.beanCovertMap(payFeePo));
+        }
+
+        Map info = new HashMap();
+        info.put("userQuestionAnswerValuePos", fees);
+        userQuestionAnswerValueServiceDaoImpl.saveUserQuestionAnswerValueInfo(info);
         return saveFlag;
     }