Преглед изворни кода

Merge branch 'cloud_teacher_feedback' of http://git.dayaedu.com/yonge/mec

zouxuan пре 4 година
родитељ
комит
3003510174

+ 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);
+		}
+    }
 }

+ 0 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServiceImpl.java

@@ -400,7 +400,6 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
         if(StringUtils.isEmpty(studentIds)){
             throw new BizException("请选择学员");
         }
-        endTime = DateUtil.addSeconds(DateUtil.addDays(endTime,1),-1);
         //学员是否有会员
         List<Integer> studentIdList = Arrays.stream(studentIds.split(",")).map(Integer::parseInt).collect(Collectors.toList());
         List<Student> studentList = studentDao.findByStudentIds(studentIdList);

+ 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>
 
     <!-- 分页查询 -->

+ 11 - 18
mec-biz/src/main/resources/config/mybatis/StudentMapper.xml

@@ -804,16 +804,8 @@
         FROM ((SELECT sr.user_id_
                FROM student_registration sr
                     LEFT JOIN music_group mg ON sr.music_group_id_=mg.id_
-                        LEFT JOIN sys_user su ON sr.user_id_=su.id_
-               WHERE su.del_flag_=0
-                AND mg.status_='PROGRESS'
-                 AND sr.music_group_status_='NORMAL'
-                <if test="organIds!=null and organIds.size()>0">
-                    AND su.organ_id_ IN
-                    <foreach collection="organIds" item="organId" open="(" close=")" separator=",">
-                        #{organId}
-                    </foreach>
-                </if>)
+               WHERE mg.status_='PROGRESS'
+                AND sr.music_group_status_='NORMAL')
               UNION ALL
               (SELECT
                    cssp.user_id_
@@ -823,14 +815,15 @@
                        LEFT JOIN sys_user su ON cssp.user_id_ = su.id_
                WHERE
                    cssp.group_type_ IN ('VIP', 'PRACTICE')
-                 AND cs.status_='NOT_START'
-                 AND su.del_flag_ = 0
-                <if test="organIds!=null and organIds.size()>0">
-                    AND su.organ_id_ IN
-                    <foreach collection="organIds" item="organId" open="(" close=")" separator=",">
-                        #{organId}
-                    </foreach>
-                </if>)) t
+                 AND cs.status_='NOT_START')) t
+        LEFT JOIN sys_user su ON t.user_id_=su.id_
+        WHERE su.del_flag_=0
+        <if test="organIds!=null and organIds.size()>0">
+            AND su.organ_id_ IN
+            <foreach collection="organIds" item="organId" open="(" close=")" separator=",">
+                #{organId}
+            </foreach>
+        </if>
     </select>
 
     <select id="getOrgansStudentNum" resultType="map">

+ 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();
+    }
 }

+ 4 - 3
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -1449,9 +1449,10 @@ public class ExportController extends BaseController {
                     ,"courseFee", "activeName", "hasCourse ? '是' : '否'"
                     ,"carePackage == null || carePackage == 0 ? \"不可用\" : carePackage == 1 ? \"可用\" : \"已使用\""
                     ,"comeOnPackage == null || comeOnPackage == 0 ? \"不可用\" : comeOnPackage == 1 ? \"可用\" : \"已使用\""
-                    ,"noPaymentAmount == null ? 0 : noPaymentAmount", "quitReason", "musicMembershipEndTime", "musicMembershipEndTime == null ? '' : musicMembershipDay >= 0 ? musicMembershipDay : '已欠费' + musicMembershipDay1 + '天'",
+                    ,"noPaymentAmount == null ? 0 : noPaymentAmount", "quitReason", "musicMembershipEndTime",
+                    "musicMembershipEndTime == null ? '' : musicMembershipDay >= 0 ? musicMembershipDay : '已欠费' + musicMembershipDay1 + '天'",
                     "membershipEndTime","membershipEndTime == null ? hasNoStartCloudTeacher ? \"未生效\" : \"未购买\" : membershipDay >= 0 ? membershipDay : hasNoStartCloudTeacher ? \"未生效\" : \"会员已过期\"",
-                    "experienceMembershipEndTime","membershipEndTime == null ? \"未试用\" : membershipDay >= 0 ? membershipDay : \"已失效\""};
+                    "experienceMembershipEndTime","experienceMembershipEndTime == null ? \"未试用\" : experienceMembershipDay >= 0 ? experienceMembershipDay : \"已失效\""};
             HSSFWorkbook workbook = POIUtil.exportExcel(header, body, musicGroupStudentsDtoPageInfo.getRows());
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
@@ -3231,7 +3232,7 @@ public class ExportController extends BaseController {
         try {
             String[] header = {"排名", "分部", "学员总数", "活跃人数", "活跃人数比", "当日使用人数", "当日新增使用人数", "使用人数占比", "付费会员数量","付费会员占比", "新增付费会员"};
             String[] body = {"index", "organName", "totalStudentNum", "cloudStudyLivelyStudentNum", "cloudStudyLivelyStudentDuty+\"%\"",
-                    "cloudStudyUseStudentNum", "newCloudStudyStudentNum", "cloudStudyUseStudentDuty+\"%\"", "vipStudentNum", "vipStudentDuty+\"%\"", "newCloudStudyStudentNum"};
+                    "cloudStudyUseStudentNum", "newCloudStudyStudentNum", "cloudStudyUseStudentDuty+\"%\"", "vipStudentNum", "vipStudentDuty+\"%\"", "newMemberStudentNum"};
             HSSFWorkbook workbook = POIUtil.exportExcel(header, body, rows);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=employeeInfo-" + DateUtil.getDate(new Date()) + ".xls");