package com.doumee.dao.business.vo; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * 抖音券核销记录分页 VO(管理端 /business/douyinVerify/page 专用)。 *
主表 {@code douyin_verify_record},LEFT JOIN discount_member / member / douyin_product 带出关联字段。 *
查询入参(originCode / verifyStatus / cancelStatus)同时承载主表返回值—— * PageWrap.model 与分页结果元素为不同实例,查询用 model、返回用结果元素,互不干扰(同 DiscountMember 模式)。 * * @author rk * @date 2026/06/26 */ @Data @ApiModel("抖音券核销记录分页") public class DouyinVerifyRecordPageVO { // ---------------- 查询入参 + 主表返回(同名字段) ---------------- @ApiModelProperty(value = "抖音券码(原始券码;查询精确匹配,返回为主表值)") private String originCode; @ApiModelProperty(value = "验券状态 0成功 1失败(查询精确匹配,返回为主表值)") private Integer verifyStatus; @ApiModelProperty(value = "撤销状态 0未撤销 1已撤销(查询精确匹配,返回为主表值)") private Integer cancelStatus; // ---------------- 主表字段 ---------------- @ApiModelProperty(value = "核销记录ID") private String id; @ApiModelProperty(value = "核销时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date verifyTime; // ---------------- 关联渲染字段 ---------------- @ApiModelProperty(value = "订单编号(discount_member.goodsorder_id,核销时自动建的 goodsorder 订单编码)") private String orderCode; @ApiModelProperty(value = "会员openid(member.openid)") private String memberOpenid; @ApiModelProperty(value = "会员手机号(脱敏 138****1234)") private String memberPhone; @ApiModelProperty(value = "团购商品名称(douyin_product.product_name,实时关联;非核销快照)") private String productName; @ApiModelProperty(value = "抖音券名称(discount_member.name,本地开通的套餐名)") private String couponName; @ApiModelProperty(value = "抖音券类型/类目(douyin_product.category)") private String category; @ApiModelProperty(value = "兑换人(member.name,核销操作人=购买会员本人)") private String exchangerName; @ApiModelProperty(value = "状态文案(已兑换/已撤销/核销失败)") private String statusName; }