|
@@ -1,22 +1,103 @@
|
|
|
package com.ym.mec.biz.service.impl;
|
|
|
|
|
|
+import com.ym.mec.biz.dal.dao.QuestionnaireUserResultDao;
|
|
|
+import com.ym.mec.biz.dal.dao.SysConfigDao;
|
|
|
+import com.ym.mec.biz.dal.dto.QuestionnaireResultDto;
|
|
|
+import com.ym.mec.biz.dal.entity.QuestionnaireTopic;
|
|
|
+import com.ym.mec.biz.dal.entity.QuestionnaireUserResult;
|
|
|
+import com.ym.mec.biz.dal.enums.QuestionnaireActiveTypeEnum;
|
|
|
+import com.ym.mec.biz.service.QuestionnaireTopicService;
|
|
|
+import com.ym.mec.biz.service.SysConfigService;
|
|
|
import com.ym.mec.common.dal.BaseDAO;
|
|
|
+import com.ym.mec.common.exception.BizException;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import com.ym.mec.common.service.impl.BaseServiceImpl;
|
|
|
import com.ym.mec.biz.dal.entity.MusicGroupQuestionnaire;
|
|
|
import com.ym.mec.biz.service.MusicGroupQuestionnaireService;
|
|
|
import com.ym.mec.biz.dal.dao.MusicGroupQuestionnaireDao;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
@Service
|
|
|
public class MusicGroupQuestionnaireServiceImpl extends BaseServiceImpl<Integer, MusicGroupQuestionnaire> implements MusicGroupQuestionnaireService {
|
|
|
|
|
|
@Autowired
|
|
|
private MusicGroupQuestionnaireDao musicGroupQuestionnaireDao;
|
|
|
+ @Autowired
|
|
|
+ private SysConfigDao sysConfigDao;
|
|
|
+ @Autowired
|
|
|
+ private QuestionnaireTopicService questionnaireTopicService;
|
|
|
+ @Autowired
|
|
|
+ private QuestionnaireUserResultDao questionnaireUserResultDao;
|
|
|
|
|
|
@Override
|
|
|
public BaseDAO<Integer, MusicGroupQuestionnaire> getDAO() {
|
|
|
return musicGroupQuestionnaireDao;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void add(MusicGroupQuestionnaire musicGroupQuestionnaire) {
|
|
|
+ musicGroupQuestionnaireDao.insert(musicGroupQuestionnaire);
|
|
|
+ //保存问卷结果
|
|
|
+ QuestionnaireUserResult questionnaireUserResult = musicGroupQuestionnaire.getQuestionnaireUserResult();
|
|
|
+ if(questionnaireUserResult == null){
|
|
|
+ throw new BizException("请录入问卷结果");
|
|
|
+ }
|
|
|
+ questionnaireUserResult.setActiveId(musicGroupQuestionnaire.getId());
|
|
|
+ questionnaireUserResult.setActiveType(QuestionnaireActiveTypeEnum.MUSIC_GROUP_QUESTION);
|
|
|
+ questionnaireUserResultDao.insert(questionnaireUserResult);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public QuestionnaireTopic getQuestionDetail() {
|
|
|
+ String topicId = sysConfigDao.findConfigValue(SysConfigService.MUSIC_GROUP_TOPIC_ID);
|
|
|
+ if(StringUtils.isEmpty(topicId)){
|
|
|
+ topicId = "1";
|
|
|
+ }
|
|
|
+ return questionnaireTopicService.getDetail(Integer.parseInt(topicId));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void updateResult(MusicGroupQuestionnaire musicGroupQuestionnaire) {
|
|
|
+ MusicGroupQuestionnaire questionnaire = musicGroupQuestionnaireDao.get(musicGroupQuestionnaire.getId());
|
|
|
+ if(questionnaire == null){
|
|
|
+ throw new BizException("修改失败:问卷不存在");
|
|
|
+ }
|
|
|
+ musicGroupQuestionnaireDao.update(questionnaire);
|
|
|
+ //保存问卷结果
|
|
|
+ QuestionnaireUserResult questionnaireUserResult = musicGroupQuestionnaire.getQuestionnaireUserResult();
|
|
|
+ if(questionnaireUserResult == null){
|
|
|
+ throw new BizException("请录入问卷结果");
|
|
|
+ }
|
|
|
+ questionnaireUserResult.setActiveId(musicGroupQuestionnaire.getId());
|
|
|
+ questionnaireUserResult.setActiveType(QuestionnaireActiveTypeEnum.MUSIC_GROUP_QUESTION);
|
|
|
+ //删除原来的问卷结果
|
|
|
+ questionnaireUserResultDao.delByActiveIdAndUserId(musicGroupQuestionnaire.getId(), null,"MUSIC_GROUP_QUESTION");
|
|
|
+ questionnaireUserResultDao.insert(questionnaireUserResult);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Map<String,Object> getDetail(Integer id) {
|
|
|
+ Map<String,Object> resultMap = new HashMap<>(2);
|
|
|
+ MusicGroupQuestionnaire musicGroupQuestionnaire = musicGroupQuestionnaireDao.get(id);
|
|
|
+ resultMap.put("musicGroupQuestionnaire",musicGroupQuestionnaire);
|
|
|
+ //获取问卷结果
|
|
|
+ QuestionnaireResultDto questionnaireResultDto = questionnaireUserResultDao.getQuestionResult(musicGroupQuestionnaire.getId(),"MUSIC_GROUP_QUESTION");
|
|
|
+ resultMap.put("questionResult",questionnaireResultDto);
|
|
|
+ return resultMap;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void del(Integer id) {
|
|
|
+ questionnaireUserResultDao.delByActiveIdAndUserId(id, null,"MUSIC_GROUP_QUESTION");
|
|
|
+ musicGroupQuestionnaireDao.delete(id);
|
|
|
+ }
|
|
|
}
|