代码拉取完成,页面将自动刷新
提供Knife4j、Spring Boot、Springfox、Springdoc-openapi等相关版本号信息
SpringBoot3.2.4+knife4j-4.5.0
阅读issue:#IZUCU:Knife4j 提ISSUES必看
...
在使用子类AdminOrderQueryDTO继承父类PageQuery的时候 打开接口文档只显示父类PageQuery的参数 而子类AdminOrderQueryDTO的参数不显示。
但是在我使用子类HistoryOrderQueryDTO继承父类PageQuery时, 接口文档又是正常的。我也找不出是什么原因了
提供所有作者能复现此问题的步骤,包括不局限:代码、贴图、错误日志、相关中间件版本等等
@Data
@Schema(title = "分页查询对象", description = "分页查询对象")
public class PageQuery {
@Schema(title = "页码",description = "页码-默认1")
@Min(value = 1, message = "页码不能小于1")
private Integer pageNo = 1;
@Schema(title = "每页数量",description = "每页数量-默认5")
@Min(value = 1, message = "每页数量不能小于1")
private Integer pageSize = 5;
@Schema(title = "排序字段",description = "排序字段-使用下划线命名规则")
private String sortBy;
@Schema(title = "是否升序",description = "是否升序- 默认true")
private Boolean isAsc = true;
public <T> Page<T> toMpPage(OrderItem... items) {
//1.分页条件
Page<T> page = new Page<>(pageNo, pageSize);
//2.排序条件
if (sortBy != null && sortBy.length() > 0) { //排序字段不为空
page.addOrder(new OrderItem().setColumn(sortBy).setAsc(isAsc));
} else if (items != null && items.length > 0) {
page.addOrder(items);
}
return page;
}
}
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Accessors(chain = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(title = "订单查询对象", description = "订单查询对象")
public class AdminOrderQueryDTO extends PageQuery implements Serializable {
@Schema(title = "店铺id")
private Integer ShopId;
@Schema(title = "订单状态", description = "1待付款 2待接单 3已接单 4派送中 5已完成 6已取消")
@Range(min = 1, max = 6, message = "订单状态范围1-6")
private Integer Status;
@Schema(title = "订单号", description = "模糊匹配")
private String Number;
@Schema(title = "下单起始时间")
private String BeginTime;
@Schema(description = "下单结束时间")
private String EndTime;
@Schema(title = "支付状态", description = "0未支付 1已支付 2退款")
@Range(min=0, max = 2, message = "支付状态范围0-2")
private Integer PayStatus;
}
@RestController("adminOrderController")
@RequestMapping("/admin/order")
@Tag(name = "管理员订单相关接口")
@Slf4j
public class OrderController {
@Autowired
private IOrdersService ordersService;
@GetMapping("/page")
@Operation(summary = "订单列表查询")
public AdminResult<PageResult<OrderVO>> pageQuery(@ParameterObject AdminOrderQueryDTO adminOrderQueryDTO) {
return AdminResult.success(ordersService.adminPageQuery(adminOrderQueryDTO));
}
}
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(title = "历史订单查询对象", description = "历史订单查询对象")
public class HistoryOrderQueryDTO extends PageQuery implements Serializable {
@Schema(description = "订单号,模糊匹配")
private String number;
@Schema(description = "下单起始时间,yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate beginTime;
@Schema(description = "下单结束时间,yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate endTime;
@Schema(description = "订单状态 1待付款 2待接单 3已接单 4派送中 5已完成 6已取消")
@Range(min = 1, max = 6, message = "订单状态范围1-6")
Integer status;
@Schema(description = "支付状态 0未支付 1已支付 2退款")
@Range(min = 0, max = 2, message = "支付状态范围0-2")
private Integer payStatus;
@Schema(description = "店铺id")
private Integer shopId;
@Override
public String toString() {
return "HistoryOrderQueryDTO{" +
"number='" + number + '\'' +
", beginTime=" + beginTime +
", endTime=" + endTime +
", status=" + status +
", payStatus=" + payStatus +
", shopId=" + shopId +
"," +
super.toString() +
'}';
}
}
@RestController("userOrderController")
@RequestMapping("/user/order")
@Tag(name = "用户订单相关接口")
@Slf4j
public class OrderController {
@GetMapping("/page")
@Operation(summary = "历史订单查询")
public Result<PageResult<OrderVO>> page(@ParameterObject HistoryOrderQueryDTO historyOrderQueryDTO) {
log.info("分页查询历史订单,参数为:{}", historyOrderQueryDTO);
PageResult<OrderVO> result = ordersService.pageQuery(historyOrderQueryDTO);
return Result.success(result);
}
}
...
...