瀏覽代碼

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

zouxuan 5 年之前
父節點
當前提交
d99cfc62aa
共有 26 個文件被更改,包括 400 次插入142 次删除
  1. 20 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleComplaintsDao.java
  2. 14 6
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleReviewDao.java
  3. 0 9
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TenantEntryActivitesDao.java
  4. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TenantEntryActivitiesDao.java
  5. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseReviewDto.java
  6. 22 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseScheduleDto.java
  7. 13 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ReviewInfoDto.java
  8. 14 4
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TenantEntryActivities.java
  9. 1 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java
  10. 1 0
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseReviewService.java
  11. 0 14
      mec-biz/src/main/java/com/ym/mec/biz/service/TenantEntryActivitesService.java
  12. 22 0
      mec-biz/src/main/java/com/ym/mec/biz/service/TenantEntryActivitiesService.java
  13. 51 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseReviewServiceImpl.java
  14. 15 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  15. 28 6
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CoursesGroupServiceImpl.java
  16. 8 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java
  17. 0 51
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantEntryActivitesServiceImpl.java
  18. 72 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantEntryActivitiesServiceImpl.java
  19. 13 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  20. 14 0
      mec-biz/src/main/resources/config/mybatis/CourseScheduleComplaintsMapper.xml
  21. 26 6
      mec-biz/src/main/resources/config/mybatis/CourseScheduleReviewMapper.xml
  22. 2 2
      mec-biz/src/main/resources/config/mybatis/EmployeeMapper.xml
  23. 21 17
      mec-biz/src/main/resources/config/mybatis/TenantEntryActivitiesMapper.xml
  24. 6 0
      mec-student/src/main/java/com/ym/mec/student/controller/CourseGroupController.java
  25. 5 5
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TenantEntryActivitiesController.java
  26. 12 12
      mec-web/src/main/java/com/ym/mec/web/controller/TenantEntryActivitiesController.java

+ 20 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleComplaintsDao.java

@@ -10,27 +10,44 @@ import java.util.List;
 public interface CourseScheduleComplaintsDao extends BaseDAO<Long, CourseScheduleComplaints> {
 
     /**
+     * @return com.ym.mec.biz.dal.entity.CourseScheduleComplaints
      * @Author: Joburgess
      * @Date: 2019/10/8
      * @params [userId, courseScheduleId]
-     * @return com.ym.mec.biz.dal.entity.CourseScheduleComplaints
      * @describe 根据用户和课程获取申诉详情
      */
-    CourseScheduleComplaints findByUserAndCourse(@Param("userId") Long userId,@Param("courseScheduleId") Long courseScheduleId);
+    CourseScheduleComplaints findByUserAndCourse(@Param("userId") Long userId, @Param("courseScheduleId") Long courseScheduleId);
 
     /**
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseScheduleComplaints>
      * @Author: Joburgess
      * @Date: 2019/10/15
      * @params [ids]
-     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseScheduleComplaints>
      * @describe 根据课程编号批量获取投诉记录
      */
     List<CourseScheduleComplaints> findByCourseScheduleIds(@Param("ids") List<Long> ids);
 
     /**
      * 获取课程的学员评价
+     *
      * @param courseScheduleId
      * @return
      */
     List<CourseScheduleComplaintsDto> findByCourseScheduleId(Long courseScheduleId);
+
+    /**
+     * 获取用户的评价
+     *
+     * @param userId
+     * @param courseScheduleId
+     * @return
+     */
+    CourseScheduleComplaintsDto findByUserIdAndCourseId(@Param("userId") Long userId, @Param("courseScheduleId") Long courseScheduleId);
+
+    /**
+     * 获取用户多课程的评价
+     *
+     * @return
+     */
+    List<CourseScheduleComplaints> findByCourseIdAndUserId(@Param("courseIds") List<Long> courseIds, @Param("userId") Integer userId);
 }

+ 14 - 6
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleReviewDao.java

@@ -41,22 +41,30 @@ public interface CourseScheduleReviewDao extends BaseDAO<Integer, CourseSchedule
     Integer countPracticeGroupReviews4Edu(Map<String, Object> params);
 
     /**
-     * @describe 根据学生和课程获取评论
-     * @author Joburgess
-     * @date 2020/3/13
      * @param courseScheduleId:
      * @param studentId:
      * @return java.util.List<com.ym.mec.biz.dal.entity.CourseScheduleReview>
+     * @describe 根据学生和课程获取评论
+     * @author Joburgess
+     * @date 2020/3/13
      */
     CourseScheduleReview findByCourseScheduleAndStudent(@Param("courseScheduleId") Long courseScheduleId,
-                                                    @Param("studentId") Integer studentId);
+                                                        @Param("studentId") Integer studentId);
 
     /**
+     * @param courseScheduleIds:
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseScheduleReview>
      * @describe 获取课程的评价
      * @author Joburgess
      * @date 2020/3/13
-     * @param courseScheduleIds:
-     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseScheduleReview>
      */
     List<CourseScheduleReview> findByCourseSchedules(@Param("courseScheduleIds") List<Long> courseScheduleIds);
+
+    /**
+     * 获取学生课程评价
+     * @param courseScheduleIds
+     * @param studentId
+     * @return
+     */
+    List<CourseScheduleReview> findByCourseSchedulesAndStudentId(@Param("courseScheduleIds") List<Long> courseScheduleIds, @Param("studentId") Integer studentId);
 }

+ 0 - 9
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TenantEntryActivitesDao.java

@@ -1,9 +0,0 @@
-package com.ym.mec.biz.dal.dao;
-
-import com.ym.mec.biz.dal.entity.TenantEntryActivites;
-import com.ym.mec.common.dal.BaseDAO;
-
-public interface TenantEntryActivitesDao extends BaseDAO<Integer, TenantEntryActivites> {
-
-	
-}

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TenantEntryActivitiesDao.java

@@ -0,0 +1,9 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.biz.dal.entity.TenantEntryActivities;
+import com.ym.mec.common.dal.BaseDAO;
+
+public interface TenantEntryActivitiesDao extends BaseDAO<Integer, TenantEntryActivities> {
+
+	
+}

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

@@ -48,6 +48,9 @@ public class CourseReviewDto {
     @ApiModelProperty(value = "教务评价",required = false)
     private String courseReview;
 
+    @ApiModelProperty(value = "老师id",required = false)
+    private Integer teacherId;
+
     public Integer getOrganId() {
         return organId;
     }
@@ -159,4 +162,12 @@ public class CourseReviewDto {
     public void setClassDate(Date classDate) {
         this.classDate = classDate;
     }
+
+    public Integer getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Integer teacherId) {
+        this.teacherId = teacherId;
+    }
 }

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseScheduleDto.java

@@ -61,6 +61,12 @@ public class CourseScheduleDto extends CourseSchedule {
     @ApiModelProperty(value = "能否进行调整")
     private int enableAdjustInToday;
 
+    @ApiModelProperty(value = "老师评论id")
+    private Integer reviewId;
+
+    @ApiModelProperty(value = "学生评论id")
+    private Long StudentReviewId;
+
     public List<StudentNameAndPhoneDto> getStudents() {
         return students;
     }
@@ -206,4 +212,20 @@ public class CourseScheduleDto extends CourseSchedule {
     public void setClassGroupName(String classGroupName) {
         this.classGroupName = classGroupName;
     }
+
+    public Integer getReviewId() {
+        return reviewId;
+    }
+
+    public void setReviewId(Integer reviewId) {
+        this.reviewId = reviewId;
+    }
+
+    public Long getStudentReviewId() {
+        return StudentReviewId;
+    }
+
+    public void setStudentReviewId(Long studentReviewId) {
+        StudentReviewId = studentReviewId;
+    }
 }

+ 13 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ReviewInfoDto.java

@@ -3,6 +3,8 @@ package com.ym.mec.biz.dal.dto;
 import com.ym.mec.biz.dal.entity.CourseScheduleReview;
 import io.swagger.annotations.ApiModelProperty;
 
+import java.util.List;
+
 public class ReviewInfoDto {
 
     @ApiModelProperty(value = "课程信息",required = false)
@@ -11,6 +13,9 @@ public class ReviewInfoDto {
     @ApiModelProperty(value = "老师评价信息",required = false)
     private CourseScheduleReview courseScheduleReview;
 
+    @ApiModelProperty(value = "学生评价信息",required = false)
+    private List<CourseScheduleComplaintsDto> CourseScheduleComplaints;
+
     public TeacherClassHeadInfo getTeacherClassHeadInfo() {
         return teacherClassHeadInfo;
     }
@@ -26,4 +31,12 @@ public class ReviewInfoDto {
     public void setCourseScheduleReview(CourseScheduleReview courseScheduleReview) {
         this.courseScheduleReview = courseScheduleReview;
     }
+
+    public List<CourseScheduleComplaintsDto> getCourseScheduleComplaints() {
+        return CourseScheduleComplaints;
+    }
+
+    public void setCourseScheduleComplaints(List<CourseScheduleComplaintsDto> courseScheduleComplaints) {
+        CourseScheduleComplaints = courseScheduleComplaints;
+    }
 }

+ 14 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TenantEntryActivites.java → mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TenantEntryActivities.java

@@ -5,7 +5,7 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
 /**
  * 对应数据库表(tenant_entry_activites):
  */
-public class TenantEntryActivites {
+public class TenantEntryActivities {
 
 	/**  */
 	private Integer id;
@@ -25,6 +25,8 @@ public class TenantEntryActivites {
 	/**  */
 	private java.math.BigDecimal discountPrice;
 	
+	private Integer purchaseMinutes;
+	
 	/**  */
 	private Integer giveMinutes;
 	
@@ -38,7 +40,7 @@ public class TenantEntryActivites {
 	private String condition;
 	
 	/**  */
-	private boolean delFlag;
+	private Boolean delFlag;
 	
 	/**  */
 	private java.util.Date createTime;
@@ -94,6 +96,14 @@ public class TenantEntryActivites {
 		return this.discountPrice;
 	}
 			
+	public Integer getPurchaseMinutes() {
+		return purchaseMinutes;
+	}
+
+	public void setPurchaseMinutes(Integer purchaseMinutes) {
+		this.purchaseMinutes = purchaseMinutes;
+	}
+
 	public void setGiveMinutes(Integer giveMinutes){
 		this.giveMinutes = giveMinutes;
 	}
@@ -126,11 +136,11 @@ public class TenantEntryActivites {
 		return this.condition;
 	}
 			
-	public void setDelFlag(boolean delFlag){
+	public void setDelFlag(Boolean delFlag){
 		this.delFlag = delFlag;
 	}
 	
-	public boolean isDelFlag(){
+	public Boolean getDelFlag(){
 		return this.delFlag;
 	}
 			

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

@@ -46,6 +46,7 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     STUDENT_SMS_TEACHING_SCHOOL_CHANGE("STUDENT_SMS_TEACHING_SCHOOL_CHANGE", "教学点变动"),
     STUDENT_PUSH_TEACHING_SCHOOL_CHANGE("STUDENT_PUSH_TEACHING_SCHOOL_CHANGE", "教学点变动"),
     STUDENT_PUSH_JOB_MESSAGE("STUDENT_PUSH_JOB_MESSAGE", "作业提醒"),
+    HOMEWORK_REMIND("HOMEWORK_REMIND", "作业提醒-网管课"),
     STUDENT_PUSH_CLASS_MESSAGE("STUDENT_PUSH_CLASS_MESSAGE", "班级消息"),
 
     TEACHER_PUSH_MUSIC_GROUP_COURSE_ADD_PLAN("TEACHER_PUSH_MUSIC_GROUP_COURSE_ADD_PLAN", "乐团课新增安排"),

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

@@ -55,5 +55,6 @@ public interface CourseReviewService extends BaseService<Integer, CourseSchedule
 	 */
 	CourseScheduleReview updateReview(CourseScheduleReview courseScheduleReview);
 
+	void pushNeedReview2Teacher();
 
 }

+ 0 - 14
mec-biz/src/main/java/com/ym/mec/biz/service/TenantEntryActivitesService.java

@@ -1,14 +0,0 @@
-package com.ym.mec.biz.service;
-
-import com.ym.mec.biz.dal.entity.TenantEntryActivites;
-import com.ym.mec.common.service.BaseService;
-
-public interface TenantEntryActivitesService extends BaseService<Integer, TenantEntryActivites> {
-
-	/**
-	 * 合并对象
-	 * @param tenantEntryActivites
-	 * @return
-	 */
-	public boolean merge(TenantEntryActivites tenantEntryActivites);
-}

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/TenantEntryActivitiesService.java

@@ -0,0 +1,22 @@
+package com.ym.mec.biz.service;
+
+import com.ym.mec.biz.dal.entity.TenantEntryActivities;
+import com.ym.mec.common.service.BaseService;
+
+public interface TenantEntryActivitiesService extends BaseService<Integer, TenantEntryActivities> {
+
+	/**
+	 * 合并对象
+	 * @param tenantEntryActivites
+	 * @return
+	 */
+	public boolean merge(TenantEntryActivities tenantEntryActivites);
+
+	/**
+	 * 入驻
+	 * @param userId 用户编号
+	 * @param activitiesId 活动编号
+	 * @return
+	 */
+	public boolean enter(Integer userId, Integer activitiesId);
+}

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

@@ -81,6 +81,17 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
     @Autowired
     private CourseHomeworkDao courseHomeworkDao;
 
+    @Autowired
+    private SysMessageService sysMessageService;
+
+    @Autowired
+    private TeacherDao teacherDao;
+
+    @Autowired
+    private CourseScheduleComplaintsDao courseScheduleComplaintsDao;
+
+    @Autowired
+    private SysConfigDao sysConfigDao;
 
     @Override
     public BaseDAO<Integer, CourseScheduleReview> getDAO() {
@@ -163,7 +174,9 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
             throw new BizException("评论提交失败,请重试");
         }
 
-        if(StringUtils.isNotBlank(courseScheduleReview.getHomeWork())){
+        CourseHomework existHomework = courseHomeworkDao.findByCourseSchedule(courseScheduleId.longValue());
+
+        if(StringUtils.isNotBlank(courseScheduleReview.getHomeWork())&&Objects.isNull(existHomework)){
             //新增课堂作业
             CourseHomework courseHomework=new CourseHomework();
             courseHomework.setContent(courseScheduleReview.getHomeWork());
@@ -179,6 +192,7 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
 
             if(!CollectionUtils.isEmpty(courseScheduleStudentPayments)){
                 List<StudentCourseHomework> studentCourseHomeworks=new ArrayList<>();
+                Map<Integer, String> userMap = new HashMap<>();
                 for (CourseScheduleStudentPayment courseScheduleStudentPayment : courseScheduleStudentPayments) {
                     StudentCourseHomework studentCourseHomework=new StudentCourseHomework();
                     studentCourseHomework.setCourseHomeworkId(courseHomework.getId());
@@ -190,8 +204,14 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
                     studentCourseHomework.setIsView(YesOrNoEnum.NO);
                     studentCourseHomework.setIsReplied(YesOrNoEnum.NO);
                     studentCourseHomeworks.add(studentCourseHomework);
+                    userMap.put(courseScheduleStudentPayment.getUserId(), courseScheduleStudentPayment.getUserId().toString());
                 }
                 studentCourseHomeworkDao.batchInsertStudentCourseHomeworkRecord(studentCourseHomeworks);
+                Teacher teacher = teacherDao.get(courseScheduleReview.getTeacherId());
+                String dateStr=DateUtil.dateToString(DateUtil.addDays(date,1), "MM月dd日");
+                String notifyUrl="3?courseScheduleID="+courseSchedule.getId()+"&studentCourseHomeworkId="+courseHomework.getId();
+                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.HOMEWORK_REMIND,
+                        userMap, null, 0, notifyUrl, "STUDENT", teacher.getRealName(), courseSchedule.getName(), dateStr);
             }
         }
 
@@ -207,10 +227,16 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
         CourseHomework homework = courseHomeworkDao.findByCourseSchedule(courseScheduleReview.getCourseScheduleId().longValue());
         courseScheduleReview.setHomeWork(homework.getContent());
         TeacherClassHeadInfo teacherClassGroupInfo = getCourseInfoHead(courseScheduleReview.getCourseScheduleId());
+        courseScheduleReview.setTeacherName(teacherClassGroupInfo.getBishopTeacher());
+        //学生评价
+        CourseScheduleComplaintsDto courseScheduleComplaint = courseScheduleComplaintsDao.findByUserIdAndCourseId(courseScheduleReview.getStudentId().longValue(), courseScheduleReview.getCourseScheduleId().longValue());
+        ArrayList<CourseScheduleComplaintsDto> courseScheduleComplaints = new ArrayList<>();
+        courseScheduleComplaints.add(courseScheduleComplaint);
 
         ReviewInfoDto reviewInfoDto = new ReviewInfoDto();
         reviewInfoDto.setCourseScheduleReview(courseScheduleReview);
         reviewInfoDto.setTeacherClassHeadInfo(teacherClassGroupInfo);
+        reviewInfoDto.setCourseScheduleComplaints(courseScheduleComplaints);
         return reviewInfoDto;
     }
 
@@ -280,4 +306,28 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
 
         return courseScheduleReview;
     }
+
+    public void pushNeedReview2Teacher() {
+        CourseReviewQueryInfo courseReviewQueryInfo = new CourseReviewQueryInfo();
+        courseReviewQueryInfo.setHasReview(0);
+        courseReviewQueryInfo.setRows(10000);
+        PageInfo<CourseReviewDto> practiceGroupReviews = findPracticeGroupReviews(courseReviewQueryInfo);
+
+        if(practiceGroupReviews.getTotal() <=0){
+          return;
+        }
+        Map<Integer, List<CourseReviewDto>> teacherNeedReview = practiceGroupReviews.getRows().stream().collect(Collectors.groupingBy(CourseReviewDto::getTeacherId));
+
+        String teacherBaseUrl = sysConfigDao.findConfigValue(SysConfigService.TEACHER_BASE_URL);
+
+        String pushUrl = teacherBaseUrl + "/#/manageEvaluation";
+        Map<Integer, String> userMap = new HashMap<>();
+        for (Map.Entry<Integer, List<CourseReviewDto>> integerListEntry : teacherNeedReview.entrySet()) {
+            userMap.put(integerListEntry.getKey(), integerListEntry.getKey().toString());
+        }
+
+        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.NEED_POST_STUDY_REPORT,
+                userMap, null, 0, "8?" + pushUrl, "TEACHER");
+
+    }
 }

+ 15 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -753,17 +753,24 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 //		List<Integer> quitClassGroupIds=classGroupStudentMapperDao.findClassGroupIdByUserAndCourseDateAndStatus(user.getId(),classDate, ClassGroupStudentStatusEnum.QUIT.getCode());
         List<CourseScheduleDto> studentCourseSchedulesWithDate = courseScheduleDao.getStudentCourseSchedulesWithDate(classDate, user.getId().longValue(), null);
         List<Long> courseScheduleIds = studentCourseSchedulesWithDate.stream()
-                .filter(cs -> cs.getType().equals(CourseSchedule.CourseScheduleType.VIP) || cs.getType().equals(CourseSchedule.CourseScheduleType.DEMO) || cs.getType().equals(CourseScheduleType.PRACTICE))
+                .filter(cs -> cs.getType().equals(CourseSchedule.CourseScheduleType.VIP) || cs.getType().equals(CourseSchedule.CourseScheduleType.DEMO) || cs.getType().equals(CourseScheduleType.PRACTICE) || cs.getType().equals(CourseScheduleType.COMM))
                 .map(CourseScheduleDto::getId).collect(Collectors.toList());
 
         Map<Integer, String> subjectNameCourseMap = new HashMap<>();
         Map<Integer, String> subjectIdCourseMap = new HashMap<>();
+        Map<Integer, Integer> reviewIdMap = new HashMap<>();
+        Map<Long, Long> StudentReviewIdMap = new HashMap<>();
+
         if (!CollectionUtils.isEmpty(courseScheduleIds)) {
             List<Map<Integer, String>> subjectNameCourseMaps = subjectDao.findSubjectNameCourseMaps(courseScheduleIds);
             List<Map<Integer, String>> subjectIdCourseMaps = subjectDao.findClassGroupSubjectId(courseScheduleIds);
             subjectNameCourseMap = MapUtil.convertMybatisMap(subjectNameCourseMaps);
             subjectIdCourseMap = MapUtil.convertMybatisMap(subjectIdCourseMaps);
-        }
+			List<CourseScheduleReview> reviews = courseScheduleReviewDao.findByCourseSchedulesAndStudentId(courseScheduleIds, user.getId());
+			reviewIdMap = reviews.stream().collect(Collectors.toMap(CourseScheduleReview::getCourseScheduleId, CourseScheduleReview::getId));
+			List<CourseScheduleComplaints> studentReviews = courseScheduleComplaintsDao.findByCourseIdAndUserId(courseScheduleIds, user.getId());
+			StudentReviewIdMap = studentReviews.stream().collect(Collectors.toMap(CourseScheduleComplaints::getCourseScheduleId, CourseScheduleComplaints::getId));
+		}
 
         for (CourseScheduleDto courseScheduleDto : studentCourseSchedulesWithDate) {
             if (now.before(courseScheduleDto.getStartClassTime())) {
@@ -773,8 +780,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             } else {
                 courseScheduleDto.setStatus(CourseStatusEnum.UNDERWAY);
             }
-            courseScheduleDto.setSubjectName(subjectNameCourseMap.get(courseScheduleDto.getId()));
-            courseScheduleDto.setSubjectId(subjectIdCourseMap.get(courseScheduleDto.getId()));
+            courseScheduleDto.setSubjectName(subjectNameCourseMap.get(courseScheduleDto.getId().intValue()));
+            courseScheduleDto.setSubjectId(subjectIdCourseMap.get(courseScheduleDto.getId().intValue()));
+			courseScheduleDto.setReviewId(reviewIdMap.get(courseScheduleDto.getId().intValue()));
+			courseScheduleDto.setStudentReviewId(StudentReviewIdMap.get(courseScheduleDto.getId()));
         }
         result.put("list", studentCourseSchedulesWithDate);
         return result;
@@ -936,6 +945,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			List<CourseScheduleReview> courseScheduleReviews = idCourseReview.get(courseScheduleDto.getId().intValue());
             if(!CollectionUtils.isEmpty(courseScheduleReviews)){
 				courseScheduleDto.setComplaintStatus(1);
+				CourseScheduleReview courseScheduleReview = courseScheduleReviews.get(0);
+				courseScheduleDto.setReviewId(courseScheduleReview.getId());
 			}else{
             	courseScheduleDto.setComplaintStatus(0);
 			}

+ 28 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CoursesGroupServiceImpl.java

@@ -75,6 +75,8 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
     private CourseScheduleStudentPaymentDao courseScheduleStudentPaymentDao;
     @Autowired
     private SysTenantAccountService sysTenantAccountService;
+    @Autowired
+    private StudentDao studentDao;
 
     private static final Logger LOGGER = LoggerFactory
             .getLogger(PracticeGroupService.class);
@@ -108,6 +110,8 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
             throw new BizException("请填写课程数量");
         }
 
+        studentDao.lockUser(courseGroup.getTeacherId());
+
         //总课程时长
         Integer totalCourseTime=courseCycleInfo.getCourseCount()*courseCycleInfo.getSingleClassMinutes();
         SysTenantAccount sysTenantAccount = sysTenantAccountService.get(courseGroup.getTeacherId());
@@ -147,8 +151,7 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
         //创建班级信息
         ClassGroup classGroup = new ClassGroup();
         classGroup.setSubjectIdList(courseGroup.getSubjectId().toString());
-        classGroup.setExpectStudentNum(1);
-        classGroup.setStudentNum(1);
+        classGroup.setExpectStudentNum(courseGroup.getMaxStudentNum());
         classGroup.setName(courseGroup.getName());
         classGroup.setTotalClassTimes(courseCycleInfo.getCourseCount());
         classGroup.setType(ClassGroupTypeEnum.COMM);
@@ -307,18 +310,27 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
         if(Objects.isNull(courseGroupId)){
             throw new BizException("请指定课程组");
         }
-        List<ClassGroupStudentMapper> groupStudents = classGroupStudentMapperDao.findGroupStudents(courseGroupId.toString(), GroupType.COMM, userId, null);
-        if(!CollectionUtils.isEmpty(groupStudents)){
-            throw new BizException("您已购买过此课程组");
-        }
+
+        studentDao.lockUser(userId);
+
         CoursesGroup coursesGroup = coursesGroupDao.get(courseGroupId);
         if(Objects.isNull(coursesGroup)){
             throw new BizException("此课程组不存在");
         }
+        if(coursesGroup.getStatus().equals(GroupStatusEnum.CANCEL)){
+            throw new BizException("此课程组已关闭");
+        }
+        List<ClassGroupStudentMapper> groupStudents = classGroupStudentMapperDao.findGroupStudents(courseGroupId.toString(), GroupType.COMM, userId, null);
+        if(!CollectionUtils.isEmpty(groupStudents)){
+            throw new BizException("您已购买过此课程组");
+        }
 
         Date now=new Date();
 
         ClassGroup classGroup = classGroupDao.findByMusicGroupAndType(courseGroupId.toString(), GroupType.COMM.getCode());
+        if(classGroup.getStudentNum()>=classGroup.getExpectStudentNum()){
+            throw new BizException("此课程组人数已达上限");
+        }
 
         BigDecimal amount = coursesGroup.getTotalCoursesPrice();
         if(Objects.isNull(amount)){
@@ -516,6 +528,16 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
         classGroupStudentMapper.setGroupType(GroupType.COMM);
         classGroupStudentMapperDao.insert(classGroupStudentMapper);
 
+        List<ClassGroupStudentMapper> classGroupStudents = classGroupStudentMapperDao.findByClassGroup(classGroup.getId());
+        if(!CollectionUtils.isEmpty(classGroupStudents)){
+            classGroup.setStudentNum(classGroupStudents.size());
+            classGroupDao.update(classGroup);
+        }
+        if(!CollectionUtils.isEmpty(classGroupStudents)&&classGroupStudents.size()>=classGroup.getExpectStudentNum()){
+            coursesGroup.setStatus(GroupStatusEnum.NORMAL);
+            coursesGroupDao.update(coursesGroup);
+        }
+
         List<CourseScheduleStudentPayment> courseScheduleStudentPayments = new ArrayList<>();
         List<CourseSchedule> groupNotStartCourses = courseScheduleDao.findGroupNotStartCourses(order.getMusicGroupId(), GroupType.COMM);
         if(CollectionUtils.isEmpty(groupNotStartCourses)){

+ 8 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -1677,7 +1677,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
 //        }
 
         List<String> musicGroupIds = studentRegistrationDao.queryStudentMusicGroup(practiceGroup.getStudentId());
-        if(!CollectionUtils.isEmpty(musicGroupIds)){
+        if(!CollectionUtils.isEmpty(musicGroupIds)&&musicGroupIds.size()<=1){
             MusicGroup musicGroup = musicGroupDao.get(musicGroupIds.get(0));
             if(Objects.nonNull(musicGroup)){
                 practiceGroup.setEducationalTeacherId(musicGroup.getEducationalTeacherId());
@@ -2048,6 +2048,9 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         }
 
         List<ImGroupMember> imGroupMemberList = new ArrayList<>();
+        if(Objects.nonNull(practiceGroup.getEducationalTeacherId())){
+            imGroupMemberList.add(new ImGroupMember(practiceGroup.getEducationalTeacherId().toString()));
+        }
         imGroupMemberList.add(new ImGroupMember(practiceGroup.getUserId().toString()));
         imGroupMemberList.add(new ImGroupMember(practiceGroup.getStudentId().toString()));
         ImGroupMember[] imGroupMembers = imGroupMemberList.toArray(new ImGroupMember[imGroupMemberList.size()]);
@@ -2714,7 +2717,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
 
         if(Objects.isNull(practiceGroupBuyParams.getEducationalTeacherId())){
             List<String> musicGroupIds = studentRegistrationDao.queryStudentMusicGroup(practiceGroupBuyParams.getStudentId());
-            if(!CollectionUtils.isEmpty(musicGroupIds)){
+            if(!CollectionUtils.isEmpty(musicGroupIds)&&musicGroupIds.size()<=1){
                 MusicGroup musicGroup = musicGroupDao.get(musicGroupIds.get(0));
                 if(Objects.nonNull(musicGroup)){
                     practiceGroupBuyParams.setEducationalTeacherId(musicGroup.getEducationalTeacherId());
@@ -3177,6 +3180,9 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         }
 
         List<ImGroupMember> imGroupMemberList = new ArrayList<>();
+        if(Objects.nonNull(practiceGroup.getEducationalTeacherId())){
+            imGroupMemberList.add(new ImGroupMember(practiceGroup.getEducationalTeacherId().toString()));
+        }
         imGroupMemberList.add(new ImGroupMember(practiceGroup.getUserId().toString()));
         imGroupMemberList.add(new ImGroupMember(practiceGroup.getStudentId().toString()));
         ImGroupMember[] imGroupMembers = imGroupMemberList.toArray(new ImGroupMember[imGroupMemberList.size()]);

+ 0 - 51
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantEntryActivitesServiceImpl.java

@@ -1,51 +0,0 @@
-package com.ym.mec.biz.service.impl;
-
-import java.util.Date;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import com.ym.mec.biz.dal.dao.TenantEntryActivitesDao;
-import com.ym.mec.biz.dal.entity.TenantEntryActivites;
-import com.ym.mec.biz.service.TenantEntryActivitesService;
-import com.ym.mec.common.dal.BaseDAO;
-import com.ym.mec.common.exception.BizException;
-import com.ym.mec.common.service.impl.BaseServiceImpl;
-
-@Service
-public class TenantEntryActivitesServiceImpl extends BaseServiceImpl<Integer, TenantEntryActivites> implements TenantEntryActivitesService {
-
-	@Autowired
-	private TenantEntryActivitesDao tenantEntryActivitesDao;
-
-	@Override
-	public BaseDAO<Integer, TenantEntryActivites> getDAO() {
-		return tenantEntryActivitesDao;
-	}
-
-	@Override
-	public boolean merge(TenantEntryActivites tenantEntryActivites) {
-
-		if (!tenantEntryActivites.getStartDate().before(tenantEntryActivites.getEndDate())) {
-			throw new BizException("活动开始时间必须在结束时间之前");
-		}
-
-		Date date = new Date();
-		if (tenantEntryActivites.getId() != null) {
-			TenantEntryActivites orginTenantEntryActivites = tenantEntryActivitesDao.get(tenantEntryActivites.getId());
-
-			if (orginTenantEntryActivites == null) {
-				throw new BizException("操作失败,请检查输入参数");
-			}
-			tenantEntryActivites.setCreateTime(orginTenantEntryActivites.getCreateTime());
-			tenantEntryActivites.setUpdateTime(date);
-			tenantEntryActivitesDao.update(tenantEntryActivites);
-		} else {
-			tenantEntryActivites.setCreateTime(date);
-			tenantEntryActivites.setUpdateTime(date);
-			tenantEntryActivitesDao.insert(tenantEntryActivites);
-		}
-		return true;
-	}
-
-}

+ 72 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantEntryActivitiesServiceImpl.java

@@ -0,0 +1,72 @@
+package com.ym.mec.biz.service.impl;
+
+import java.util.Date;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.ym.mec.biz.dal.dao.TenantEntryActivitiesDao;
+import com.ym.mec.biz.dal.entity.TenantEntryActivities;
+import com.ym.mec.biz.service.TenantEntryActivitiesService;
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.exception.BizException;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+
+@Service
+public class TenantEntryActivitiesServiceImpl extends BaseServiceImpl<Integer, TenantEntryActivities> implements TenantEntryActivitiesService {
+
+	@Autowired
+	private TenantEntryActivitiesDao tenantEntryActivitiesDao;
+
+	@Override
+	public BaseDAO<Integer, TenantEntryActivities> getDAO() {
+		return tenantEntryActivitiesDao;
+	}
+
+	@Override
+	public boolean merge(TenantEntryActivities tenantEntryActivites) {
+
+		if (!tenantEntryActivites.getStartDate().before(tenantEntryActivites.getEndDate())) {
+			throw new BizException("活动开始时间必须在结束时间之前");
+		}
+
+		Date date = new Date();
+		if (tenantEntryActivites.getId() != null) {
+			TenantEntryActivities orginTenantEntryActivites = tenantEntryActivitiesDao.get(tenantEntryActivites.getId());
+
+			if (orginTenantEntryActivites == null) {
+				throw new BizException("操作失败,请检查输入参数");
+			}
+			tenantEntryActivites.setCreateTime(orginTenantEntryActivites.getCreateTime());
+			tenantEntryActivites.setUpdateTime(date);
+			tenantEntryActivitiesDao.update(tenantEntryActivites);
+		} else {
+			tenantEntryActivites.setCreateTime(date);
+			tenantEntryActivites.setUpdateTime(date);
+			tenantEntryActivitiesDao.insert(tenantEntryActivites);
+		}
+		return true;
+	}
+
+	@Override
+	@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+	public boolean enter(Integer userId, Integer activitiesId) {
+		TenantEntryActivities tenantEntryActivities = tenantEntryActivitiesDao.get(activitiesId);
+		if (tenantEntryActivities == null) {
+			throw new BizException("活动不存在");
+		}
+
+		Date date = new Date();
+		// 判断活动是否有效
+		if (tenantEntryActivities.getDelFlag() == true || date.before(tenantEntryActivities.getStartDate()) || date.after(tenantEntryActivities.getEndDate())) {
+			throw new BizException("活动已结束或未开始");
+		}
+		
+		//是否满足条件
+
+		return true;
+	}
+
+}

+ 13 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -1076,6 +1076,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		List<ClassGroupStudentMapper> classGroupStudents = classGroupStudentMapperDao.findByClassGroup(classGroup.getId());
 
 		List<ImGroupMember> imGroupMemberList = new ArrayList<>();
+		imGroupMemberList.add(new ImGroupMember(vipGroupApplyBaseInfoDto.getEducationalTeacherId().toString()));
 		imGroupMemberList.add(new ImGroupMember(vipGroupApplyBaseInfoDto.getUserId().toString()));
 		//生成学生单课缴费信息
 		for (ClassGroupStudentMapper classGroupStudent : classGroupStudents) {
@@ -2242,6 +2243,18 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			courseScheduleDao.updateCourseSchoolByGroup(oldVipGroupInfo.getId().toString(), GroupType.VIP.getCode(), oldVipGroupInfo.getTeacherSchoolId());
 			isChange=true;
 		}
+		if(Objects.nonNull(vipGroupApplyBaseInfo.getEducationalTeacherId())&&!vipGroupApplyBaseInfo.getEducationalTeacherId().equals(oldVipGroupInfo.getEducationalTeacherId())){
+			ClassGroup classGroup = classGroupDao.findByMusicGroupAndType(oldVipGroupInfo.getId().toString(), GroupType.VIP.getCode());
+			if(Objects.nonNull(oldVipGroupInfo.getEducationalTeacherId())){
+				ImGroupMember[] imGroupMembers = new ImGroupMember[]{new ImGroupMember(oldVipGroupInfo.getEducationalTeacherId().toString())};
+				imFeignService.groupQuit(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
+			}
+
+			oldVipGroupInfo.setEducationalTeacherId(vipGroupApplyBaseInfo.getEducationalTeacherId());
+			isChange=true;
+			ImGroupMember[] newImGroupMemberList = new ImGroupMember[]{new ImGroupMember(oldVipGroupInfo.getEducationalTeacherId().toString())};
+			imFeignService.groupJoin(new ImGroupModel(classGroup.getId().toString(), newImGroupMemberList,classGroup.getName()));
+		}
 		//更新vip课
 		if(isChange){
 			oldVipGroupInfo.setUpdateTime(now);

+ 14 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleComplaintsMapper.xml

@@ -118,4 +118,18 @@
 		LEFT JOIN sys_user su ON su.id_ = csc.user_id_
 		WHERE csc.course_schedule_id_ = #{courseScheduleId}
 	</select>
+
+	<select id="findByUserIdAndCourseId" resultMap="CourseScheduleComplaintsDtoMap">
+		SELECT su.username_,csc.reason_,csc.score_,su.avatar_ FROM course_schedule_complaints csc
+		LEFT JOIN sys_user su on csc.user_id_ = su.id_
+		WHERE user_id_=#{userId} AND course_schedule_id_=#{courseScheduleId} LIMIT 1
+	</select>
+
+	<select id="findByCourseIdAndUserId" resultMap="CourseScheduleComplaints">
+		SELECT * FROM course_schedule_complaints WHERE course_schedule_id_ IN
+		<foreach collection="courseIds" item="courseId" open="(" close=")" separator=",">
+			#{courseId}
+		</foreach>
+		AND user_id_ = #{userId}
+	</select>
 </mapper>

+ 26 - 6
mec-biz/src/main/resources/config/mybatis/CourseScheduleReviewMapper.xml

@@ -26,7 +26,8 @@
     </resultMap>
 
     <select id="get" parameterType="java.lang.Integer" resultMap="CourseScheduleReview">
-        select * from course_schedule_review
+        select *
+        from course_schedule_review
         where id_ = #{id,jdbcType=INTEGER}
     </select>
 
@@ -122,11 +123,13 @@
         <result column="student_review_" property="studentReview"/>
         <result column="hand_homework_" property="handHomework"/>
         <result column="course_review_" property="courseReview"/>
+        <result column="teacher_id" property="teacherId"/>
     </resultMap>
 
     <sql id="practiceGroupReviewsQueryCondition">
         <where>
-            AND pg.id_ > 0 AND cs.group_type_='PRACTICE' AND cs.status_='OVER' AND (cs.del_flag_ = 0 OR cs.del_flag_ IS NULL)
+            AND pg.id_ > 0 AND cs.group_type_='PRACTICE' AND cs.status_='OVER' AND (cs.del_flag_ = 0 OR cs.del_flag_ IS
+            NULL)
             <if test="organId != null">
                 AND FIND_IN_SET(pg.organ_id_,#{organId})
             </if>
@@ -146,7 +149,7 @@
                 AND pg.buy_months_ IS NULL
             </if>
             <if test="studentReview !=null">
-                AND pg.student_review_ =#{studentReview}
+                AND csc.score_ =#{studentReview}
             </if>
             <if test='hasReview !=null and hasReview=="1"'>
                 AND csr.id_ > 0
@@ -179,14 +182,17 @@
     </sql>
 
     <select id="getPracticeGroupReviewList" resultMap="CourseReviewDto">
-        SELECT cs.id_,cs.class_date_, pg.subject_id_,pg.organ_id_,pg.name_ coursre_name_,su.real_name_ teacher_name_,edsu.real_name_
-        edu_teacher_name_,pg.buy_months_,csr.id_ review_id_, csr.student_review_,csr.hand_homework_,csr.course_review_
+        SELECT cs.id_,cs.actual_teacher_id_ teacher_id ,cs.class_date_, pg.subject_id_,pg.organ_id_,pg.name_ coursre_name_,su.real_name_
+        teacher_name_,edsu.real_name_
+        edu_teacher_name_,pg.buy_months_,csr.id_ review_id_, csc.score_ student_review_,csr.hand_homework_,csr.course_review_
         FROM course_schedule cs
         LEFT JOIN practice_group pg ON cs.music_group_id_ = pg.id_
         LEFT JOIN sys_user su ON cs.actual_teacher_id_ = su.id_
         LEFT JOIN sys_user edsu ON pg.educational_teacher_id_ = edsu.id_
         LEFT JOIN course_schedule_review csr on cs.id_ = csr.course_schedule_id_
+        LEFT JOIN course_schedule_complaints csc on csc.course_schedule_id_ = cs.id_
         <include refid="practiceGroupReviewsQueryCondition"/>
+        ORDER BY cs.class_date_ DESC
         <include refid="global.limit"/>
     </select>
 
@@ -194,6 +200,7 @@
         SELECT count(*) FROM course_schedule cs
         LEFT JOIN practice_group pg ON cs.music_group_id_ = pg.id_
         LEFT JOIN course_schedule_review csr on cs.id_ = csr.course_schedule_id_
+        LEFT JOIN course_schedule_complaints csc on csc.course_schedule_id_ = cs.id_
         <include refid="practiceGroupReviewsQueryCondition"/>
     </select>
 
@@ -246,13 +253,26 @@
         LEFT JOIN practice_group pg ON cs.music_group_id_ = pg.id_
         <include refid="practiceGroupReviews4EduQueryCondition"/>
     </select>
+
     <select id="findByCourseScheduleAndStudent" resultMap="CourseScheduleReview">
-        SELECT * FROM course_schedule_review WHERE course_schedule_id_=#{courseScheduleId} AND student_id_=#{studentId}
+        SELECT *
+        FROM course_schedule_review
+        WHERE course_schedule_id_ = #{courseScheduleId}
+          AND student_id_ = #{studentId}
     </select>
+
     <select id="findByCourseSchedules" resultMap="CourseScheduleReview">
         SELECT * FROM course_schedule_review WHERE course_schedule_id_ IN
         <foreach collection="courseScheduleIds" item="courseScheduleId" separator="," open="(" close=")">
             #{courseScheduleId}
         </foreach>
     </select>
+
+    <select id="findByCourseSchedulesAndStudentId" resultMap="CourseScheduleReview">
+        SELECT * FROM course_schedule_review WHERE course_schedule_id_ IN
+        <foreach collection="courseScheduleIds" item="courseScheduleId" separator="," open="(" close=")">
+            #{courseScheduleId}
+        </foreach>
+        AND student_id_ = #{studentId}
+    </select>
 </mapper>

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

@@ -231,7 +231,7 @@
 
     <select id="findByRole" resultType="com.ym.mec.biz.dal.dto.SimpleUserDto">
         SELECT
-          su.id_ userId,
+          DISTINCT su.id_ userId,
           su.real_name_ userName,
           su.avatar_ avatar
         FROM
@@ -246,7 +246,7 @@
     </select>
     <select id="findByIds" resultType="com.ym.mec.biz.dal.dto.SimpleUserDto">
         SELECT su.id_ userId,su.real_name_ userName
-        FROM sys_user
+        FROM sys_user su
         WHERE id_ IN
         <foreach collection="userIds" item="userId" separator="," open="(" close=")">
             #{userId}

+ 21 - 17
mec-biz/src/main/resources/config/mybatis/TenantEntryActivitesMapper.xml → mec-biz/src/main/resources/config/mybatis/TenantEntryActivitiesMapper.xml

@@ -1,16 +1,17 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <!-- 这个文件是自动生成的。 不要修改此文件。所有改动将在下次重新自动生成时丢失。 -->
-<mapper namespace="com.ym.mec.biz.dal.dao.TenantEntryActivitesDao">
+<mapper namespace="com.ym.mec.biz.dal.dao.TenantEntryActivitiesDao">
 
-	<resultMap type="com.ym.mec.biz.dal.entity.TenantEntryActivites"
-		id="TenantEntryActivites">
+	<resultMap type="com.ym.mec.biz.dal.entity.TenantEntryActivities"
+		id="TenantEntryActivities">
 		<result column="id_" property="id" />
 		<result column="name_" property="name" />
 		<result column="cover_img_" property="coverImg" />
 		<result column="detail_" property="detail" />
 		<result column="total_price_" property="totalPrice" />
 		<result column="discount_price_" property="discountPrice" />
+		<result column="purchase_minutes_" property="purchaseMinutes" />
 		<result column="give_minutes_" property="giveMinutes" />
 		<result column="start_date_" property="startDate" />
 		<result column="end_date_" property="endDate" />
@@ -32,29 +33,29 @@
 	</sql>
 
 	<!-- 根据主键查询一条记录 -->
-	<select id="get" resultMap="TenantEntryActivites">
-		SELECT * FROM tenant_entry_activites WHERE id_ = #{id}
+	<select id="get" resultMap="TenantEntryActivities">
+		SELECT * FROM tenant_entry_activities WHERE id_ = #{id}
 	</select>
 
 	<!-- 全查询 -->
-	<select id="findAll" resultMap="TenantEntryActivites">
+	<select id="findAll" resultMap="TenantEntryActivities">
 		SELECT * FROM
-		tenant_entry_activites ORDER BY id_
+		tenant_entry_activities ORDER BY id_
 	</select>
 
 	<!-- 向数据库增加一条记录 -->
-	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.TenantEntryActivites"
+	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.TenantEntryActivities"
 		useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 		<!-- <selectKey resultClass="int" keyProperty="id" > SELECT SEQ_WSDEFINITION_ID.nextval 
 			AS ID FROM DUAL </selectKey> -->
-		INSERT INTO tenant_entry_activites
-		(id_,name_,cover_img_,detail_,total_price_,discount_price_,give_minutes_,start_date_,end_date_,condition_,del_flag_,create_time_,update_time_)
-		VALUES(#{id},#{name},#{coverImg},#{detail},#{totalPrice},#{discountPrice},#{giveMinutes},#{startDate},#{endDate},#{condition},#{delFlag},#{createTime},#{updateTime})
+		INSERT INTO tenant_entry_activities
+		(id_,name_,cover_img_,detail_,total_price_,discount_price_,purchase_minutes_,give_minutes_,start_date_,end_date_,condition_,del_flag_,create_time_,update_time_)
+		VALUES(#{id},#{name},#{coverImg},#{detail},#{totalPrice},#{discountPrice},#{purchaseMinutes},#{giveMinutes},#{startDate},#{endDate},#{condition},#{delFlag},#{createTime},#{updateTime})
 	</insert>
 
 	<!-- 根据主键查询一条记录 -->
-	<update id="update" parameterType="com.ym.mec.biz.dal.entity.TenantEntryActivites">
-		UPDATE tenant_entry_activites
+	<update id="update" parameterType="com.ym.mec.biz.dal.entity.TenantEntryActivities">
+		UPDATE tenant_entry_activities
 		<set>
 			<if test="condition != null">
 				condition_ = #{condition},
@@ -71,6 +72,9 @@
 			<if test="id != null">
 				id_ = #{id},
 			</if>
+			<if test="purchaseMinutes != null">
+				purchase_minutes_ = #{purchaseMinutes},
+			</if>
 			<if test="giveMinutes != null">
 				give_minutes_ = #{giveMinutes},
 			</if>
@@ -101,13 +105,13 @@
 
 	<!-- 根据主键删除一条记录 -->
 	<delete id="delete">
-		DELETE FROM tenant_entry_activites WHERE id_ = #{id}
+		DELETE FROM tenant_entry_activities WHERE id_ = #{id}
 	</delete>
 
 	<!-- 分页查询 -->
-	<select id="queryPage" resultMap="TenantEntryActivites"
+	<select id="queryPage" resultMap="TenantEntryActivities"
 		parameterType="map">
-		SELECT * FROM tenant_entry_activites
+		SELECT * FROM tenant_entry_activities
 		<include refid="queryCondition" />
 		order by id_ desc
 		<include refid="global.limit" />
@@ -115,7 +119,7 @@
 
 	<!-- 查询当前表的总记录数 -->
 	<select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM tenant_entry_activites
+		SELECT COUNT(*) FROM tenant_entry_activities
 		<include refid="queryCondition" />
 		order by id_ desc
 	</select>

+ 6 - 0
mec-student/src/main/java/com/ym/mec/student/controller/CourseGroupController.java

@@ -9,6 +9,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
+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;
@@ -29,6 +30,11 @@ public class CourseGroupController extends BaseController {
     @Autowired
     private SysUserFeignService sysUserFeignService;
 
+    @ApiOperation(value = "获取课程组详情")
+    @GetMapping("/getGroupDetail")
+    public HttpResponseResult getGroupDetail(Long groupId){
+        return succeed(coursesGroupService.getGroupDetail(groupId));
+    }
 
     @ApiOperation(value = "购买课程组")
     @PostMapping("/buyCourseGroup")

+ 5 - 5
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TenantEntryActivitesController.java → mec-teacher/src/main/java/com/ym/mec/teacher/controller/TenantEntryActivitiesController.java

@@ -11,23 +11,23 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import com.ym.mec.biz.dal.page.TenantEntryActivitesQueryInfo;
-import com.ym.mec.biz.service.TenantEntryActivitesService;
+import com.ym.mec.biz.service.TenantEntryActivitiesService;
 import com.ym.mec.common.controller.BaseController;
 
-@RequestMapping("tenantEntryActivites")
+@RequestMapping("tenantEntryActivities")
 @Api(tags = "租客入驻活动")
 @RestController
-public class TenantEntryActivitesController extends BaseController {
+public class TenantEntryActivitiesController extends BaseController {
 
     @Autowired
-    private TenantEntryActivitesService tenantEntryActivitesService;
+    private TenantEntryActivitiesService tenantEntryActivitiesService;
 
     @ApiOperation(value = "分页查询活动列表")
     @GetMapping("/queryPage")
     public Object queryPage(TenantEntryActivitesQueryInfo queryInfo) {
     	queryInfo.setDelFlag(false);
     	queryInfo.setStartDate(new Date());
-        return succeed(tenantEntryActivitesService.queryPage(queryInfo));
+        return succeed(tenantEntryActivitiesService.queryPage(queryInfo));
     }
 
 }

+ 12 - 12
mec-web/src/main/java/com/ym/mec/web/controller/TenantEntryActivitesController.java → mec-web/src/main/java/com/ym/mec/web/controller/TenantEntryActivitiesController.java

@@ -11,38 +11,38 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import com.ym.mec.biz.dal.entity.TenantEntryActivites;
-import com.ym.mec.biz.service.TenantEntryActivitesService;
+import com.ym.mec.biz.dal.entity.TenantEntryActivities;
+import com.ym.mec.biz.service.TenantEntryActivitiesService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.page.QueryInfo;
 
-@RequestMapping("tenantEntryActivites")
+@RequestMapping("tenantEntryActivities")
 @Api(tags = "租客入驻活动")
 @RestController
-public class TenantEntryActivitesController extends BaseController {
+public class TenantEntryActivitiesController extends BaseController {
 
 	@Autowired
-	private TenantEntryActivitesService tenantEntryActivitesService;
+	private TenantEntryActivitiesService tenantEntryActivitiesService;
 
 	@ApiOperation(value = "分页查询活动列表")
 	@GetMapping("/queryPage")
-	@PreAuthorize("@pcs.hasPermissions('tenantEntryActivites/queryPage')")
+	@PreAuthorize("@pcs.hasPermissions('tenantEntryActivities/queryPage')")
 	public Object queryPage(QueryInfo queryInfo) {
-		return succeed(tenantEntryActivitesService.queryPage(queryInfo));
+		return succeed(tenantEntryActivitiesService.queryPage(queryInfo));
 	}
 
 	@ApiOperation(value = "查询活动信息")
 	@GetMapping("/query")
-	@PreAuthorize("@pcs.hasPermissions('tenantEntryActivites/query')")
+	@PreAuthorize("@pcs.hasPermissions('tenantEntryActivities/query')")
 	public Object query(Integer id) {
-		return succeed(tenantEntryActivitesService.get(id));
+		return succeed(tenantEntryActivitiesService.get(id));
 	}
 
 	@ApiOperation(value = "新增、修改活动")
 	@PostMapping("/merge")
-	@PreAuthorize("@pcs.hasPermissions('tenantEntryActivites/merge')")
-	public Object merge(@RequestBody TenantEntryActivites tenantEntryActivites) {
-		tenantEntryActivitesService.merge(tenantEntryActivites);
+	@PreAuthorize("@pcs.hasPermissions('tenantEntryActivities/merge')")
+	public Object merge(@RequestBody TenantEntryActivities tenantEntryActivites) {
+		tenantEntryActivitiesService.merge(tenantEntryActivites);
 		return succeed();
 	}