feat:代订餐下单

This commit is contained in:
dzc committed 2026-07-22 18:56:05 +08:00
1 parent 61bb43e5c5
commit 98bbc12de6
36 files changed
+1513 -138

No files matched your search

@@ -96,6 +96,12 @@ public class HardOrderDto extends HardOrderEntity implements BaseIsIncludeTreeIn
*/
Boolean totalIsFindChildren = false;
/** App 订单可见性查询的当前访问者。 */
private Long appViewerUserId;
/** App 当前访问者的有效被监护人。 */
private List<Long> appWardUserIds;
/**
* `apptId`不为null
*/
@@ -0,0 +1,37 @@
package com.bsd.pjcloud.hard.api.dto.order.app;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.time.LocalDate;
import java.util.List;
/**
* App 多人食堂订餐请求。
*/
@Data
public class HardAppCreateReserveOrdersDto {
/**
* 原始购物车父ID,必须属于当前付款人。
*/
@NotNull(message = "购物车不能为空")
private Long carParentId;
/**
* 实际用餐人,只允许当前用户本人和其有效被监护人。
*/
@NotEmpty(message = "用餐人不能为空")
private List<Long> dinerUserIds;
private Long apptId;
private Long apptRuleId;
private String hourType;
private String apptTimeType;
private LocalDate apptDate;
}
@@ -82,4 +82,24 @@ public class HardOrderVo extends HardOrderEntity implements BaseUserDeptInterfac
private LocalTime apptStartTime;
private LocalTime apptEndTime;
/**
* 付款人用户ID,来源于订单关联的父购物车。
*/
private Long payerUserId;
/**
* 是否由他人代订。
*/
private Boolean isProxyOrder;
/**
* 当前访问者是否可以申请退款。
*/
private Boolean canRefund;
/**
* 当前访问者是否可以查看预约核销码。
*/
private Boolean canViewReserveCode;
}
@@ -0,0 +1,18 @@
package com.bsd.pjcloud.hard.api.vo.order.app;
import lombok.Data;
import java.util.List;
/**
* App 多人食堂订餐结果。
*/
@Data
public class HardAppCreateReserveOrdersVo {
private List<Long> orderIds;
private Integer orderCount;
private Integer totalPayPrice;
}
@@ -0,0 +1,36 @@
package com.bsd.pjcloud.hard.api.vo.order.app;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* App 设备扫码支付所需的最小订单信息。
*/
@Data
@Schema(description = "App 设备扫码支付订单信息")
public class HardAppScanPayOrderVo {
@Schema(description = "订单ID")
private Long id;
@Schema(description = "商户ID")
private Long merchantId;
@Schema(description = "商户名称")
private String merchantName;
@Schema(description = "商品总价,单位分")
private Integer totalPrice;
@Schema(description = "额外费用,单位分")
private Integer extraPrice;
@Schema(description = "实付金额,单位分")
private Integer payPrice;
@Schema(description = "支付方式")
private String payType;
@Schema(description = "订单状态")
private String orderStatus;
}