Browse Source

问卷调查

zouxuan 3 years ago
parent
commit
4f56349406

+ 42 - 40
mec-biz/src/main/java/com/ym/mec/biz/service/impl/QuestionnaireUserResultServiceImpl.java

@@ -1,42 +1,38 @@
 package com.ym.mec.biz.service.impl;
 package com.ym.mec.biz.service.impl;
 
 
-import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.ExportDto;
 import com.ym.mec.biz.dal.dto.ExportDto;
 import com.ym.mec.biz.dal.dto.QuestionnaireUserResultDto;
 import com.ym.mec.biz.dal.dto.QuestionnaireUserResultDto;
 import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityDto;
 import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityDto;
-import com.ym.mec.biz.dal.entity.*;
-import com.ym.mec.biz.dal.enums.ExportEnum;
-import com.ym.mec.biz.dal.enums.MessageTypeEnum;
+import com.ym.mec.biz.dal.entity.QuestionnaireQuestion;
+import com.ym.mec.biz.dal.entity.QuestionnaireQuestionItem;
+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.dal.enums.QuestionnaireActiveTypeEnum;
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.page.QuestionnaireUserResultQueryInfo;
 import com.ym.mec.biz.dal.page.QuestionnaireUserResultQueryInfo;
-import com.ym.mec.biz.dal.page.ReplacementInstrumentActivityQueryInfo;
-import com.ym.mec.biz.service.CooperationOrganService;
 import com.ym.mec.biz.service.ExportService;
 import com.ym.mec.biz.service.ExportService;
+import com.ym.mec.biz.service.QuestionnaireUserResultService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.page.QueryInfo;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.common.tenant.TenantContextHolder;
 import com.ym.mec.common.tenant.TenantContextHolder;
-import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 import com.ym.mec.util.date.DateUtil;
 import com.ym.mec.util.excel.POIUtil;
 import com.ym.mec.util.excel.POIUtil;
-import com.ym.mec.util.http.HttpUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
-import com.ym.mec.common.service.impl.BaseServiceImpl;
-import com.ym.mec.biz.service.QuestionnaireUserResultService;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.OutputStream;
+import java.time.Instant;
 import java.util.*;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
@@ -179,37 +175,43 @@ public class QuestionnaireUserResultServiceImpl extends BaseServiceImpl<Long, Qu
     @Override
     @Override
 	@Transactional(rollbackFor = Exception.class)
 	@Transactional(rollbackFor = Exception.class)
     public void add(ReplacementInstrumentActivityDto replacementInstrumentActivity) {
     public void add(ReplacementInstrumentActivityDto replacementInstrumentActivity) {
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			throw new BizException("用户信息获取失败,请重新登陆");
-		}
 		Integer topicId = replacementInstrumentActivity.getTopicId();
 		Integer topicId = replacementInstrumentActivity.getTopicId();
-
-		List<QuestionnaireUserResult> questionnaireUserResultList = replacementInstrumentActivity.getQuestionnaireUserResultList();
-		if(questionnaireUserResultList == null || questionnaireUserResultList.size() == 0){
-			throw new BizException("请填写问卷结果");
-		}
-		QuestionnaireActiveTypeEnum activeType = replacementInstrumentActivity.getActiveType();
 		QuestionnaireTopic topic = questionnaireTopicDao.get(topicId);
 		QuestionnaireTopic topic = questionnaireTopicDao.get(topicId);
-		if(topic.getAgainCommitFlag() == 0){
-			HashMap<String, Object> paramMap = new HashMap<>(3);
-			paramMap.put("activeId",replacementInstrumentActivity.getReplacementInstrumentCooperationId());
-			paramMap.put("activeType",activeType.getCode());
-			paramMap.put("userId",sysUser.getId());
-			List<QuestionnaireUserResult> userResults = questionnaireUserResultDao.findAll(paramMap);
-			if(userResults != null && userResults.size() > 0){
-				throw new BizException("您已提交问卷,请勿重复操作");
+		if(topic.getLoginFlag() == 1){
+			if(topic.getStatus() == 0){
+				throw new BizException("当前问卷已停用");
 			}
 			}
+			SysUser sysUser = sysUserFeignService.queryUserInfo();
+			if (sysUser == null) {
+				throw new BizException("用户信息获取失败,请重新登陆");
+			}
+			List<QuestionnaireUserResult> questionnaireUserResultList = replacementInstrumentActivity.getQuestionnaireUserResultList();
+			if(questionnaireUserResultList == null || questionnaireUserResultList.size() == 0){
+				throw new BizException("请填写问卷结果");
+			}
+			QuestionnaireActiveTypeEnum activeType = replacementInstrumentActivity.getActiveType();
+			if(topic.getAgainCommitFlag() == 0){
+				HashMap<String, Object> paramMap = new HashMap<>(3);
+				paramMap.put("activeId",replacementInstrumentActivity.getReplacementInstrumentCooperationId());
+				paramMap.put("activeType",activeType.getCode());
+				paramMap.put("userId",sysUser.getId());
+				List<QuestionnaireUserResult> userResults = questionnaireUserResultDao.findAll(paramMap);
+				if(userResults != null && userResults.size() > 0){
+					throw new BizException("您已提交问卷,请勿重复操作");
+				}
+			}
+			//删除原来的问卷结果
+			questionnaireUserResultDao.delByActiveIdAndUserId(null, sysUser.getId(),activeType.getCode());
+			for (QuestionnaireUserResult result : questionnaireUserResultList) {
+				result.setUserId(sysUser.getId());
+				result.setQuestionnaireTopicId(topicId);
+				result.setActiveType(activeType);
+			}
+			//新增问卷结果
+			questionnaireUserResultDao.batchInsert1(questionnaireUserResultList);
+		}else {
+			this.addResult(replacementInstrumentActivity);
 		}
 		}
-		//删除原来的问卷结果
-		questionnaireUserResultDao.delByActiveIdAndUserId(null, sysUser.getId(),activeType.getCode());
-		for (QuestionnaireUserResult result : questionnaireUserResultList) {
-			result.setUserId(sysUser.getId());
-			result.setQuestionnaireTopicId(topicId);
-			result.setActiveType(activeType);
-		}
-		//新增问卷结果
-		questionnaireUserResultDao.batchInsert1(questionnaireUserResultList);
 	}
 	}
 
 
     @Override
     @Override
@@ -221,9 +223,9 @@ public class QuestionnaireUserResultServiceImpl extends BaseServiceImpl<Long, Qu
 		if(questionnaireUserResultList == null || questionnaireUserResultList.size() == 0){
 		if(questionnaireUserResultList == null || questionnaireUserResultList.size() == 0){
 			throw new BizException("请填写问卷结果");
 			throw new BizException("请填写问卷结果");
 		}
 		}
-		Long time = new Date().getTime();
+		int epochSecond = (int)Instant.now().getEpochSecond();
 		for (QuestionnaireUserResult result : questionnaireUserResultList) {
 		for (QuestionnaireUserResult result : questionnaireUserResultList) {
-			result.setUserId(time.intValue());
+			result.setUserId(epochSecond);
 			result.setQuestionnaireTopicId(topicId);
 			result.setQuestionnaireTopicId(topicId);
 			result.setActiveType(QuestionnaireActiveTypeEnum.ENTERPRISE_CUSTOMIZATION);
 			result.setActiveType(QuestionnaireActiveTypeEnum.ENTERPRISE_CUSTOMIZATION);
 		}
 		}

+ 16 - 2
mec-biz/src/main/resources/config/mybatis/QuestionnaireTopicMapper.xml

@@ -16,6 +16,8 @@
 		<result column="create_time_" property="createTime" />
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
 		<result column="update_time_" property="updateTime" />
         <result column="tenant_id_" property="tenantId"/>
         <result column="tenant_id_" property="tenantId"/>
+        <result column="login_flag_" property="loginFlag"/>
+        <result column="commit_type_" property="commitType"/>
 	</resultMap>
 	</resultMap>
 	
 	
 	<!-- 根据主键查询一条记录 -->
 	<!-- 根据主键查询一条记录 -->
@@ -30,13 +32,19 @@
 	
 	
 	<!-- 向数据库增加一条记录 -->
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.QuestionnaireTopic" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.QuestionnaireTopic" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO questionnaire_topic (title_,status_,creator_id_,create_time_,update_time_,again_commit_flag_,tenant_id_)
-		VALUES(#{title},#{status},#{creatorId},NOW(),NOW(),#{againCommitFlag},#{tenantId})
+		INSERT INTO questionnaire_topic (title_,status_,creator_id_,create_time_,update_time_,again_commit_flag_,tenant_id_,login_flag_,commit_type_)
+		VALUES(#{title},#{status},#{creatorId},NOW(),NOW(),#{againCommitFlag},#{tenantId},#{loginFlag},#{commitType})
 	</insert>
 	</insert>
 	
 	
 	<!-- 根据主键查询一条记录 -->
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.QuestionnaireTopic">
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.QuestionnaireTopic">
 		UPDATE questionnaire_topic <set>
 		UPDATE questionnaire_topic <set>
+		<if test="loginFlag != null">
+			login_flag_ = #{loginFlag},
+		</if>
+		<if test="commitType != null">
+			commit_type_ = #{commitType},
+		</if>
 		<if test="tenantId != null">
 		<if test="tenantId != null">
 			tenant_id_ = #{tenantId},
 			tenant_id_ = #{tenantId},
 		</if>
 		</if>
@@ -69,6 +77,12 @@
 			<if test="status != null">
 			<if test="status != null">
 				AND status_ = #{status}
 				AND status_ = #{status}
 			</if>
 			</if>
+			<if test="loginFlag != null">
+				AND login_flag_ = #{loginFlag}
+			</if>
+			<if test="commitType != null">
+				AND commit_type_ = #{commitType}
+			</if>
 		</where>
 		</where>
 	</sql>
 	</sql>
 	<!-- 分页查询 -->
 	<!-- 分页查询 -->

+ 1 - 1
mec-student/src/main/java/com/ym/mec/student/config/ResourceServerConfig.java

@@ -47,7 +47,7 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
                 "/musicGroup/getGradeList",
                 "/musicGroup/getGradeList",
                 "/studentCompetition/get","/musicGroup/preRegister",
                 "/studentCompetition/get","/musicGroup/preRegister",
                 "/tenantInfo/queryTenantInfoByOrgan/**",
                 "/tenantInfo/queryTenantInfoByOrgan/**",
-                "/subject/list","/tenantApply/add",
+                "/subject/list","/tenantApply/add","/questionnaireUserResult/add",
                 "/musicEnlightenmentQuestionnaire/addEnlightenmentQuestionnaire", "/musicEnlightenmentQuestionnaire/getUserMusicEnlightenmentQuestionnaire").permitAll().anyRequest().authenticated().and().httpBasic();
                 "/musicEnlightenmentQuestionnaire/addEnlightenmentQuestionnaire", "/musicEnlightenmentQuestionnaire/getUserMusicEnlightenmentQuestionnaire").permitAll().anyRequest().authenticated().and().httpBasic();
     }
     }