无关风月
2024-11-15 353cf91d3679e68d9b8c07652e4f7791d606dbd4
xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/controller/client/ClientMeditationController.java
@@ -13,7 +13,6 @@
import com.xinquan.common.core.web.domain.BaseModel;
import com.xinquan.common.security.service.TokenService;
import com.xinquan.common.security.utils.SecurityUtils;
import com.xinquan.course.api.domain.Course;
import com.xinquan.meditation.api.domain.Meditation;
import com.xinquan.meditation.api.domain.dto.MeditationDTO;
import com.xinquan.meditation.api.domain.dto.UserAnswerDTO;
@@ -21,11 +20,10 @@
import com.xinquan.meditation.domain.export.MeditationExport;
import com.xinquan.meditation.service.*;
import com.xinquan.system.api.domain.AppUser;
import com.xinquan.system.api.domain.MeditationQuestion;
import com.xinquan.meditation.api.domain.MeditationQuestion;
import com.xinquan.system.api.domain.NoticeRecord;
import com.xinquan.system.api.domain.Tag;
import com.xinquan.system.api.model.LoginUser;
import com.xinquan.user.api.domain.dto.OrderListDTO;
import com.xinquan.user.api.feign.RemoteAppUserService;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -125,16 +123,17 @@
        Long userId = loginUser.getUserid();
        Meditation byId = meditationService.getById(meditationId);
        List<Meditation> list = meditationService.lambdaQuery().eq(Meditation::getCateId, byId.getCateId())
                .eq(Meditation::getListingStatus,1)
                .ne(Meditation::getId,meditationId)
                .list();
        List<Meditation> courses = new ArrayList<>();
        // 如果list集合数据大于2 随机获取两个返回
        // 如果list集合数据大于4 随机获取两个返回
        if (CollUtils.isNotEmpty(list) && list.size() > 4) {
            int size = list.size();
            int index = (int) (Math.random() * size);
            for (int i = 0; i < 4; i++) {
                courses.add(list.get(index));
                courses.add(list.get(i));
            }
            return R.ok(courses);
        }else {
@@ -162,7 +161,7 @@
        List<Long> collect = meditationUserFavoriteService
                .lambdaQuery()
                .eq(MeditationUserFavorite::getAppUserId, id).list().stream()
                .map(MeditationUserFavorite::getId).collect(Collectors.toList());
                .map(MeditationUserFavorite::getMeditationId).collect(Collectors.toList());
        if (collect.isEmpty())collect.add(-1L);
        Page<Meditation> page = meditationService
                .lambdaQuery()
@@ -339,8 +338,8 @@
        courseLambdaQueryWrapper.in(StringUtils.hasLength(dto.getTagName()),Meditation::getId, collect);
        courseLambdaQueryWrapper.eq(dto.getChargeType()!=null,Meditation::getChargeType, dto.getChargeType());
        courseLambdaQueryWrapper.eq(dto.getCateId()!=null,Meditation::getCateId, dto.getCateId());
        courseLambdaQueryWrapper.eq(dto.getMeditationTitle()!=null&& !dto.getMeditationTitle().isEmpty(),Meditation::getMeditationTitle, dto.getMeditationTitle());
        courseLambdaQueryWrapper.orderByDesc(Meditation::getSortNum);
        courseLambdaQueryWrapper.like(dto.getMeditationTitle()!=null&& !dto.getMeditationTitle().isEmpty(),Meditation::getMeditationTitle, dto.getMeditationTitle());
        courseLambdaQueryWrapper.orderByDesc(Meditation::getCreateTime);
        Page<Meditation> page = meditationService.page(new Page<>(dto.getPageCurr(), dto.getPageSize()), courseLambdaQueryWrapper);
        if (CollUtils.isEmpty(page.getRecords())) {
            return R.ok(PageDTO.empty(page));
@@ -405,21 +404,39 @@
    @ApiOperation(value = "查看详情冥想音频管理", tags = "管理后台-冥想音频管理")
    public R<Meditation> detailMeditation(String uid) {
        Meditation byId = meditationService.getById(uid);
        List<Long> collect = meditationTagService.list(new LambdaQueryWrapper<MeditationTag>()
                        .eq(MeditationTag::getMeditationId, uid))
        List<MeditationTag> list1 = meditationTagService.list(new LambdaQueryWrapper<MeditationTag>()
                .eq(MeditationTag::getMeditationId, uid));
        List<Long> collect = list1
                .stream().map(MeditationTag::getTagId)
                .collect(Collectors.toList());
        List<String> collect1 = meditationMusicService.list(new LambdaQueryWrapper<MeditationMusic>()
                        .eq(MeditationMusic::getMeditationId, uid))
                .stream().map(MeditationMusic::getName)
                .collect(Collectors.toList());
        if (!list1.isEmpty()){
            StringBuilder stringBuilder = new StringBuilder();
            for (Long s : collect) {
                stringBuilder.append(s).append(",");
            }
            // 去除最后一位
            StringBuilder stringBuilder1 = stringBuilder.deleteCharAt(stringBuilder.length() - 1);
            List<String> data = remoteAppUserService.queryTagList(stringBuilder1 + "").getData();
            byId.setTagNameList(data);
        }else{
            byId.setTagNameList(new ArrayList<String>());
        }
        byId.setMusicList(collect1);
        byId.setTagList(collect);
        if (byId.getIsEveryday() == 1){
            MeditationEveryday byId1 = meditationEverydayService.getById(byId.getEverydayId());
            byId.setStartPlayTime(byId1.getStartPlayTime());
            byId.setEndPlayTime(byId1.getEndPlayTime());
            byId.setImageUrl(byId1.getImageUrl());
            if (byId1 != null){
                byId.setStartPlayTime(byId1.getStartPlayTime());
                byId.setEndPlayTime(byId1.getEndPlayTime());
                byId.setImageUrl(byId1.getImageUrl());
            }
        }
        MeditationCategory byId1 = meditationCategoryService.getById(byId.getCateId());
        if (byId1!=null){
@@ -553,6 +570,8 @@
            // 将以前的删掉
            meditationEverydayService.remove(new LambdaQueryWrapper<MeditationEveryday>()
                    .eq(MeditationEveryday::getId,homeBackgroundMusic.getEverydayId()));
            meditationTagService.remove(new LambdaQueryWrapper<>(MeditationTag.class)
                    .eq(MeditationTag::getMeditationId,homeBackgroundMusic.getId()));
        }else if (homeBackgroundMusic.getIsEveryday() == 1){
            meditationEverydayService.remove(new LambdaQueryWrapper<MeditationEveryday>()
                    .eq(MeditationEveryday::getId,homeBackgroundMusic.getEverydayId()));