From 039a33d1bfa6ef041161666bbd120c34086fe7c1 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期一, 14 十月 2024 14:09:25 +0800 Subject: [PATCH] 课程代码 --- xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/controller/client/ClientMeditationQuestionController.java | 158 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 156 insertions(+), 2 deletions(-) diff --git a/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/controller/client/ClientMeditationQuestionController.java b/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/controller/client/ClientMeditationQuestionController.java index 3ffda25..b255751 100644 --- a/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/controller/client/ClientMeditationQuestionController.java +++ b/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/controller/client/ClientMeditationQuestionController.java @@ -1,9 +1,34 @@ package com.xinquan.meditation.controller.client; -import org.springframework.web.bind.annotation.RequestMapping; +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.common.security.utils.SecurityUtils; +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.MeditationQuestionService; +import com.xinquan.meditation.service.MeditationService; +import com.xinquan.system.api.RemoteUserService; +import com.xinquan.system.api.domain.AppUser; +import com.xinquan.system.api.domain.MeditationQuestion; +import com.xinquan.meditation.api.domain.vo.NoticeDetailVO; +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 org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; /** * <p> @@ -16,6 +41,135 @@ @RestController @RequestMapping("/client/meditation/meditation-question") public class ClientMeditationQuestionController { + @Resource + private MeditationQuestionService meditationQuestionService; + @Resource + private MeditationService meditationService; + @Resource + private MeditationCategoryService meditationCategoryService; + @Resource + private RemoteAppUserService remoteAppUserService; + /** + * 远程调用 查询回复通知消息内容 + * @return + */ + @PostMapping("/noticeDetail") + public R<NoticeDetailVO> noticeDetail(NoticeDetailVO req) { + Long userId = SecurityUtils.getUserId(); + if (userId == 0)return R.tokenError("登录失效"); + MeditationQuestion byId = meditationQuestionService.getById(req.getMeditationQuestionId()); + if (byId!=null){ + Meditation byId1 = meditationService.getById(byId.getMeditationId()); + req.setMeditationTitle(byId1.getMeditationTitle()); + req.setCoverDescription(byId1.getCoverDescription()); + req.setIconUrl(byId1.getIconUrl()); + req.setContent(byId.getContent()); + req.setReplyContent(byId.getReplyContent()); + } + return R.ok(req); + } + + + @PostMapping("/meditationQuestionManagementList") + @ApiOperation(value = "提问列表-分页", tags = {"管理后台-提问管理"}) + public R<PageDTO<MeditationQuestion>> meditationQuestionManagementList(@RequestBody MeditationQuestionDTO dto) { + LambdaQueryWrapper<MeditationQuestion> meditationLambdaQueryWrapper = new LambdaQueryWrapper<>(); + meditationLambdaQueryWrapper.eq(dto.getShowFlag()!=null,MeditationQuestion::getShowFlag, dto.getShowFlag()); + if (dto.getIsReplay()!=null){ + if (dto.getIsReplay() == 1){ + meditationLambdaQueryWrapper.isNotNull(MeditationQuestion::getReplyTime); + }else{ + meditationLambdaQueryWrapper.isNull(MeditationQuestion::getReplyTime); + } + } + if (StringUtils.hasLength(dto.getUserName())){ + List<Long> data = remoteAppUserService.getAppUserByName(dto.getUserName()).getData(); + if (data.isEmpty()){ + data.add(-1L); + } + meditationLambdaQueryWrapper.in(MeditationQuestion::getAppUserId,data); + } + if (StringUtils.hasLength(dto.getName())){ + List<Long> collect = meditationService.lambdaQuery() + .like(Meditation::getMeditationTitle, dto.getName()) + .list().stream().map(Meditation::getId).collect(Collectors.toList()); + if (collect.isEmpty()){ + collect.add(-1L); + } + meditationLambdaQueryWrapper.in(MeditationQuestion::getMeditationId,collect); + } + meditationLambdaQueryWrapper.orderByDesc(MeditationQuestion::getCreateTime); + Page<MeditationQuestion> page = meditationQuestionService.page(new Page<>(dto.getPageCurr(), dto.getPageSize()), meditationLambdaQueryWrapper); + if (CollUtils.isEmpty(page.getRecords())) { + return R.ok(PageDTO.empty(page)); + } + for (MeditationQuestion record : page.getRecords()) { + record.setUid(record.getId()+""); + AppUser data = remoteAppUserService.getAppUserById(record.getAppUserId().toString()).getData(); + if (data!=null){ + record.setUserName(data.getNickname()); + record.setAvatar(data.getAvatar()); + record.setCellPhone(data.getCellPhone()); + } + Meditation byId = meditationService.getById(record.getMeditationId()); + if (byId!=null){ + record.setMeditationName(byId.getMeditationTitle()); + } + } + return R.ok(PageDTO.of(page, MeditationQuestion.class)); + } + @PostMapping("/addMeditationQuestion") + @ApiOperation(value = "新增提问管理", notes = "管理后台-提问管理") + public R addMeditationQuestion(@RequestBody MeditationQuestion homeBackgroundMusic) { + homeBackgroundMusic.setCreateBy(SecurityUtils.getUsername()); + homeBackgroundMusic.setCreateTime(LocalDateTime.now()); + return R.ok(meditationQuestionService.save(homeBackgroundMusic)); + } + @GetMapping("/updateState") + @ApiOperation(value = "修改提问显示状态", notes = "管理后台-提问管理") + public R updateState(String uid) { + MeditationQuestion byId = meditationQuestionService.getById(uid); + if (byId.getShowFlag() == 1){ + byId.setShowFlag(2); + }else { + byId.setShowFlag(1); + } + return R.ok(); + } + @GetMapping("/detailMeditationQuestion") + @ApiOperation(value = "查看详情提问管理", notes = "管理后台-提问管理") + public R<MeditationQuestion> detailMeditationQuestion(String uid) { + MeditationQuestion byId = meditationQuestionService.getById(uid); + AppUser data = remoteAppUserService.getAppUserById(byId.getAppUserId().toString()).getData(); + if (data!=null){ + byId.setUserName(data.getNickname()); + byId.setAvatar(data.getAvatar()); + byId.setCellPhone(data.getCellPhone()); + } + Meditation byId1 = meditationService.getById(byId.getMeditationId()); + if (byId1!=null){ + byId.setMeditationName(byId1.getMeditationTitle()); + byId.setChargeType(byId1.getChargeType()); + } + MeditationCategory byId2 = meditationCategoryService.getById(byId1.getCateId()); + if (byId2!=null){ + byId.setMeditationCategoryName(byId2.getCategoryName()); + + } + return R.ok(); + } + @PostMapping("/updateMeditationQuestion") + @ApiOperation(value = "修改提问管理", notes = "管理后台-提问管理") + public R updateMeditationQuestion(@RequestBody MeditationQuestion homeBackgroundMusic) { + homeBackgroundMusic.setUpdateBy(SecurityUtils.getUsername()); + homeBackgroundMusic.setUpdateTime(LocalDateTime.now()); + return R.ok(meditationQuestionService.updateById(homeBackgroundMusic)); + } + @PostMapping("/deleteMeditationQuestion") + @ApiOperation(value = "批量删除", notes = "管理后台-提问管理") + public R deleteMeditationQuestion(String ids) { + return R.ok(meditationQuestionService.removeBatchByIds(Arrays.asList(ids.split(",")))); + } } -- Gitblit v1.7.1