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())));
|
}
|
}
|