Browse Source

云教练用户反馈

zouxuan 3 years ago
parent
commit
9ee31f450d

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/QuestionnaireActiveTypeEnum.java

@@ -4,6 +4,7 @@ import com.ym.mec.common.enums.BaseEnum;
 
 public enum QuestionnaireActiveTypeEnum implements BaseEnum<String, QuestionnaireActiveTypeEnum> {
 	REPLACEMENT("REPLACEMENT", "乐器置换"),
+	CLOUD_TEACHER_FEEDBACK("CLOUD_TEACHER_FEEDBACK", "云教练用户反馈"),
 	MUSIC_GROUP_QUESTION("MUSIC_GROUP_QUESTION", "乐团满意度调查");
 
 	private String code;

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/QuestionnaireUserResultService.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityDto;
 import com.ym.mec.biz.dal.entity.QuestionnaireQuestion;
 import com.ym.mec.biz.dal.entity.QuestionnaireUserResult;
 import com.ym.mec.common.page.QueryInfo;
@@ -21,4 +22,11 @@ public interface QuestionnaireUserResultService extends BaseService<Long, Questi
      * @return
      */
     Map<String,Object> questionnaireUserResultExport(Integer cooperationId, List<QuestionnaireQuestion> questionList);
+
+    /**
+     * 提交调查问卷
+     * @param replacementInstrumentActivityDto
+     * @return
+     */
+    void add(ReplacementInstrumentActivityDto replacementInstrumentActivityDto);
 }

+ 41 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/QuestionnaireUserResultServiceImpl.java

@@ -1,23 +1,30 @@
 package com.ym.mec.biz.service.impl;
 
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.QuestionnaireUserResultDto;
-import com.ym.mec.biz.dal.entity.ClassGroupStudentMapper;
-import com.ym.mec.biz.dal.entity.QuestionnaireQuestion;
-import com.ym.mec.biz.dal.entity.QuestionnaireQuestionItem;
+import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityDto;
+import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
+import com.ym.mec.biz.dal.enums.QuestionnaireActiveTypeEnum;
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.page.ReplacementInstrumentActivityQueryInfo;
+import com.ym.mec.biz.service.CooperationOrganService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
+import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.collection.MapUtil;
+import com.ym.mec.util.http.HttpUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.json.JSONObject;
 import org.springframework.beans.factory.annotation.Autowired;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
-import com.ym.mec.biz.dal.entity.QuestionnaireUserResult;
 import com.ym.mec.biz.service.QuestionnaireUserResultService;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
 import java.util.stream.Collectors;
@@ -32,6 +39,10 @@ public class QuestionnaireUserResultServiceImpl extends BaseServiceImpl<Long, Qu
 	@Autowired
 	private QuestionnaireQuestionDao questionnaireQuestionDao;
 	@Autowired
+	private SysUserFeignService sysUserFeignService;
+	@Autowired
+	private CooperationOrganService cooperationOrganService;
+	@Autowired
 	private TeacherDao teacherDao;
 
 	@Override
@@ -130,4 +141,30 @@ public class QuestionnaireUserResultServiceImpl extends BaseServiceImpl<Long, Qu
 		resultMap.put("body",body);
 		return resultMap;
 	}
+
+    @Override
+	@Transactional(rollbackFor = Exception.class)
+    public void add(ReplacementInstrumentActivityDto replacementInstrumentActivity) {
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		if (sysUser == null) {
+			throw new BizException("用户信息获取失败,请重新登陆");
+		}
+		Integer topicId = replacementInstrumentActivity.getTopicId();
+
+		List<QuestionnaireUserResult> questionnaireUserResultList = replacementInstrumentActivity.getQuestionnaireUserResultList();
+		if(questionnaireUserResultList == null || questionnaireUserResultList.size() == 0){
+			throw new BizException("请填写问卷结果");
+		}
+		if (questionnaireUserResultList != null && questionnaireUserResultList.size() > 0) {
+			//删除原来的问卷结果
+			questionnaireUserResultDao.delByActiveIdAndUserId(null, sysUser.getId(),"CLOUD_TEACHER_FEEDBACK");
+			for (QuestionnaireUserResult result : questionnaireUserResultList) {
+				result.setUserId(sysUser.getId());
+				result.setQuestionnaireTopicId(topicId);
+				result.setActiveType(QuestionnaireActiveTypeEnum.CLOUD_TEACHER_FEEDBACK);
+			}
+			//新增问卷结果
+			questionnaireUserResultDao.batchInsert1(questionnaireUserResultList);
+		}
+    }
 }

+ 4 - 1
mec-biz/src/main/resources/config/mybatis/QuestionnaireUserResultMapper.xml

@@ -92,10 +92,13 @@
 	</delete>
     <delete id="delByActiveIdAndUserId">
 		DELETE FROM questionnaire_user_result
-		WHERE active_id_ = #{activityId} AND active_type_ = #{activeType}
+		WHERE active_type_ = #{activeType}
 		<if test="userId != null">
 		  AND user_id_ = #{userId}
 		</if>
+		<if test="activityId != null">
+		  AND active_id_ = #{activityId}
+		</if>
 	</delete>
 
     <!-- 分页查询 -->

+ 8 - 0
mec-student/src/main/java/com/ym/mec/student/controller/QuestionnaireUserResultController.java

@@ -1,6 +1,8 @@
 package com.ym.mec.student.controller;
 
+import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityDto;
 import com.ym.mec.biz.dal.entity.QuestionnaireUserResult;
+import com.ym.mec.biz.dal.entity.ReplacementInstrumentActivity;
 import com.ym.mec.biz.service.QuestionnaireUserResultService;
 import com.ym.mec.common.controller.BaseController;
 import com.yonge.log.model.AuditLogAnnotation;
@@ -19,4 +21,10 @@ public class QuestionnaireUserResultController extends BaseController {
     @Autowired
     private QuestionnaireUserResultService questionnaireUserResultService;
 
+    @ApiOperation(value = "提交调查问卷")
+    @PostMapping("/add")
+    public Object add(@RequestBody ReplacementInstrumentActivityDto replacementInstrumentActivityDto) {
+        questionnaireUserResultService.add(replacementInstrumentActivityDto);
+        return succeed();
+    }
 }