无关风月
2025-02-08 bbc55de9bb0f6e5d3d8267c628d25780c19ebf36
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
package com.xinquan.meditation.controller.client;
 
 
import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.C;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xinquan.common.core.domain.R;
import com.xinquan.common.core.utils.page.CollUtils;
import com.xinquan.common.core.utils.page.PageDTO;
import com.xinquan.common.security.utils.SecurityUtils;
import com.xinquan.meditation.api.domain.Meditation;
import com.xinquan.meditation.domain.MeditationEveryday;
import com.xinquan.meditation.domain.MeditationEveryday;
import com.xinquan.meditation.domain.MeditationTag;
import com.xinquan.meditation.domain.MeditationVideo;
import com.xinquan.meditation.service.*;
import com.xinquan.meditation.service.MeditationEverydayService;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
 
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
 
/**
 * <p>
 * 每日冥想库表 前端控制器
 * </p>
 *
 * @author mitao
 * @since 2024-08-21
 */
@RestController
@RequestMapping("/client/meditation/meditation-everyday")
public class ClientMeditationEverydayController {
    @Autowired
    private MeditationEverydayService meditationEverydayService;
    @Autowired
    private MeditationService meditationService;
    @Autowired
    private MeditationTagService meditationTagService;
    @Autowired
    private MeditationVideoService meditationVideoService;
    @PostMapping("/meditationCategoryManagementList")
    @ApiOperation(value = "每日冥想库列表-分页", tags = {"管理后台-每日冥想库管理"})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "pageCurr", value = "分页参数,当前页码", dataType = "Integer", required = true),
            @ApiImplicitParam(name = "pageSize", value = "分页参数,每页数量", dataType = "Integer", required = true)
    })
    public R<PageDTO<MeditationEveryday>> meditationCategoryManagementList(@RequestParam(value = "pageCurr")Integer pageCurr,
                                                                           @RequestParam(value = "pageSize")Integer pageSize) {
        LambdaQueryWrapper<MeditationEveryday> meditationLambdaQueryWrapper = new LambdaQueryWrapper<>();
        meditationLambdaQueryWrapper.orderByDesc(MeditationEveryday::getCreateTime);
        Page<MeditationEveryday> page = meditationEverydayService.page(new Page<>(pageCurr, pageSize), meditationLambdaQueryWrapper);
        if (CollUtils.isEmpty(page.getRecords())) {
            return R.ok(PageDTO.empty(page));
        }
        for (MeditationEveryday record : page.getRecords()) {
            record.setUid(record.getId()+"");
            Meditation byId = meditationService.getById(record.getMeditationId());
            if (byId!=null){
                record.setMeditationTitle(byId.getMeditationTitle());
            }
        }
        return R.ok(PageDTO.of(page, MeditationEveryday.class));
    }
    @PostMapping("/meditationList")
    @ApiOperation(value = "疗愈音频下拉列表-不分页", tags = {"管理后台-每日冥想库管理"})
    public R<List<Meditation>> meditationList() {
        List<Meditation> list = meditationService.lambdaQuery()
                .eq(Meditation::getListingStatus, 1)
                .orderByDesc(Meditation::getSortNum).list();
        for (Meditation meditation : list) {
            meditation.setUid(meditation.getId()+"");
        }
        return R.ok(list);
    }
    @PostMapping("/addMeditationEveryday")
    @ApiOperation(value = "新增每日冥想库管理", tags = "管理后台-每日冥想库管理")
    public R addMeditationEveryday(@RequestBody MeditationEveryday homeBackgroundMusic) {
        homeBackgroundMusic.setCreateBy(SecurityUtils.getUsername());
        homeBackgroundMusic.setCreateTime(LocalDateTime.now());
        return R.ok(meditationEverydayService.save(homeBackgroundMusic));
    }
    @PostMapping("/addMeditationVideo")
    @ApiOperation(value = "新增/编辑微电影", tags = "2.0新增 管理后台")
    public R addMeditationVideo(@RequestBody MeditationVideo meditationVideo) {
        meditationVideo.setCreateBy(SecurityUtils.getUsername());
        meditationVideo.setCreateTime(LocalDateTime.now());
        return R.ok(meditationVideoService.saveOrUpdate(meditationVideo));
    }
    @PostMapping("/getMeditationVideo")
    @ApiOperation(value = "获取微电影", tags = "2.0新增")
    public R<MeditationVideo> getMeditationVideo() {
        return R.ok(meditationVideoService.getOne(null));
    }
    @GetMapping("/setVideoIsShow")
    @ApiOperation(value = "设置是否展示微电影 0否1是", tags = "2.0新增 管理后台")
    public R<MeditationVideo> setVideoIsShow(Integer isShow) {
        MeditationVideo one = meditationVideoService.getOne(null);
        one.setIsShow(isShow);
        meditationVideoService.updateById(one);
        return R.ok();
    }
//    @GetMapping("/getVideoIsShow")
//    @ApiOperation(value = "是否展示微电影 0否1是 返回0展示每日疗愈 1展示微电影", tags = "2.0新增 移动端")
//    public R<Integer> getVideoIsShow() {
//        MeditationVideo one = meditationVideoService.getOne(null);
//        return R.ok(one.getIsShow());
//    }
    @GetMapping("/detailMeditationEveryday")
    @ApiOperation(value = "查看详情每日冥想库管理", tags = "管理后台-每日冥想库管理")
    public R<MeditationEveryday> detailMeditationEveryday(String uid) {
        return R.ok(meditationEverydayService.getById(uid));
    }
    @PostMapping("/updateMeditationEveryday")
    @ApiOperation(value = "修改每日冥想库管理", tags = "管理后台-每日冥想库管理")
    public R updateMeditationEveryday(@RequestBody MeditationEveryday homeBackgroundMusic) {
        homeBackgroundMusic.setUpdateBy(SecurityUtils.getUsername());
        homeBackgroundMusic.setUpdateTime(LocalDateTime.now());
        return R.ok(meditationEverydayService.updateById(homeBackgroundMusic));
    }
    @PostMapping("/deleteMeditationEveryday")
    @ApiOperation(value = "批量删除", tags = "管理后台-每日冥想库管理")
    public R deleteMeditationEveryday(String ids) {
        List<Long> list = Arrays.asList(ids.split(",")).stream().map(Long::valueOf).collect(Collectors.toList());
        List<MeditationEveryday> list1 = meditationEverydayService.lambdaQuery().in(MeditationEveryday::getId, list).list();
        for (MeditationEveryday l : list1) {
            if (l.getMeditationId()!=null){
                Meditation byId = meditationService.getById(l.getMeditationId());
                if (byId!=null){
                    byId.setIsEveryday(2);
                    meditationService.updateById(byId);
                    meditationTagService.remove(new LambdaQueryWrapper<>(MeditationTag.class)
                            .eq(MeditationTag::getMeditationId,byId.getId()));
                }
            }
        }
        return R.ok(meditationEverydayService.removeBatchByIds(Arrays.asList(ids.split(",")).stream().map(Long::valueOf).collect(Collectors.toList())));
    }
}