|
@@ -16,6 +16,7 @@ import com.yonge.cooleshow.biz.dal.service.ActivityUserRewardService;
|
|
import com.yonge.cooleshow.biz.dal.vo.ActivityUserRewardVo;
|
|
import com.yonge.cooleshow.biz.dal.vo.ActivityUserRewardVo;
|
|
import com.yonge.cooleshow.biz.dal.vo.UserRewardVo;
|
|
import com.yonge.cooleshow.biz.dal.vo.UserRewardVo;
|
|
import com.yonge.cooleshow.common.enums.ActivityTypeEnum;
|
|
import com.yonge.cooleshow.common.enums.ActivityTypeEnum;
|
|
|
|
+import com.yonge.cooleshow.common.enums.EStatus;
|
|
import com.yonge.cooleshow.common.enums.RewardTypeEnum;
|
|
import com.yonge.cooleshow.common.enums.RewardTypeEnum;
|
|
import com.yonge.toolset.base.exception.BizException;
|
|
import com.yonge.toolset.base.exception.BizException;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -50,7 +51,11 @@ public class ActivityUserRewardServiceImpl extends ServiceImpl<ActivityUserRewar
|
|
// 活动信息
|
|
// 活动信息
|
|
ActivityPlan activityPlan = activityPlanService.getBaseMapper().selectById(query.getActivityId());
|
|
ActivityPlan activityPlan = activityPlanService.getBaseMapper().selectById(query.getActivityId());
|
|
if (Objects.isNull(activityPlan)) {
|
|
if (Objects.isNull(activityPlan)) {
|
|
- throw new BizException("无效的活动ID");
|
|
|
|
|
|
+ throw new BizException("无效的活动ID");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (ActivityTypeEnum.SHARE == activityPlan.getActivityType()) {
|
|
|
|
+ query.setActivityGroupBy(EStatus.DISABLE.getValue());
|
|
}
|
|
}
|
|
|
|
|
|
// 活动获奖用户信息
|
|
// 活动获奖用户信息
|
|
@@ -69,22 +74,25 @@ public class ActivityUserRewardServiceImpl extends ServiceImpl<ActivityUserRewar
|
|
Lists.partition(userIds, 30).parallelStream().forEach(item -> {
|
|
Lists.partition(userIds, 30).parallelStream().forEach(item -> {
|
|
|
|
|
|
List<UserRewardVo> retlist = getBaseMapper().selectActivityShareTeacher(activityPlan.getId(), item);
|
|
List<UserRewardVo> retlist = getBaseMapper().selectActivityShareTeacher(activityPlan.getId(), item);
|
|
|
|
+
|
|
// 同一个活动,用户关联多个老师信息
|
|
// 同一个活动,用户关联多个老师信息
|
|
Map<Long, String> collect = retlist.stream()
|
|
Map<Long, String> collect = retlist.stream()
|
|
.collect(Collectors.groupingBy(UserRewardVo::getUserId, Collectors.mapping(x -> {
|
|
.collect(Collectors.groupingBy(UserRewardVo::getUserId, Collectors.mapping(x -> {
|
|
|
|
|
|
- if (StringUtils.isNotEmpty(x.getRealName())) {
|
|
|
|
- return x.getRealName();
|
|
|
|
|
|
+ if (StringUtils.isNotEmpty(x.getUsername())) {
|
|
|
|
+ return x.getUsername();
|
|
}
|
|
}
|
|
- return x.getUsername();
|
|
|
|
- }, Collectors.joining("、"))));
|
|
|
|
|
|
+ return x.getRealName();
|
|
|
|
+ }, Collectors.toSet()))).entrySet().stream()
|
|
|
|
+ .collect(Collectors.toMap(Map.Entry::getKey, x -> String.join("、", x.getValue())));
|
|
|
|
|
|
teacherNameMap.putAll(collect);
|
|
teacherNameMap.putAll(collect);
|
|
|
|
|
|
// 老师ID
|
|
// 老师ID
|
|
teacherIdMap.putAll(retlist.stream()
|
|
teacherIdMap.putAll(retlist.stream()
|
|
.collect(Collectors.groupingBy(UserRewardVo::getUserId,
|
|
.collect(Collectors.groupingBy(UserRewardVo::getUserId,
|
|
- Collectors.mapping(UserRewardVo::getTeacherId, Collectors.joining("、")))));
|
|
|
|
|
|
+ Collectors.mapping(UserRewardVo::getTeacherId, Collectors.toSet()))).entrySet().stream()
|
|
|
|
+ .collect(Collectors.toMap(Map.Entry::getKey, x -> String.join("、", x.getValue()))));
|
|
|
|
|
|
});
|
|
});
|
|
|
|
|
|
@@ -93,6 +101,7 @@ public class ActivityUserRewardServiceImpl extends ServiceImpl<ActivityUserRewar
|
|
|
|
|
|
item.rewardType(RewardTypeEnum.valueOf(activityPlan.getShareType()))
|
|
item.rewardType(RewardTypeEnum.valueOf(activityPlan.getShareType()))
|
|
.shareType(activityPlan.getShareType())
|
|
.shareType(activityPlan.getShareType())
|
|
|
|
+ .amount(1L)
|
|
.teacherName(teacherNameMap.getOrDefault(item.getUserId(), ""))
|
|
.teacherName(teacherNameMap.getOrDefault(item.getUserId(), ""))
|
|
.setTeacherIds(teacherIdMap.getOrDefault(item.getUserId(), ""));
|
|
.setTeacherIds(teacherIdMap.getOrDefault(item.getUserId(), ""));
|
|
}
|
|
}
|