瀏覽代碼

活动排课调整

zouxuan 3 年之前
父節點
當前提交
39a4b1702f
共有 20 個文件被更改,包括 465 次插入90 次删除
  1. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ActivityUserMapperDao.java
  2. 64 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ActivityUserDto.java
  3. 20 12
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseFormDto.java
  4. 37 4
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ActivityUserMapper.java
  5. 58 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/ActivityUserQueryInfo.java
  6. 19 0
      mec-biz/src/main/java/com/ym/mec/biz/service/ActivityUserMapperService.java
  7. 28 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ActivityUserMapperServiceImpl.java
  8. 6 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MemberRankSettingServiceImpl.java
  9. 15 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderDetailServiceImpl.java
  10. 15 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java
  11. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java
  12. 8 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java
  13. 77 4
      mec-biz/src/main/resources/config/mybatis/ActivityUserMapperMapper.xml
  14. 47 0
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/ActivityUserMapperController.java
  15. 8 30
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherPracticeGroupController.java
  16. 17 32
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/VipGroupActivityController.java
  17. 1 0
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/yqpay/DateUtils.java
  18. 27 3
      mec-web/src/main/java/com/ym/mec/web/controller/ActivityUserMapperController.java
  19. 1 1
      mec-web/src/main/resources/bootstrap-test.properties
  20. 3 3
      mec-web/src/main/resources/logback-spring.xml

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ActivityUserMapperDao.java

@@ -1,8 +1,11 @@
 package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.dto.ActivityStudentDto;
+import com.ym.mec.biz.dal.dto.ActivityUserDto;
+import com.ym.mec.biz.dal.dto.CourseFormDto;
 import com.ym.mec.biz.dal.dto.ExportStudentSubCourse;
 import com.ym.mec.biz.dal.entity.ActivityUserMapper;
+import com.ym.mec.biz.dal.page.ActivityUserQueryInfo;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Component;
@@ -112,4 +115,8 @@ public interface ActivityUserMapperDao extends BaseDAO<Integer, ActivityUserMapp
                                   @Param("activityId") Integer activityId);
 
     List<ExportStudentSubCourse> exportStudentSubCourse(@Param("organId") String organId,@Param("tenantId") Integer tenantId);
+
+    List<CourseFormDto> queryWaitCourseCategory(@Param("userId") Integer userId, @Param("organIds") String organIds);
+
+    List<ActivityUserDto> queryActivityStudentList(@Param("queryInfo") ActivityUserQueryInfo activityUserQueryInfo);
 }

+ 64 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ActivityUserDto.java

@@ -0,0 +1,64 @@
+package com.ym.mec.biz.dal.dto;
+
+public class ActivityUserDto {
+
+    private Integer userId;
+
+    private String avatar;
+
+    private String username;
+
+    private String subjectId;
+
+    private String subjectName;
+
+    private String subCourseNum;
+
+    public String getSubjectId() {
+        return subjectId;
+    }
+
+    public void setSubjectId(String subjectId) {
+        this.subjectId = subjectId;
+    }
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
+    public String getAvatar() {
+        return avatar;
+    }
+
+    public void setAvatar(String avatar) {
+        this.avatar = avatar;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public String getSubjectName() {
+        return subjectName;
+    }
+
+    public void setSubjectName(String subjectName) {
+        this.subjectName = subjectName;
+    }
+
+    public String getSubCourseNum() {
+        return subCourseNum;
+    }
+
+    public void setSubCourseNum(String subCourseNum) {
+        this.subCourseNum = subCourseNum;
+    }
+}

+ 20 - 12
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseFormDto.java

@@ -1,26 +1,34 @@
 package com.ym.mec.biz.dal.dto;
 
-import java.math.BigDecimal;
-
 public class CourseFormDto {
 
-    private String type;
+    private String name;
+
+    private Integer id;
+
+    private Integer num;
 
-    private BigDecimal price;
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
 
-    public String getType() {
-        return type;
+    public Integer getId() {
+        return id;
     }
 
-    public void setType(String type) {
-        this.type = type;
+    public void setId(Integer id) {
+        this.id = id;
     }
 
-    public BigDecimal getPrice() {
-        return price;
+    public Integer getNum() {
+        return num;
     }
 
-    public void setPrice(BigDecimal price) {
-        this.price = price;
+    public void setNum(Integer num) {
+        this.num = num;
     }
 }

+ 37 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ActivityUserMapper.java

@@ -13,6 +13,12 @@ public class ActivityUserMapper extends BaseEntity {
 
 	private Integer id;
 	
+	@ApiModelProperty(value = "可排课课程类型")
+	private Integer categoryId;
+
+	@ApiModelProperty(value = "赠送可排课课程类型")
+	private Integer giveCategoryId;
+
 	@ApiModelProperty(value = "活动编号")
 	private Integer activityId;
 	
@@ -41,16 +47,16 @@ public class ActivityUserMapper extends BaseEntity {
 	private Integer giveMemberFlag = 0;
 
 	@ApiModelProperty(value = "购买的总课时数")
-	private Integer totalCourseNum;
+	private Integer totalCourseNum = 0;
 
 	@ApiModelProperty(value = "赠送的总课时数")
-	private Integer totalGiveCourseNum;
+	private Integer totalGiveCourseNum = 0;
 
 	@ApiModelProperty(value = "剩余的总课时数")
-	private Integer subCourseNum;
+	private Integer subCourseNum = 0;
 
 	@ApiModelProperty(value = "剩余的赠送课时数")
-	private Integer subGiveCourseNum;
+	private Integer subGiveCourseNum = 0;
 
 	@ApiModelProperty(value = "缴费编号")
 	private Long paymentOrderId;
@@ -76,6 +82,9 @@ public class ActivityUserMapper extends BaseEntity {
 	@ApiModelProperty(value = "是否退费")
 	private Boolean returnFee = false;
 
+	@ApiModelProperty(value = "剩余未排课金额")
+	private BigDecimal subNoCoursePrice = BigDecimal.ZERO;
+
 	@ApiModelProperty(value = "实际支付金额")
 	private BigDecimal actualPrice = BigDecimal.ZERO;
 
@@ -94,6 +103,30 @@ public class ActivityUserMapper extends BaseEntity {
 	@ApiModelProperty(value = "赠送的优惠券编号")
 	private Integer giveCouponId;
 
+	public Integer getCategoryId() {
+		return categoryId;
+	}
+
+	public void setCategoryId(Integer categoryId) {
+		this.categoryId = categoryId;
+	}
+
+	public Integer getGiveCategoryId() {
+		return giveCategoryId;
+	}
+
+	public void setGiveCategoryId(Integer giveCategoryId) {
+		this.giveCategoryId = giveCategoryId;
+	}
+
+	public BigDecimal getSubNoCoursePrice() {
+		return subNoCoursePrice;
+	}
+
+	public void setSubNoCoursePrice(BigDecimal subNoCoursePrice) {
+		this.subNoCoursePrice = subNoCoursePrice;
+	}
+
 	public Integer getTotalCourseNum() {
 		return totalCourseNum;
 	}

+ 58 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/ActivityUserQueryInfo.java

@@ -0,0 +1,58 @@
+package com.ym.mec.biz.dal.page;
+
+/**
+* @author zx
+* @date 2021/9/26 15:52
+*/
+public class ActivityUserQueryInfo{
+
+    private String organIds;
+
+    private String subjectIds;
+
+    private Integer singleCourseTime;
+
+    private Integer categoryId;
+
+    private Integer teacherId;
+
+    public String getOrganIds() {
+        return organIds;
+    }
+
+    public void setOrganIds(String organIds) {
+        this.organIds = organIds;
+    }
+
+    public String getSubjectIds() {
+        return subjectIds;
+    }
+
+    public void setSubjectIds(String subjectIds) {
+        this.subjectIds = subjectIds;
+    }
+
+    public Integer getSingleCourseTime() {
+        return singleCourseTime;
+    }
+
+    public void setSingleCourseTime(Integer singleCourseTime) {
+        this.singleCourseTime = singleCourseTime;
+    }
+
+    public Integer getCategoryId() {
+        return categoryId;
+    }
+
+    public void setCategoryId(Integer categoryId) {
+        this.categoryId = categoryId;
+    }
+
+    public Integer getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Integer teacherId) {
+        this.teacherId = teacherId;
+    }
+}

+ 19 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ActivityUserMapperService.java

@@ -5,6 +5,7 @@ import com.ym.mec.biz.dal.entity.ActivityUserMapper;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
 import com.ym.mec.biz.dal.page.ActivityStudentQueryInfo;
+import com.ym.mec.biz.dal.page.ActivityUserQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 import org.apache.ibatis.annotations.Param;
@@ -124,4 +125,22 @@ public interface ActivityUserMapperService extends BaseService<Integer, Activity
      * @return
      */
     List<ExportStudentSubCourse> exportStudentSubCourse(String organId, Integer tenantId);
+
+    /**
+     * @description: 老师端获取新活动排课课程类型列表
+     * @param userId
+     * @return java.util.List<com.ym.mec.biz.dal.dto.CourseFormDto>
+     * @author zx
+     * @date 2022/7/22 15:47
+     */
+    List<CourseFormDto> queryWaitCourseCategory(Integer userId,String organIds);
+
+    /**
+    * @description: 获取活动排课学员列表
+     * @param activityUserQueryInfo
+    * @return java.util.List<com.ym.mec.biz.dal.dto.ActivityUserDto>
+    * @author zx
+    * @date 2022/7/22 18:07
+    */
+    List<ActivityUserDto> queryActivityStudentList(ActivityUserQueryInfo activityUserQueryInfo);
 }

+ 28 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ActivityUserMapperServiceImpl.java

@@ -9,6 +9,7 @@ import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
 import com.ym.mec.biz.dal.enums.ReturnFeeEnum;
 import com.ym.mec.biz.dal.page.ActivityStudentQueryInfo;
+import com.ym.mec.biz.dal.page.ActivityUserQueryInfo;
 import com.ym.mec.biz.service.ActivityUserMapperService;
 import com.ym.mec.biz.service.SysUserCashAccountLogService;
 import com.ym.mec.common.constant.CommonConstants;
@@ -125,6 +126,7 @@ public class ActivityUserMapperServiceImpl extends BaseServiceImpl<Integer, Acti
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
 		Integer operatorId = sysUser.getId();
 		String operatorName = sysUser.getRealName();
+		Integer minCourseNum = activity.getMinCourseNum();
 
 		List<Integer> studentIds = activityStudentAdjustDtos.stream().map(e -> e.getUserId()).collect(Collectors.toList());
 		List<Student> studentTeacher = studentDao.findByStudentIds(studentIds);
@@ -166,6 +168,7 @@ public class ActivityUserMapperServiceImpl extends BaseServiceImpl<Integer, Acti
 				activityUserMapper.setActivityId(activityId);
 				activityUserMapper.setUserId(adjustDto.getUserId());
 				activityUserMapper.setActualPrice(BigDecimal.ZERO);
+				activityUserMapper.setSubNoCoursePrice(BigDecimal.ZERO);
 				activityUserMapper.setReturnFee(false);
 				activityUserMapper.setTeacherId(teacherId);
 				activityUserMapper.setAddMemo(memo);
@@ -175,6 +178,9 @@ public class ActivityUserMapperServiceImpl extends BaseServiceImpl<Integer, Acti
 					}else {
 						activityUserMapper.setPracticeFlag(1);
 					}
+					activityUserMapper.setTotalCourseNum(minCourseNum);
+					activityUserMapper.setSubCourseNum(minCourseNum);
+					activityUserMapper.setCategoryId(Integer.parseInt(activity.getVipGroupCategoryIdList()));
 				}
 
 				if(adjustDto.getGiveCourseNum() > i && giveCourseNum != null && giveCourseNum > 0){
@@ -183,6 +189,9 @@ public class ActivityUserMapperServiceImpl extends BaseServiceImpl<Integer, Acti
 					}else {
 						activityUserMapper.setGivePracticeFlag(1);
 					}
+					activityUserMapper.setTotalGiveCourseNum(giveCourseNum);
+					activityUserMapper.setSubGiveCourseNum(giveCourseNum);
+					activityUserMapper.setGiveCategoryId(Integer.parseInt(activity.getGiveCategoryId()));
 				}
 				activityUserMappers.add(activityUserMapper);
 			}
@@ -246,22 +255,31 @@ public class ActivityUserMapperServiceImpl extends BaseServiceImpl<Integer, Acti
 
     @Override
     public void addOrderDetail2Activity(StudentPaymentOrder studentPaymentOrder, List<StudentPaymentOrderDetail> activity) {
+		List<VipGroupActivity> vipGroupActivities = vipGroupActivityDao.queryByIds(activity.stream().
+				map(e -> e.getIncomeItem()).distinct().collect(Collectors.joining(",")));
+		Map<Integer, VipGroupActivity> collect = vipGroupActivities.stream().collect(Collectors.groupingBy(e -> e.getId(),
+				Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))));
 		List<ActivityUserMapper> activityUserMapperList = new ArrayList<>();
 		for (StudentPaymentOrderDetail orderDetail : activity) {
 			ActivityUserMapper activityUserMapper = new ActivityUserMapper();
 			activityUserMapper.setTenantId(studentPaymentOrder.getTenantId());
 			activityUserMapper.setActualPrice(orderDetail.getPrice());
+			activityUserMapper.setSubNoCoursePrice(orderDetail.getPrice());
 			//这里的studentInstrumentId存的是活动编号
 			activityUserMapper.setActivityId(orderDetail.getStudentInstrumentId().intValue());
+			VipGroupActivity vipGroupActivity = collect.get(activityUserMapper.getActivityId());
 			Student student = studentDao.get(studentPaymentOrder.getUserId());
 			activityUserMapper.setUserId(studentPaymentOrder.getUserId());
 			activityUserMapper.setTeacherId(student.getTeacherId());
 			activityUserMapper.setPaymentOrderId(studentPaymentOrder.getId());
+			activityUserMapper.setTotalCourseNum(vipGroupActivity.getMinCourseNum());
+			activityUserMapper.setSubCourseNum(vipGroupActivity.getMinCourseNum());
 			if(orderDetail.getType() == OrderDetailTypeEnum.VIP){
 				activityUserMapper.setVipFlag(1);
 			}else {
 				activityUserMapper.setPracticeFlag(1);
 			}
+			activityUserMapper.setCategoryId(Integer.parseInt(vipGroupActivity.getVipGroupCategoryIdList()));
 			activityUserMapperList.add(activityUserMapper);
 		}
 		activityUserMapperDao.batchInsert(activityUserMapperList);
@@ -304,4 +322,14 @@ public class ActivityUserMapperServiceImpl extends BaseServiceImpl<Integer, Acti
 	public List<ExportStudentSubCourse> exportStudentSubCourse(String organId, Integer tenantId) {
 		return activityUserMapperDao.exportStudentSubCourse(organId,tenantId);
 	}
+
+    @Override
+    public List<CourseFormDto> queryWaitCourseCategory(Integer userId,String organIds) {
+        return activityUserMapperDao.queryWaitCourseCategory(userId,organIds);
+    }
+
+	@Override
+	public List<ActivityUserDto> queryActivityStudentList(ActivityUserQueryInfo activityUserQueryInfo) {
+		return activityUserMapperDao.queryActivityStudentList(activityUserQueryInfo);
+	}
 }

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MemberRankSettingServiceImpl.java

@@ -717,11 +717,17 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
             activityUserMapper.setUserId(studentPaymentOrder.getUserId());
             activityUserMapper.setActivityId(activity.getId());
             activityUserMapper.setActualPrice(BigDecimal.ZERO);
+            activityUserMapper.setSubNoCoursePrice(BigDecimal.ZERO);
             activityUserMapper.setReturnFee(false);
+//            activityUserMapper.setTotalCourseNum(activity.getMinCourseNum());
+//            activityUserMapper.setSubCourseNum(activity.getMinCourseNum());
             //如果是买的商品1那么赠送陪练课和训练营
             if(Objects.equals(studentPaymentOrder.getClassGroupId(),1)){
                 //赠送陪练课
+                activityUserMapper.setTotalGiveCourseNum(activity.getGiveCourseNum());
+                activityUserMapper.setSubGiveCourseNum(activity.getGiveCourseNum());
                 activityUserMapper.setGivePracticeFlag(1);
+                activityUserMapper.setGiveCategoryId(Integer.parseInt(activity.getGiveCategoryId()));
                 //赠送训练营
                 TempLittleArtistTrainingCampUserRelation tempLittleArtistTrainingCamp = new TempLittleArtistTrainingCampUserRelation();
                 tempLittleArtistTrainingCamp.setUserId(studentPaymentOrder.getUserId());

+ 15 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderDetailServiceImpl.java

@@ -17,6 +17,7 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.common.tenant.TenantContextHolder;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.collection.MapUtil;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -66,6 +67,8 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
     private StudentPaymentOrderDao studentPaymentOrderDao;
     @Autowired
     private StudentDao studentDao;
+    @Autowired
+    private VipGroupActivityDao vipGroupActivityDao;
 
     @Override
     public BaseDAO<Long, MusicGroupPaymentCalenderDetail> getDAO() {
@@ -241,6 +244,13 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
         MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
 
         List<MusicGroupPaymentCalenderActivity> calenderActivities = musicGroupPaymentCalenderActivityService.findByCalenderId(musicGroupPaymentCalenderId);
+        Map<Integer, VipGroupActivity> collect = new HashMap<>();
+        if(CollectionUtils.isNotEmpty(calenderActivities)){
+            List<VipGroupActivity> vipGroupActivities = vipGroupActivityDao.queryByIds(calenderActivities.stream().
+                    map(e -> e.getActivityId().toString()).distinct().collect(Collectors.joining(",")));
+            collect = vipGroupActivities.stream().collect(Collectors.groupingBy(e -> e.getId(),
+                    Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))));
+        }
         MusicGroupPaymentCalenderMember calenderMember = musicGroupPaymentCalenderMemberService.findByCalenderId(musicGroupPaymentCalenderId);
         for (Integer studentId : userIdList) {
             musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
@@ -278,15 +288,20 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
                     for (MusicGroupPaymentCalenderActivity calenderActivity : calenderActivities) {
                         ActivityUserMapper activityUserMapper = new ActivityUserMapper();
                         activityUserMapper.setActualPrice(BigDecimal.ZERO);
+                        activityUserMapper.setSubNoCoursePrice(BigDecimal.ZERO);
                         activityUserMapper.setActivityId(calenderActivity.getActivityId());
                         Student student = studentDao.get(studentId);
                         activityUserMapper.setUserId(studentId);
                         activityUserMapper.setTeacherId(student.getTeacherId());
+                        VipGroupActivity activity = collect.get(activityUserMapper.getActivityId());
+                        activityUserMapper.setTotalCourseNum(activity.getMinCourseNum());
+                        activityUserMapper.setSubCourseNum(activity.getMinCourseNum());
                         if ("网管课".equals(calenderActivity.getCategoryName())) {
                             activityUserMapper.setPracticeFlag(1);
                         } else {
                             activityUserMapper.setVipFlag(1);
                         }
+                        activityUserMapper.setCategoryId(Integer.parseInt(activity.getVipGroupCategoryIdList()));
                         activityUserMapperList.add(activityUserMapper);
                     }
                     activityUserMapperService.batchInsert(activityUserMapperList);

+ 15 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -27,6 +27,7 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
@@ -118,6 +119,8 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
     private ActivityUserMapperService activityUserMapperService;
     @Autowired
     private StudentRegistrationService studentRegistrationService;
+    @Autowired
+    private VipGroupActivityDao vipGroupActivityDao;
 
     @Override
     public BaseDAO<Long, MusicGroupPaymentCalender> getDAO() {
@@ -691,6 +694,13 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 //            MusicGroupPaymentStudentCourseDetail musicGroupPaymentStudentCourseDetail = null;
 
             List<MusicGroupPaymentCalenderActivity> calenderActivities = musicGroupPaymentCalenderActivityService.findByCalenderId(musicGroupPaymentCalender.getId());
+            Map<Integer, VipGroupActivity> collect = new HashMap<>();
+            if(CollectionUtils.isNotEmpty(calenderActivities)){
+                List<VipGroupActivity> vipGroupActivities = vipGroupActivityDao.queryByIds(calenderActivities.stream().
+                        map(e -> e.getActivityId().toString()).distinct().collect(Collectors.joining(",")));
+                collect = vipGroupActivities.stream().collect(Collectors.groupingBy(e -> e.getId(),
+                        Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))));
+            }
             MusicGroupPaymentCalenderMember calenderMember = musicGroupPaymentCalenderMemberService.findByCalenderId(musicGroupPaymentCalender.getId());
             for (String studentId : studentIdStr.split(",")) {
                 if (termCourseDetail != null) {
@@ -740,15 +750,20 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
                         for (MusicGroupPaymentCalenderActivity calenderActivity : calenderActivities) {
                             ActivityUserMapper activityUserMapper = new ActivityUserMapper();
                             activityUserMapper.setActualPrice(BigDecimal.ZERO);
+                            activityUserMapper.setSubNoCoursePrice(BigDecimal.ZERO);
                             activityUserMapper.setActivityId(calenderActivity.getActivityId());
                             Student student = studentDao.get(Integer.parseInt(studentId));
                             activityUserMapper.setUserId(Integer.parseInt(studentId));
                             activityUserMapper.setTeacherId(student.getTeacherId());
+                            VipGroupActivity activity = collect.get(activityUserMapper.getActivityId());
+                            activityUserMapper.setTotalCourseNum(activity.getMinCourseNum());
+                            activityUserMapper.setSubCourseNum(activity.getMinCourseNum());
                             if ("网管课".equals(calenderActivity.getCategoryName())) {
                                 activityUserMapper.setPracticeFlag(1);
                             } else {
                                 activityUserMapper.setVipFlag(1);
                             }
+                            activityUserMapper.setCategoryId(Integer.parseInt(activity.getVipGroupCategoryIdList()));
                             activityUserMapperList.add(activityUserMapper);
                         }
                         activityUserMapperService.batchInsert(activityUserMapperList);

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -4605,7 +4605,11 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             activityUserMapper.setTeacherId(student.getTeacherId());
             activityUserMapper.setVipFlag(1);
             activityUserMapper.setActualPrice(order.getExpectAmount());
+            activityUserMapper.setSubNoCoursePrice(order.getExpectAmount());
             activityUserMapper.setTenantId(order.getTenantId());
+            activityUserMapper.setTotalCourseNum(activity.getMinCourseNum());
+            activityUserMapper.setSubCourseNum(activity.getMinCourseNum());
+            activityUserMapper.setCategoryId(Integer.parseInt(activity.getVipGroupCategoryIdList()));
             if (activity.isPayToBalance()) {
                 boolean appendCourseBalance = sysUserCashAccountService.appendCourseBalance(userId, studentPaymentOrder.getExpectAmount(), PlatformCashAccountDetailTypeEnum.RECHARGE, "通用营销活动购买");
                 if (!appendCourseBalance) {
@@ -4614,6 +4618,9 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             }
             if (activity.getFullMinusCourseTimes() != -1 && order.getActivityBuyNum() >= activity.getFullMinusCourseTimes()) {
                 activityUserMapper.setGiveVipFlag(1);
+                activityUserMapper.setTotalGiveCourseNum(activity.getGiveCourseNum());
+                activityUserMapper.setSubGiveCourseNum(activity.getGiveCourseNum());
+                activityUserMapper.setGiveCategoryId(Integer.parseInt(activity.getGiveCategoryId()));
             }
             activityUserMapperService.insert(activityUserMapper);
             SysUserCashAccount sysUserCashAccount = sysUserCashAccountService.get(userId);

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

@@ -765,6 +765,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
     public Integer activityGive(Integer vipGroupActivityId, StudentPaymentOrder studentPaymentOrder, Long vipGroupId, Long practiceGroupId, Integer teacherId) {
         Integer activityUserMapperId = null;
         if (vipGroupActivityId != null) {
+            VipGroupActivity activity = vipGroupActivityDao.get(vipGroupActivityId);
             ActivityUserMapper activityUserMapper = new ActivityUserMapper();
             activityUserMapper.setVipGroupId(vipGroupId);
             activityUserMapper.setPracticeGroupId(practiceGroupId);
@@ -773,13 +774,16 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
             activityUserMapper.setActivityId(vipGroupActivityId);
             activityUserMapper.setTeacherId(teacherId);
             activityUserMapper.setActualPrice(studentPaymentOrder.getExpectAmount());
+            activityUserMapper.setSubNoCoursePrice(studentPaymentOrder.getExpectAmount());
+            activityUserMapper.setTotalCourseNum(activity.getMinCourseNum());
+            activityUserMapper.setCategoryId(Integer.parseInt(activity.getVipGroupCategoryIdList()));
             if (vipGroupId != null) {
                 activityUserMapper.setVipFlag(2);
             } else {
                 activityUserMapper.setPracticeFlag(2);
             }
+            activityUserMapper.setSubCourseNum(0);
             //是否达到满赠标准
-            VipGroupActivity activity = vipGroupActivityDao.get(vipGroupActivityId);
             if (activity.getFullMinusCourseTimes() == -1 || studentPaymentOrder.getActivityBuyNum() < activity.getFullMinusCourseTimes()) {
                 activityUserMapperDao.insert(activityUserMapper);
                 return activityUserMapper.getId();
@@ -791,6 +795,9 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
                 } else {
                     activityUserMapper.setGivePracticeFlag(1);
                 }
+                activityUserMapper.setTotalGiveCourseNum(activity.getGiveCourseNum());
+                activityUserMapper.setSubGiveCourseNum(activity.getGiveCourseNum());
+                activityUserMapper.setGiveCategoryId(Integer.parseInt(activity.getGiveCategoryId()));
             }
             //是否赠送优惠券
             if (activity.getGiveCouponNum() != null && activity.getGiveCouponNum() > 0) {

+ 77 - 4
mec-biz/src/main/resources/config/mybatis/ActivityUserMapperMapper.xml

@@ -29,6 +29,7 @@
 		<result column="practice_group_id_" property="practiceGroupId" />
 		<result column="give_practice_group_id_" property="givePracticeGroupId" />
 		<result column="return_fee_" property="returnFee" />
+		<result column="sub_no_course_price_" property="subNoCoursePrice" />
 		<result column="actual_price_" property="actualPrice" />
 		<result column="add_memo_" property="addMemo" />
 		<result column="cut_memo_" property="cutMemo" />
@@ -54,26 +55,26 @@
 		                                  practice_flag_,give_practice_flag_,member_flag_,give_member_flag_,create_time_,update_time_,payment_order_id_,
 										  vip_group_id_,give_vip_group_id_,practice_group_id_,give_practice_group_id_,return_fee_,
 		                                  member_order_id_,give_member_order_id_,teacher_id_,actual_price_,add_memo_,cut_memo_,tenant_id_,give_coupon_id_,
-										  total_course_num_,total_give_course_num_,sub_course_num_,sub_give_course_num_)
+										  total_course_num_,total_give_course_num_,sub_course_num_,sub_give_course_num_,sub_no_course_price_)
 		                                  VALUES(#{activityId},#{userId},#{vipFlag},#{giveVipFlag},#{practiceFlag},
 		                                         #{givePracticeFlag},#{memberFlag},#{giveMemberFlag},NOW(),NOW(),#{paymentOrderId},#{vipGroupId},
 		                                         #{giveVipGroupId},#{practiceGroupId},#{givePracticeGroupId},#{returnFee},
 		                                         #{memberOrderId},#{giveMemberOrderId},#{teacherId},#{actualPrice},#{addMemo},#{cutMemo},#{tenantId},#{giveCouponId},
-		                                         #{totalCourseNum},#{totalGiveCourseNum},#{subCourseNum},#{subGiveCourseNum})
+		                                         #{totalCourseNum},#{totalGiveCourseNum},#{subCourseNum},#{subGiveCourseNum},#{subNoCoursePrice})
 	</insert>
     <insert id="batchInsert">
 		INSERT INTO activity_user_mapper (activity_id_,user_id_,vip_flag_,give_vip_flag_,
 		practice_flag_,give_practice_flag_,member_flag_,give_member_flag_,create_time_,update_time_,payment_order_id_,
 		vip_group_id_,give_vip_group_id_,practice_group_id_,give_practice_group_id_,return_fee_,member_order_id_,
 		                                  give_member_order_id_,teacher_id_,actual_price_,add_memo_,cut_memo_,tenant_id_,give_coupon_id_,
-		total_course_num_,total_give_course_num_,sub_course_num_,sub_give_course_num_)
+		total_course_num_,total_give_course_num_,sub_course_num_,sub_give_course_num_,sub_no_course_price_)
 		VALUES
 		<foreach collection="activityUserMappers" item="item" separator=",">
 			(#{item.activityId},#{item.userId},#{item.vipFlag},#{item.giveVipFlag},#{item.practiceFlag},
 			#{item.givePracticeFlag},#{item.memberFlag},#{item.giveMemberFlag},NOW(),NOW(),#{item.paymentOrderId},#{item.vipGroupId},
 			#{item.giveVipGroupId},#{item.practiceGroupId},#{item.givePracticeGroupId},#{item.returnFee},
 			 #{item.memberOrderId},#{item.giveMemberOrderId},#{item.teacherId},#{item.actualPrice},#{item.addMemo},#{item.cutMemo},
-			 #{item.tenantId},#{item.giveCouponId},#{item.totalCourseNum},#{item.totalGiveCourseNum},#{item.subCourseNum},#{item.subGiveCourseNum})
+			 #{item.tenantId},#{item.giveCouponId},#{item.totalCourseNum},#{item.totalGiveCourseNum},#{item.subCourseNum},#{item.subGiveCourseNum},#{item.subNoCoursePrice})
 		</foreach>
 	</insert>
     <!-- 根据主键查询一条记录 -->
@@ -83,6 +84,9 @@
 			<if test="totalCourseNum != null">
 				total_course_num_ = #{totalCourseNum},
 			</if>
+			<if test="subNoCoursePrice != null">
+				sub_no_course_price_ = #{subNoCoursePrice},
+			</if>
 			<if test="totalGiveCourseNum != null">
 				total_give_course_num_ = #{totalGiveCourseNum},
 			</if>
@@ -326,4 +330,73 @@
 		</if>
 		group by t.user_id_ , t.activity_id_
 	</select>
+	<resultMap id="CourseFormDto" type="com.ym.mec.biz.dal.dto.CourseFormDto">
+		<result property="id" column="id_"/>
+		<result property="name" column="name_"/>
+		<result property="num" column="num_"/>
+	</resultMap>
+	<select id="queryWaitCourseCategory" resultMap="CourseFormDto">
+		SELECT vgc.name_,vgc.id_,COUNT(DISTINCT aum.user_id_) num_ FROM vip_group_category vgc
+		LEFT JOIN (select category_id_,user_id_ from activity_user_mapper aum
+		WHERE aum.category_id_ > 0 AND aum.return_fee_ = 0 AND (aum.vip_flag_ = 1 OR aum.practice_flag_ = 1)
+		UNION ALL
+		select give_category_id_ category_id_,user_id_ from activity_user_mapper aum
+		WHERE aum.give_category_id_ > 0 AND aum.return_fee_ = 0 AND (aum.give_vip_flag_ = 1 OR aum.give_practice_flag_ = 1)) aum ON aum.category_id_ = vgc.id_
+		<if test="userId != null">
+			LEFT JOIN student s ON s.user_id_ = aum.user_id_
+		</if>
+		<if test="organIds != null and organIds != ''">
+			LEFT JOIN sys_user su ON su.id_ = aum.user_id_
+		</if>
+		WHERE aum.category_id_ = vgc.id_
+		<if test="userId != null">
+			AND s.teacher_id_ = #{userId}
+		</if>
+		<if test="organIds != null and organIds != ''">
+			AND FIND_IN_SET(su.organ_id_,#{organIds})
+		</if>
+		GROUP BY vgc.id_
+	</select>
+	<resultMap id="ActivityUserDto" type="com.ym.mec.biz.dal.dto.ActivityUserDto">
+		<result property="userId" column="user_id_"/>
+		<result property="username" column="username_"/>
+		<result property="subjectName" column="subject_name_"/>
+		<result property="subjectId" column="subject_id_"/>
+		<result property="subCourseNum" column="sub_course_num_"/>
+	</resultMap>
+	<select id="queryActivityStudentList" resultMap="ActivityUserDto">
+		SELECT aum.user_id_,su.avatar_,sj.id_ subject_id_,su.username_,sj.name_ subject_name_,
+			   SUM(CASE WHEN aum.category_id_ = #{queryInfo.categoryId}
+				<if test="queryInfo.singleCourseTime != null">
+				 AND aum.single_course_time_ = #{queryInfo.singleCourseTime}
+				</if>
+			   THEN sub_course_num_ ELSE 0 END) +
+			   SUM(CASE WHEN aum.give_category_id_ = #{queryInfo.categoryId}
+				<if test="queryInfo.singleCourseTime != null">
+					AND aum.give_single_course_time_ = #{queryInfo.singleCourseTime}
+				</if>
+			    THEN sub_give_course_num_ ELSE 0 END) sub_course_num_
+		FROM activity_user_mapper aum
+		LEFT JOIN sys_user su ON su.id_ = aum.user_id_
+		LEFT JOIN student s ON s.user_id_ = aum.user_id_
+		LEFT JOIN subject sj ON sj.id_ = s.subject_id_list_
+		WHERE ((aum.category_id_ = #{queryInfo.categoryId}
+		    <if test="queryInfo.singleCourseTime != null">
+				AND aum.single_course_time_ = #{queryInfo.singleCourseTime}
+			</if>)
+		OR (aum.give_category_id_ = #{queryInfo.categoryId}
+		<if test="queryInfo.singleCourseTime != null">
+			AND aum.give_single_course_time_ = #{queryInfo.singleCourseTime}
+		</if>))
+		<if test="queryInfo.organIds != null and queryInfo.organIds != ''">
+			AND FIND_IN_SET(su.organ_id_,#{queryInfo.organIds})
+		</if>
+		<if test="queryInfo.subjectIds != null and queryInfo.subjectIds != ''">
+		  	AND FIND_IN_SET(sj.id_,#{queryInfo.subjectIds})
+		</if>
+		<if test="queryInfo.teacherId != null">
+			AND s.teacher_id_ = #{queryInfo.teacherId}
+		</if>
+		GROUP BY aum.user_id_ HAVING sum(sub_course_num_) > 0 OR sum(sub_give_course_num_) > 0;
+	</select>
 </mapper>

+ 47 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/ActivityUserMapperController.java

@@ -0,0 +1,47 @@
+package com.ym.mec.teacher.controller;
+
+import com.ym.mec.biz.dal.dto.ActivityUserDto;
+import com.ym.mec.biz.dal.dto.CourseFormDto;
+import com.ym.mec.biz.dal.page.ActivityUserQueryInfo;
+import com.ym.mec.biz.service.ActivityUserMapperService;
+import com.ym.mec.biz.service.SysUserService;
+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.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@Api(tags = "活动排课")
+@RequestMapping("activityUserMapper")
+@RestController
+public class ActivityUserMapperController extends BaseController {
+
+    @Autowired
+    private ActivityUserMapperService activityUserMapperService;
+    @Autowired
+    private SysUserService sysUserService;
+
+    @ApiOperation(value = "获取老师待排课课程类型列表")
+    @RequestMapping("/queryWaitCourseCategory")
+    public HttpResponseResult<List<CourseFormDto>> queryWaitCourse(){
+        return succeed(activityUserMapperService.queryWaitCourseCategory(sysUserService.getUserId(),null));
+    }
+
+    @ApiOperation(value = "获取活动排课学员列表")
+    @PostMapping("/queryActivityStudentList")
+    public HttpResponseResult<List<ActivityUserDto>> queryActivityStudentList(ActivityUserQueryInfo activityUserQueryInfo){
+//        if(activityUserQueryInfo.getSingleCourseTime() == null){
+//            throw new IllegalArgumentException("请选择排课时间");
+//        }
+        if(activityUserQueryInfo.getCategoryId() == null){
+            throw new IllegalArgumentException("请选择课程类型");
+        }
+        activityUserQueryInfo.setTeacherId(sysUserService.getUserId());
+        return succeed(activityUserMapperService.queryActivityStudentList(activityUserQueryInfo));
+    }
+}

+ 8 - 30
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherPracticeGroupController.java

@@ -1,6 +1,5 @@
 package com.ym.mec.teacher.controller;
 
-import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.PracticeGroupSellPriceDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
@@ -9,13 +8,12 @@ import com.ym.mec.biz.dal.dto.PracticeGroupApplyDto;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.biz.service.PracticeGroupService;
-import com.ym.mec.biz.service.VipGroupService;
+import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.util.date.DateUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.Map;
@@ -31,7 +29,7 @@ public class TeacherPracticeGroupController extends BaseController {
 	@Autowired
 	private PracticeGroupService practiceGroupService;
 	@Autowired
-	private SysUserFeignService sysUserFeignService;
+	private SysUserService sysUserService;
 	@Autowired
 	private TeacherDao teacherDao;
 	@Autowired
@@ -40,11 +38,7 @@ public class TeacherPracticeGroupController extends BaseController {
 	@ApiOperation("获取网管课分部价格")
 	@RequestMapping("/queryPracticeGroupSellPrice")
 	public Object queryPracticeGroupSellPrice(){
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed("用户信息获取失败");
-		}
-		Teacher teacher = teacherDao.get(sysUser.getId());
+		Teacher teacher = teacherDao.get(sysUserService.getUserId());
 		if(Objects.isNull(teacher)){
 			return failed("请指定指导老师!");
 		}
@@ -54,13 +48,10 @@ public class TeacherPracticeGroupController extends BaseController {
 	@ApiOperation("课酬总费用")
 	@GetMapping("/getPracticeGroupCostCount")
 	public Object getPracticeGroupCostCount(){
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed("用户信息获取失败");
-		}
-		Teacher teacher = teacherDao.get(sysUser.getId());
+		Integer userId = sysUserService.getUserId();
+		Teacher teacher = teacherDao.get(userId);
 		PracticeGroupApplyBaseInfoDto practice = new PracticeGroupApplyBaseInfoDto();
-		practice.setUserId(sysUser.getId());
+		practice.setUserId(userId);
 		practice.setOrganId(teacher.getOrganId());
 		Map results = practiceGroupService.countPracticeGroupPredictFee(practice,practice.getUserId());
 		return succeed(results);
@@ -69,17 +60,8 @@ public class TeacherPracticeGroupController extends BaseController {
 	@ApiOperation(value = "教师端网管课活动排课")
 	@PostMapping("/createPracticeGroup")
 	public Object createPracticeGroup(@RequestBody PracticeGroupApplyDto practiceGroupApplyDto){
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed("用户信息获取失败");
-		}
 		PracticeGroupApplyBaseInfoDto applyBaseInfo = practiceGroupApplyDto.getPracticeGroupApplyBaseInfoDto();
-		Integer userId = sysUser.getId();
-		applyBaseInfo.setUserId(userId);
-		Teacher teacher = teacherDao.get(userId);
-		if(Objects.isNull(teacher)){
-			return failed("请指定指导老师!");
-		}
+		applyBaseInfo.setUserId(sysUserService.getUserId());
 		SysUser student = teacherDao.getUser(applyBaseInfo.getStudentId());
 		if(Objects.isNull(student)||Objects.isNull(student.getOrganId())){
 			return failed("学员信息异常");
@@ -95,10 +77,6 @@ public class TeacherPracticeGroupController extends BaseController {
 	@ApiOperation(value = "网管课申请")
 	@PostMapping("/practiceGroupApply")
 	public Object practiceGroupApply(@RequestBody PracticeGroupApplyDto practiceGroupApplyDto){
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed("用户信息获取失败");
-		}
 		PracticeGroupApplyBaseInfoDto applyBaseInfoDto = practiceGroupApplyDto.getPracticeGroupApplyBaseInfoDto();
 		if(Objects.isNull(applyBaseInfoDto.getOrganId())){
 			SysUser student = teacherDao.getUser(applyBaseInfoDto.getStudentId());
@@ -109,7 +87,7 @@ public class TeacherPracticeGroupController extends BaseController {
 		}
 		applyBaseInfoDto.setType(CHARGE);
 		applyBaseInfoDto.setMemo("指导老师老师端申请网管课");
-		applyBaseInfoDto.setUserId(sysUser.getId());
+		applyBaseInfoDto.setUserId(sysUserService.getUserId());
 		return practiceGroupService.createPracticeGroup(practiceGroupApplyDto);
 	}
 

+ 17 - 32
mec-teacher/src/main/java/com/ym/mec/teacher/controller/VipGroupActivityController.java

@@ -1,10 +1,10 @@
 package com.ym.mec.teacher.controller;
 
-import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.StudentDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dto.ActivityQueryDto;
+import com.ym.mec.biz.dal.dto.CourseFormDto;
 import com.ym.mec.biz.dal.dto.VipGroupActivityAddDto;
 import com.ym.mec.biz.dal.entity.Student;
 import com.ym.mec.biz.dal.entity.SysConfig;
@@ -12,14 +12,17 @@ import com.ym.mec.biz.dal.entity.VipGroupActivity;
 import com.ym.mec.biz.dal.page.ActivityStudentQueryInfo;
 import com.ym.mec.biz.dal.page.VipGroupActivityQueryInfo;
 import com.ym.mec.biz.service.SysConfigService;
+import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.biz.service.VipGroupActivityService;
 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.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
+
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -36,7 +39,7 @@ public class VipGroupActivityController extends BaseController {
     @Autowired
     private VipGroupActivityService vipGroupActivityService;
     @Autowired
-    private SysUserFeignService sysUserFeignService;
+    private SysUserService sysUserService;
     @Autowired
     private SysConfigService sysConfigService;
     @Autowired
@@ -44,34 +47,28 @@ public class VipGroupActivityController extends BaseController {
     @Autowired
     private StudentDao studentDao;
 
+    @ApiOperation(value = "获取老师待排课课程类型列表")
+    @RequestMapping("/queryWaitCourseCategory")
+    public HttpResponseResult<List<CourseFormDto>> queryWaitCourse(){
+        return succeed(vipGroupActivityService.queryWaitCourseCategory(sysUserService.getUserId()));
+    }
+
     @ApiOperation(value = "获取老师待排课的活动方案列表")
     @RequestMapping("/queryWaitCourseActivity")
     public Object queryWaitCourseActivity(){
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if(sysUser == null){
-            return failed("用户信息获取失败");
-        }
-        return succeed(vipGroupActivityService.queryWaitCourseActivity(sysUser.getId(),null));
+        return succeed(vipGroupActivityService.queryWaitCourseActivity(sysUserService.getUserId(),null));
     }
 
     @ApiOperation(value = "获取活动待排课学员数量")
     @RequestMapping("/getActivityWaitCourseStudentNum")
     public Object getActivityWaitCourseStudentNum(Integer activityId){
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if(sysUser == null){
-            return failed("用户信息获取失败");
-        }
-        return succeed(vipGroupActivityService.getActivityWaitCourseStudentNum(sysUser.getId(),activityId));
+        return succeed(vipGroupActivityService.getActivityWaitCourseStudentNum(sysUserService.getUserId(),activityId));
     }
 
     @ApiOperation(value = "获取活动学员课排课次数")
     @RequestMapping("/getActivityStudentCanCourseNum")
     public Object getActivityStudentCanCourseNum(ActivityStudentQueryInfo queryInfo){
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if(sysUser == null){
-            return failed("用户信息获取失败");
-        }
-        queryInfo.setUserId(sysUser.getId());
+        queryInfo.setUserId(sysUserService.getUserId());
         return succeed(vipGroupActivityService.getActivityStudentCanCourseNum(queryInfo));
     }
 
@@ -90,22 +87,14 @@ public class VipGroupActivityController extends BaseController {
     @ApiOperation(value = "修改活动方案")
     @PostMapping("/update")
     public Object update(@RequestBody VipGroupActivityAddDto vipGroupActivityAddDto){
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if(sysUser == null){
-            return failed("用户信息获取失败");
-        }
-        vipGroupActivityService.updateVipGroupActivity(vipGroupActivityAddDto, sysUser.getId());
+        vipGroupActivityService.updateVipGroupActivity(vipGroupActivityAddDto, sysUserService.getUserId());
         return succeed();
     }
 
     @ApiOperation(value = "根据课程类型获取对应课程活动方案")
     @GetMapping("/findByVipGroupCategory")
     public Object findByVipGroupCategory(ActivityQueryDto activityQueryDto){
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if(sysUser == null){
-            return failed("用户信息获取失败");
-        }
-        activityQueryDto.setTeacherId(sysUser.getId());
+        activityQueryDto.setTeacherId(sysUserService.getUserId());
         String studentIds = activityQueryDto.getStudentIds();
         if(StringUtils.isBlank(studentIds)){
             return failed("请选择学员");
@@ -163,11 +152,7 @@ public class VipGroupActivityController extends BaseController {
     @ApiOperation(value = "获取六一活动方案")
     @GetMapping("/getChildrenDayActivitys")
     public Object findByVipGroupCategory1(ActivityQueryDto activityQueryDto){
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if(sysUser == null){
-            return failed("用户信息获取失败");
-        }
-        activityQueryDto.setTeacherId(sysUser.getId());
+        activityQueryDto.setTeacherId(sysUserService.getUserId());
         String studentIds = activityQueryDto.getStudentIds();
         if(StringUtils.isBlank(studentIds)){
             return failed("请选择学员");

+ 1 - 0
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/yqpay/DateUtils.java

@@ -1,5 +1,6 @@
 package com.ym.mec.thirdparty.yqpay;
 
+import com.ym.mec.util.date.DateUtil;
 import org.apache.commons.lang3.time.DateFormatUtils;
 
 import java.text.DateFormat;

+ 27 - 3
mec-web/src/main/java/com/ym/mec/web/controller/ActivityUserMapperController.java

@@ -1,14 +1,17 @@
 package com.ym.mec.web.controller;
 
-import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dto.ActivityUserDto;
 import com.ym.mec.biz.dal.dto.ActivityUserMapperAddDto;
+import com.ym.mec.biz.dal.dto.CourseFormDto;
 import com.ym.mec.biz.dal.entity.ActivityUserMapper;
 import com.ym.mec.biz.dal.page.ActivityStudentQueryInfo;
+import com.ym.mec.biz.dal.page.ActivityUserQueryInfo;
 import com.ym.mec.biz.service.ActivityUserMapperService;
+import com.ym.mec.biz.service.OrganizationService;
 import com.ym.mec.biz.service.SysUserCashAccountLogService;
-import com.ym.mec.common.constant.CommonConstants;
+import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.page.PageInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -31,6 +34,27 @@ public class ActivityUserMapperController extends BaseController {
     private ActivityUserMapperService activityUserMapperService;
     @Autowired
     private SysUserCashAccountLogService sysUserCashAccountLogService;
+    @Autowired
+    private OrganizationService organizationService;
+
+    @ApiOperation(value = "获取老师待排课课程类型列表")
+    @PostMapping("/queryWaitCourseCategory")
+    public HttpResponseResult<List<CourseFormDto>> queryWaitCourseCategory(){
+        return succeed(activityUserMapperService.queryWaitCourseCategory(null,organizationService.getEmployeeOrgan(null)));
+    }
+
+    @ApiOperation(value = "获取活动排课学员列表")
+    @PostMapping("/queryActivityStudentList")
+    public HttpResponseResult<List<ActivityUserDto>> queryActivityStudentList(ActivityUserQueryInfo activityUserQueryInfo){
+        if(activityUserQueryInfo.getSingleCourseTime() == null){
+            throw new IllegalArgumentException("请选择排课时间");
+        }
+        if(activityUserQueryInfo.getCategoryId() == null){
+            throw new IllegalArgumentException("请选择课程类型");
+        }
+        activityUserQueryInfo.setOrganIds(organizationService.getEmployeeOrgan(activityUserQueryInfo.getOrganIds()));
+        return succeed(activityUserMapperService.queryActivityStudentList(activityUserQueryInfo));
+    }
 
     @ApiOperation(value = "添加活动排课资格")
     @PostMapping("/add")

+ 1 - 1
mec-web/src/main/resources/bootstrap-test.properties

@@ -3,7 +3,7 @@
 #\u670d\u52a1\u5668\u5730\u5740
 spring.cloud.nacos.config.server-addr=47.114.176.40:8848
 #\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
-spring.cloud.nacos.config.namespace=46f06363-b9d6-46f0-9cd7-7b33dcf26bb0
+spring.cloud.nacos.config.namespace=f753d9d9-4bb2-4df6-a483-da9e169617c4
 #\u6307\u5b9a\u914d\u7f6e\u7fa4\u7ec4 --\u5982\u679c\u662fPublic\u547d\u540d\u7a7a\u95f4 \u5219\u53ef\u4ee5\u7701\u7565\u7fa4\u7ec4\u914d\u7f6e
 spring.cloud.nacos.config.group=DEFAULT_GROUP
 #\u6587\u4ef6\u540d -- \u5982\u679c\u6ca1\u6709\u914d\u7f6e\u5219\u9ed8\u8ba4\u4e3a ${spring.appliction.name}

+ 3 - 3
mec-web/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-    <property name="LOG_HOME" value="/mdata/logs/web-%d{yyyy-MM-dd_HH}-%i.log"/>
+    <property name="LOG_HOME" value="/Users/chenxiaoyu/Documents/logs/web-%d{yyyy-MM-dd_HH}-%i.log"/>
     <property name="CONSOLE_LOG_PATTERN"
               value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n"/>
 
@@ -30,7 +30,7 @@
     <appender name="messagefile"
               class="ch.qos.logback.core.rolling.RollingFileAppender">
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <FileNamePattern>/mdata/logs/web-message-%d{yyyy-MM-dd_HH}-%i.log</FileNamePattern>
+            <FileNamePattern>/Users/chenxiaoyu/Documents/logs/web-message-%d{yyyy-MM-dd_HH}-%i.log</FileNamePattern>
             <MaxHistory>90</MaxHistory>
             <TimeBasedFileNamingAndTriggeringPolicy
                     class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
@@ -46,7 +46,7 @@
     <appender name="liveFile"
               class="ch.qos.logback.core.rolling.RollingFileAppender">
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <FileNamePattern>/mdata/logs/web-live-%d{yyyy-MM-dd_HH}-%i.log</FileNamePattern>
+            <FileNamePattern>/Users/chenxiaoyu/Documents/logs/web-live-%d{yyyy-MM-dd_HH}-%i.log</FileNamePattern>
             <MaxHistory>90</MaxHistory>
             <TimeBasedFileNamingAndTriggeringPolicy
                     class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">