买家可以对交易下的订单发起退款操作,一次可选择一个订单退款,也可以选择一个订单下的单个商品退款。并且,一个订单只允许发起一次退款维权,单个商品退款可选择退款数量。 无论退款最终是成功还是失败,下一次都不能再次发起。
/**
* 记录ID
*/
@TableId
private Long refundId;
/**
* 退款编号
*/
private String refundSn;
/**
* 店铺ID
*/
private Long shopId;
/**
* 买家ID
*/
private String userId;
/**
* 订单ID
*/
private Long orderId;
/**
* 退款单类型(1:整单退款,2:单个物品退款)
*/
private Integer refundType;
/**
* 订单项ID
*/
private Long orderItemId;
/**
* 退货数量(0:为全部订单项)
*/
private Integer goodsNum;
/**
* 退款金额
*/
private Double refundAmount;
/**
* 申请类型:1,仅退款,2退款退货
*/
private Integer applyType;
/**
* 是否接收到商品(1:已收到,0:未收到)
*/
private Boolean isReceiver;
/**
* 申请原因
*/
private String buyerReason;
/**
* 申请说明
*/
private String buyerDesc;
/**
* 联系方式
*/
private String buyerMobile;
/**
* 文件凭证json
*/
private String photoFiles;
/**
* 处理退款状态:(1.买家申请 2.卖家接受 3.买家发货 4.卖家收货 5.退款成功 6.买家撤回申请 7.商家拒绝 -1.退款关闭)详情见ReturnMoneyStsType
*/
private Integer returnMoneySts;
/**
* 拒绝原因
*/
private String rejectMessage;
/**
* 卖家备注
*/
private String sellerMsg;
/**
* 申请时间
*/
private Date applyTime;
/**
* 受理时间
*/
private Date handelTime;
/**
* 发货时间
*/
private Date shipTime;
/**
* 收货时间
*/
private Date receiveTime;
/**
* 撤销时间
*/
private Date cancelTime;
/**
* 退款时间
*/
private Date refundTime;
/**
* 决定时间
*/
private Date decisionTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 拒绝时间
*/
private Date rejectTime;
由于字段过多,我们进行简单的切块分类
| 字段 | 类型 | 备注说明 |
|---|---|---|
| refundId | Long | 记录ID |
| refundSn | String | 退款编号 |
| shopId | Long | 店铺ID(关联店铺表) |
| userId | String | 买家ID(关联用户表) |
| orderId | Long | 订单ID(关联订单表) |
| refundType | Integer | 退款单类型(1:整单退款,2:单个物品退款) |
| orderItemId | Long | 订单项ID(单个物品退款有效) |
| goodsNum | Integer | 退货数量(单个物品退款有效,0:为全部数量) |
| refundAmount | Double | 退款金额 |
说明:退款可选择两种方式,即:整个单退款、单个物品退款,所以需要通过三个字段维护 refundType orderItemId goodsNum,单个物品退款可选择退款数量。
界面如下:
字段如下:
| 字段 | 类型 | 备注说明 |
|---|---|---|
| applyType | Integer | 申请类型:1,仅退款,2退款退货 |
| isReceiver | String | 是否接收到商品(1:已收到,0:未收到) |
| buyerReason | String | 退款原因 |
| buyerDesc | String | 买家退款申请说明 |
| buyerMobile | String | 联系方式(手机号码) |
| photoFiles | String | 图片举证数组,以逗号分隔 |
退款原因:
仅退款-未收到货申请原因 11(质量问题) 12(拍错/多拍/不喜欢) 13(商品描述不符) 14(假货), 15(商家发错货) 16(商品破损/少件) 17(其他) 仅退款-已收到货申 51(多买/买错/不想要) 52(快递无记录) 53(少货/空包裹) 54(未按约定时间发货) 55(快递一直未送达) 56(其他) 退货退款-申请原因 101(商品破损/少件) 102(商家发错货) 103(商品描述不符) 104(拍错/多拍/不喜欢) 105(质量问题) 107(其他)
| 字段 | 类型 | 备注说明 |
|---|---|---|
| returnMoneySts | Integer | 处理退款状态:(1.买家申请 2.卖家接受 3.买家发货 4.卖家收货 5.退款成功 6.买家撤回申请 7.商家拒绝 -1.退款关闭)详情见ReturnMoneyStsType |
| rejectMessage | String | 拒绝原因(如果卖家不同意退款,可以说明拒绝原因) |
| sellerMsg | String | 卖家备注 |
| applyTime | Date | 申请时间,对应退款状态1 |
| handelTime | Date | 受理时间,对应退款状态2 |
| shipTime | Date | 发货时间,对应退款状态3 |
| receiveTime | Date | 收货时间,对应退款状态4 |
| cancelTime | Date | 撤销时间,对应退款状态6 |
| refundTime | Date | 退款时间,对应退款状态5 |
| decisionTime | Date | 决定时间,对应退款状态5 |
| rejectTime | Date | 拒绝时间,对应退款状态7 |
| updateTime | Date | 更新时间 |
收货地址界面如下:
买家填写退货信息:
字段如下:
退款退货物流信息,当买家选择退款并退货时,并且卖家同意退货后,买家需要提填写退货快递的物流信息。
/**
* 退货物流信息id
*/
@TableId
private Long refundDeliveryId;
/**
* 店铺id
*/
private Long shopId;
/**
* 用户id
*/
private String userId;
/**
* 退款编号
*/
private String refundSn;
/**
* 物流公司id
*/
private Long deyId;
/**
* 物流公司名称
*/
private String deyName;
/**
* 物流编号
*/
private String deyNu;
/**
* 收件人姓名(卖家)
*/
private String receiverName;
/**
* 收件人手机(卖家)
*/
private String receiverMobile;
/**
* 收件人座机(卖家)
*/
private String receiverTelephone;
/**
* 收件人邮政编码(卖家)
*/
private String receiverPostCode;
/**
* 收件人地址(卖家)
*/
private String receiverAddr;
/**
* 发送人手机号码(买家)
*/
private String senderMobile;
/**
* 描述(买家)
*/
private String senderRemarks;
/**
* 图片凭证,快递单(买家)
*/
private String imgs;
/**
* 创建时间
*/
private Date createTime;
deyId deyName deyNureceiverName receiverMobile receiverTelephone receiverPostCode receiverAddrsenderMobile senderRemarks imgs退款结算表,用于记录退款的结算记录
/**
* 支付结算单据id
*/
@TableId
private Long settlementId;
/**
* 订单编号
*/
private String orderNumber;
/**
* 订单支付单号
*/
private String orderPayNo;
/**
* 退款订单编号
*/
private String refundSn;
/**
* 支付方式(1:微信支付 2支付宝支付)
*/
private Integer payType;
/**
* 支付名称
*/
private String payTypeName;
/**
* 退款金额
*/
private Double refundAmount;
/**
* 订单总额
*/
private Double orderTotalAmount;
/**
* 用户ID
*/
private String userId;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 版本号
*/
private Integer version;
/**
* 支付状态(1:申请中 2:已完成 -1失败)
*/
private Integer payStatus;
/**
* 是否清算(0:否 1:是)
*/
private Integer isClearing;
/**
* 清算时间
*/
private Date clearTime;
isClearing clearTime 两个字段暂时未使用