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.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.meditation.api.domain.Meditation;
|
import com.xinquan.meditation.api.domain.dto.MeditationQuestionDTO;
|
import com.xinquan.meditation.domain.MeditationCategory;
|
import com.xinquan.meditation.service.MeditationCategoryService;
|
import com.xinquan.meditation.service.MeditationQuestionService;
|
import com.xinquan.meditation.service.MeditationReportService;
|
import com.xinquan.meditation.service.MeditationService;
|
import com.xinquan.system.api.domain.AppUser;
|
import com.xinquan.meditation.api.domain.MeditationQuestion;
|
import com.xinquan.system.api.domain.MeditationReport;
|
import com.xinquan.user.api.feign.RemoteAppUserService;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.util.StringUtils;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.time.LocalDateTime;
|
import java.time.format.DateTimeFormatter;
|
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-report")
|
public class ClientMeditationReportController {
|
@Autowired
|
private MeditationReportService meditationReportService;
|
@Resource
|
private MeditationService meditationService;
|
@Resource
|
private MeditationQuestionService meditationQuestionService;
|
@Resource
|
private MeditationCategoryService meditationCategoryService;
|
@Resource
|
private RemoteAppUserService remoteAppUserService;
|
@PostMapping("/meditationReportManagementList")
|
@ApiOperation(value = "提问举报列表-分页", tags = {"管理后台-提问举报管理"})
|
public R<PageDTO<MeditationReport>> meditationCategoryManagementList(@RequestBody MeditationQuestionDTO dto) {
|
LambdaQueryWrapper<MeditationReport> meditationLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
if (StringUtils.hasLength(dto.getUserName())){
|
List<Long> data = remoteAppUserService.getAppUserByName(dto.getUserName()).getData();
|
if (data.isEmpty()){
|
data.add(-1L);
|
}
|
meditationLambdaQueryWrapper.in(MeditationReport::getReportUserId,data);
|
}
|
if (StringUtils.hasLength(dto.getMeditationName())){
|
List<Long> collect = meditationService.lambdaQuery()
|
.like(Meditation::getMeditationTitle, dto.getMeditationName())
|
.list().stream().map(Meditation::getId).collect(Collectors.toList());
|
if (collect.isEmpty()){
|
collect.add(-1L);
|
}
|
meditationLambdaQueryWrapper.in(MeditationReport::getMeditationId,collect);
|
}
|
if (StringUtils.hasLength(dto.getContent())){
|
List<Long> collect = meditationQuestionService.lambdaQuery()
|
.like(MeditationQuestion::getContent, dto.getContent())
|
.list().stream().map(MeditationQuestion::getId).collect(Collectors.toList());
|
if (collect.isEmpty()){
|
collect.add(-1L);
|
}
|
meditationLambdaQueryWrapper.in(MeditationReport::getQuestionId,collect);
|
}
|
meditationLambdaQueryWrapper.orderByDesc(MeditationReport::getCreateTime);
|
Page<MeditationReport> page = meditationReportService.page(new Page<>(dto.getPageCurr(), dto.getPageSize()), meditationLambdaQueryWrapper);
|
if (CollUtils.isEmpty(page.getRecords())) {
|
return R.ok(PageDTO.empty(page));
|
}
|
for (MeditationReport record : page.getRecords()) {
|
record.setUid(record.getId()+"");
|
MeditationQuestion byId1 = meditationQuestionService.getById(record.getQuestionId());
|
if (byId1!=null){
|
record.setContent(byId1.getContent());
|
LocalDateTime replyTime = byId1.getCreateTime();
|
record.setContentTime(replyTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
AppUser data = remoteAppUserService.getAppUserById(byId1.getAppUserId().toString()).getData();
|
if (data!=null){
|
record.setUserName(data.getNickname());
|
record.setAvatar(data.getAvatar());
|
record.setCellPhone(data.getCellPhone());
|
}
|
}
|
AppUser data = remoteAppUserService.getAppUserById(record.getReportUserId().toString()).getData();
|
if (data!=null){
|
record.setUserNameReport(data.getNickname());
|
record.setAvatarReport(data.getAvatar());
|
record.setCellPhoneReport(data.getCellPhone());
|
}
|
Meditation byId = meditationService.getById(record.getMeditationId());
|
if (byId!=null){
|
record.setMeditationName(byId.getMeditationTitle());
|
record.setChargeType(byId.getChargeType());
|
MeditationCategory byId2 = meditationCategoryService.getById(byId.getCateId());
|
if (byId2!=null){
|
record.setMeditationCategoryName(byId2.getCategoryName());
|
}
|
record.setCoverUrl(byId.getCoverUrl().split(",")[0]);
|
record.setMeditationName(byId.getMeditationTitle());
|
|
}
|
}
|
return R.ok(PageDTO.of(page, MeditationReport.class));
|
}
|
|
|
@GetMapping("/detailMeditationReportQuestion")
|
@ApiOperation(value = "查看详情提问举报管理", tags = "管理后台-提问举报管理")
|
public R<MeditationReport> detailMeditationReport(String uid) {
|
MeditationReport byId = meditationReportService.getById(uid);
|
MeditationQuestion byId3 = meditationQuestionService.getById(byId.getQuestionId());
|
AppUser data = remoteAppUserService.getAppUserById(byId3.getAppUserId().toString()).getData();
|
AppUser data1 = remoteAppUserService.getAppUserById(byId.getReportUserId().toString()).getData();
|
if (data!=null){
|
byId.setUserName(data.getNickname());
|
byId.setAvatar(data.getAvatar());
|
byId.setCellPhone(data.getCellPhone());
|
}
|
byId.setReplyContent(byId3.getReplyContent());
|
if (data1!=null){
|
byId.setUserNameReport(data1.getNickname());
|
byId.setAvatarReport(data1.getAvatar());
|
byId.setCellPhoneReport(data1.getCellPhone());
|
}
|
Meditation byId1 = meditationService.getById(byId.getMeditationId());
|
if (byId1!=null){
|
byId.setMeditationName(byId1.getMeditationTitle());
|
byId.setCoverUrl(byId1.getCoverUrl().split(",")[0]);
|
byId.setChargeType(byId1.getChargeType());
|
}
|
MeditationCategory byId2 = meditationCategoryService.getById(byId1.getCateId());
|
if (byId2!=null){
|
byId.setMeditationCategoryName(byId2.getCategoryName());
|
}
|
return R.ok(byId);
|
}
|
|
@PostMapping("/deleteMeditationReportQuestion")
|
@ApiOperation(value = "批量删除", tags = "管理后台-提问举报管理")
|
public R deleteMeditationReport(String ids) {
|
return R.ok(meditationReportService.removeBatchByIds(Arrays.asList(ids.split(",")).stream().map(Long::valueOf).collect(Collectors.toList())));
|
}
|
}
|