mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-08-10 16:21:52 +08:00
Merge remote-tracking branch 'origin/master' into feature/mall_product
# Conflicts: # yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/string/StrUtils.java # yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/brand/vo/ProductBrandBaseVO.java # yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/category/vo/ProductCategoryBaseVO.java # yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuBaseVO.java # yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuBaseVO.java # yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuRespVO.java # yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuSimpleRespVO.java # yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/spu/vo/AppProductSpuDetailRespVO.java # yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/spu/vo/AppProductSpuPageItemRespVO.java # yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderBaseVO.java # yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderItemBaseVO.java # yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/base/sku/AppProductSkuBaseRespVO.java # yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/cart/vo/AppTradeCartDetailRespVO.java # yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/cart/vo/AppTradeCartItemUpdateSelectedReqVO.java # yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/cart/vo/AppTradeCartResetReqVO.java # yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderCreateReqVO.java # yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderDetailRespVO.java # yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderGetCreateInfoRespVO.java # yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderPageItemRespVO.java # yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/address/vo/AppAddressBaseVO.java
This commit is contained in:
@@ -17,27 +17,27 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
|
||||
@Data
|
||||
public class TradeAfterSaleBaseVO {
|
||||
|
||||
@Schema(description = "售后流水号", required = true, example = "202211190847450020500077")
|
||||
@Schema(description = "售后流水号", requiredMode = Schema.RequiredMode.REQUIRED, example = "202211190847450020500077")
|
||||
@NotNull(message = "售后流水号不能为空")
|
||||
private String no;
|
||||
|
||||
@Schema(description = "售后状态", required = true, example = "10")
|
||||
@Schema(description = "售后状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
|
||||
@NotNull(message = "售后状态不能为空")
|
||||
private Integer status;
|
||||
|
||||
@Schema(description = "售后类型", required = true, example = "20")
|
||||
@Schema(description = "售后类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "20")
|
||||
@NotNull(message = "售后类型不能为空")
|
||||
private Integer type;
|
||||
|
||||
@Schema(description = "售后方式", required = true, example = "10")
|
||||
@Schema(description = "售后方式", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
|
||||
@NotNull(message = "售后方式不能为空")
|
||||
private Integer way;
|
||||
|
||||
@Schema(description = "用户编号", required = true, example = "30337")
|
||||
@Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "30337")
|
||||
@NotNull(message = "用户编号不能为空")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "申请原因", required = true, example = "不喜欢")
|
||||
@Schema(description = "申请原因", requiredMode = Schema.RequiredMode.REQUIRED, example = "不喜欢")
|
||||
@NotNull(message = "申请原因不能为空")
|
||||
private String applyReason;
|
||||
|
||||
@@ -47,34 +47,34 @@ public class TradeAfterSaleBaseVO {
|
||||
@Schema(description = "补充凭证图片", example = "https://www.iocoder.cn/1.png")
|
||||
private List<String> applyPicUrls;
|
||||
|
||||
@Schema(description = "订单编号", required = true, example = "18078")
|
||||
@Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "18078")
|
||||
@NotNull(message = "订单编号不能为空")
|
||||
private Long orderId;
|
||||
|
||||
@Schema(description = "订单流水号", required = true, example = "2022111917190001")
|
||||
@Schema(description = "订单流水号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2022111917190001")
|
||||
@NotNull(message = "订单流水号不能为空")
|
||||
private Long orderNo;
|
||||
|
||||
@Schema(description = "订单项编号", required = true, example = "572")
|
||||
@Schema(description = "订单项编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "572")
|
||||
@NotNull(message = "订单项编号不能为空")
|
||||
private Long orderItemId;
|
||||
|
||||
@Schema(description = "商品 SPU 编号", required = true, example = "2888")
|
||||
@Schema(description = "商品 SPU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2888")
|
||||
@NotNull(message = "商品 SPU 编号不能为空")
|
||||
private Long spuId;
|
||||
|
||||
@Schema(description = "商品 SPU 名称", required = true, example = "李四")
|
||||
@Schema(description = "商品 SPU 名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
|
||||
@NotNull(message = "商品 SPU 名称不能为空")
|
||||
private String spuName;
|
||||
|
||||
@Schema(description = "商品 SKU 编号", required = true, example = "15657")
|
||||
@Schema(description = "商品 SKU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "15657")
|
||||
@NotNull(message = "商品 SKU 编号不能为空")
|
||||
private Long skuId;
|
||||
|
||||
@Schema(description = "商品图片", example = "https://www.iocoder.cn/2.png")
|
||||
private String picUrl;
|
||||
|
||||
@Schema(description = "购买数量", required = true, example = "20012")
|
||||
@Schema(description = "购买数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "20012")
|
||||
@NotNull(message = "购买数量不能为空")
|
||||
private Integer count;
|
||||
|
||||
@@ -88,7 +88,7 @@ public class TradeAfterSaleBaseVO {
|
||||
@Schema(description = "审批备注", example = "不香")
|
||||
private String auditReason;
|
||||
|
||||
@Schema(description = "退款金额,单位:分", required = true, example = "18077")
|
||||
@Schema(description = "退款金额,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "18077")
|
||||
@NotNull(message = "退款金额,单位:分不能为空")
|
||||
private Integer refundPrice;
|
||||
|
||||
|
@@ -10,11 +10,11 @@ import javax.validation.constraints.NotNull;
|
||||
@Data
|
||||
public class TradeAfterSaleDisagreeReqVO {
|
||||
|
||||
@Schema(description = "售后编号", required = true, example = "1024")
|
||||
@Schema(description = "售后编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||
@NotNull(message = "售后编号不能为空")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "审批备注", required = true, example = "你猜")
|
||||
@Schema(description = "审批备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜")
|
||||
@NotEmpty(message = "审批备注不能为空")
|
||||
private String auditReason;
|
||||
|
||||
|
@@ -9,11 +9,11 @@ import javax.validation.constraints.NotNull;
|
||||
@Data
|
||||
public class TradeAfterSaleRefuseReqVO {
|
||||
|
||||
@Schema(description = "售后编号", required = true, example = "1024")
|
||||
@Schema(description = "售后编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||
@NotNull(message = "售后编号不能为空")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "收货备注", required = true, example = "你猜")
|
||||
@Schema(description = "收货备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜")
|
||||
@NotNull(message = "收货备注不能为空")
|
||||
private String refuseMemo;
|
||||
|
||||
|
@@ -16,10 +16,10 @@ import java.util.List;
|
||||
@ToString(callSuper = true)
|
||||
public class TradeAfterSaleRespPageItemVO extends TradeAfterSaleBaseVO {
|
||||
|
||||
@Schema(description = "售后编号", required = true, example = "27630")
|
||||
@Schema(description = "售后编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "27630")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "创建时间", required = true)
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
|
@@ -10,41 +10,41 @@ import java.time.LocalDateTime;
|
||||
@Data
|
||||
public class TradeAfterSaleLogRespVO {
|
||||
|
||||
@Schema(description = "编号", required = true, example = "20669")
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "20669")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "用户编号", required = true, example = "22634")
|
||||
@Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "22634")
|
||||
@NotNull(message = "用户编号不能为空")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "用户类型", required = true, example = "2")
|
||||
@Schema(description = "用户类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
@NotNull(message = "用户类型不能为空")
|
||||
private Integer userType;
|
||||
|
||||
@Schema(description = "售后编号", required = true, example = "3023")
|
||||
@Schema(description = "售后编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3023")
|
||||
@NotNull(message = "售后编号不能为空")
|
||||
private Long afterSaleId;
|
||||
|
||||
@Schema(description = "订单编号", required = true, example = "25870")
|
||||
@Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "25870")
|
||||
@NotNull(message = "订单编号不能为空")
|
||||
private Long orderId;
|
||||
|
||||
@Schema(description = "订单项编号", required = true, example = "23154")
|
||||
@Schema(description = "订单项编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "23154")
|
||||
@NotNull(message = "订单项编号不能为空")
|
||||
private Long orderItemId;
|
||||
|
||||
@Schema(description = "售后状态(之前)", example = "2")
|
||||
private Integer beforeStatus;
|
||||
|
||||
@Schema(description = "售后状态(之后)", required = true, example = "1")
|
||||
@Schema(description = "售后状态(之后)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotNull(message = "售后状态(之后)不能为空")
|
||||
private Integer afterStatus;
|
||||
|
||||
@Schema(description = "操作明细", required = true, example = "维权完成,退款金额:¥37776.00")
|
||||
@Schema(description = "操作明细", requiredMode = Schema.RequiredMode.REQUIRED, example = "维权完成,退款金额:¥37776.00")
|
||||
@NotNull(message = "操作明细不能为空")
|
||||
private String content;
|
||||
|
||||
@Schema(description = "创建时间", required = true)
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
||||
|
@@ -7,10 +7,10 @@ import lombok.Data;
|
||||
@Data
|
||||
public class MemberUserRespVO {
|
||||
|
||||
@Schema(description = "用户 ID", required = true, example = "1")
|
||||
@Schema(description = "用户 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "用户昵称", required = true, example = "芋道源码")
|
||||
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道源码")
|
||||
private String nickname;
|
||||
|
||||
@Schema(description = "用户头像", example = "https://www.iocoder.cn/xxx.png")
|
||||
|
@@ -7,16 +7,16 @@ import lombok.Data;
|
||||
@Data
|
||||
public class ProductPropertyValueDetailRespVO {
|
||||
|
||||
@Schema(description = "属性的编号", required = true, example = "1")
|
||||
@Schema(description = "属性的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Long propertyId;
|
||||
|
||||
@Schema(description = "属性的名称", required = true, example = "颜色")
|
||||
@Schema(description = "属性的名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "颜色")
|
||||
private String propertyName;
|
||||
|
||||
@Schema(description = "属性值的编号", required = true, example = "1024")
|
||||
@Schema(description = "属性值的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||
private Long valueId;
|
||||
|
||||
@Schema(description = "属性值的名称", required = true, example = "红色")
|
||||
@Schema(description = "属性值的名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "红色")
|
||||
private String valueName;
|
||||
|
||||
}
|
||||
|
@@ -14,34 +14,34 @@ public class TradeOrderBaseVO {
|
||||
|
||||
// ========== 订单基本信息 ==========
|
||||
|
||||
@Schema(description = "订单编号", required = true, example = "1024")
|
||||
@Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "订单流水号", required = true, example = "1146347329394184195")
|
||||
@Schema(description = "订单流水号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1146347329394184195")
|
||||
private String no;
|
||||
|
||||
@Schema(description = "下单时间", required = true)
|
||||
@Schema(description = "下单时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Schema(description = "订单类型", required = true, example = "1")
|
||||
@Schema(description = "订单类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Integer type;
|
||||
|
||||
@Schema(description = "订单来源", required = true, example = "1")
|
||||
@Schema(description = "订单来源", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Integer terminal;
|
||||
|
||||
@Schema(description = "用户编号", required = true, example = "2048")
|
||||
@Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "用户 IP", required = true, example = "127.0.0.1")
|
||||
@Schema(description = "用户 IP", requiredMode = Schema.RequiredMode.REQUIRED, example = "127.0.0.1")
|
||||
private String userIp;
|
||||
|
||||
@Schema(description = "用户备注", required = true, example = "你猜")
|
||||
@Schema(description = "用户备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜")
|
||||
private String userRemark;
|
||||
|
||||
@Schema(description = "订单状态", required = true, example = "1")
|
||||
@Schema(description = "订单状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Integer status;
|
||||
|
||||
@Schema(description = "购买的商品数量", required = true, example = "10")
|
||||
@Schema(description = "购买的商品数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
|
||||
private Integer productCount;
|
||||
|
||||
@Schema(description = "订单完成时间")
|
||||
@@ -58,31 +58,31 @@ public class TradeOrderBaseVO {
|
||||
|
||||
// ========== 价格 + 支付基本信息 ==========
|
||||
|
||||
@Schema(description = "支付订单编号", required = true, example = "1024")
|
||||
@Schema(description = "支付订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||
private Long payOrderId;
|
||||
|
||||
@Schema(description = "是否已支付", required = true, example = "true")
|
||||
@Schema(description = "是否已支付", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
|
||||
private Boolean payed;
|
||||
|
||||
@Schema(description = "付款时间")
|
||||
private LocalDateTime payTime;
|
||||
|
||||
@Schema(description = "支付渠道", required = true, example = "wx_lite")
|
||||
@Schema(description = "支付渠道", requiredMode = Schema.RequiredMode.REQUIRED, example = "wx_lite")
|
||||
private String payChannelCode;
|
||||
|
||||
@Schema(description = "商品原价(总)", required = true, example = "1000")
|
||||
@Schema(description = "商品原价(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000")
|
||||
private Integer originalPrice;
|
||||
|
||||
@Schema(description = "订单优惠(总)", required = true, example = "100")
|
||||
@Schema(description = "订单优惠(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
|
||||
private Integer discountPrice;
|
||||
|
||||
@Schema(description = "运费金额", required = true, example = "100")
|
||||
@Schema(description = "运费金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
|
||||
private Integer deliveryPrice;
|
||||
|
||||
@Schema(description = "订单调价(总)", required = true, example = "100")
|
||||
@Schema(description = "订单调价(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
|
||||
private Integer adjustPrice;
|
||||
|
||||
@Schema(description = "应付金额(总)", required = true, example = "1000")
|
||||
@Schema(description = "应付金额(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000")
|
||||
private Integer payPrice;
|
||||
|
||||
// ========== 收件 + 物流基本信息 ==========
|
||||
@@ -96,7 +96,7 @@ public class TradeOrderBaseVO {
|
||||
@Schema(description = "发货物流单号", example = "1024")
|
||||
private String logisticsNo;
|
||||
|
||||
@Schema(description = "发货状态", required = true, example = "1")
|
||||
@Schema(description = "发货状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Integer deliveryStatus;
|
||||
|
||||
@Schema(description = "发货时间")
|
||||
@@ -105,16 +105,16 @@ public class TradeOrderBaseVO {
|
||||
@Schema(description = "收货时间")
|
||||
private LocalDateTime receiveTime;
|
||||
|
||||
@Schema(description = "收件人名称", required = true, example = "张三")
|
||||
@Schema(description = "收件人名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
|
||||
private String receiverName;
|
||||
|
||||
@Schema(description = "收件人手机", required = true, example = "13800138000")
|
||||
@Schema(description = "收件人手机", requiredMode = Schema.RequiredMode.REQUIRED, example = "13800138000")
|
||||
private String receiverMobile;
|
||||
|
||||
@Schema(description = "收件人地区编号", required = true, example = "110000")
|
||||
@Schema(description = "收件人地区编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "110000")
|
||||
private Integer receiverAreaId;
|
||||
|
||||
@Schema(description = "收件人详细地址", required = true, example = "中关村大街 1 号")
|
||||
@Schema(description = "收件人详细地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "中关村大街 1 号")
|
||||
private String receiverDetailAddress;
|
||||
|
||||
// ========== 售后基本信息 ==========
|
||||
@@ -122,7 +122,7 @@ public class TradeOrderBaseVO {
|
||||
@Schema(description = "售后状态", example = "1")
|
||||
private Integer afterSaleStatus;
|
||||
|
||||
@Schema(description = "退款金额", required = true, example = "100")
|
||||
@Schema(description = "退款金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
|
||||
private Integer refundPrice;
|
||||
|
||||
// ========== 营销基本信息 ==========
|
||||
@@ -130,9 +130,9 @@ public class TradeOrderBaseVO {
|
||||
@Schema(description = "优惠劵编号", example = "1024")
|
||||
private Long couponId;
|
||||
|
||||
@Schema(description = "优惠劵减免金额", required = true, example = "100")
|
||||
@Schema(description = "优惠劵减免金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
|
||||
private Integer couponPrice;
|
||||
|
||||
@Schema(description = "积分抵扣的金额", required = true, example = "100")
|
||||
@Schema(description = "积分抵扣的金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
|
||||
private Integer pointPrice;
|
||||
}
|
||||
|
@@ -10,15 +10,15 @@ import javax.validation.constraints.NotNull;
|
||||
@Data
|
||||
public class TradeOrderDeliveryReqVO {
|
||||
|
||||
@Schema(description = "订单编号", required = true, example = "1024")
|
||||
@Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||
@NotNull(message = "订单编号不能为空")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "发货物流公司编号", required = true, example = "1")
|
||||
@Schema(description = "发货物流公司编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotNull(message = "发货物流公司编号不能为空")
|
||||
private Long logisticsId;
|
||||
|
||||
@Schema(description = "发货物流单号", required = true, example = "SF123456789")
|
||||
@Schema(description = "发货物流单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "SF123456789")
|
||||
@NotEmpty(message = "发货物流单号不能为空")
|
||||
private String logisticsNo;
|
||||
|
||||
|
@@ -11,7 +11,7 @@ import java.util.List;
|
||||
@Data
|
||||
public class TradeOrderDetailRespVO extends TradeOrderBaseVO {
|
||||
|
||||
@Schema(description = "收件人地区名字", required = true, example = "上海 上海市 普陀区")
|
||||
@Schema(description = "收件人地区名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "上海 上海市 普陀区")
|
||||
private String receiverAreaName;
|
||||
|
||||
/**
|
||||
|
@@ -10,7 +10,7 @@ import java.util.List;
|
||||
@Data
|
||||
public class TradeOrderPageItemRespVO extends TradeOrderBaseVO {
|
||||
|
||||
@Schema(description = "收件人地区名字", required = true, example = "上海 上海市 普陀区")
|
||||
@Schema(description = "收件人地区名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "上海 上海市 普陀区")
|
||||
private String receiverAreaName;
|
||||
|
||||
/**
|
||||
|
@@ -13,21 +13,21 @@ import java.util.List;
|
||||
@Data
|
||||
public class AppTradeAfterSaleCreateReqVO {
|
||||
|
||||
@Schema(description = "订单项编号", required = true, example = "1024")
|
||||
@Schema(description = "订单项编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||
@NotNull(message = "订单项编号不能为空")
|
||||
private Long orderItemId;
|
||||
|
||||
@Schema(description = "售后方式", required = true, example = "1")
|
||||
@Schema(description = "售后方式", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotNull(message = "售后方式不能为空")
|
||||
@InEnum(value = TradeAfterSaleWayEnum.class, message = "售后方式必须是 {value}")
|
||||
private Integer way;
|
||||
|
||||
@Schema(description = "退款金额", required = true, example = "100")
|
||||
@Schema(description = "退款金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
|
||||
@NotNull(message = "退款金额不能为空")
|
||||
@Min(value = 1, message = "退款金额必须大于 0")
|
||||
private Integer refundPrice;
|
||||
|
||||
@Schema(description = "申请原因", required = true, example = "1")
|
||||
@Schema(description = "申请原因", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotNull(message = "申请原因不能为空")
|
||||
private String applyReason;
|
||||
|
||||
|
@@ -11,19 +11,19 @@ import java.time.LocalDateTime;
|
||||
@Data
|
||||
public class AppTradeAfterSaleDeliveryReqVO {
|
||||
|
||||
@Schema(description = "售后编号", required = true, example = "1024")
|
||||
@Schema(description = "售后编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||
@NotNull(message = "售后编号不能为空")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "退货物流公司编号", required = true, example = "1")
|
||||
@Schema(description = "退货物流公司编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotNull(message = "退货物流公司编号不能为空")
|
||||
private Long logisticsId;
|
||||
|
||||
@Schema(description = "退货物流单号", required = true, example = "SF123456789")
|
||||
@Schema(description = "退货物流单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "SF123456789")
|
||||
@NotNull(message = "退货物流单号不能为空")
|
||||
private String logisticsNo;
|
||||
|
||||
@Schema(description = "退货时间", required = true)
|
||||
@Schema(description = "退货时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "退货时间不能为空")
|
||||
private LocalDateTime deliveryTime;
|
||||
|
||||
|
@@ -7,16 +7,16 @@ import lombok.Data;
|
||||
@Data
|
||||
public class AppProductPropertyValueDetailRespVO {
|
||||
|
||||
@Schema(description = "属性的编号", required = true, example = "1")
|
||||
@Schema(description = "属性的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Long propertyId;
|
||||
|
||||
@Schema(description = "属性的名称", required = true, example = "颜色")
|
||||
@Schema(description = "属性的名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "颜色")
|
||||
private String propertyName;
|
||||
|
||||
@Schema(description = "属性值的编号", required = true, example = "1024")
|
||||
@Schema(description = "属性值的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||
private Long valueId;
|
||||
|
||||
@Schema(description = "属性值的名称", required = true, example = "红色")
|
||||
@Schema(description = "属性值的名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "红色")
|
||||
private String valueName;
|
||||
|
||||
}
|
||||
|
@@ -14,16 +14,16 @@ import java.util.List;
|
||||
@Data
|
||||
public class AppProductSkuBaseRespVO {
|
||||
|
||||
@Schema(description = "主键", required = true, example = "1024")
|
||||
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "图片地址", example = "https://www.iocoder.cn/xx.png")
|
||||
private String picUrl;
|
||||
|
||||
@Schema(description = "销售价格,单位:分", required = true, example = "100")
|
||||
@Schema(description = "销售价格,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
|
||||
private Integer price;
|
||||
|
||||
@Schema(description = "库存", required = true, example = "1")
|
||||
@Schema(description = "库存", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Integer stock;
|
||||
|
||||
/**
|
||||
|
@@ -13,10 +13,10 @@ import java.util.List;
|
||||
@Data
|
||||
public class AppProductSpuBaseRespVO {
|
||||
|
||||
@Schema(description = "主键", required = true, example = "1024")
|
||||
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "商品 SPU 名字", required = true, example = "芋道")
|
||||
@Schema(description = "商品 SPU 名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "商品主图地址", example = "https://www.iocoder.cn/xx.png")
|
||||
|
@@ -9,11 +9,11 @@ import javax.validation.constraints.NotNull;
|
||||
@Data
|
||||
public class AppTradeCartAddReqVO {
|
||||
|
||||
@Schema(description = "商品 SKU 编号", required = true,example = "1024")
|
||||
@Schema(description = "商品 SKU 编号", requiredMode = Schema.RequiredMode.REQUIRED,example = "1024")
|
||||
@NotNull(message = "商品 SKU 编号不能为空")
|
||||
private Long skuId;
|
||||
|
||||
@Schema(description = "新增商品数量", required = true, example = "1")
|
||||
@Schema(description = "新增商品数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotNull(message = "数量不能为空")
|
||||
private Integer count;
|
||||
|
||||
|
@@ -0,0 +1,117 @@
|
||||
package cn.iocoder.yudao.module.trade.controller.app.cart.vo;
|
||||
|
||||
import cn.iocoder.yudao.module.trade.controller.app.base.sku.AppProductSkuBaseRespVO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "用户 App - 用户的购物车明细 Response VO")
|
||||
@Data
|
||||
public class AppTradeCartDetailRespVO {
|
||||
|
||||
/**
|
||||
* 商品分组数组
|
||||
*/
|
||||
private List<ItemGroup> itemGroups;
|
||||
|
||||
/**
|
||||
* 费用
|
||||
*/
|
||||
private Order order;
|
||||
|
||||
@Schema(description = "商品分组") // 多个商品,参加同一个活动,从而形成分组
|
||||
@Data
|
||||
public static class ItemGroup {
|
||||
|
||||
/**
|
||||
* 商品数组
|
||||
*/
|
||||
private List<Sku> items;
|
||||
/**
|
||||
* 营销活动,订单级别
|
||||
*/
|
||||
private Promotion promotion;
|
||||
|
||||
}
|
||||
|
||||
@Schema(description = "商品 SKU")
|
||||
@Data
|
||||
public static class Sku extends AppProductSkuBaseRespVO {
|
||||
|
||||
/**
|
||||
* SPU 信息
|
||||
*/
|
||||
private AppProductSkuBaseRespVO spu;
|
||||
|
||||
// ========== 购物车相关的字段 ==========
|
||||
|
||||
@Schema(description = "商品数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Integer count;
|
||||
@Schema(description = "是否选中", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
|
||||
private Boolean selected;
|
||||
|
||||
// ========== 价格相关的字段,对应 PriceCalculateRespDTO.OrderItem 的属性 ==========
|
||||
|
||||
// TODO 芋艿:后续可以去除一些无用的字段
|
||||
|
||||
@Schema(description = "商品原价(单)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
|
||||
private Integer originalPrice;
|
||||
@Schema(description = "商品原价(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "200")
|
||||
private Integer totalOriginalPrice;
|
||||
@Schema(description = "商品级优惠(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "300")
|
||||
private Integer totalPromotionPrice;
|
||||
@Schema(description = "最终购买金额(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "400")
|
||||
private Integer totalPresentPrice;
|
||||
@Schema(description = "最终购买金额(单)", requiredMode = Schema.RequiredMode.REQUIRED, example = "500")
|
||||
private Integer presentPrice;
|
||||
@Schema(description = "应付金额(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "600")
|
||||
private Integer totalPayPrice;
|
||||
|
||||
// ========== 营销相关的字段 ==========
|
||||
/**
|
||||
* 营销活动,商品级别
|
||||
*/
|
||||
private Promotion promotion;
|
||||
|
||||
}
|
||||
|
||||
@Schema(description = "订单") // 对应 PriceCalculateRespDTO.Order 类,用于费用(合计)
|
||||
@Data
|
||||
public static class Order {
|
||||
|
||||
// TODO 芋艿:后续可以去除一些无用的字段
|
||||
|
||||
@Schema(description = "商品原价(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
|
||||
private Integer skuOriginalPrice;
|
||||
@Schema(description = "商品优惠(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "200")
|
||||
private Integer skuPromotionPrice;
|
||||
@Schema(description = "订单优惠(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "300")
|
||||
private Integer orderPromotionPrice;
|
||||
@Schema(description = "运费金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "400")
|
||||
private Integer deliveryPrice;
|
||||
@Schema(description = "应付金额(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "500")
|
||||
private Integer payPrice;
|
||||
|
||||
}
|
||||
|
||||
@Schema(description = "营销活动") // 对应 PriceCalculateRespDTO.Promotion 类的属性
|
||||
@Data
|
||||
public static class Promotion {
|
||||
|
||||
@Schema(description = "营销编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") // 营销活动的编号、优惠劵的编号
|
||||
private Long id;
|
||||
@Schema(description = "营销名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "xx 活动")
|
||||
private String name;
|
||||
@Schema(description = "营销类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Integer type;
|
||||
|
||||
// ========== 匹配情况 ==========
|
||||
@Schema(description = "是否满足优惠条件", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
|
||||
private Boolean meet;
|
||||
@Schema(description = "满足条件的提示", requiredMode = Schema.RequiredMode.REQUIRED, example = "圣诞价:省 150.00 元")
|
||||
private String meetTip;
|
||||
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,21 @@
|
||||
package cn.iocoder.yudao.module.trade.controller.app.cart.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Collection;
|
||||
|
||||
@Schema(description = "用户 App - 购物车更新是否选中 Request VO")
|
||||
@Data
|
||||
public class AppTradeCartItemUpdateSelectedReqVO {
|
||||
|
||||
@Schema(description = "商品 SKU 编号列表", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024,2048")
|
||||
@NotNull(message = "商品 SKU 编号列表不能为空")
|
||||
private Collection<Long> skuIds;
|
||||
|
||||
@Schema(description = "是否选中", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
|
||||
@NotNull(message = "是否选中不能为空")
|
||||
private Boolean selected;
|
||||
|
||||
}
|
@@ -10,15 +10,15 @@ import javax.validation.constraints.NotNull;
|
||||
@Data
|
||||
public class AppTradeCartResetReqVO {
|
||||
|
||||
@Schema(description = "编号", required = true, example = "1024")
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||
@NotNull(message = "编号不能为空")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "商品 SKU 编号", required = true,example = "1024")
|
||||
@Schema(description = "商品 SKU 编号", requiredMode = Schema.RequiredMode.REQUIRED,example = "1024")
|
||||
@NotNull(message = "商品 SKU 编号不能为空")
|
||||
private Long skuId;
|
||||
|
||||
@Schema(description = "商品数量", required = true, example = "1")
|
||||
@Schema(description = "商品数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotNull(message = "数量不能为空")
|
||||
@Min(message = "数量必须大于 0", value = 1L)
|
||||
private Integer count;
|
||||
|
@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.trade.controller.app.order;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
|
||||
import cn.iocoder.yudao.framework.security.core.annotations.PreAuthenticated;
|
||||
import cn.iocoder.yudao.module.pay.api.notify.dto.PayOrderNotifyReqDTO;
|
||||
import cn.iocoder.yudao.module.product.api.property.ProductPropertyValueApi;
|
||||
|
@@ -14,22 +14,22 @@ public class AppTradeOrderDetailRespVO {
|
||||
|
||||
// ========== 订单基本信息 ==========
|
||||
|
||||
@Schema(description = "订单编号", required = true, example = "1024")
|
||||
@Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "订单流水号", required = true, example = "1146347329394184195")
|
||||
@Schema(description = "订单流水号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1146347329394184195")
|
||||
private String no;
|
||||
|
||||
@Schema(description = "下单时间", required = true)
|
||||
@Schema(description = "下单时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Date createTime;
|
||||
|
||||
@Schema(description = "用户备注", required = true, example = "你猜")
|
||||
@Schema(description = "用户备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜")
|
||||
private String userRemark;
|
||||
|
||||
@Schema(description = "订单状态", required = true, example = "1")
|
||||
@Schema(description = "订单状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Integer status;
|
||||
|
||||
@Schema(description = "购买的商品数量", required = true, example = "10")
|
||||
@Schema(description = "购买的商品数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
|
||||
private Integer productCount;
|
||||
|
||||
@Schema(description = "订单完成时间")
|
||||
@@ -38,44 +38,44 @@ public class AppTradeOrderDetailRespVO {
|
||||
@Schema(description = "订单取消时间")
|
||||
private LocalDateTime cancelTime;
|
||||
|
||||
@Schema(description = "是否评价", required = true, example = "true")
|
||||
@Schema(description = "是否评价", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
|
||||
private Boolean commentStatus;
|
||||
|
||||
// ========== 价格 + 支付基本信息 ==========
|
||||
|
||||
@Schema(description = "是否已支付", required = true, example = "true")
|
||||
@Schema(description = "是否已支付", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
|
||||
private Boolean payed;
|
||||
|
||||
@Schema(description = "支付订单编号", required = true, example = "1024")
|
||||
@Schema(description = "支付订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||
private Long payOrderId;
|
||||
|
||||
@Schema(description = "付款时间")
|
||||
private LocalDateTime payTime;
|
||||
|
||||
@Schema(description = "付款超时时间", required = true)
|
||||
@Schema(description = "付款超时时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private LocalDateTime payExpireTime;
|
||||
|
||||
@Schema(description = "支付渠道", required = true, example = "wx_lite_pay")
|
||||
@Schema(description = "支付渠道", requiredMode = Schema.RequiredMode.REQUIRED, example = "wx_lite_pay")
|
||||
private String payChannelCode;
|
||||
|
||||
@Schema(description = "商品原价(总)", required = true, example = "1000")
|
||||
@Schema(description = "商品原价(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000")
|
||||
private Integer totalPrice;
|
||||
|
||||
@Schema(description = "订单优惠(总)", required = true, example = "100")
|
||||
@Schema(description = "订单优惠(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
|
||||
private Integer discountPrice;
|
||||
|
||||
@Schema(description = "运费金额", required = true, example = "100")
|
||||
@Schema(description = "运费金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
|
||||
private Integer deliveryPrice;
|
||||
|
||||
@Schema(description = "订单调价(总)", required = true, example = "100")
|
||||
@Schema(description = "订单调价(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
|
||||
private Integer adjustPrice;
|
||||
|
||||
@Schema(description = "应付金额(总)", required = true, example = "1000")
|
||||
@Schema(description = "应付金额(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000")
|
||||
private Integer payPrice;
|
||||
|
||||
// ========== 收件 + 物流基本信息 ==========
|
||||
|
||||
@Schema(description = "配送方式", required = true, example = "1")
|
||||
@Schema(description = "配送方式", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Integer deliveryType;
|
||||
|
||||
@Schema(description = "发货物流单号", example = "1024")
|
||||
@@ -87,19 +87,19 @@ public class AppTradeOrderDetailRespVO {
|
||||
@Schema(description = "收货时间")
|
||||
private LocalDateTime receiveTime;
|
||||
|
||||
@Schema(description = "收件人名称", required = true, example = "张三")
|
||||
@Schema(description = "收件人名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
|
||||
private String receiverName;
|
||||
|
||||
@Schema(description = "收件人手机", required = true, example = "13800138000")
|
||||
@Schema(description = "收件人手机", requiredMode = Schema.RequiredMode.REQUIRED, example = "13800138000")
|
||||
private String receiverMobile;
|
||||
|
||||
@Schema(description = "收件人地区编号", required = true, example = "110000")
|
||||
@Schema(description = "收件人地区编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "110000")
|
||||
private Integer receiverAreaId;
|
||||
|
||||
@Schema(description = "收件人地区名字", required = true, example = "上海 上海市 普陀区")
|
||||
@Schema(description = "收件人地区名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "上海 上海市 普陀区")
|
||||
private String receiverAreaName;
|
||||
|
||||
@Schema(description = "收件人详细地址", required = true, example = "中关村大街 1 号")
|
||||
@Schema(description = "收件人详细地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "中关村大街 1 号")
|
||||
private String receiverDetailAddress;
|
||||
|
||||
// ========== 售后基本信息 ==========
|
||||
@@ -109,10 +109,10 @@ public class AppTradeOrderDetailRespVO {
|
||||
@Schema(description = "优惠劵编号", example = "1024")
|
||||
private Long couponId;
|
||||
|
||||
@Schema(description = "优惠劵减免金额", required = true, example = "100")
|
||||
@Schema(description = "优惠劵减免金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
|
||||
private Integer couponPrice;
|
||||
|
||||
@Schema(description = "积分抵扣的金额", required = true, example = "100")
|
||||
@Schema(description = "积分抵扣的金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
|
||||
private Integer pointPrice;
|
||||
|
||||
/**
|
||||
|
@@ -0,0 +1,168 @@
|
||||
package cn.iocoder.yudao.module.trade.controller.app.order.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "用户 App - 订单获得创建信息 Response VO")
|
||||
@Data
|
||||
public class AppTradeOrderGetCreateInfoRespVO {
|
||||
|
||||
/**
|
||||
* 商品分组数组
|
||||
*/
|
||||
private List<ItemGroup> itemGroups;
|
||||
/**
|
||||
* 费用
|
||||
*/
|
||||
private Fee fee;
|
||||
|
||||
// /**
|
||||
// * 优惠劵列表 TODO 芋艿,后续改改
|
||||
// */
|
||||
// private List<CouponCardAvailableRespDTO> coupons;
|
||||
|
||||
@Schema(description = "商品分组") // 多个商品,参加同一个活动,从而形成分组
|
||||
@Data
|
||||
public static class ItemGroup {
|
||||
|
||||
// /**
|
||||
// * 优惠活动
|
||||
// */
|
||||
// private PromotionActivityRespDTO activity; // TODO 芋艿,偷懒
|
||||
/**
|
||||
* 商品 SKU 数组
|
||||
*/
|
||||
private List<Sku> items;
|
||||
|
||||
}
|
||||
|
||||
@Schema(description = "商品 SKU")
|
||||
@Data
|
||||
public static class Sku {
|
||||
|
||||
// SKU 自带信息
|
||||
@Schema(description = "SKU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||
private Integer id;
|
||||
/**
|
||||
* SPU 信息
|
||||
*/
|
||||
private Spu spu;
|
||||
/**
|
||||
* 图片地址
|
||||
*/
|
||||
private String picURL;
|
||||
// /**
|
||||
// * 属性数组
|
||||
// */
|
||||
// private List<ProductAttrKeyValueRespVO> attrs; // TODO 后面改下
|
||||
/**
|
||||
* 价格,单位:分
|
||||
*/
|
||||
private Integer price;
|
||||
/**
|
||||
* 库存数量
|
||||
*/
|
||||
private Integer stock;
|
||||
|
||||
// 非 SKU 自带信息
|
||||
|
||||
/**
|
||||
* 购买数量
|
||||
*/
|
||||
private Integer buyQuantity;
|
||||
// /**
|
||||
// * 优惠活动
|
||||
// */
|
||||
// private PromotionActivityRespDTO activity; // TODO 芋艿,偷懒
|
||||
/**
|
||||
* 原始单价,单位:分。
|
||||
*/
|
||||
private Integer originPrice;
|
||||
/**
|
||||
* 购买单价,单位:分
|
||||
*/
|
||||
private Integer buyPrice;
|
||||
/**
|
||||
* 最终价格,单位:分。
|
||||
*/
|
||||
private Integer presentPrice;
|
||||
/**
|
||||
* 购买总金额,单位:分
|
||||
*
|
||||
* 用途类似 {@link #presentTotal}
|
||||
*/
|
||||
private Integer buyTotal;
|
||||
/**
|
||||
* 优惠总金额,单位:分。
|
||||
*/
|
||||
private Integer discountTotal;
|
||||
/**
|
||||
* 最终总金额,单位:分。
|
||||
*
|
||||
* 注意,presentPrice * quantity 不一定等于 presentTotal 。
|
||||
* 因为,存在无法整除的情况。
|
||||
* 举个例子,presentPrice = 8.33 ,quantity = 3 的情况,presentTotal 有可能是 24.99 ,也可能是 25 。
|
||||
* 所以,需要存储一个该字段。
|
||||
*/
|
||||
private Integer presentTotal;
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class Spu {
|
||||
|
||||
/**
|
||||
* SPU 编号
|
||||
*/
|
||||
private Integer id;
|
||||
|
||||
// ========== 基本信息 =========
|
||||
/**
|
||||
* SPU 名字
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 分类编号
|
||||
*/
|
||||
private Integer cid;
|
||||
/**
|
||||
* 商品主图地址
|
||||
*
|
||||
* 数组,以逗号分隔
|
||||
*
|
||||
* 建议尺寸:800*800像素,你可以拖拽图片调整顺序,最多上传15张
|
||||
*/
|
||||
private List<String> picUrls;
|
||||
|
||||
}
|
||||
|
||||
@Schema(description = "费用(合计)")
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
public static class Fee {
|
||||
|
||||
@Schema(description = "购买总价", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||
private Integer buyPrice;
|
||||
/**
|
||||
* 优惠总价
|
||||
*
|
||||
* 注意,满多少元包邮,不算在优惠中。
|
||||
*/
|
||||
private Integer discountTotal;
|
||||
/**
|
||||
* 邮费
|
||||
*/
|
||||
private Integer postageTotal;
|
||||
/**
|
||||
* 最终价格
|
||||
*
|
||||
* 计算公式 = 总价 - 优惠总价 + 邮费
|
||||
*/
|
||||
private Integer presentTotal;
|
||||
|
||||
}
|
||||
|
||||
}
|
@@ -11,35 +11,35 @@ import java.util.List;
|
||||
@Data
|
||||
public class AppTradeOrderPageItemRespVO {
|
||||
|
||||
@Schema(description = "订单编号", required = true, example = "1024")
|
||||
@Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "订单流水号", required = true, example = "1146347329394184195")
|
||||
@Schema(description = "订单流水号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1146347329394184195")
|
||||
private String no;
|
||||
|
||||
@Schema(description = "订单类型", required = true, example = "0")
|
||||
@Schema(description = "订单类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
|
||||
private Integer type;
|
||||
|
||||
@Schema(description = "订单状态", required = true, example = "1")
|
||||
@Schema(description = "订单状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Integer status;
|
||||
|
||||
@Schema(description = "购买的商品数量", required = true, example = "10")
|
||||
@Schema(description = "购买的商品数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
|
||||
private Integer productCount;
|
||||
|
||||
@Schema(description = "是否评价", required = true, example = "true")
|
||||
@Schema(description = "是否评价", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
|
||||
private Boolean commentStatus;
|
||||
|
||||
@Schema(description = "创建时间", required = true)
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Date createTime;
|
||||
|
||||
// ========== 价格 + 支付基本信息 ==========
|
||||
|
||||
@Schema(description = "应付金额,单位:分", required = true, example = "1000")
|
||||
@Schema(description = "应付金额,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000")
|
||||
private Integer payPrice;
|
||||
|
||||
// ========== 收件 + 物流基本信息 ==========
|
||||
|
||||
@Schema(description = "配送方式", required = true, example = "1")
|
||||
@Schema(description = "配送方式", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Integer deliveryType;
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user