|
@@ -128,6 +128,9 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
@Autowired
|
|
|
private CloudTeacherOrderDao cloudTeacherOrderDao;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private TenantMemberRankSettingService tenantMemberRankSettingService;
|
|
|
+
|
|
|
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
|
|
|
|
|
@Override
|
|
@@ -465,7 +468,8 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<SysMusicScoreCategories> getTree(Integer parentId) {
|
|
|
+ public MemberRankSettingWrapper.Category getTree(Integer parentId) {
|
|
|
+ MemberRankSettingWrapper.Category category = new MemberRankSettingWrapper.Category();
|
|
|
// 分类
|
|
|
List<SysMusicScoreCategories> sysMusicScoreCategories = cbsMusicScoreCategoriesService.queryTreeByAppId();
|
|
|
|
|
@@ -487,6 +491,7 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
}
|
|
|
// 将被使用过的选出来
|
|
|
sysMusicScoreCategories = getCategoryTreeByIds(sysMusicScoreCategories,memberCategoryIdList);
|
|
|
+ category.setMusicScoreCategories(sysMusicScoreCategories);
|
|
|
|
|
|
List<String> memberCourseTypeList = detail.getMemberCourseTypeList();
|
|
|
if (CollectionUtils.isNotEmpty(memberCourseTypeList) && course !=null) {
|
|
@@ -499,10 +504,11 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
}
|
|
|
}
|
|
|
if (CollectionUtils.isNotEmpty(course.getSysMusicScoreCategoriesList())) {
|
|
|
- sysMusicScoreCategories.add(course);
|
|
|
+ category.setLessonCategories(Lists.newArrayList(course));
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
+ category.setMusicScoreCategories(sysMusicScoreCategories);
|
|
|
for (LessonCoursewareWrapper.LessonCoursewareDto record : records) {
|
|
|
SysMusicScoreCategories lesson = new SysMusicScoreCategories();
|
|
|
lesson.setId(record.getId());
|
|
@@ -510,12 +516,12 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
course.getSysMusicScoreCategoriesList().add(lesson);
|
|
|
}
|
|
|
if (CollectionUtils.isNotEmpty(course.getSysMusicScoreCategoriesList())) {
|
|
|
- sysMusicScoreCategories.add(course);
|
|
|
+ category.setLessonCategories(Lists.newArrayList(course));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
- return sysMusicScoreCategories;
|
|
|
+ return category;
|
|
|
|
|
|
}
|
|
|
|
|
@@ -1031,6 +1037,24 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
MapUtil.populateMap(params, queryInfo);
|
|
|
List<MemberRankSetting> dataList = this.getDAO().queryPage(params);
|
|
|
|
|
|
+
|
|
|
+ // 顶级查询所有,下级的查询自己和上级
|
|
|
+ List<Integer> topIds = new ArrayList<>();
|
|
|
+ //
|
|
|
+ List<Integer> parentIds = new ArrayList<>();
|
|
|
+ for (MemberRankSetting memberRankSetting : dataList) {
|
|
|
+ if (memberRankSetting.getParentId()== null || memberRankSetting.getParentId() == 0) {
|
|
|
+ topIds.add(memberRankSetting.getId());
|
|
|
+ } else {
|
|
|
+ parentIds.add(memberRankSetting.getParentId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 查询上级
|
|
|
+ List<MemberRankSetting> parents = memberRankSettingDao.selectBatchIds(parentIds);
|
|
|
+ List<MemberRankSetting> tops = memberRankSettingDao.selectBatchIdsByParentIds(topIds);
|
|
|
+
|
|
|
+ dataList.addAll(parents);
|
|
|
+ dataList.addAll(tops);
|
|
|
List<MemberRankSettingWrapper.MemberRankSetting> memberRankSettings = JSON.parseArray(JSON.toJSONString(dataList), MemberRankSettingWrapper.MemberRankSetting.class);
|
|
|
|
|
|
// 设置曲目数量
|
|
@@ -1059,13 +1083,55 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
+ // 转tree
|
|
|
+ memberRankSettings = tree(memberRankSettings);
|
|
|
+
|
|
|
}
|
|
|
return memberRankSettings;
|
|
|
}
|
|
|
|
|
|
+ private List<MemberRankSettingWrapper.MemberRankSetting> tree(List<MemberRankSettingWrapper.MemberRankSetting> memberRankSettings) {
|
|
|
+ List<MemberRankSettingWrapper.MemberRankSetting> list = Lists.newArrayList();
|
|
|
+ if (CollectionUtils.isEmpty(memberRankSettings)) {
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
+ for (MemberRankSettingWrapper.MemberRankSetting item : memberRankSettings) {
|
|
|
+ if (item.getParentId() == 0) {
|
|
|
+ list.add(item);
|
|
|
+ }
|
|
|
+
|
|
|
+ for (MemberRankSettingWrapper.MemberRankSetting child : memberRankSettings) {
|
|
|
+ if (child.getParentId().equals(item.getId())) {
|
|
|
+ if (item.getChildren() == null) {
|
|
|
+ item.setChildren(new ArrayList<>());
|
|
|
+ }
|
|
|
+ item.getChildren().add(child);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ return list;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void del(Integer id) {
|
|
|
|
|
|
+ // 判断是否买过
|
|
|
+
|
|
|
+ // 是否已被购买
|
|
|
+ int count = cloudTeacherOrderDao.countByMemberRankSetttingId(id);
|
|
|
+ if (count > 0) {
|
|
|
+ throw new BizException("存在学员使用、或销售,不可删除");
|
|
|
+ }
|
|
|
+ Integer count1 = tenantMemberRankSettingService.lambdaQuery()
|
|
|
+ .eq(TenantMemberRankSetting::getMemberRankSettingId, id)
|
|
|
+ .count();
|
|
|
+ if (count1 > 0) {
|
|
|
+ throw new BizException("存在学员使用、或销售,不可删除");
|
|
|
+ }
|
|
|
+ memberRankSettingDao.deleteById(id);
|
|
|
}
|
|
|
|
|
|
@Override
|