|
@@ -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
|