java110 пре 2 година
родитељ
комит
cdc459d709

+ 10 - 0
java110-bean/src/main/java/com/java110/dto/questionAnswer/QuestionAnswerDto.java

@@ -50,6 +50,8 @@ public class QuestionAnswerDto extends PageDto implements Serializable {
 
     private String state;
 
+    private String userQaId;
+
     public String getQaName() {
         return qaName;
     }
@@ -194,4 +196,12 @@ public class QuestionAnswerDto extends PageDto implements Serializable {
     public void setRoomName(String roomName) {
         this.roomName = roomName;
     }
+
+    public String getUserQaId() {
+        return userQaId;
+    }
+
+    public void setUserQaId(String userQaId) {
+        this.userQaId = userQaId;
+    }
 }

+ 50 - 78
java110-bean/src/main/java/com/java110/po/user/UserQuestionAnswerValuePo.java

@@ -1,117 +1,89 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.java110.po.user;
 
 import java.io.Serializable;
-
+import java.util.Date;
+/**
+ * 类表述: Po 数据模型实体对象 基本保持与数据库模型一直 用于 增加修改删除 等时的数据载体
+ * add by 吴学文 at 2023-07-14 13:27:51 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
 public class UserQuestionAnswerValuePo implements Serializable {
 
-    private String score;
     private String valueId;
-    private String titleId;
-    private String answerType;
-    private String objId;
-    private String userQaId;
-    private String valueContent;
-    private String personId;
-    private String statusCd = "0";
-    private String objType;
-    private String userTitleId;
-    private String qaId;
-
-    public String getScore() {
-        return score;
-    }
-
-    public void setScore(String score) {
-        this.score = score;
-    }
-
-    public String getValueId() {
+private String titleId;
+private String userQaId;
+private String valueContent;
+private String statusCd = "0";
+private String communityId;
+private String userTitleId;
+private String qaId;
+public String getValueId() {
         return valueId;
     }
-
-    public void setValueId(String valueId) {
+public void setValueId(String valueId) {
         this.valueId = valueId;
     }
-
-    public String getTitleId() {
+public String getTitleId() {
         return titleId;
     }
-
-    public void setTitleId(String titleId) {
+public void setTitleId(String titleId) {
         this.titleId = titleId;
     }
-
-    public String getAnswerType() {
-        return answerType;
-    }
-
-    public void setAnswerType(String answerType) {
-        this.answerType = answerType;
-    }
-
-    public String getObjId() {
-        return objId;
-    }
-
-    public void setObjId(String objId) {
-        this.objId = objId;
-    }
-
-    public String getUserQaId() {
+public String getUserQaId() {
         return userQaId;
     }
-
-    public void setUserQaId(String userQaId) {
+public void setUserQaId(String userQaId) {
         this.userQaId = userQaId;
     }
-
-    public String getValueContent() {
+public String getValueContent() {
         return valueContent;
     }
-
-    public void setValueContent(String valueContent) {
+public void setValueContent(String valueContent) {
         this.valueContent = valueContent;
     }
-
-    public String getPersonId() {
-        return personId;
-    }
-
-    public void setPersonId(String personId) {
-        this.personId = personId;
-    }
-
-    public String getStatusCd() {
+public String getStatusCd() {
         return statusCd;
     }
-
-    public void setStatusCd(String statusCd) {
+public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
-
-    public String getObjType() {
-        return objType;
+public String getCommunityId() {
+        return communityId;
     }
-
-    public void setObjType(String objType) {
-        this.objType = objType;
+public void setCommunityId(String communityId) {
+        this.communityId = communityId;
     }
-
-    public String getUserTitleId() {
+public String getUserTitleId() {
         return userTitleId;
     }
-
-    public void setUserTitleId(String userTitleId) {
+public void setUserTitleId(String userTitleId) {
         this.userTitleId = userTitleId;
     }
-
-    public String getQaId() {
+public String getQaId() {
         return qaId;
     }
-
-    public void setQaId(String qaId) {
+public void setQaId(String qaId) {
         this.qaId = qaId;
     }
 
 
+
 }

+ 0 - 89
java110-bean/src/main/java/com/java110/po/userQuestionAnswerValue/UserQuestionAnswerValuePo.java

@@ -1,89 +0,0 @@
-/*
- * Copyright 2017-2020 吴学文 and java110 team.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.java110.po.userQuestionAnswerValue;
-
-import java.io.Serializable;
-import java.util.Date;
-/**
- * 类表述: Po 数据模型实体对象 基本保持与数据库模型一直 用于 增加修改删除 等时的数据载体
- * add by 吴学文 at 2023-07-14 13:27:51 mail: 928255095@qq.com
- * open source address: https://gitee.com/wuxw7/MicroCommunity
- * 官网:http://www.homecommunity.cn
- * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
- * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
- */
-public class UserQuestionAnswerValuePo implements Serializable {
-
-    private String valueId;
-private String titleId;
-private String userQaId;
-private String valueContent;
-private String statusCd = "0";
-private String communityId;
-private String userTitleId;
-private String qaId;
-public String getValueId() {
-        return valueId;
-    }
-public void setValueId(String valueId) {
-        this.valueId = valueId;
-    }
-public String getTitleId() {
-        return titleId;
-    }
-public void setTitleId(String titleId) {
-        this.titleId = titleId;
-    }
-public String getUserQaId() {
-        return userQaId;
-    }
-public void setUserQaId(String userQaId) {
-        this.userQaId = userQaId;
-    }
-public String getValueContent() {
-        return valueContent;
-    }
-public void setValueContent(String valueContent) {
-        this.valueContent = valueContent;
-    }
-public String getStatusCd() {
-        return statusCd;
-    }
-public void setStatusCd(String statusCd) {
-        this.statusCd = statusCd;
-    }
-public String getCommunityId() {
-        return communityId;
-    }
-public void setCommunityId(String communityId) {
-        this.communityId = communityId;
-    }
-public String getUserTitleId() {
-        return userTitleId;
-    }
-public void setUserTitleId(String userTitleId) {
-        this.userTitleId = userTitleId;
-    }
-public String getQaId() {
-        return qaId;
-    }
-public void setQaId(String qaId) {
-        this.qaId = qaId;
-    }
-
-
-
-}

+ 1 - 1
java110-db/src/main/resources/mapper/user/UserQuestionAnswerV1ServiceDaoImplMapper.xml

@@ -159,7 +159,7 @@
     <select id="queryOwnerQuestionAnswers" parameterType="Map" resultType="Map">
         select qa.qa_name qaName,qa.qa_type qaType,qa.start_time startTime,qa.end_time endTime,qa.remark,
         qa.community_id communityId,qa.qa_id qaId,td.`name` qaTypeName,qa.content,
-        t.owner_name ownerName,t.link,t.room_name roomName
+        t.owner_name ownerName,t.link,t.room_name roomName,t.user_qa_id userQaId
         from user_question_answer t
         left join question_answer qa on t.qa_id = qa.qa_id and qa.status_cd = '0'
         LEFT JOIN t_dict td on td.status_cd = qa.qa_type and td.table_name = 'question_answer' and td.table_columns = 'qa_type'

+ 101 - 95
java110-db/src/main/resources/mapper/user/UserQuestionAnswerValueV1ServiceDaoImplMapper.xml

@@ -5,120 +5,126 @@
 <mapper namespace="userQuestionAnswerValueV1ServiceDaoImpl">
 
 
-
-
-
     <!-- 保存问卷答案信息 add by wuxw 2018-07-03 -->
     <insert id="saveUserQuestionAnswerValueInfo" parameterType="Map">
         insert into user_question_answer_value(
-value_id,title_id,user_qa_id,value_content,community_id,user_title_id,qa_id
-) values (
-#{valueId},#{titleId},#{userQaId},#{valueContent},#{communityId},#{userTitleId},#{qaId}
-)
+        value_id,title_id,user_qa_id,value_content,community_id,user_title_id,qa_id
+        ) values (
+        #{valueId},#{titleId},#{userQaId},#{valueContent},#{communityId},#{userTitleId},#{qaId}
+        )
     </insert>
 
-
+    <insert id="saveUserQuestionAnswerValues" parameterType="Map">
+        insert into user_question_answer_value(
+        value_id,title_id,user_qa_id,value_content,community_id,user_title_id,qa_id
+        ) values
+        <foreach collection="datas" item="item" separator=",">
+        #{item.valueId},#{item.titleId},#{item.userQaId},#{item.valueContent},#{item.communityId},#{item.userTitleId},#{item.qaId}
+        </foreach>
+    </insert>
 
     <!-- 查询问卷答案信息 add by wuxw 2018-07-03 -->
     <select id="getUserQuestionAnswerValueInfo" parameterType="Map" resultType="Map">
-        select  t.value_id,t.value_id valueId,t.title_id,t.title_id titleId,t.user_qa_id,t.user_qa_id userQaId,t.value_content,t.value_content valueContent,t.status_cd,t.status_cd statusCd,t.community_id,t.community_id communityId,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="valueId !=null and valueId != ''">
-   and t.value_id= #{valueId}
-</if> 
-<if test="titleId !=null and titleId != ''">
-   and t.title_id= #{titleId}
-</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="statusCd !=null and statusCd != ''">
-   and t.status_cd= #{statusCd}
-</if> 
-<if test="communityId !=null and communityId != ''">
-   and t.community_id= #{communityId}
-</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.value_id,t.value_id valueId,t.title_id,t.title_id titleId,t.user_qa_id,t.user_qa_id
+        userQaId,t.value_content,t.value_content valueContent,t.status_cd,t.status_cd
+        statusCd,t.community_id,t.community_id communityId,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="valueId !=null and valueId != ''">
+            and t.value_id= #{valueId}
+        </if>
+        <if test="titleId !=null and titleId != ''">
+            and t.title_id= #{titleId}
+        </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="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="communityId !=null and communityId != ''">
+            and t.community_id= #{communityId}
+        </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="valueId !=null and valueId != ''">
-, t.value_id= #{valueId}
-</if> 
-<if test="titleId !=null and titleId != ''">
-, t.title_id= #{titleId}
-</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="communityId !=null and communityId != ''">
-, t.community_id= #{communityId}
-</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="valueId !=null and valueId != ''">
+            , t.value_id= #{valueId}
+        </if>
+        <if test="titleId !=null and titleId != ''">
+            , t.title_id= #{titleId}
+        </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="communityId !=null and communityId != ''">
+            , t.community_id= #{communityId}
+        </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="valueId !=null and valueId != ''">
-   and t.value_id= #{valueId}
-</if> 
-<if test="titleId !=null and titleId != ''">
-   and t.title_id= #{titleId}
-</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="statusCd !=null and statusCd != ''">
-   and t.status_cd= #{statusCd}
-</if> 
-<if test="communityId !=null and communityId != ''">
-   and t.community_id= #{communityId}
-</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="valueId !=null and valueId != ''">
+            and t.value_id= #{valueId}
+        </if>
+        <if test="titleId !=null and titleId != ''">
+            and t.title_id= #{titleId}
+        </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="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="communityId !=null and communityId != ''">
+            and t.community_id= #{communityId}
+        </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>

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

@@ -17,7 +17,7 @@ package com.java110.intf.user;
 
 import com.java110.config.feign.FeignConfiguration;
 import com.java110.dto.user.UserQuestionAnswerValueDto;
-import com.java110.po.userQuestionAnswerValue.UserQuestionAnswerValuePo;
+import com.java110.po.user.UserQuestionAnswerValuePo;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -41,6 +41,9 @@ public interface IUserQuestionAnswerValueV1InnerServiceSMO {
     @RequestMapping(value = "/saveUserQuestionAnswerValue", method = RequestMethod.POST)
     public int saveUserQuestionAnswerValue(@RequestBody  UserQuestionAnswerValuePo userQuestionAnswerValuePo);
 
+    @RequestMapping(value = "/saveUserQuestionAnswerValues", method = RequestMethod.POST)
+    int saveUserQuestionAnswerValues(@RequestBody  List<UserQuestionAnswerValuePo> tmpUserUserQuestionAnswerValues);
+
     @RequestMapping(value = "/updateUserQuestionAnswerValue", method = RequestMethod.POST)
     public int updateUserQuestionAnswerValue(@RequestBody  UserQuestionAnswerValuePo userQuestionAnswerValuePo);
 
@@ -65,4 +68,6 @@ public interface IUserQuestionAnswerValueV1InnerServiceSMO {
      */
     @RequestMapping(value = "/queryUserQuestionAnswerValuesCount", method = RequestMethod.POST)
     int queryUserQuestionAnswerValuesCount(@RequestBody UserQuestionAnswerValueDto userQuestionAnswerValueDto);
+
+
 }

+ 0 - 1
service-user/src/main/java/com/java110/user/api/UserQuestionAnswerApi.java

@@ -167,7 +167,6 @@ public class UserQuestionAnswerApi {
 
         UserQuestionAnswerValuePo userQuestionAnswerValuePo = BeanConvertUtil.covertBean(reqJson, UserQuestionAnswerValuePo.class);
 
-        userQuestionAnswerValuePo.setPersonId(userId);
 
 
         return saveUserQuestionAnswerValueBMOImpl.save(userQuestionAnswerValuePo, questionAnswerTitles);

+ 1 - 6
service-user/src/main/java/com/java110/user/bmo/userQuestionAnswerValue/impl/SaveUserQuestionAnswerValueBMOImpl.java

@@ -60,12 +60,7 @@ public class SaveUserQuestionAnswerValueBMOImpl implements ISaveUserQuestionAnsw
         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));
@@ -85,7 +80,7 @@ public class SaveUserQuestionAnswerValueBMOImpl implements ISaveUserQuestionAnsw
         }
 
         //如果是领导 评价 直接返回
-        String answerType = userQuestionAnswerValuePo.getAnswerType();
+        String answerType = "";
 
         if("2003".equals(answerType)){
             userQuestionAnswerPo.setState("1202");

+ 133 - 0
service-user/src/main/java/com/java110/user/cmd/question/SaveOwnerQuestionAnswerCmd.java

@@ -0,0 +1,133 @@
+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.user.UserDto;
+import com.java110.dto.user.UserQuestionAnswerDto;
+import com.java110.intf.user.IUserQuestionAnswerV1InnerServiceSMO;
+import com.java110.intf.user.IUserQuestionAnswerValueV1InnerServiceSMO;
+import com.java110.intf.user.IUserV1InnerServiceSMO;
+import com.java110.po.user.UserQuestionAnswerPo;
+import com.java110.po.user.UserQuestionAnswerValuePo;
+import com.java110.utils.exception.CmdException;
+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 java.text.ParseException;
+import java.util.ArrayList;
+import java.util.List;
+
+@Java110Cmd(serviceCode = "question.saveOwnerQuestionAnswer")
+public class SaveOwnerQuestionAnswerCmd extends Cmd {
+
+    @Autowired
+    private IUserQuestionAnswerV1InnerServiceSMO userQuestionAnswerV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IUserQuestionAnswerValueV1InnerServiceSMO userQuestionAnswerValueV1InnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+        Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区");
+        Assert.hasKeyAndValue(reqJson, "userQaId", "未包含题目");
+
+        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);
+            if (titleObj.containsKey("qaTitle") && !StringUtil.isEmpty(titleObj.getString("qaTitle"))) {
+                Assert.hasKeyAndValue(titleObj, "valueContent", titleObj.getString("qaTitle") + ",未填写答案");
+            } else {
+                Assert.hasKeyAndValue(titleObj, "valueContent", "未填写答案");
+            }
+        }
+
+        String userId = context.getReqHeaders().get("user-id");
+        Assert.hasLength(userId, "用户未登录");
+
+        UserDto userDto = new UserDto();
+        userDto.setUserId(userId);
+        List<UserDto> userDtos = userV1InnerServiceSMOImpl.queryUsers(userDto);
+
+        Assert.listOnlyOne(userDtos, "用户不存在");
+
+        UserQuestionAnswerDto userQuestionAnswerDto = new UserQuestionAnswerDto();
+        userQuestionAnswerDto.setUserQaId(reqJson.getString("userQaId"));
+        userQuestionAnswerDto.setCommunityId(reqJson.getString("communityId"));
+        userQuestionAnswerDto.setLink(userDtos.get(0).getTel());
+        int count = userQuestionAnswerV1InnerServiceSMOImpl.queryUserQuestionAnswersCount(userQuestionAnswerDto);
+        if (count < 1) {
+            throw new CmdException("数据不存在");
+        }
+    }
+
+    @Override
+    @Java110Transactional
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+
+        UserQuestionAnswerDto userQuestionAnswerDto = new UserQuestionAnswerDto();
+        userQuestionAnswerDto.setUserQaId(reqJson.getString("userQaId"));
+        userQuestionAnswerDto.setCommunityId(reqJson.getString("communityId"));
+        List<UserQuestionAnswerDto> userQuestionAnswers = userQuestionAnswerV1InnerServiceSMOImpl.queryUserQuestionAnswers(userQuestionAnswerDto);
+
+        Assert.listOnlyOne(userQuestionAnswers, "数据不存在");
+
+        JSONArray questionAnswerTitles = reqJson.getJSONArray("questionAnswerTitles");
+        JSONObject titleObj = null;
+        UserQuestionAnswerValuePo tmpUserUserQuestionAnswerValue = null;
+        List<UserQuestionAnswerValuePo> tmpUserUserQuestionAnswerValues = new ArrayList<>();
+
+        for (int questionAnswerTitleIndex = 0; questionAnswerTitleIndex < questionAnswerTitles.size(); questionAnswerTitleIndex++) {
+            titleObj = questionAnswerTitles.getJSONObject(questionAnswerTitleIndex);
+            tmpUserUserQuestionAnswerValue = new UserQuestionAnswerValuePo();
+            tmpUserUserQuestionAnswerValue.setCommunityId(userQuestionAnswers.get(0).getCommunityId());
+            tmpUserUserQuestionAnswerValue.setQaId(userQuestionAnswers.get(0).getQaId());
+            tmpUserUserQuestionAnswerValue.setTitleId(titleObj.getString("titleId"));
+            tmpUserUserQuestionAnswerValue.setUserQaId(userQuestionAnswers.get(0).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 = userQuestionAnswerValueV1InnerServiceSMOImpl.saveUserQuestionAnswerValues(tmpUserUserQuestionAnswerValues);
+        if (flag < 0) {
+            throw new IllegalArgumentException("保存失败");
+        }
+
+        UserQuestionAnswerPo userQuestionAnswerPo = new UserQuestionAnswerPo();
+
+        userQuestionAnswerPo.setUserQaId(userQuestionAnswers.get(0).getUserQaId());
+        userQuestionAnswerPo.setState("1202");
+        flag = userQuestionAnswerV1InnerServiceSMOImpl.updateUserQuestionAnswer(userQuestionAnswerPo);
+        if (flag < 0) {
+            throw new IllegalArgumentException("保存失败");
+        }
+        context.setResponseEntity(ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功"));
+
+
+    }
+}

+ 6 - 0
service-user/src/main/java/com/java110/user/dao/IUserQuestionAnswerValueV1ServiceDao.java

@@ -70,4 +70,10 @@ public interface IUserQuestionAnswerValueV1ServiceDao {
      */
     int queryUserQuestionAnswerValuesCount(Map info);
 
+    /**
+     * 批量保存
+     * @param infos
+     * @return
+     */
+    int saveUserQuestionAnswerValues(Map infos);
 }

+ 8 - 0
service-user/src/main/java/com/java110/user/dao/impl/UserQuestionAnswerValueV1ServiceDaoImpl.java

@@ -108,5 +108,13 @@ public class UserQuestionAnswerValueV1ServiceDaoImpl extends BaseServiceDao impl
         return Integer.parseInt(businessUserQuestionAnswerValueInfos.get(0).get("count").toString());
     }
 
+    @Override
+    public int saveUserQuestionAnswerValues(Map infos) {
+
+        int saveFlag = sqlSessionTemplate.insert("userQuestionAnswerValueV1ServiceDaoImpl.saveUserQuestionAnswerValues",infos);
+
+        return saveFlag;
+    }
+
 
 }

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

@@ -19,7 +19,7 @@ package com.java110.user.smo.impl;
 import com.java110.user.dao.IUserQuestionAnswerValueV1ServiceDao;
 import com.java110.intf.user.IUserQuestionAnswerValueV1InnerServiceSMO;
 import com.java110.dto.user.UserQuestionAnswerValueDto;
-import com.java110.po.userQuestionAnswerValue.UserQuestionAnswerValuePo;
+import com.java110.po.user.UserQuestionAnswerValuePo;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.dto.PageDto;
@@ -27,7 +27,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 类表述: 服务之前调用的接口实现类,不对外提供接口能力 只用于接口建调用
@@ -50,7 +52,15 @@ public class UserQuestionAnswerValueV1InnerServiceSMOImpl extends BaseServiceSMO
         return saveFlag;
     }
 
-     @Override
+    @Override
+    public int saveUserQuestionAnswerValues(@RequestBody List<UserQuestionAnswerValuePo> userUserQuestionAnswerValues) {
+        Map infos = new HashMap();
+        infos.put("datas",userUserQuestionAnswerValues);
+        int saveFlag = userQuestionAnswerValueV1ServiceDaoImpl.saveUserQuestionAnswerValues(infos);
+        return saveFlag;
+    }
+
+    @Override
     public int updateUserQuestionAnswerValue(@RequestBody  UserQuestionAnswerValuePo userQuestionAnswerValuePo) {
         int saveFlag = userQuestionAnswerValueV1ServiceDaoImpl.updateUserQuestionAnswerValueInfo(BeanConvertUtil.beanCovertMap(userQuestionAnswerValuePo));
         return saveFlag;