package kr.wisestone.owl.domain;
|
|
import kr.wisestone.owl.service.impl.PaymentServiceImpl;
|
import kr.wisestone.owl.util.ConvertUtil;
|
import org.apache.commons.text.StringEscapeUtils;
|
import org.springframework.util.StringUtils;
|
|
import javax.persistence.*;
|
import java.io.Serializable;
|
|
/**
|
* Created by wisestone on 2018-02-13.
|
*/
|
@Entity
|
public class PaymentHistory extends BaseEntity implements Serializable {
|
private static final long serialVersionUID = 1L;
|
|
public static final String PAYMENT_RESULT_SUCCESS = "success";
|
public static final String PAYMENT_RESULT_FAILED = "failed";
|
|
@Id
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
private Long id;
|
private String type;
|
private Integer price;
|
private Integer buyUser;
|
private String customerUid;
|
private String merchantUid;
|
private String paymentResult;
|
private String paymentResponse;
|
|
@ManyToOne(fetch = FetchType.LAZY)
|
@JoinColumn(name = "workspace_id")
|
private Workspace workspace;
|
|
public PaymentHistory() {
|
}
|
|
public Long getId() {
|
return id;
|
}
|
|
public void setId(Long id) {
|
this.id = id;
|
}
|
|
public String getType() {
|
return type;
|
}
|
|
public void setType(String type) {
|
this.type = type;
|
}
|
|
public Integer getPrice() {
|
return price;
|
}
|
|
public void setPrice(Integer price) {
|
this.price = price;
|
}
|
|
public Integer getBuyUser() {
|
return buyUser;
|
}
|
|
public void setBuyUser(Integer buyUser) {
|
this.buyUser = buyUser;
|
}
|
|
public String getCustomerUid() {
|
return customerUid;
|
}
|
|
public void setCustomerUid(String customerUid) {
|
this.customerUid = customerUid;
|
}
|
|
public String getMerchantUid() {
|
return merchantUid;
|
}
|
|
public void setMerchantUid(String merchantUid) {
|
this.merchantUid = merchantUid;
|
}
|
|
public String getPaymentResult() {
|
return paymentResult;
|
}
|
|
public void setPaymentResult(String paymentResult) {
|
this.paymentResult = paymentResult;
|
}
|
|
public String getPaymentResponse() {
|
return paymentResponse;
|
}
|
|
public void setPaymentResponse(String paymentResponse) {
|
this.paymentResponse = paymentResponse;
|
}
|
|
public Workspace getWorkspace() {
|
return workspace;
|
}
|
|
public void setWorkspace(Workspace workspace) {
|
this.workspace = workspace;
|
}
|
|
public PaymentHistory bindPaymentResult(PaymentServiceImpl.RestClientResultObject resultObject) {
|
|
if (resultObject.isValidResult()) {
|
this.setPaymentResult(PAYMENT_RESULT_SUCCESS);
|
this.setPaymentResponse(ConvertUtil.convertObjectToJson(resultObject.getResponse()));
|
}
|
else {
|
|
this.setPaymentResult(PAYMENT_RESULT_FAILED);
|
|
if (resultObject.isHttpRequestFailed()) {
|
this.setPaymentResponse(resultObject.getHttpStatus().getReasonPhrase());
|
}
|
else if (resultObject.isIamportResultFailed()) {
|
this.setPaymentResponse(resultObject.getMessage());
|
}
|
else if (resultObject.isIamportPaymentFailed()) {
|
if (StringUtils.hasText(resultObject.getMessage())) {
|
this.setPaymentResponse(resultObject.getMessage());
|
}
|
else {
|
this.setPaymentResponse(StringEscapeUtils.unescapeJava(resultObject.getIamportFailReason()));
|
}
|
}
|
}
|
|
return this;
|
}
|
}
|