feat: 为SMS相关控制器添加专门的分页查询DTO

- 新增SmsSpecialistPageDto、SmsHolidayPageDto、SmsLogPageDto
- 修改三个控制器的page方法使用专门的DTO
- 为Service接口和实现类添加page方法支持
- 支持按name、phone、status等字段进行条件查询
- 移除不必要的searchCount、sortField、sortOrder属性

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
master
李一帆 2025-09-26 17:35:05 +08:00
parent 73c826dbe4
commit c33a615fbe
12 changed files with 176 additions and 9 deletions

View File

@ -1,7 +1,7 @@
package com.whdc.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.whdc.model.dto.FindPageDto;
import com.whdc.model.dto.SmsHolidayPageDto;
import com.whdc.model.entity.SmsHoliday;
import com.whdc.model.group.Insert;
import com.whdc.model.group.Update;
@ -31,8 +31,8 @@ public class SmsHolidayController {
@ApiOperation(value = "分页查询")
@PostMapping(value = "page")
public ResultJson<IPage<SmsHoliday>> page(@RequestBody FindPageDto dto) {
return ResultJson.ok(smsTaskService.page(dto.getPage()));
public ResultJson<IPage<SmsHoliday>> page(@RequestBody SmsHolidayPageDto dto) {
return ResultJson.ok(smsTaskService.page(dto));
}
@ApiOperation(value = "新增")

View File

@ -1,7 +1,7 @@
package com.whdc.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.whdc.model.dto.FindPageDto;
import com.whdc.model.dto.SmsLogPageDto;
import com.whdc.model.entity.SmsLog;
import com.whdc.model.group.Insert;
import com.whdc.model.group.Update;
@ -31,8 +31,8 @@ public class SmsLogController {
@ApiOperation(value = "分页查询")
@PostMapping(value = "page")
public ResultJson<IPage<SmsLog>> page(@RequestBody FindPageDto dto) {
return ResultJson.ok(smsLogService.page(dto.getPage()));
public ResultJson<IPage<SmsLog>> page(@RequestBody SmsLogPageDto dto) {
return ResultJson.ok(smsLogService.page(dto));
}
@ApiOperation(value = "新增")

View File

@ -1,7 +1,7 @@
package com.whdc.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.whdc.model.dto.FindPageDto;
import com.whdc.model.dto.SmsSpecialistPageDto;
import com.whdc.model.entity.SmsSpecialist;
import com.whdc.model.group.Insert;
import com.whdc.model.group.Update;
@ -30,8 +30,8 @@ public class SmsSpecialistController {
@ApiOperation(value = "分页查询")
@PostMapping(value = "page")
public ResultJson<IPage<SmsSpecialist>> page(@RequestBody FindPageDto dto) {
return ResultJson.ok(specialistService.page(dto.getPage()));
public ResultJson<IPage<SmsSpecialist>> page(@RequestBody SmsSpecialistPageDto dto) {
return ResultJson.ok(specialistService.page(dto));
}
@ApiOperation(value = "新增")

View File

@ -0,0 +1,28 @@
package com.whdc.model.dto;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* DTO
*
* @author lyf
* @since 2025-09-26
*/
@Data
public class SmsHolidayPageDto {
@ApiModelProperty(value = "当前页", example = "1")
private Integer pageNumber = 1;
@ApiModelProperty(value = "每页条数", example = "10")
private Integer pageSize = 10;
@ApiModelProperty(value = "主题名称")
private String subjectName;
public Page getPage() {
return new Page(pageNumber, pageSize);
}
}

View File

@ -0,0 +1,31 @@
package com.whdc.model.dto;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* DTO
*
* @author lyf
* @since 2025-09-26
*/
@Data
public class SmsLogPageDto {
@ApiModelProperty(value = "当前页", example = "1")
private Integer pageNumber = 1;
@ApiModelProperty(value = "每页条数", example = "10")
private Integer pageSize = 10;
@ApiModelProperty(value = "姓名")
private String name;
@ApiModelProperty(value = "电话号码")
private String phone;
public Page getPage() {
return new Page(pageNumber, pageSize);
}
}

View File

@ -0,0 +1,34 @@
package com.whdc.model.dto;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* DTO
*
* @author lyf
* @since 2025-09-26
*/
@Data
public class SmsSpecialistPageDto {
@ApiModelProperty(value = "当前页", example = "1")
private Integer pageNumber = 1;
@ApiModelProperty(value = "每页条数", example = "10")
private Integer pageSize = 10;
@ApiModelProperty(value = "姓名")
private String name;
@ApiModelProperty(value = "电话号码")
private String phone;
@ApiModelProperty(value = "状态 1:有效 0:无效")
private Integer status;
public Page getPage() {
return new Page(pageNumber, pageSize);
}
}

View File

@ -1,6 +1,8 @@
package com.whdc.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.whdc.model.dto.SmsHolidayPageDto;
import com.whdc.model.entity.SmsHoliday;
import java.util.List;
@ -12,6 +14,8 @@ import java.util.List;
* @since 2025-09-23
*/
public interface ISmsHolidayService extends IService<SmsHoliday> {
Page<SmsHoliday> page(SmsHolidayPageDto dto);
/**
*
*/

View File

@ -1,6 +1,8 @@
package com.whdc.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.whdc.model.dto.SmsLogPageDto;
import com.whdc.model.entity.SmsLog;
/**
@ -10,4 +12,6 @@ import com.whdc.model.entity.SmsLog;
* @since 2025-09-23
*/
public interface ISmsLogService extends IService<SmsLog> {
Page<SmsLog> page(SmsLogPageDto dto);
}

View File

@ -1,6 +1,8 @@
package com.whdc.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.whdc.model.dto.SmsSpecialistPageDto;
import com.whdc.model.entity.SmsSpecialist;
/**
@ -10,4 +12,6 @@ import com.whdc.model.entity.SmsSpecialist;
* @since 2025-09-23
*/
public interface ISmsSpecialistService extends IService<SmsSpecialist> {
Page<SmsSpecialist> page(SmsSpecialistPageDto dto);
}

View File

@ -1,10 +1,12 @@
package com.whdc.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.whdc.mapper.SmsLogMapper;
import com.whdc.mapper.SmsHolidayMapper;
import com.whdc.mapper.SmsSpecialistMapper;
import com.whdc.model.dto.SmsHolidayPageDto;
import com.whdc.model.entity.SmsLog;
import com.whdc.model.entity.SmsHoliday;
import com.whdc.model.entity.SmsSpecialist;
@ -14,6 +16,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.time.LocalDate;
import java.time.LocalDateTime;
@ -34,6 +37,20 @@ import java.util.concurrent.atomic.AtomicBoolean;
@Slf4j
public class SmsHolidayServiceImpl extends ServiceImpl<SmsHolidayMapper, SmsHoliday> implements ISmsHolidayService {
public Page<SmsHoliday> page(SmsHolidayPageDto dto) {
LambdaQueryWrapper<SmsHoliday> queryWrapper = new LambdaQueryWrapper<>();
// 添加查询条件
if (StringUtils.hasText(dto.getSubjectName())) {
queryWrapper.like(SmsHoliday::getSubjectName, dto.getSubjectName());
}
// 默认按创建时间降序排列
queryWrapper.orderByDesc(SmsHoliday::getCreateTm);
return page(dto.getPage(), queryWrapper);
}
@Autowired
private SmsSpecialistMapper specialistMapper;

View File

@ -1,10 +1,14 @@
package com.whdc.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.whdc.mapper.SmsLogMapper;
import com.whdc.model.dto.SmsLogPageDto;
import com.whdc.model.entity.SmsLog;
import com.whdc.service.ISmsLogService;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
/**
*
@ -14,4 +18,21 @@ import org.springframework.stereotype.Service;
*/
@Service
public class SmsLogServiceImpl extends ServiceImpl<SmsLogMapper, SmsLog> implements ISmsLogService {
public Page<SmsLog> page(SmsLogPageDto dto) {
LambdaQueryWrapper<SmsLog> queryWrapper = new LambdaQueryWrapper<>();
// 添加查询条件
if (StringUtils.hasText(dto.getName())) {
queryWrapper.like(SmsLog::getName, dto.getName());
}
if (StringUtils.hasText(dto.getPhone())) {
queryWrapper.like(SmsLog::getPhone, dto.getPhone());
}
// 默认按发送时间降序排列
queryWrapper.orderByDesc(SmsLog::getSendTm);
return page(dto.getPage(), queryWrapper);
}
}

View File

@ -1,10 +1,14 @@
package com.whdc.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.whdc.mapper.SmsSpecialistMapper;
import com.whdc.model.dto.SmsSpecialistPageDto;
import com.whdc.model.entity.SmsSpecialist;
import com.whdc.service.ISmsSpecialistService;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
/**
*
@ -14,4 +18,24 @@ import org.springframework.stereotype.Service;
*/
@Service
public class SmsSpecialistServiceImpl extends ServiceImpl<SmsSpecialistMapper, SmsSpecialist> implements ISmsSpecialistService {
public Page<SmsSpecialist> page(SmsSpecialistPageDto dto) {
LambdaQueryWrapper<SmsSpecialist> queryWrapper = new LambdaQueryWrapper<>();
// 添加查询条件
if (StringUtils.hasText(dto.getName())) {
queryWrapper.like(SmsSpecialist::getName, dto.getName());
}
if (StringUtils.hasText(dto.getPhone())) {
queryWrapper.like(SmsSpecialist::getPhone, dto.getPhone());
}
if (dto.getStatus() != null) {
queryWrapper.eq(SmsSpecialist::getStatus, dto.getStatus());
}
// 默认按创建时间降序排列
queryWrapper.orderByDesc(SmsSpecialist::getCreateTm);
return page(dto.getPage(), queryWrapper);
}
}