|
@@ -204,6 +204,47 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void updateSetting(MemberRankSettingWrapper.MemberRankSettingAdd memberRankSetting) {
|
|
|
|
|
|
+ // 是否已被购买
|
|
|
+ int count = cloudTeacherOrderDao.countByMemberRankSettingId(memberRankSetting.getId());
|
|
|
+ if (count >0) {
|
|
|
+ // 不能修改权益内容
|
|
|
+ List<MemberRankPrivileges> privilegesList = memberRankPrivilegesDao.findByRankSettingId(memberRankSetting.getId());
|
|
|
+ if (CollectionUtils.isNotEmpty(privilegesList)) {
|
|
|
+ List<Integer> privilegesIds = privilegesList.stream().map(MemberRankPrivileges::getMemberPrivilegesId).collect(Collectors.toList());
|
|
|
+ List<Integer> memberPrivilegesItemIdList = memberRankSetting.getMemberPrivilegesItemIdList();
|
|
|
+ if (CollectionUtils.isEmpty(memberPrivilegesItemIdList)) {
|
|
|
+ memberPrivilegesItemIdList = new ArrayList<>();
|
|
|
+ }
|
|
|
+ if (!new HashSet<>(privilegesIds).containsAll(memberPrivilegesItemIdList) || !new HashSet<>(memberPrivilegesItemIdList).containsAll(privilegesIds)) {
|
|
|
+ throw new BizException("已被购买的会员等级不能修改权益内容");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 不能修改曲目分类内容
|
|
|
+ List<MemberRankCategoryMapper> categoryMapperList = memberRankCategoryMapperService.getByMemberRankId(Lists.newArrayList(memberRankSetting.getId()));
|
|
|
+ if (CollectionUtils.isNotEmpty(categoryMapperList)) {
|
|
|
+ List<Integer> categoryIdList = categoryMapperList.stream().map(MemberRankCategoryMapper::getCategoryId).collect(Collectors.toList());
|
|
|
+ List<Integer> memberCategoryIdList = memberRankSetting.getMemberCategoryIdList();
|
|
|
+ if (CollectionUtils.isEmpty(memberCategoryIdList)) {
|
|
|
+ memberCategoryIdList = new ArrayList<>();
|
|
|
+ }
|
|
|
+ if (!new HashSet<>(categoryIdList).containsAll(memberCategoryIdList) || !new HashSet<>(memberCategoryIdList).containsAll(categoryIdList)) {
|
|
|
+ throw new BizException("已被购买的会员等级不能修改权益内容");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 不能修改云课堂内容
|
|
|
+ List<MemberRankCourseTypeMapper> courseTypeMapperList = memberRankCourseTypeMapperService.getByMemberRankId(memberRankSetting.getId());
|
|
|
+ if (CollectionUtils.isNotEmpty(courseTypeMapperList)) {
|
|
|
+ List<String> courseTypeList = courseTypeMapperList.stream().map(MemberRankCourseTypeMapper::getCourseType).collect(Collectors.toList());
|
|
|
+ List<String> memberCourseTypeList = memberRankSetting.getMemberCourseTypeList();
|
|
|
+ if (CollectionUtils.isEmpty(memberCourseTypeList)) {
|
|
|
+ memberCourseTypeList = new ArrayList<>();
|
|
|
+ }
|
|
|
+ if (!new HashSet<>(courseTypeList).containsAll(memberCourseTypeList) || !new HashSet<>(memberCourseTypeList).containsAll(courseTypeList)) {
|
|
|
+ throw new BizException("已被购买的会员等级不能修改权益内容");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
|
|
|
memberRankSettingDao.update(JSON.parseObject(JSON.toJSONString(memberRankSetting),MemberRankSetting.class));
|
|
@@ -1123,6 +1164,8 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
// 转tree
|
|
|
memberRankSettings = tree(memberRankSettings);
|
|
|
|
|
|
+ // ID 倒序
|
|
|
+ memberRankSettings.sort(Comparator.comparing(MemberRankSettingWrapper.MemberRankSetting::getId).reversed());
|
|
|
}
|
|
|
return memberRankSettings;
|
|
|
}
|
|
@@ -1168,6 +1211,12 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
if (count1 > 0) {
|
|
|
throw new BizException("存在学员使用、或销售,不可删除");
|
|
|
}
|
|
|
+ // 判断是否存在子集
|
|
|
+ List<MemberRankSetting> memberRankSettings = memberRankSettingDao.selectBatchIdsByParentIds(Lists.newArrayList(id));
|
|
|
+ memberRankSettings = memberRankSettings.stream().filter(o -> !o.getDelFlag()).collect(Collectors.toList());
|
|
|
+ if (CollectionUtils.isNotEmpty(memberRankSettings)) {
|
|
|
+ throw new BizException("存在子级,不可删除");
|
|
|
+ }
|
|
|
memberRankSettingDao.deleteById(id);
|
|
|
}
|
|
|
|