PayDTO.java 2.3 KB
package com.infoloop.tianting.model.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import javax.print.DocFlavor.STRING;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.context.annotation.Primary;

@Data
@ApiModel(description = "支付DTO")
public class PayDTO {

  @Data
  @Builder
  @ApiModel(description = "支付通知请求dto")
  @NoArgsConstructor
  @AllArgsConstructor
  public static class PayInformRequestDto {
    private String clientId;
    private String orderId;
    private String openId;
    private String hospitalCode;
    private String price;
    private String phone;
  }

  @Data
  @Builder
  @ApiModel(description = "支付通知结果dto")
  @NoArgsConstructor
  @AllArgsConstructor
  public static class MiniPayRequest {
    private String timeStamp;
    @JsonProperty("package")
    private String packageInfo;
    private String paySign;
    private String appId;
    private String signType;
    private String nonceStr;
  }

  @Data
  @Builder
  @ApiModel(description = "支付通知结果dto")
  @NoArgsConstructor
  @AllArgsConstructor
  public static class PayResult{
    private Boolean TransSN;
    private String MsgId;
    private MiniPayRequest miniPayRequest;
  }

  @Data
  @Builder
  @ApiModel(description = "支付通知响应dto")
  @NoArgsConstructor
  @AllArgsConstructor
  public static class PayResponseDto {
    private Boolean success;
    private String error;
    private PayResult result;
  }

  @Data
  @Builder
  @ApiModel(description = "支付状态修改dto")
  @NoArgsConstructor
  @AllArgsConstructor
  public static class PayStatusUpdateRequestDto {
    private Boolean success;
    private String error;
    private PayResult result;
  }

  @Data
  @Builder
  @ApiModel(description = "第三方支付平台通知请求dto")
  @NoArgsConstructor
  @AllArgsConstructor
  public static class ThirdPartyPayInformRequestDto {
    private String ClientId;
    private String TradeId;
    private String RequestDate;
    private String RequestSource;
    private String PayerOpenId;
    private String HospitalCode;
    private String PID;
    private String Remark;
    private String TransAmount;
    private String TradeDesc;
    private String Sign;
  }
}