完成提问管理接口

master
voidvoid2004 3 weeks ago
parent b99c566e31
commit dae61186f5

@ -0,0 +1,36 @@
package com.example.venue_reservation_service.dto;
import lombok.Data;
@Data
public class QuestionDTO {
/**
*
*/
private Integer userId;
/**
*
*/
private String username;
/**
*
*/
private String phone;
/**
* or
*/
private String questionType;
/**
*
*/
private String description;
/**
*
*/
private String type;
}

@ -0,0 +1,16 @@
package com.example.venue_reservation_service.dto;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
public class QuestionQueryDTO extends PageDTO{
//场馆
private String type;
//状态
private Integer status;
}

@ -2,6 +2,9 @@ package com.example.venue_reservation_service.service;
import com.example.venue_reservation_service.domain.Question;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.venue_reservation_service.dto.QuestionDTO;
import com.example.venue_reservation_service.dto.QuestionQueryDTO;
import com.example.venue_reservation_service.vo.Result;
/**
* @author 31586
@ -10,4 +13,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface QuestionService extends IService<Question> {
Result create(QuestionDTO dto);
Result userPage(QuestionQueryDTO dto);
Result adminPage(QuestionQueryDTO dto);
}

@ -1,13 +1,7 @@
package com.example.venue_reservation_service.service;
import com.example.venue_reservation_service.domain.Reply;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.venue_reservation_service.domain.Reply;
/**
* @author 31586
* @description venue_reply()Service
* @createDate 2025-06-21 14:15:36
*/
public interface ReplyService extends IService<Reply> {
}

@ -1,20 +1,111 @@
package com.example.venue_reservation_service.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.venue_reservation_service.domain.Question;
import com.example.venue_reservation_service.dto.QuestionDTO;
import com.example.venue_reservation_service.dto.QuestionQueryDTO;
import com.example.venue_reservation_service.mapper.QuestionMapper;
import com.example.venue_reservation_service.service.QuestionService;
import com.example.venue_reservation_service.vo.QueryVO;
import com.example.venue_reservation_service.vo.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
/**
* @author 31586
* @description venue_question()Service
* @createDate 2025-06-21 14:15:36
*/
@Service
@Slf4j
public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question>
implements QuestionService{
@Override
public Result create(QuestionDTO dto) {
String word = dto.getDescription().trim();
Question question = lambdaQuery()
.eq(Question::getDescription, word)
.one();
if(question != null) {
question.setCreatedTime(LocalDateTime.now());
updateById(question);
return Result.ok().message("已有相同问题,修改创建时间成功");
}
Question newQuestion = new Question();
BeanUtils.copyProperties(dto, newQuestion);
newQuestion.setStatus(0);
newQuestion.setCreatedTime(LocalDateTime.now());
save(newQuestion);
return Result.ok().message("保存问题成功");
}
@Override
public Result userPage(QuestionQueryDTO dto) {
Page<Question> page = Page.of(dto.getCurrent(), dto.getSize());
page.addOrder(OrderItem.desc("created_time"));
LambdaQueryWrapper<Question> wrapper = new LambdaQueryWrapper<>();
if (dto.getStatus() != null) {
wrapper.eq(Question::getStatus, dto.getStatus());
}
if (dto.getType() != null) {
wrapper.eq(Question::getType, dto.getType());
}
Page<Question> resultPage = page(page, wrapper);
QueryVO<Question> vo = new QueryVO<>();
vo.setList(resultPage.getRecords());
vo.setTotal(resultPage.getTotal());
return Result.ok(vo).message("查询成功");
}
@Override
public Result adminPage(QuestionQueryDTO dto) {
Page<Question> page = Page.of(dto.getCurrent(), dto.getSize());
page.addOrder(OrderItem.desc("created_time"));
LambdaQueryWrapper<Question> wrapper = new LambdaQueryWrapper<>();
if (dto.getStatus() != null) {
wrapper.eq(Question::getStatus, dto.getStatus());
}
Page<Question> resultPage = page(page, wrapper);
QueryVO<Question> vo = new QueryVO<>();
vo.setList(resultPage.getRecords());
vo.setTotal(resultPage.getTotal());
return Result.ok(vo).message("查询成功");
}
}

Loading…
Cancel
Save