mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-08-15 18:51:54 +08:00
trade:【交易售后】增加申请售后的单元测试
This commit is contained in:
@@ -18,14 +18,19 @@ public class AppTradeAfterSaleCreateReqVO {
|
||||
@NotNull(message = "订单项编号不能为空")
|
||||
private Long orderItemId;
|
||||
|
||||
@ApiModelProperty(name = "售后类型", required = true, example = "1", notes = "对应 TradeAfterSaleTypeEnum 枚举")
|
||||
@NotNull(message = "售后类型不能为空")
|
||||
@InEnum(value = TradeAfterSaleTypeEnum.class, message = "售后类型必须是 {value}")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty(name = "退款金额", required = true, example = "100", notes = "单位:分")
|
||||
@NotNull(message = "退款金额不能为空")
|
||||
@Min(value = 1, message = "退款金额必须大于 0")
|
||||
private Integer applyPrice;
|
||||
private Integer refundPrice;
|
||||
|
||||
@ApiModelProperty(name = "申请原因", required = true, example = "1", notes = "使用数据字典枚举,对应 trade_refund_apply_reason 类型")
|
||||
@NotNull(message = "申请原因不能为空")
|
||||
private Integer applyReason;
|
||||
private String applyReason;
|
||||
|
||||
@ApiModelProperty(name = "补充描述", example = "商品质量不好")
|
||||
private String applyDescription;
|
||||
@@ -33,9 +38,4 @@ public class AppTradeAfterSaleCreateReqVO {
|
||||
@ApiModelProperty(name = "补充凭证图片", example = "https://www.iocoder.cn/1.png, https://www.iocoder.cn/2.png")
|
||||
private List<String> applyPicUrls;
|
||||
|
||||
@ApiModelProperty(name = "售后类型", required = true, example = "1", notes = "对应 TradeAfterSaleTypeEnum 枚举")
|
||||
@NotNull(message = "售后类型不能为空")
|
||||
@InEnum(value = TradeAfterSaleTypeEnum.class, message = "售后类型必须是 {value}")
|
||||
private Integer type;
|
||||
|
||||
}
|
||||
|
@@ -20,7 +20,7 @@ import java.util.List;
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@TableName(value = "trade_after_sale")
|
||||
@TableName(value = "trade_after_sale", autoResultMap = true)
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Accessors(chain = true)
|
||||
@@ -57,9 +57,10 @@ public class TradeAfterSaleDO extends BaseDO {
|
||||
/**
|
||||
* 申请原因
|
||||
*
|
||||
* 使用数据字典枚举,对应 trade_refund_apply_reason 类型
|
||||
* type = 退款,对应 trade_after_sale_refund_reason 类型
|
||||
* type = 退货退款,对应 trade_after_sale_refund_and_return_reason 类型
|
||||
*/
|
||||
private Integer applyReason;
|
||||
private String applyReason;
|
||||
/**
|
||||
* 补充描述
|
||||
*/
|
||||
@@ -72,25 +73,6 @@ public class TradeAfterSaleDO extends BaseDO {
|
||||
@TableField(typeHandler = JacksonTypeHandler.class)
|
||||
private List<String> applyPicUrls;
|
||||
|
||||
// ========== 商家相关 ==========
|
||||
|
||||
/**
|
||||
* 审批时间
|
||||
*/
|
||||
private LocalDateTime auditTime;
|
||||
/**
|
||||
* 审批人
|
||||
*
|
||||
* 关联 AdminUserDO 的 id 编号
|
||||
*/
|
||||
private Long auditUserId;
|
||||
/**
|
||||
* 审批备注
|
||||
*
|
||||
* 注意,只有审批不通过才会填写
|
||||
*/
|
||||
private String auditReason;
|
||||
|
||||
// ========== 交易订单相关 ==========
|
||||
/**
|
||||
* 交易订单编号
|
||||
@@ -107,20 +89,60 @@ public class TradeAfterSaleDO extends BaseDO {
|
||||
/**
|
||||
* 商品 SPU 编号
|
||||
*
|
||||
* 关联 ProductSpuDO 的编号
|
||||
* 关联 ProductSpuDO 的 id 字段
|
||||
* 冗余 {@link TradeOrderItemDO#getSpuId()}
|
||||
*/
|
||||
private Long spuId;
|
||||
/**
|
||||
* 商品 SPU 名称
|
||||
*
|
||||
* 关联 ProductSkuDO 的 name 字段
|
||||
* 冗余 {@link TradeOrderItemDO#getSpuName()}
|
||||
*/
|
||||
private String spuName;
|
||||
/**
|
||||
* 商品 SKU 编号
|
||||
*
|
||||
* 关联 ProductSkuDO 的编号
|
||||
*/
|
||||
private Integer skuId;
|
||||
private Long skuId;
|
||||
/**
|
||||
* 规格值数组,JSON 格式
|
||||
*
|
||||
* 冗余 {@link TradeOrderItemDO#getProperties()}
|
||||
*/
|
||||
@TableField(typeHandler = TradeOrderItemDO.PropertyTypeHandler.class)
|
||||
private List<TradeOrderItemDO.Property> properties;
|
||||
/**
|
||||
* 商品图片
|
||||
*
|
||||
* 冗余 {@link TradeOrderItemDO#getPicUrl()}
|
||||
*/
|
||||
private String picUrl;
|
||||
/**
|
||||
* 退货商品数量
|
||||
*/
|
||||
private Integer count;
|
||||
|
||||
// ========== 审批相关 ==========
|
||||
|
||||
/**
|
||||
* 审批时间
|
||||
*/
|
||||
private LocalDateTime auditTime;
|
||||
/**
|
||||
* 审批人
|
||||
*
|
||||
* 关联 AdminUserDO 的 id 编号
|
||||
*/
|
||||
private Long auditUserId;
|
||||
/**
|
||||
* 审批备注
|
||||
*
|
||||
* 注意,只有审批不通过才会填写
|
||||
*/
|
||||
private String auditReason;
|
||||
|
||||
// ========== 退款相关 ==========
|
||||
/**
|
||||
* 退款金额,单位:分。
|
||||
|
@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.trade.dal.dataobject.order;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import cn.iocoder.yudao.module.trade.dal.dataobject.aftersale.TradeAfterSaleDO;
|
||||
import cn.iocoder.yudao.module.trade.enums.order.TradeOrderItemAfterSaleStatusEnum;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
@@ -41,13 +42,19 @@ public class TradeOrderItemDO extends BaseDO {
|
||||
*/
|
||||
private Long orderId;
|
||||
|
||||
// ========== 商品基本信息 ==========
|
||||
// ========== 商品基本信息; 冗余较多字段,减少关联查询 ==========
|
||||
/**
|
||||
* 商品 SPU 编号
|
||||
*
|
||||
* 关联 ProductSkuDO 的 spuId 编号
|
||||
*/
|
||||
private Long spuId;
|
||||
/**
|
||||
* 商品 SPU 名称
|
||||
*
|
||||
* 冗余 ProductSkuDO 的 spuName 编号
|
||||
*/
|
||||
private String spuName;
|
||||
/**
|
||||
* 商品 SKU 编号
|
||||
*
|
||||
@@ -56,15 +63,11 @@ public class TradeOrderItemDO extends BaseDO {
|
||||
private Long skuId;
|
||||
/**
|
||||
* 规格值数组,JSON 格式
|
||||
*
|
||||
* 冗余 ProductSkuDO 的 properties 字段
|
||||
*/
|
||||
@TableField(typeHandler = PropertyTypeHandler.class)
|
||||
private List<Property> properties;
|
||||
/**
|
||||
* 商品名称
|
||||
*
|
||||
* 冗余 ProductSpuDO 的 name 字段
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 商品图片
|
||||
*/
|
||||
@@ -142,7 +145,7 @@ public class TradeOrderItemDO extends BaseDO {
|
||||
*
|
||||
* 枚举 {@link TradeOrderItemAfterSaleStatusEnum}
|
||||
*
|
||||
* @see cn.iocoder.yudao.module.trade.dal.dataobject.aftersale.TradeAfterSaleDO
|
||||
* @see TradeAfterSaleDO
|
||||
*/
|
||||
private Integer afterSaleStatus;
|
||||
|
||||
|
@@ -84,7 +84,7 @@ public class TradeAfterSaleServiceImpl implements TradeAfterSaleService {
|
||||
// TODO 芋艿:超过一定时间,不允许售后
|
||||
|
||||
// 申请的退款金额,不能超过商品的价格
|
||||
if (createReqVO.getApplyPrice() > orderItem.getOrderDividePrice()) {
|
||||
if (createReqVO.getRefundPrice() > orderItem.getOrderDividePrice()) {
|
||||
throw exception(AFTER_SALE_CREATE_FAIL_REFUND_PRICE_ERROR);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user