feat:退款

This commit is contained in:
dzc committed 2025-01-08 16:22:26 +08:00
1 parent f5cc8b27e1
commit f0818dc99d
29 files changed
+653 -65

No files matched your search

@@ -5,6 +5,7 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.List;
/**
* 硬件订单类型
@@ -25,4 +26,10 @@ public enum HardOrderTypeEnum {
return Arrays.stream(values()).filter(v -> ObjectUtil.equals(type, v.getType())).findFirst().get();
}
public static final List<HardOrderTypeEnum> refundList = List.of(BELOW, RESERVE);
public static boolean isRefund(HardOrderTypeEnum type) {
return refundList.contains(type);
}
}
@@ -0,0 +1,26 @@
package com.bsd.pjcloud.hard.api.constant.refund;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 硬件售后操作类型的枚举
*/
@AllArgsConstructor
@Getter
public enum HardAfterSaleOperateTypeEnum {
MEMBER_CREATE("10", "会员申请退款"),
ADMIN_AGREE_APPLY("11", "商家同意退款"),
ADMIN_DISAGREE_APPLY("12", "商家拒绝退款"),
MEMBER_DELIVERY("20", "会员填写退货物流信息,快递公司:{deliveryName},快递单号:{logisticsNo}"),
ADMIN_AGREE_RECEIVE("21", "商家收货"),
ADMIN_DISAGREE_RECEIVE("22", "商家拒绝收货,原因:{reason}"),
ADMIN_REFUND("30", "商家退款"),
MEMBER_CANCEL("40", "会员取消退款"),
;
private final String type;
private final String content;
}
@@ -0,0 +1,16 @@
package com.bsd.pjcloud.hard.api.constant.refund;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
@RequiredArgsConstructor
@Getter
public enum HardRefundStatusEnum {
NONE("0", "未售后"),
APPLY("10", "售后中"),
SUCCESS("20", "售后成功"),
REJECT("30", "售后失败"),
;
private final String status;
private final String name;
}
@@ -0,0 +1,35 @@
package com.bsd.pjcloud.hard.api.constant.refund;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Collection;
import java.util.Collections;
@AllArgsConstructor
@Getter
public enum HardSaleStatusEnum {
/**
* 【申请售后】
*/
APPLY("10", "申请中", "会员申请退款"), // 有赞的状态提示:退款申请待商家处理
/**
* 完成退款【退款成功】
*/
COMPLETE("50", "完成", "商家确认退款"), // 有赞的状态提示:退款成功
/**
* 【买家取消】
*/
BUYER_CANCEL("61", "买家取消售后", "会员取消退款"), // 有赞的状态提示:退款关闭
/**
* 卖家拒绝售后;商家拒绝【商家拒绝】
*/
SELLER_DISAGREE("62", "卖家拒绝", "商家拒绝退款"), // 有赞的状态提示:商家不同意退款申请
;
public static final Collection<String> APPLYING_STATUSES = Collections.singletonList(APPLY.getStatus());
private final String status;
private final String name;
private final String content;
}
@@ -0,0 +1,14 @@
package com.bsd.pjcloud.hard.api.dto.order;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@Data
public class HardDisagreeDto {
@NotNull(message = "售后编号不能为空")
private Long id;
@NotEmpty(message = "审批备注不能为空")
private String auditReason;
}
@@ -3,8 +3,7 @@ package com.bsd.pjcloud.hard.api.entity.order;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.*;
import com.bsd.pjcloud.common.core.util.TenantTable;
import java.time.LocalDateTime;
@@ -14,6 +13,9 @@ import java.time.LocalDateTime;
* @author dzc
* @date 2025-01-07 17:23:08
*/
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
@TenantTable
@TableName("hard_after_sale")
@@ -3,8 +3,7 @@ package com.bsd.pjcloud.hard.api.entity.order;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.*;
import com.bsd.pjcloud.common.core.util.TenantTable;
import java.time.LocalDateTime;
@@ -14,6 +13,9 @@ import java.time.LocalDateTime;
* @author dzc
* @date 2025-01-07 17:23:25
*/
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
@TenantTable
@TableName("hard_after_sale_log")
@@ -1,8 +1,25 @@
package com.bsd.pjcloud.hard.api.vo.order;
import com.bsd.pjcloud.admin.api.vo.base.BaseDeptInterface;
import com.bsd.pjcloud.admin.api.vo.base.BaseUserInterface;
import com.bsd.pjcloud.hard.api.entity.order.HardAfterSaleEntity;
import lombok.Data;
@Data
public class HardAfterSaleVo extends HardAfterSaleEntity {
public class HardAfterSaleVo extends HardAfterSaleEntity implements BaseUserInterface, BaseDeptInterface {
/**
* 用户相关
*/
private String username;
private String userMobile;
private String userAvatar;
/**
* 部门相关
*/
private Long deptId;
private String deptName;
}
@@ -1,8 +1,23 @@
package com.bsd.pjcloud.hard.api.vo.order;
import com.bsd.pjcloud.admin.api.vo.base.BaseDeptInterface;
import com.bsd.pjcloud.admin.api.vo.base.BaseUserInterface;
import com.bsd.pjcloud.hard.api.entity.order.HardOrderEntity;
import lombok.Data;
@Data
public class HardOrderVo extends HardOrderEntity {
public class HardOrderVo extends HardOrderEntity implements BaseUserInterface, BaseDeptInterface {
/**
* 用户相关
*/
private String username;
private String userMobile;
private String userAvatar;
/**
* 部门相关
*/
private String deptName;
}