芋道-重写分页简单示例

SmsLogStatisticsPageReqVO 文件
package com.qhjk.gyzx.module.system.controller.admin.sms.vo.log;

import com.qhjk.gyzx.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

import static com.qhjk.gyzx.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 短信日志分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class SmsLogStatisticsPageReqVO extends PageParam {

    @Schema(description = "短信渠道编号", example = "10")
    private Long channelId;

    @Schema(description = "发送数量", example = "10")
    private Long sendCount;

    @Schema(description = "短信渠道编号", example = "10")
    private String templateContent;

    @Schema(description = "模板编号", example = "20")
    private Long templateId;

    @Schema(description = "手机号", example = "15601691300")
    private String mobile;


    @Schema(description = "发送id", example = "20")
    private Long serialId;

    @Schema(description = "发送状态,参见 SmsSendStatusEnum 枚举类", example = "1")
    private Integer sendStatus;


    @Schema(description = "发送时间")
    private LocalDateTime mySendTime;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @Schema(description = "发送时间")
    private LocalDateTime[] sendTime;

    @Schema(description = "接收状态,参见 SmsReceiveStatusEnum 枚举类", example = "0")
    private Integer receiveStatus;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @Schema(description = "接收时间")
    private LocalDateTime[] receiveTime;
}

Controller文件

@GetMapping("/list")
    @Operation(summary = "获得短信日志分页")
    @PreAuthorize("@ss.hasPermission('system:sms-log:query')")
    public CommonResult<PageResult<SmsLogRespVO>> getSmsLogStatisticsPage(@Valid SmsLogStatisticsPageReqVO pageReqVO) {
        PageResult<SmsLogStatisticsPageReqVO> pageResult = smsLogService.getSmsLogStatisticsPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, SmsLogRespVO.class));
    }

Service文件

 * 获得短信日志分页
     *
     * @param pageReqVO 分页查询
     * @return 短信日志分页
     */
    PageResult<SmsLogStatisticsPageReqVO> getSmsLogStatisticsPage(SmsLogStatisticsPageReqVO pageReqVO);

ServiceImpl文件

 @Override
    public PageResult<SmsLogStatisticsPageReqVO> getSmsLogStatisticsPage(SmsLogStatisticsPageReqVO pageVO) {
        // 验证角色,管理员查看全部,非管理员只查看自己的
        return systemSmsLogMapper.getSmslogSettlePage(pageVO);
    }

mapper文件

default PageResult<SmsLogStatisticsPageReqVO> getSmslogSettlePage(SmsLogStatisticsPageReqVO pageVO){
        Page<SmsLogStatisticsPageReqVO> iPage = MyBatisUtils.buildPage(pageVO);
        LambdaQueryWrapperX<SmsLogDO> queryWrapperX =  new LambdaQueryWrapperX<SmsLogDO>();
         queryWrapperX.eqIfPresent(SmsLogDO::getSendTime, pageVO.getSendTime());
         queryWrapperX.groupBy(SmsLogDO::getSerialId);
         queryWrapperX.orderByDesc(SmsLogDO::getId);
        List<SmsLogStatisticsPageReqVO> list = getCompanyEarningSettleList(iPage, queryWrapperX);
        return new PageResult<>(list, iPage.getTotal());
    }

    List<SmsLogStatisticsPageReqVO> getCompanyEarningSettleList(IPage<SmsLogStatisticsPageReqVO> iPage, @Param("ew") LambdaQueryWrapperX<SmsLogDO> ew);

xml文件

<select id="getCompanyEarningSettleList"
            resultType="com.qhjk.gyzx.module.system.controller.admin.sms.vo.log.SmsLogStatisticsPageReqVO">
        select count(id)        as sendCount,
               send_time           mySendTime,
               tenant_id,
               template_content as templateContent,
               serial_id        as serialId
        from system_sms_log
        where deleted = 0
            ${ew.customSqlSegment}
    </select>

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Da白兔萘糖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值