소스 검색

feat:教师端活动排课

Joburgess 4 년 전
부모
커밋
1a93acca2e

+ 29 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherVipGroupController.java

@@ -7,6 +7,7 @@ import com.ym.mec.biz.dal.dao.VipGroupCategoryDao;
 import com.ym.mec.biz.dal.dto.StudentVipDouble11Dto;
 import com.ym.mec.biz.dal.dto.VipGroupApplyDto;
 import com.ym.mec.biz.dal.dto.VipGroupCostCountParamsDto;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.Employee;
 import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.biz.dal.entity.VipGroupCategory;
@@ -203,4 +204,32 @@ public class TeacherVipGroupController extends BaseController {
 		return succeed(studentManageService.findStudentsByOrganId(queryInfo));
 	}
 
+	@ApiOperation(value = "创建六一活动vip课")
+	@PostMapping("/createActivityVipGroup")
+	public Object createActivityVipGroup(@RequestBody VipGroupApplyDto vipGroupApplyDto){
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		if (sysUser == null) {
+			return failed("用户信息获取失败");
+		}
+		vipGroupApplyDto.getVipGroupApplyBaseInfo().setUserId(sysUser.getId());
+		Integer userId = vipGroupApplyDto.getVipGroupApplyBaseInfo().getUserId();
+		Teacher teacher = teacherDao.get(userId);
+		if(Objects.isNull(teacher)){
+			return failed("请指定指导老师!");
+		}
+		if(Objects.isNull(vipGroupApplyDto.getVipGroupApplyBaseInfo().getOrganId())){
+			Integer firstStudentId = vipGroupApplyDto.getVipGroupApplyBaseInfo().getFirstStudentId();
+			SysUser student = teacherDao.getUser(firstStudentId);
+			if(Objects.isNull(student)||Objects.isNull(student.getOrganId())){
+				return failed("学员信息异常");
+			}
+			vipGroupApplyDto.getVipGroupApplyBaseInfo().setOrganId(student.getOrganId());
+		}
+		for (CourseSchedule courseSchedule : vipGroupApplyDto.getCourseSchedules()) {
+			courseSchedule.setEndClassTime(DateUtil.addMinutes(courseSchedule.getStartClassTime(), vipGroupApplyDto.getVipGroupApplyBaseInfo().getSingleClassMinutes()));
+		}
+		vipGroupApplyDto.getVipGroupApplyBaseInfo().setEducationalTeacherId(sysUser.getId());
+		return vipGroupService.createActivityVipGroup(vipGroupApplyDto);
+	}
+
 }

+ 49 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/VipGroupActivityController.java

@@ -16,6 +16,7 @@ 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.security.access.prepost.PreAuthorize;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
@@ -122,4 +123,52 @@ public class VipGroupActivityController extends BaseController {
         }
     }
 
+    @ApiOperation(value = "获取六一活动方案")
+    @GetMapping("/getChildrenDayActivitys")
+    public Object findByVipGroupCategory(Long categoryId, String studentIds){
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(sysUser == null){
+            return failed("用户信息获取失败");
+        }
+        if(StringUtils.isBlank(studentIds)){
+            return failed("请选择学员");
+        }
+
+        SysConfig activityIdConfig = sysConfigService.findByParamName(SysConfigService.CHILDREN_DAY_VIP_ACTIVITY_IDS);
+        if(Objects.isNull(activityIdConfig)||StringUtils.isBlank(activityIdConfig.getParanValue())){
+            return succeed();
+        }
+
+        Set<Integer> activityIds = Arrays.stream(activityIdConfig.getParanValue().split(",")).map(id->Integer.valueOf(id)).collect(Collectors.toSet());
+
+        List<Integer> userIds = Arrays.stream(studentIds.split(",")).map(id -> Integer.valueOf(id)).collect(Collectors.toList());
+        List<Student> students = studentDao.findByStudentIds(userIds);
+        if(CollectionUtils.isEmpty(students)||students.size()!=userIds.size()){
+            return failed("学员信息不存在");
+        }
+        long newStudentNum = students.stream().filter(s -> s.getIsNewUser()).count();
+
+        Integer applyToStudentType = -1;
+        if(newStudentNum==0){
+            applyToStudentType = 0;
+        }else if(newStudentNum==userIds.size()){
+            applyToStudentType = 1;
+        }
+
+        SysUser student = teacherDao.getUser(userIds.get(0));
+        if(Objects.isNull(student)){
+            return failed("学员信息不存在");
+        }
+        String organIds = student.getOrganId().toString();
+        List<VipGroupActivity> vipGroupActivities = vipGroupActivityService.findByVipGroupCategory(categoryId, organIds, sysUser.getId(), applyToStudentType, null);
+        Iterator<VipGroupActivity> iterator = vipGroupActivities.iterator();
+        while (iterator.hasNext()){
+            VipGroupActivity vipGroupActivity = iterator.next();
+            if(!activityIds.contains(vipGroupActivity.getId())){
+                iterator.remove();
+            }
+        }
+        return succeed(vipGroupActivities);
+    }
+
 }