Просмотр исходного кода

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

yonge 4 лет назад
Родитель
Сommit
ed52718596
27 измененных файлов с 318 добавлено и 72 удалено
  1. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/SoundCompareHelper.java
  2. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysMusicCompareRecord.java
  3. 12 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysSuggestion.java
  4. 3 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/IndexDataType.java
  5. 21 21
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java
  6. 34 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/SuggestionType.java
  7. 54 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/SysSuggestionQueryInfo.java
  8. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/SysConfigService.java
  9. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseHomeworkServiceImpl.java
  10. 24 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SoundCompareHandler.java
  11. 6 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicCompareRecordServiceImpl.java
  12. 1 1
      mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml
  13. 6 2
      mec-biz/src/main/resources/config/mybatis/SysMusicCompareRecordMapper.xml
  14. 31 4
      mec-biz/src/main/resources/config/mybatis/SysSuggestionMapper.xml
  15. 2 2
      mec-client-api/src/main/java/com/ym/mec/task/fallback/TaskRemoteServiceFallback.java
  16. 5 4
      mec-student/src/main/java/com/ym/mec/student/controller/StudentManageController.java
  17. 2 2
      mec-student/src/main/java/com/ym/mec/student/controller/SysMessageController.java
  18. 3 3
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/CourseHomeworkController.java
  19. 1 1
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/ExtracurricularExercisesController.java
  20. 6 0
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/SoundController.java
  21. 1 1
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/SysMessageController.java
  22. 6 0
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherManageController.java
  23. 6 6
      mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java
  24. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/ExtracurricularExercisesController.java
  25. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/InspectionItemPlanConclusionController.java
  26. 28 0
      mec-web/src/main/java/com/ym/mec/web/controller/SoundCompareController.java
  27. 40 10
      mec-web/src/main/java/com/ym/mec/web/controller/SysSuggestionController.java

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/SoundCompareHelper.java

@@ -9,6 +9,7 @@ import com.ym.mec.biz.service.impl.SoundCompareHandler;
 import io.swagger.annotations.ApiModelProperty;
 import org.springframework.util.CollectionUtils;
 
+import java.io.File;
 import java.io.RandomAccessFile;
 import java.math.BigDecimal;
 import java.util.ArrayList;
@@ -37,6 +38,8 @@ public class SoundCompareHelper implements PitchDetectionHandler {
     @ApiModelProperty
     private RandomAccessFile accessFile;
 
+    private File file;
+
     @ApiModelProperty(value = "录音文件地址")
     private String recordFilePath;
 
@@ -120,6 +123,14 @@ public class SoundCompareHelper implements PitchDetectionHandler {
         return accessFile;
     }
 
+    public File getFile() {
+        return file;
+    }
+
+    public void setFile(File file) {
+        this.file = file;
+    }
+
     public String getRecordFilePath() {
         return recordFilePath;
     }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysMusicCompareRecord.java

@@ -36,6 +36,9 @@ public class SysMusicCompareRecord {
 
 	/** 录音文件地址 */
 	private String recordFilePath;
+
+	/** 周一日期 */
+	private String monday;
 	
 	/** 创建时间 */
 	private java.util.Date createTime;
@@ -142,6 +145,14 @@ public class SysMusicCompareRecord {
 		this.playTime = playTime;
 	}
 
+	public String getMonday() {
+		return monday;
+	}
+
+	public void setMonday(String monday) {
+		this.monday = monday;
+	}
+
 	public void setCreateTime(java.util.Date createTime){
 		this.createTime = createTime;
 	}

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysSuggestion.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.biz.dal.enums.SuggestionType;
 import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
@@ -30,6 +31,9 @@ public class SysSuggestion {
 	@ApiModelProperty(value = "客户端类型",required = false)
 	private String clientType;
 
+	@ApiModelProperty(value = "建议类型")
+	private SuggestionType type = SuggestionType.APP;
+
 	@ApiModelProperty(value = "用户名",required = false)
 	private String username;
 	
@@ -92,6 +96,14 @@ public class SysSuggestion {
 		this.clientType = clientType;
 	}
 
+	public SuggestionType getType() {
+		return type;
+	}
+
+	public void setType(SuggestionType type) {
+		this.type = type;
+	}
+
 	public void setCreateTime(java.util.Date createTime){
 		this.createTime = createTime;
 	}

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/IndexDataType.java

@@ -51,9 +51,9 @@ public enum IndexDataType implements BaseEnum<String, IndexDataType> {
     OTHER_AMOUNT("OTHER_AMOUNT","其他收入", false, false),
 
     //业务数据
-    HOMEWORK_CREATE_RATE("HOMEWORK_CREATE_RATE","作业布置率", true, true),
-    HOMEWORK_SUBMIT_RATE("HOMEWORK_SUBMIT_RATE","作业提交率", true, true),
-    HOMEWORK_COMMENT_RATE("HOMEWORK_COMMENT_RATE","作业点评率", true, true),
+    HOMEWORK_CREATE_RATE("HOMEWORK_CREATE_RATE","训练布置率", true, true),
+    HOMEWORK_SUBMIT_RATE("HOMEWORK_SUBMIT_RATE","训练提交率", true, true),
+    HOMEWORK_COMMENT_RATE("HOMEWORK_COMMENT_RATE","训练点评率", true, true),
 
     //课程数据
     MUSIC_GROUP_COURSE("MUSIC_GROUP_COURSE","乐团课", false, true),

+ 21 - 21
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java

@@ -31,7 +31,7 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     SYSTEM_PUSH_NAMES_ACHIEVE("SYSTEM_PUSH_NAMES_ACHIEVE", "点名完成"),
     //    SCHEDULE_CHANGE("SCHEDULE_CHANGE", "课表变动"),
 //    STUDENT_SMS_TEACHING_SCHOOL_CHANGE("STUDENT_SMS_TEACHING_SCHOOL_CHANGE", "教学点变动"),
-    STUDENT_PUSH_JOB_MESSAGE("STUDENT_PUSH_JOB_MESSAGE", "作业提醒"),
+    STUDENT_PUSH_JOB_MESSAGE("STUDENT_PUSH_JOB_MESSAGE", "训练提醒"),
     //    STUDENT_PUSH_CLASS_MESSAGE("STUDENT_PUSH_CLASS_MESSAGE", "班级消息"),
     TEACHER_PUSH_MUSIC_GROUP_COURSE_ADD_PLAN("TEACHER_PUSH_MUSIC_GROUP_COURSE_ADD_PLAN", "乐团课新增安排"),
     TEACHER_SMS_PUSH_VIP_COURSE_APPLY_RESULT("TEACHER_SMS_PUSH_VIP_COURSE_APPLY_RESULT", "VIP课申请结果"),
@@ -43,7 +43,7 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     //    TEACHER_PUSH_SIGN_IN_MESSAGE("TEACHER_PUSH_SIGN_IN_MESSAGE", "签到提醒"),
 //    TEACHER_PUSH_NAMES_MESSAGE("TEACHER_PUSH_NAMES_MESSAGE", "点名提醒"),
     TEACHER_PUSH_SIGN_OUT_MESSAGE("TEACHER_PUSH_SIGN_OUT_MESSAGE", "签退提醒"),
-    TEACHER_PUSH_JOB_WAIT_REPLY("TEACHER_PUSH_JOB_WAIT_REPLY", "作业待回复"),
+    TEACHER_PUSH_JOB_WAIT_REPLY("TEACHER_PUSH_JOB_WAIT_REPLY", "训练待回复"),
     //    TEACHER_PUSH_SUBSTITUTE_PLAN("TEACHER_PUSH_SUBSTITUTE_PLAN", "代课安排"),
     TEACHER_PUSH_LEAVE_RESULT("TEACHER_PUSH_LEAVE_RESULT", "请假结果"),
     TEACHER_PUSH_COURSE_SCHEDULE_CHANGE_RESULT("TEACHER_PUSH_COURSE_SCHEDULE_CHANGE_RESULT", "课时调整结果"),
@@ -64,31 +64,31 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     STUDENT_SMS_PUSH_PRACTICE_COMPLETED_STUDY_REPORT("STUDENT_SMS_PUSH_PRACTICE_COMPLETED_STUDY_REPORT", "网管课完成学习报告"),
     STUDENT_SMS_PUSH_FREE_PRACTICE_APPLY_PUSH("STUDENT_SMS_PUSH_FREE_PRACTICE_APPLY_PUSH", "免费陪练课预约推送"),
     TEACHER_PUSH_NEED_POST_STUDY_REPORT("TEACHER_PUSH_NEED_POST_STUDY_REPORT", "新增待填写月报"),
-    STUDENT_PUSH_HOMEWORK_REMIND("STUDENT_PUSH_HOMEWORK_REMIND", "作业提醒-网管课"),
+    STUDENT_PUSH_HOMEWORK_REMIND("STUDENT_PUSH_HOMEWORK_REMIND", "训练提醒-网管课"),
     TEACHER_PUSH_COMM_NO_STUDENTS_PUSH("TEACHER_PUSH_COMM_NO_STUDENTS_PUSH", "对外课程组无学生提醒"),
-    TEACHER_PUSH_HOMEWORK_SUBMIT("TEACHER_PUSH_HOMEWORK_SUBMIT", "学生提交作业提醒"),
-    TEACHER_PUSH_HOMEWORK_REPLY("TEACHER_PUSH_HOMEWORK_REPLY", "学生作业回复提醒"),
-    STUDENT_PUSH_HOMEWORK_REPLY("STUDENT_PUSH_HOMEWORK_REPLY", "教师回复作业提醒"),
+    TEACHER_PUSH_HOMEWORK_SUBMIT("TEACHER_PUSH_HOMEWORK_SUBMIT", "学生提交训练提醒"),
+    TEACHER_PUSH_HOMEWORK_REPLY("TEACHER_PUSH_HOMEWORK_REPLY", "学生训练回复提醒"),
+    STUDENT_PUSH_HOMEWORK_REPLY("STUDENT_PUSH_HOMEWORK_REPLY", "教师回复训练提醒"),
 
-    IM_HOMEWORK_REMIND("IM_HOMEWORK_REMIND", "作业提醒"),
-    IM_HOMEWORK_SUBMIT_PUSH("IM_HOMEWORK_SUBMIT_PUSH", "作业提交提醒"),
-    IM_HOMEWORK_SUBMIT_PUSH_GROUP("IM_HOMEWORK_SUBMIT_PUSH_GROUP", "作业提交提醒"),
-    IM_HOMEWORK_STUDENT_REPLY_PUSH("IM_HOMEWORK_STUDENT_REPLY_PUSH", "作业回复提醒"),
-    IM_HOMEWORK_TEACHER_REPLY_PUSH("IM_HOMEWORK_TEACHER_REPLY_PUSH", "作业点评提醒"),
-    IM_HOMEWORK_REMIND_DETAIL("IM_HOMEWORK_REMIND_DETAIL", "作业提醒"),
+    IM_HOMEWORK_REMIND("IM_HOMEWORK_REMIND", "训练提醒"),
+    IM_HOMEWORK_SUBMIT_PUSH("IM_HOMEWORK_SUBMIT_PUSH", "训练提交提醒"),
+    IM_HOMEWORK_SUBMIT_PUSH_GROUP("IM_HOMEWORK_SUBMIT_PUSH_GROUP", "训练提交提醒"),
+    IM_HOMEWORK_STUDENT_REPLY_PUSH("IM_HOMEWORK_STUDENT_REPLY_PUSH", "训练回复提醒"),
+    IM_HOMEWORK_TEACHER_REPLY_PUSH("IM_HOMEWORK_TEACHER_REPLY_PUSH", "训练点评提醒"),
+    IM_HOMEWORK_REMIND_DETAIL("IM_HOMEWORK_REMIND_DETAIL", "训练提醒"),
 
     /**
      * 课外训练消息
      */
-    STUDENT_PUSH_EXTRA_REMIND("STUDENT_PUSH_EXTRA_REMIND", "作业提醒"),
-    EXTRA_REMIND_IM("EXTRA_REMIND_IM", "作业提醒"),
-    EXTRA_REMIND_IM_DETAIL("EXTRA_REMIND_IM_DETAIL", "作业提醒"),
-    STUDENT_PUSH_EXTRA_REPLY("STUDENT_PUSH_EXTRA_REPLY", "作业点评提醒"),
-    EXTRA_TEACHER_REPLY_IM("EXTRA_TEACHER_REPLY_IM", "作业点评提醒"),
-    TEACHER_PUSH_EXTRA_SUBMIT("TEACHER_PUSH_EXTRA_SUBMIT", "作业提交提醒"),
-    EXTRA_SUBMIT_IM("EXTRA_SUBMIT_IM", "作业提交提醒"),
-    TEACHER_PUSH_EXTRA_REPLY("TEACHER_PUSH_EXTRA_REPLY", "作业回复提醒"),
-    EXTRA_STUDENT_REPLY_IM("EXTRA_STUDENT_REPLY_IM", "作业回复提醒"),
+    STUDENT_PUSH_EXTRA_REMIND("STUDENT_PUSH_EXTRA_REMIND", "训练提醒"),
+    EXTRA_REMIND_IM("EXTRA_REMIND_IM", "训练提醒"),
+    EXTRA_REMIND_IM_DETAIL("EXTRA_REMIND_IM_DETAIL", "训练提醒"),
+    STUDENT_PUSH_EXTRA_REPLY("STUDENT_PUSH_EXTRA_REPLY", "训练点评提醒"),
+    EXTRA_TEACHER_REPLY_IM("EXTRA_TEACHER_REPLY_IM", "训练点评提醒"),
+    TEACHER_PUSH_EXTRA_SUBMIT("TEACHER_PUSH_EXTRA_SUBMIT", "训练提交提醒"),
+    EXTRA_SUBMIT_IM("EXTRA_SUBMIT_IM", "训练提交提醒"),
+    TEACHER_PUSH_EXTRA_REPLY("TEACHER_PUSH_EXTRA_REPLY", "训练回复提醒"),
+    EXTRA_STUDENT_REPLY_IM("EXTRA_STUDENT_REPLY_IM", "训练回复提醒"),
 
     TEACHER_PUSH_COURSE_SALARY_COMPLAINTS_RESULT("TEACHER_PUSH_COURSE_SALARY_COMPLAINTS_RESULT", "课酬申述结果"),
     TEACHER_PUSH_SALARY_CONFIRM("TEACHER_PUSH_SALARY_CONFIRM", "课酬确认"),

+ 34 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/SuggestionType.java

@@ -0,0 +1,34 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+public enum SuggestionType implements BaseEnum<String, SuggestionType> {
+	APP("APP", "软件反馈"),
+	SMART_PRACTICE("SMART_PRACTICE", "智能陪练");
+
+	private String code;
+
+	private String msg;
+
+	SuggestionType(String code, String msg) {
+		this.code = code;
+		this.msg = msg;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public String getMsg() {
+		return msg;
+	}
+
+	public void setMsg(String msg) {
+		this.msg = msg;
+	}
+
+	@Override
+	public String getCode() {
+		return this.code;
+	}
+}

+ 54 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/SysSuggestionQueryInfo.java

@@ -0,0 +1,54 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.biz.dal.enums.SuggestionType;
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Author Joburgess
+ * @Date 2021/8/10 0010
+ */
+public class SysSuggestionQueryInfo extends QueryInfo {
+
+    @ApiModelProperty(value = "建议类型")
+    private SuggestionType type;
+
+    private String startTime;
+
+    private String endTime;
+
+    @ApiModelProperty(value = "客户端类型",required = false)
+    private String clientType;
+
+    public SuggestionType getType() {
+        return type;
+    }
+
+    public void setType(SuggestionType type) {
+        this.type = type;
+    }
+
+    public String getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(String startTime) {
+        this.startTime = startTime;
+    }
+
+    public String getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(String endTime) {
+        this.endTime = endTime;
+    }
+
+    public String getClientType() {
+        return clientType;
+    }
+
+    public void setClientType(String clientType) {
+        this.clientType = clientType;
+    }
+}

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/SysConfigService.java

@@ -192,7 +192,7 @@ public interface SysConfigService extends BaseService<Long, SysConfig> {
 
     String PRACTICE_PROMOTION_ACTIVITY_START_DATE = "practice_promotion_activity_start_date";
 
-    String NEW_MSG_PUSH = "您收到一条作业回复,请点击查看";
+    String NEW_MSG_PUSH = "您收到一条训练回复,请点击查看";
 
     /**
      * @describe 教务端baseUrl

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

@@ -61,7 +61,7 @@ public class CourseHomeworkServiceImpl extends BaseServiceImpl<Long, CourseHomew
 			throw new BizException("课程不存在");
 		}
 		if(StringUtils.isBlank(courseHomework.getContent())){
-			throw new BizException("请填写作业内容");
+			throw new BizException("请填写训练内容");
 		}
 		CourseSchedule courseSchedule = courseScheduleDao.get(courseHomework.getCourseScheduleId());
 		if(Objects.isNull(courseSchedule)){

+ 24 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SoundCompareHandler.java

@@ -19,6 +19,9 @@ import com.ym.mec.biz.service.SysMusicCompareRecordService;
 import com.ym.mec.biz.service.WebSocketEventHandler;
 import com.ym.mec.common.constant.CommonConstants;
 import com.ym.mec.common.exception.BizException;
+import com.ym.mec.thirdparty.storage.StoragePluginContext;
+import com.ym.mec.thirdparty.storage.provider.KS3StoragePlugin;
+import com.ym.mec.util.upload.UploadUtil;
 import org.apache.commons.io.FileUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -64,6 +67,8 @@ public class SoundCompareHandler implements WebSocketEventHandler {
     public static final SoundCompareConfig soundCompareConfig = new SoundCompareConfig();
 
     @Autowired
+    private StoragePluginContext storagePluginContext;
+    @Autowired
     private SysMusicCompareRecordService sysMusicCompareRecordService;
     @Autowired
     private SysMusicScoreAccompanimentDao sysMusicScoreAccompanimentDao;
@@ -124,6 +129,7 @@ public class SoundCompareHandler implements WebSocketEventHandler {
                 }
                 try {
                     File file = new File(tmpDir+phone + "_"+ userSoundInfoMap.get(phone).getMusicScoreId() +"_"+ LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) +".wav");
+                    userSoundInfoMap.get(phone).setFile(file);
                     userSoundInfoMap.get(phone).setAccessFile(new RandomAccessFile(file, "rw"));
                     userSoundInfoMap.get(phone).setRecordFilePath(file.getAbsolutePath());
                 } catch (FileNotFoundException e) {
@@ -204,7 +210,6 @@ public class SoundCompareHandler implements WebSocketEventHandler {
     @Override
     public void afterConnectionClosed(WebSocketSession session, String phone){
         createHeader(phone);
-        userSoundInfoMap.remove(phone);
     }
 
     /**
@@ -246,6 +251,24 @@ public class SoundCompareHandler implements WebSocketEventHandler {
             }
             userSoundInfoMap.get(phone).setAccessFile(null);
         }
+
+        if(Objects.nonNull(userSoundInfoMap.get(phone).getFile())){
+            String url = null;
+            try {
+                String folder = UploadUtil.getFileFloder();
+                url = storagePluginContext.uploadFile(KS3StoragePlugin.PLUGIN_NAME,"soundCompare/" + folder, userSoundInfoMap.get(phone).getFile());
+            } catch (Exception e) {
+                LOGGER.error("录音文件上传失败:{}", e);
+            }
+            userSoundInfoMap.get(phone).setRecordFilePath(url);
+        }
+        //存储评分数据
+        sysMusicCompareRecordService.saveMusicCompareData(phone, userSoundInfoMap.get(phone));
+
+        if(Objects.nonNull(userSoundInfoMap.get(phone).getFile())){
+            userSoundInfoMap.get(phone).getFile().deleteOnExit();
+        }
+
         userSoundInfoMap.remove(phone);
     }
 
@@ -467,9 +490,6 @@ public class SoundCompareHandler implements WebSocketEventHandler {
         //计算分数并推送
         createPushInfo(phone, "overall", -1, intonation, cadence, integrity);
 
-        //存储评分数据
-        sysMusicCompareRecordService.saveMusicCompareData(phone, userSoundInfoMap.get(phone));
-
         LOGGER.info("评分数据:{}", JSON.toJSONString(userSoundInfoMap.get(phone)));
     }
 

+ 6 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicCompareRecordServiceImpl.java

@@ -5,6 +5,7 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dto.SoundCompareHelper;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.util.date.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.biz.dal.entity.SysMusicCompareRecord;
@@ -14,6 +15,8 @@ import org.springframework.stereotype.Service;
 
 import java.io.IOException;
 import java.math.BigDecimal;
+import java.time.DayOfWeek;
+import java.time.LocalDate;
 import java.util.Map;
 import java.util.Objects;
 
@@ -50,11 +53,10 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
 		sysMusicCompareRecord.setRecordFilePath(soundCompareInfo.getRecordFilePath());
 		sysMusicCompareRecord.setDeviceType(soundCompareInfo.getDeviceType());
 		sysMusicCompareRecord.setClientId(soundCompareInfo.getClientId());
-		try {
-			sysMusicCompareRecord.setPlayTime(soundCompareInfo.getAccessFile().length()/(SoundCompareHandler.soundCompareConfig.audioFormat.getFrameSize()*SoundCompareHandler.soundCompareConfig.audioFormat.getFrameRate()));
-		} catch (IOException e) {
-			e.printStackTrace();
+		if(Objects.nonNull(soundCompareInfo.getFile())){
+			sysMusicCompareRecord.setPlayTime(soundCompareInfo.getFile().length()/(SoundCompareHandler.soundCompareConfig.audioFormat.getFrameSize()*SoundCompareHandler.soundCompareConfig.audioFormat.getFrameRate()));
 		}
+		sysMusicCompareRecord.setMonday(LocalDate.now().with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.MONDAY.getValue()).toString());
 		sysMusicCompareRecordDao.insert(sysMusicCompareRecord);
 	}
 }

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

@@ -1529,7 +1529,7 @@
         UNION
         SELECT cg.id_ FROM practice_group pg
         LEFT JOIN class_group cg ON cg.music_group_id_ = pg.id_
-        WHERE pg.educational_teacher_id_ = #{userId} AND cg.group_type_ = 'PRACTICE' AND cg.del_flag_ = 0
+        WHERE pg.educational_teacher_id_ = #{userId} AND cg.del_flag_ = 0
     </select>
     <select id="countCourseNum" resultType="int">
         SELECT COUNT(id_) FROM course_schedule WHERE class_group_id_ = #{classGroupId} AND teach_mode_ = #{teachMode} AND pre_course_flag_ = 0

+ 6 - 2
mec-biz/src/main/resources/config/mybatis/SysMusicCompareRecordMapper.xml

@@ -19,6 +19,7 @@
 		<result column="device_type_" property="deviceType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler" />
 		<result column="client_id_" property="clientId" />
 		<result column="play_time_" property="playTime"/>
+		<result column="monday_" property="monday"/>
 		<result column="create_time_" property="createTime" />
 	</resultMap>
 
@@ -40,9 +41,9 @@
 		</selectKey>
 		-->
 		INSERT INTO sys_music_compare_record (id_,user_id_,sys_music_score_id_,score_data_,score_,intonation_,cadence_,integrity_,
-		                                      record_file_path_,device_type_,client_id_,play_time_,create_time_)
+		                                      record_file_path_,device_type_,client_id_,play_time_,monday_,create_time_)
 		VALUES(#{id},#{userId},#{sysMusicScoreId},#{scoreData},#{score},#{intonation},#{cadence},#{integrity},
-		       #{recordFilePath},#{deviceType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{clientId},#{playTime},NOW())
+		       #{recordFilePath},#{deviceType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{clientId},#{playTime},#{monday},NOW())
 	</insert>
 
 	<!-- 根据主键查询一条记录 -->
@@ -81,6 +82,9 @@
 		<if test="playTime != null">
 			play_time_ = #{playTime},
 		</if>
+		<if test="monday != null">
+			monday_ = #{monday},
+		</if>
 	</set> WHERE id_ = #{id}
 	</update>
 

+ 31 - 4
mec-biz/src/main/resources/config/mybatis/SysSuggestionMapper.xml

@@ -15,6 +15,7 @@
         <result column="username_" property="username"/>
         <result column="create_time_" property="createTime"/>
         <result column="client_type_" property="clientType"/>
+        <result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
     </resultMap>
 
     <!-- 根据主键查询一条记录 -->
@@ -30,8 +31,8 @@
     <!-- 向数据库增加一条记录 -->
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.SysSuggestion" useGeneratedKeys="true" keyColumn="id"
             keyProperty="id">
-        INSERT INTO sys_suggestion (id_,mobile_no_,title_,content_,user_id_,create_time_,client_type_)
-        VALUES(#{id},#{mobileNo},#{title},#{content},#{userId},now(),#{clientType})
+        INSERT INTO sys_suggestion (id_,mobile_no_,title_,content_,user_id_,create_time_,client_type_,type_)
+        VALUES(#{id},#{mobileNo},#{title},#{content},#{userId},now(),#{clientType},#{type, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
     </insert>
 
     <!-- 根据主键查询一条记录 -->
@@ -53,6 +54,9 @@
             <if test="mobileNo != null">
                 mobile_no_ = #{mobileNo},
             </if>
+            <if test="type != null">
+                type_ = #{type, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            </if>
         </set>
         WHERE id_ = #{id}
     </update>
@@ -62,16 +66,39 @@
 		DELETE FROM sys_suggestion WHERE id_ = #{id} 
 	</delete>
 
+    <sql id="queryCondition">
+        <where>
+            <if test="type!=null">
+                AND ss.type_ = #{type, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+            </if>
+            <if test="clientType!=null">
+                AND ss.client_type_ = #{clientType}
+            </if>
+            <if test="startTime!=null and startTime!=''">
+                AND DATE_FORMAT(ss.create_time_,'%Y-%m-%d') &gt;= #{startTime}
+            </if>
+            <if test="endTime!=null and endTime!=''">
+                AND DATE_FORMAT(ss.create_time_,'%Y-%m-%d') &lt;= #{endTime}
+            </if>
+            <if test="search!=null and search!=''">
+                AND (su.real_name_ LIKE CONCAT('%', #{search}, '%') OR su.username_ LIKE CONCAT('%', #{search}, '%') OR ss.user_id_=#{search} OR su.phone_=#{search})
+            </if>
+        </where>
+    </sql>
+
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="SysSuggestion" parameterType="map">
-        SELECT ss.*,CASE WHEN su.real_name_ IS NULL THEN su.username_ ELSE su.real_name_ END username_ FROM sys_suggestion ss
+        SELECT ss.*,CASE WHEN ss.client_type_='STUDENT' THEN su.username_ ELSE su.real_name_ END username_ FROM sys_suggestion ss
         LEFT JOIN sys_user su ON su.id_ = ss.user_id_
+        <include refid="queryCondition" />
         ORDER BY ss.id_ DESC
         <include refid="global.limit"/>
     </select>
 
     <!-- 查询当前表的总记录数 -->
     <select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM sys_suggestion
+		SELECT COUNT(ss.id_) FROM sys_suggestion ss
+        LEFT JOIN sys_user su ON su.id_ = ss.user_id_
+        <include refid="queryCondition" />
 	</select>
 </mapper>

+ 2 - 2
mec-client-api/src/main/java/com/ym/mec/task/fallback/TaskRemoteServiceFallback.java

@@ -65,7 +65,7 @@ public class TaskRemoteServiceFallback implements TaskRemoteService {
 
 	@Override
 	public void studentHomeworkRemind() {
-		logger.info("学生作业提醒的服务调用失败");
+		logger.info("学生训练提醒的服务调用失败");
 	}
 
 	@Override
@@ -80,7 +80,7 @@ public class TaskRemoteServiceFallback implements TaskRemoteService {
 
 	@Override
 	public void homeworkNoReplyRemind() {
-		logger.info("老师未回复作业提醒的服务调用失败");
+		logger.info("老师未回复训练提醒的服务调用失败");
 	}
 
 	@Override

+ 5 - 4
mec-student/src/main/java/com/ym/mec/student/controller/StudentManageController.java

@@ -1,13 +1,11 @@
 package com.ym.mec.student.controller;
 
+import com.ym.mec.biz.dal.enums.SuggestionType;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
@@ -121,6 +119,9 @@ public class StudentManageController extends BaseController {
         }
     	sysSuggestion.setClientType("STUDENT");
         sysSuggestion.setUserId(sysUser.getId().longValue());
+        if(StringUtils.isEmpty(sysSuggestion.getMobileNo())){
+            sysSuggestion.setMobileNo(sysUser.getPhone());
+        }
         suggestionService.insert(sysSuggestion);
         return succeed();
     }

+ 2 - 2
mec-student/src/main/java/com/ym/mec/student/controller/SysMessageController.java

@@ -67,14 +67,14 @@ public class SysMessageController extends BaseController {
 			if(currentVersion > defaultVersion){
 				return succeed(JSON.parseArray("[{\"value\":\"全部\",\"key\":\"ALL\"}," +
 						"{\"value\":\"课程信息\",\"key\":\"COURSE\"}," +
-						"{\"value\":\"作业信息\",\"key\":\"WORK\"}," +
+						"{\"value\":\"训练信息\",\"key\":\"WORK\"}," +
 						"{\"value\":\"其他\",\"key\":\"DEFAULT\"}]"));
 			}
 		}
 		return succeed(JSON.parseArray("[{\"value\":\"全部\",\"key\":\"ALL\"}," +
 				"{\"value\":\"缴费信息\",\"key\":\"PAY\"}," +
 				"{\"value\":\"课程信息\",\"key\":\"COURSE\"}," +
-				"{\"value\":\"作业信息\",\"key\":\"WORK\"}," +
+				"{\"value\":\"训练信息\",\"key\":\"WORK\"}," +
 				"{\"value\":\"其他\",\"key\":\"DEFAULT\"}]"));
 	}
 

+ 3 - 3
mec-teacher/src/main/java/com/ym/mec/teacher/controller/CourseHomeworkController.java

@@ -89,7 +89,7 @@ public class CourseHomeworkController extends BaseController {
     public Object findCourseHomeworkStudentDetail(Long courseScheduleID,Long userId){
         StudentCourseHomework studentCourseHomework1 = studentCourseHomeworkService.get(courseScheduleID);
         if(Objects.isNull(studentCourseHomework1)){
-            return failed("作业不存在");
+            return failed("训练不存在");
         }
         CourseHomeworkStudentDetailDto courseHomeworkStudentDetail = studentCourseHomeworkService.findCourseHomeworkStudentDetail(studentCourseHomework1.getCourseScheduleId(), userId);
         if(Objects.nonNull(courseHomeworkStudentDetail)){
@@ -107,7 +107,7 @@ public class CourseHomeworkController extends BaseController {
         if(!extra){
             StudentCourseHomework studentCourseHomework1 = studentCourseHomeworkService.get(courseScheduleID);
             if(Objects.isNull(studentCourseHomework1)){
-                return failed("作业不存在");
+                return failed("训练不存在");
             }
             CourseHomeworkStudentDetailDto courseHomeworkStudentDetail = studentCourseHomeworkService.findCourseHomeworkStudentDetail(studentCourseHomework1.getCourseScheduleId(), userId);
             if(Objects.nonNull(courseHomeworkStudentDetail)&&Objects.nonNull(courseHomeworkStudentDetail.getAttachments())){
@@ -120,7 +120,7 @@ public class CourseHomeworkController extends BaseController {
         }else{
             CourseHomeworkStudentDetailDto studentExtraExerciseDetail = extracurricularExercisesReplyService.findStudentExtraExerciseDetail(courseScheduleID);
             if(Objects.isNull(studentExtraExerciseDetail)){
-                return failed("作业不存在");
+                return failed("训练不存在");
             }
             if(Objects.nonNull(studentExtraExerciseDetail.getAttachments())&&studentExtraExerciseDetail.getStatus().equals(YesOrNoEnum.YES)){
                 ExtracurricularExercisesReply extracurricularExercisesReply=new ExtracurricularExercisesReply();

+ 1 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/controller/ExtracurricularExercisesController.java

@@ -79,7 +79,7 @@ public class ExtracurricularExercisesController extends BaseController {
     @GetMapping("/findStudentExtraExerciseDetail")
     private HttpResponseResult findStudentExtraExerciseDetail(Long studentExerciseId){
         if(Objects.isNull(studentExerciseId)){
-            return failed("请选择课外训练作业");
+            return failed("请选择课外训练");
         }
         return succeed(extracurricularExercisesReplyService.findStudentExtraExerciseDetail(studentExerciseId));
     }

+ 6 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/SoundController.java

@@ -49,6 +49,12 @@ public class SoundController extends BaseController {
         return soundService.measureCompare(musicXmlInfoList, record);
     }
 
+    @ApiOperation(value = "获取在线人数")
+    @GetMapping("getOnlineUserNum")
+    public HttpResponseResult getOnlineUserNum(){
+        return succeed(WebSocketHandler.WS_CLIENTS.size());
+    }
+
     @RequestMapping("sendToUser")
     public HttpResponseResult sendToUser(String phone, String message) throws IOException {
         if(!WebSocketHandler.WS_CLIENTS.containsKey(phone)){

+ 1 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/controller/SysMessageController.java

@@ -61,7 +61,7 @@ public class SysMessageController extends BaseController {
 		return succeed(JSON.parseArray("[{\"value\":\"全部\",\"key\":\"ALL\"}," +
 				"{\"value\":\"考勤信息\",\"key\":\"ATTENDANCE\"}," +
 				"{\"value\":\"课程信息\",\"key\":\"COURSE\"}," +
-				"{\"value\":\"作业信息\",\"key\":\"WORK\"}," +
+				"{\"value\":\"训练信息\",\"key\":\"WORK\"}," +
 				"{\"value\":\"其他\",\"key\":\"DEFAULT\"}]"));
 	}
 

+ 6 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherManageController.java

@@ -1,5 +1,6 @@
 package com.ym.mec.teacher.controller;
 
+import com.ym.mec.biz.dal.enums.SuggestionType;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -30,6 +31,8 @@ import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.UploadReturnBean;
 import com.ym.mec.util.upload.UploadUtil;
 
+import java.util.Objects;
+
 @Api(tags = "教师管理")
 @RestController
 public class TeacherManageController extends BaseController {
@@ -79,6 +82,9 @@ public class TeacherManageController extends BaseController {
         }
         sysSuggestion.setUserId(sysUser.getId().longValue());
     	sysSuggestion.setClientType("TEACHER");
+        if(StringUtils.isEmpty(sysSuggestion.getMobileNo())){
+            sysSuggestion.setMobileNo(sysUser.getPhone());
+        }
         suggestionService.insert(sysSuggestion);
         return succeed();
     }

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

@@ -1527,7 +1527,7 @@ public class ExportController extends BaseController {
                 }
             }
 
-            String[] header = {"分部", "上课日期", "学生编号", "课程编号", "学员是否到课", "课程班名称", "老师", "教材内容", "发音", "节奏", "乐理", "曲目", "评价备注", "回访日期(布置作业)", "完成app双向沟通", "学员评分", "是否布置作业", "是否提交作业", "是否回复作业", "教务老师", "教务评价"};
+            String[] header = {"分部", "上课日期", "学生编号", "课程编号", "学员是否到课", "课程班名称", "老师", "教材内容", "发音", "节奏", "乐理", "曲目", "评价备注", "回访日期(布置训练)", "完成app双向沟通", "学员评分", "是否布置训练", "是否提交训练", "是否回复训练", "教务老师", "教务评价"};
             String[] body = {"organName", "classDateStr", "studentId", "id", "attendanceStr", "courseName", "teacherName", "teachingMaterial", "pronunciationStr", "tempoStr", "musicTheoryStr", "song", "memo", "createTimeStr", "hasLiaison", "studentReview", "assignHomeworkStr", "handHomeworkStr", "homeWorkReplied", "eduTeacherName", "courseReview"};
             HSSFWorkbook workbook = POIUtil.exportExcel(header, body, practiceGroupReviews.getRows());
             response.setContentType("application/octet-stream");
@@ -1739,7 +1739,7 @@ public class ExportController extends BaseController {
         OutputStream ouputStream = null;
         try {
             HSSFWorkbook workbook = POIUtil.exportExcel(
-                    new String[]{"布置时间", "截至时间", "训练标题", "老师名字", "分部", "学生姓名", "学生编号", "提交作业", "提交作业时间", "是否评价", "是否有vip", "及时评价"},
+                    new String[]{"布置时间", "截至时间", "训练标题", "老师名字", "分部", "学生姓名", "学生编号", "提交训练", "提交训练时间", "是否评价", "是否有vip", "及时评价"},
                     new String[]{"createTime", "expireDate", "title", "teacherName", "organName", "user.username", "userId", "statusStr", "submitTime", "isRepliedStr", "existVipCourseStr", "isRepliedTimelyStr"}, rows);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
@@ -1791,7 +1791,7 @@ public class ExportController extends BaseController {
         OutputStream ouputStream = null;
         try {
             HSSFWorkbook workbook = POIUtil.exportExcel(
-                    new String[]{"学员编号", "学员姓名", "所属分部", "乐团名称", "指导老师", "教务老师", "服务课程", "预期安排", "实际安排", "提交次数", "评价次数", "及时评价次数", "付费网管课", "VIP课", "作业提交时间"},
+                    new String[]{"学员编号", "学员姓名", "所属分部", "乐团名称", "指导老师", "教务老师", "服务课程", "预期安排", "实际安排", "提交次数", "评价次数", "及时评价次数", "付费网管课", "VIP课", "训练提交时间"},
                     new String[]{"studentId", "studentName", "organName", "groupNames", "teacherName", "educationalTeacherName", "serveType == 'EXERCISE' ? '课外训练':courseIds", "expectExercisesNum", "actualExercisesNum", "exercisesReplyNum",
                             "exercisesMessageNum", "exercisesMessageTimelyNum", "existPracticeCourse", "existVipCourse", "lastSubmitTime"}, rows);
             response.setContentType("application/octet-stream");
@@ -2036,7 +2036,7 @@ public class ExportController extends BaseController {
                 }
             }
 
-            String[] header = {"分部", "上课日期", "课程编号", "课程班名称", "老师", "教材内容", "发音", "节奏", "乐理", "曲目", "评价备注", "回访日期(布置作业)", "是否布置作业", "是否提交作业", "教务老师", "教务评价"};
+            String[] header = {"分部", "上课日期", "课程编号", "课程班名称", "老师", "教材内容", "发音", "节奏", "乐理", "曲目", "评价备注", "回访日期(布置训练)", "是否布置训练", "是否提交训练", "教务老师", "教务评价"};
             String[] body = {"organName", "classDateStr", "id", "courseName", "teacherName", "teachingMaterial", "pronunciationStr", "tempoStr", "musicTheoryStr", "song", "memo", "createTimeStr", "assignHomeworkStr", "handHomeworkStr", "eduTeacherName", "courseReview"};
             HSSFWorkbook workbook = POIUtil.exportExcel(header, body, practiceGroupReviews.getRows());
             response.setContentType("application/octet-stream");
@@ -2804,8 +2804,8 @@ public class ExportController extends BaseController {
         }
 
         try {
-            String[] header = {"分部", "老师编号", "老师姓名", "服务周期", "课后作业(节)", "课外作业(人)",
-                    "作业布置", "作业点评", "作业提交率",
+            String[] header = {"分部", "老师编号", "老师姓名", "服务周期", "课后训练(节)", "课外训练(人)",
+                    "训练布置", "训练点评", "训练提交率",
                     "提醒时间", "操作人"};
             String[] body = {"organName", "teacherId", "teacherName", "dateRange", "homeworkNum", "exerciseNum",
                     "expectExercisesNum>actualExercisesNum?'异常':'正常'", "exercisesReplyNum>exercisesMessageNum?'异常':'正常'", "submitRate",

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/ExtracurricularExercisesController.java

@@ -60,7 +60,7 @@ public class ExtracurricularExercisesController extends BaseController {
     @GetMapping("/findStudentExtraExerciseDetail")
     private HttpResponseResult findStudentExtraExerciseDetail(Long studentExerciseId){
         if(Objects.isNull(studentExerciseId)){
-            return failed("请选择课外训练作业");
+            return failed("请选择课外训练");
         }
         return succeed(extracurricularExercisesReplyService.findStudentExtraExerciseDetail(studentExerciseId));
     }

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/InspectionItemPlanConclusionController.java

@@ -76,7 +76,7 @@ public class InspectionItemPlanConclusionController extends BaseController {
             String[] header2 = {"处理方式", planInfo.getMemo(), "", "", "", "", "", "", "", "", "", "", "", "", "", ""};
             String[] header3 = {"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""};
             String[] header4 = {"巡查项目", "课前管理", "", "", "", "", "课中管理", "", "", "", "", "", "", "课后管理", "", ""};
-            String[] header5 = {"", "老师是否提前准备板书(本课内容、作业)", "老师是否佩戴工牌", "老师是否仪容仪表整洁", "老师是否携带乐器", "老师是否携带教学资料、设备", "老师是否合理安排学员座位", "乐器箱包、书包是否摆放整齐", "课堂纪律是否保持良好", "老师是否全程站立教学", "老师是否全程使用节拍器或教学音频", "未发现私换乐器", "老师是否将上课照片/视频发送到声部群", "老师是否保持教室环境卫生", "老师是否关好所有电源、门窗", "老师是否有序组织学员放学"};
+            String[] header5 = {"", "老师是否提前准备板书(本课内容、训练)", "老师是否佩戴工牌", "老师是否仪容仪表整洁", "老师是否携带乐器", "老师是否携带教学资料、设备", "老师是否合理安排学员座位", "乐器箱包、书包是否摆放整齐", "课堂纪律是否保持良好", "老师是否全程站立教学", "老师是否全程使用节拍器或教学音频", "未发现私换乐器", "老师是否将上课照片/视频发送到声部群", "老师是否保持教室环境卫生", "老师是否关好所有电源、门窗", "老师是否有序组织学员放学"};
 
             List<String[]> headers = new LinkedList<>();
             headers.add(header);

+ 28 - 0
mec-web/src/main/java/com/ym/mec/web/controller/SoundCompareController.java

@@ -0,0 +1,28 @@
+package com.ym.mec.web.controller;
+
+import com.ym.mec.biz.handler.WebSocketHandler;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Author Joburgess
+ * @Date 2021/8/10 0010
+ */
+@Api(tags = "音频服务")
+@RequestMapping("soundCompare")
+@RestController
+public class SoundCompareController extends BaseController {
+
+    @ApiOperation(value = "获取在线人数")
+    @GetMapping("getOnlineUserNum")
+    public HttpResponseResult getOnlineUserNum(){
+        return succeed(WebSocketHandler.WS_CLIENTS.size());
+    }
+
+}

+ 40 - 10
mec-web/src/main/java/com/ym/mec/web/controller/SysSuggestionController.java

@@ -1,36 +1,66 @@
 package com.ym.mec.web.controller;
 
-import com.ym.mec.biz.dal.entity.ChargeType;
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.entity.SysSuggestion;
-import com.ym.mec.biz.service.ChargeTypeService;
+import com.ym.mec.biz.dal.enums.SuggestionType;
+import com.ym.mec.biz.dal.page.SysSuggestionQueryInfo;
 import com.ym.mec.biz.service.SysSuggestionService;
 import com.ym.mec.common.controller.BaseController;
-import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Objects;
 
-@RequestMapping("sysSuggestion")
 @Api(tags = "意见反馈")
 @RestController
 public class SysSuggestionController extends BaseController {
 
     @Autowired
     private SysSuggestionService sysSuggestionService;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
 
     @ApiOperation(value = "新增")
-    @RequestMapping("/add")
+    @RequestMapping("sysSuggestion/add")
     @PreAuthorize("@pcs.hasPermissions('sysSuggestion/add')")
     public Object add(SysSuggestion sysSuggestion) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        sysSuggestion.setUserId(sysUser.getId().longValue());
+        sysSuggestion.setClientType("TEACHER");
+        if(StringUtils.isEmpty(sysSuggestion.getMobileNo())){
+            sysSuggestion.setMobileNo(sysUser.getPhone());
+        }
+        sysSuggestionService.insert(sysSuggestion);
+        return succeed();
+    }
+
+    @ApiOperation(value = "新增")
+    @RequestMapping("suggestion/add")
+    public Object suggestionAdd(SysSuggestion sysSuggestion) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        sysSuggestion.setUserId(sysUser.getId().longValue());
+        sysSuggestion.setClientType("EDUCATION");
+        if(StringUtils.isEmpty(sysSuggestion.getMobileNo())){
+            sysSuggestion.setMobileNo(sysUser.getPhone());
+        }
         sysSuggestionService.insert(sysSuggestion);
         return succeed();
     }
 
     @ApiOperation(value = "删除")
-    @RequestMapping("/del")
+    @RequestMapping("sysSuggestion/del")
     @PreAuthorize("@pcs.hasPermissions('sysSuggestion/del')")
     public Object del(Long id) {
         sysSuggestionService.delete(id);
@@ -38,9 +68,9 @@ public class SysSuggestionController extends BaseController {
     }
 
     @ApiOperation(value = "分页查询")
-    @RequestMapping("/queryPage")
+    @RequestMapping("sysSuggestion/queryPage")
     @PreAuthorize("@pcs.hasPermissions('sysSuggestion/queryPage')")
-    public Object queryPage(QueryInfo queryInfo) {
+    public Object queryPage(SysSuggestionQueryInfo queryInfo) {
         return succeed(sysSuggestionService.queryPage(queryInfo));
     }