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