package com.ruoyi.web.controller.api; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.domain.*; import com.ruoyi.system.query.CommentQuery; import com.ruoyi.system.query.MessageQuery; import com.ruoyi.system.service.*; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; /** *

* 咨询留言 前端控制器 *

* * @author luodangjia * @since 2024-09-19 */ @RestController @RequestMapping("/t-consultation-message") public class TConsultationMessageController { @Resource private TConsultationMessageService consultationMessageService; @Resource private TConsultationService consultationService; @Resource private TTechnicalTitleService tTechnicalTitleService; @Resource private TTitleMajorService majorService; @Resource private TLevelService levelService; //列表 @ApiOperation(value = "列表",tags = "后台-需求留言管理") @PostMapping("/list") public R> list(@RequestBody MessageQuery messageQuery){ PageInfo tConsultationMessagePageInfo = consultationMessageService.pageQuery(messageQuery); List records = tConsultationMessagePageInfo.getRecords(); List consultationId = records.stream().map(TConsultationMessage::getConsultationId).collect(Collectors.toList()); List consultations = consultationService.lambdaQuery().in(TConsultation::getId,consultationId).list(); List titleId = consultations.stream().map(TConsultation::getTitleId).collect(Collectors.toList()); List tTechnicalTitles = tTechnicalTitleService.lambdaQuery().in(TTechnicalTitle::getId,titleId).list(); List majorId = consultations.stream().map(TConsultation::getMajorId).collect(Collectors.toList()); List tTitleMajors = majorService.lambdaQuery().in(TTitleMajor::getId,majorId).list(); List level = consultations.stream().map(TConsultation::getLevel).collect(Collectors.toList()); List levels = levelService.lambdaQuery().in(TLevel::getId,level).list(); for (TConsultationMessage record : records) { TConsultation consultation = consultations.stream().filter(e -> e.getId().equals(record.getConsultationId())).findFirst().orElse(null); record.setTitle(consultation.getClassificationName()); TTechnicalTitle tTechnicalTitle = tTechnicalTitles.stream().filter(e -> e.getId().equals(consultation.getTitleId())).findFirst().orElse(null); TTitleMajor tTitleMajor = tTitleMajors.stream().filter(e -> e.getId().equals(consultation.getMajorId())).findFirst().orElse(null); TLevel tLevel = levels.stream().filter(e -> e.getId().equals(consultation.getLevel())).findFirst().orElse(null); record.setClassName(tTechnicalTitle.getTitileName()+"-"+tTitleMajor.getMajorName()+"-"+tLevel.getName()); } return R.ok(tConsultationMessagePageInfo); } //删除 @ApiOperation(value = "删除",tags = "后台-需求留言管理") @PostMapping("/deleteByIds") public R deleteById(String ids){ consultationMessageService.removeByIds(Arrays.asList(ids.split(","))); return R.ok(); } }