package com.nova.sankuai.domain.api.yangqianguan.dto; import com.fasterxml.jackson.annotation.JsonProperty; import com.nova.sankuai.domain.api.yangqianguan.response.OrderStatusResponse; import com.nova.sankuai.domain.entity.CustomerCapitalResult; import com.nova.sankuai.domain.enums.capitalInfo.CapitalLoanApplyResultEnum; import com.nova.sankuai.domain.enums.capitalInfo.CapitalResultStatusEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.apache.commons.lang.StringUtils; import java.util.Objects; /** * 订单状态反馈Vo */ @Data public class OrderUpdateStatusDto { @JsonProperty("order_no") @ApiModelProperty(value = "订单编号") private String orderNo; @ApiModelProperty(value = "订单状态") private Integer status; @ApiModelProperty(value = "订单状态变更时间 单位:毫秒") @JsonProperty("update_time") private Long updateTime; @ApiModelProperty(value = "订单状态变更原因") private String reason; public OrderUpdateStatusDto(String orderNo, Integer status, Long updateTime, String reason) { this.orderNo = orderNo; this.status = status; this.updateTime = updateTime; this.reason = reason; } public OrderUpdateStatusDto() { } public static OrderUpdateStatusDto parseDto(CustomerCapitalResult capitalResult) { OrderUpdateStatusDto orderUpdateStatusDto = new OrderUpdateStatusDto(); orderUpdateStatusDto.setOrderNo(capitalResult.getLoanNo()); orderUpdateStatusDto.setUpdateTime(capitalResult.getLastUpdatedDate().getTime()); orderUpdateStatusDto.setReason(""); if (StringUtils.isNotEmpty(capitalResult.getLoanResultDesc())) { orderUpdateStatusDto.setReason(capitalResult.getLoanResultDesc()); } if (CapitalResultStatusEnum.LOAN.getCode().equals(capitalResult.getStatus())) { if (CapitalLoanApplyResultEnum.LOAN_FAIL.getCode().equals(capitalResult.getLoanApplyResult()) || CapitalLoanApplyResultEnum.APPLY_REFUSE.getCode().equals(capitalResult.getLoanApplyResult())) { orderUpdateStatusDto.setStatus(OrderStatusResponse.LOAN_FAIL); return orderUpdateStatusDto; } else if (CapitalLoanApplyResultEnum.LOAN_SUCCESS.getCode().equals(capitalResult.getLoanApplyResult())) { orderUpdateStatusDto.setStatus(OrderStatusResponse.LOAN_SUCCESS); orderUpdateStatusDto.setReason("放款成功"); return orderUpdateStatusDto; } } else if (CapitalResultStatusEnum.REPAY.getCode().equals(capitalResult.getStatus())) { if (Objects.equals(1, capitalResult.getRepayResult())) { orderUpdateStatusDto.setStatus(OrderStatusResponse.CLEAN); return orderUpdateStatusDto; } } return null; } }