This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
package ru.soune.nocopy.dto.payout;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import ru.soune.nocopy.entity.payout.PayoutRequest;
|
||||
import ru.soune.nocopy.entity.payout.PayoutRequestStatus;
|
||||
import ru.soune.nocopy.entity.payout.PayoutType;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
|
||||
public class PayoutResponse {
|
||||
private Long id;
|
||||
private BigDecimal amount;
|
||||
private String formattedAmount;
|
||||
private PayoutRequestStatus status;
|
||||
private PayoutType payoutType;
|
||||
private String payoutMethodDisplay;
|
||||
private LocalDateTime createdAt;
|
||||
private String formattedCreatedAt;
|
||||
private LocalDateTime processedAt;
|
||||
private LocalDateTime completedAt;
|
||||
private String transactionId;
|
||||
private String rejectionReason;
|
||||
private boolean canCancel;
|
||||
|
||||
public static PayoutResponse fromEntity(PayoutRequest request) {
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm");
|
||||
|
||||
return PayoutResponse.builder()
|
||||
.id(request.getId())
|
||||
.amount(request.getAmount())
|
||||
.formattedAmount(String.format("%.2f ₽", request.getAmount()))
|
||||
.status(request.getStatus())
|
||||
.payoutType(request.getPayoutType())
|
||||
.payoutMethodDisplay(request.getPayoutMethod() != null ?
|
||||
request.getPayoutMethod().getDisplayName() : null)
|
||||
.createdAt(request.getCreatedAt())
|
||||
.formattedCreatedAt(request.getCreatedAt() != null ?
|
||||
request.getCreatedAt().format(formatter) : null)
|
||||
.processedAt(request.getProcessAt())
|
||||
.completedAt(request.getCompletedAt())
|
||||
.rejectionReason(request.getRejectionReason())
|
||||
.canCancel(request.getStatus() == PayoutRequestStatus.PENDING)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user