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;
|
}
|
}
|