|  | @@ -163,7 +163,19 @@ public class ActivityPlanServiceImpl extends ServiceImpl<ActivityPlanDao, Activi
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public IPage<ActivityPlanVo> selectPage(IPage<ActivityPlanVo> page, ActivityPlanSearch query) {
 | 
	
		
			
				|  |  | -        return page.setRecords(baseMapper.selectPage(page, query));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        List<ActivityPlanVo> wrappers = baseMapper.selectPage(page, query);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // 分享活动-参与人数获奖人数相等
 | 
	
		
			
				|  |  | +        for (ActivityPlanVo item : wrappers) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            // 重置分享活动获奖与参与人数
 | 
	
		
			
				|  |  | +            if (ActivityTypeEnum.SHARE == item.getActivityType()) {
 | 
	
		
			
				|  |  | +                item.setRegistrationNum(item.getRewardNum());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        return page.setRecords(wrappers);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
	
		
			
				|  | @@ -190,38 +202,7 @@ public class ActivityPlanServiceImpl extends ServiceImpl<ActivityPlanDao, Activi
 | 
	
		
			
				|  |  |              // 分享活动-活动时间修改需要先校验与老师其他分享活动是否存在冲突
 | 
	
		
			
				|  |  |              if (ActivityTypeEnum.SHARE == old.getActivityType()) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                if (activityPlan.getActivityStart().getTime() != old.getActivityStart().getTime()
 | 
	
		
			
				|  |  | -                        || activityPlan.getActivityEnd().getTime() != old.getActivityEnd().getTime()) {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                    // 排除当前活动,其他活动时间存在重复
 | 
	
		
			
				|  |  | -                    ActivityTeacherQuery query = ActivityTeacherQuery.builder()
 | 
	
		
			
				|  |  | -                            .activityId(activityPlan.getId())
 | 
	
		
			
				|  |  | -                            .activityType(ActivityTypeEnum.SHARE.getCode())
 | 
	
		
			
				|  |  | -                            .resourceType(ActivityResourceEnum.TEACHER.getCode())
 | 
	
		
			
				|  |  | -                            .activityState(EStatus.ENABLE.getValue())
 | 
	
		
			
				|  |  | -                            .startTime(Optional.ofNullable(activityPlan.getActivityStart()).map(x -> x.getTime() / 1000).orElse(null))
 | 
	
		
			
				|  |  | -                            .endTime(Optional.ofNullable(activityPlan.getActivityEnd()).map(x -> x.getTime() / 1000).orElse(null))
 | 
	
		
			
				|  |  | -                            .build();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                    // 分页查询条件
 | 
	
		
			
				|  |  | -                    IPage<ActivityTeacherWrapper> page = new Page<>(1, 1000);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                    IPage<ActivityTeacherWrapper> wrapper = activityEvaluationService.activityTeacherByTimePageInfo(page, query);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                    if (CollectionUtils.isNotEmpty(wrapper.getRecords())) {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                        String collect = wrapper.getRecords().stream().map(x -> {
 | 
	
		
			
				|  |  | -                            if (StringUtils.isNotEmpty(x.getRealName())) {
 | 
	
		
			
				|  |  | -                                return x.getRealName();
 | 
	
		
			
				|  |  | -                            }
 | 
	
		
			
				|  |  | -                            return x.getUsername();
 | 
	
		
			
				|  |  | -                        }).collect(Collectors.joining("、"));
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                        throw new BizException("以下老师存在时间冲突:" + collect);
 | 
	
		
			
				|  |  | -                    }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +                validActivityTeacherDuplicatTimeParam(activityPlan, old);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              //启用状态,只能修改活动结束时间
 | 
	
	
		
			
				|  | @@ -255,6 +236,46 @@ public class ActivityPlanServiceImpl extends ServiceImpl<ActivityPlanDao, Activi
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  | +     * 校验活动时间,添加老师是否重复
 | 
	
		
			
				|  |  | +     * @param activityPlan 更新数据
 | 
	
		
			
				|  |  | +     * @param old 原始数据
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    private void validActivityTeacherDuplicatTimeParam(ActivityPlanDto activityPlan, ActivityPlan old) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if (activityPlan.getActivityStart().getTime() != old.getActivityStart().getTime()
 | 
	
		
			
				|  |  | +                || activityPlan.getActivityEnd().getTime() != old.getActivityEnd().getTime()) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            // 排除当前活动,其他活动时间存在重复
 | 
	
		
			
				|  |  | +            ActivityTeacherQuery query = ActivityTeacherQuery.builder()
 | 
	
		
			
				|  |  | +                    .activityId(activityPlan.getId())
 | 
	
		
			
				|  |  | +                    .activityType(ActivityTypeEnum.SHARE.getCode())
 | 
	
		
			
				|  |  | +                    .resourceType(ActivityResourceEnum.TEACHER.getCode())
 | 
	
		
			
				|  |  | +                    .activityState(EStatus.ENABLE.getValue())
 | 
	
		
			
				|  |  | +                    .startTime(Optional.ofNullable(activityPlan.getActivityStart()).map(x -> x.getTime() / 1000).orElse(null))
 | 
	
		
			
				|  |  | +                    .endTime(Optional.ofNullable(activityPlan.getActivityEnd()).map(x -> x.getTime() / 1000).orElse(null))
 | 
	
		
			
				|  |  | +                    .build();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            // 分页查询条件
 | 
	
		
			
				|  |  | +            IPage<ActivityTeacherWrapper> page = new Page<>(1, 1000);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            IPage<ActivityTeacherWrapper> wrapper = activityEvaluationService.activityTeacherByTimePageInfo(page, query);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            if (CollectionUtils.isNotEmpty(wrapper.getRecords())) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                String collect = wrapper.getRecords().stream().map(x -> {
 | 
	
		
			
				|  |  | +                    if (StringUtils.isNotEmpty(x.getUsername())) {
 | 
	
		
			
				|  |  | +                        return x.getUsername();
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    return x.getRealName();
 | 
	
		
			
				|  |  | +                }).distinct().collect(Collectors.joining("、"));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                throw new BizException("以下老师存在时间冲突:" + collect);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  |       * 分享活动奖品信息
 | 
	
		
			
				|  |  |       * @param activityPlan ActivityPlanDto
 | 
	
		
			
				|  |  |       * @param activityId 活动ID
 |