admin
2022-04-07 211840b64fa1132d76d6dff6c779e9ba2c0c450f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
package org.yeshi.utils.entity.alipay;
 
import java.math.BigDecimal;
 
public class AlipayTransferInfo {
 
    public final static String TYPE_TRANSFER_ACCOUNT = "TRANS_ACCOUNT_NO_PWD";//单笔无密转账到支付宝账户
    public final static String TYPE_REDPACKET = "STD_RED_PACKET";//现金红包
    public final static String TYPE_REDPACKET_BANDCARD = "TRANS_BANKCARD_NO_PWD";//单笔无密转账到银行卡
 
    public enum AlipayProductCodeEnum {
        STD_RED_PACKET("现金红包"), TRANS_ACCOUNT_NO_PWD("单笔无密转账到支付宝账户"), TRANS_BANKCARD_NO_PWD("单笔无密转账到银行卡");
        private String name;
 
        private AlipayProductCodeEnum(String name) {
            this.name = name;
        }
    }
 
    public enum AlipayBizSceneEnum {
        PERSONAL_PAY("C2C现金红包-发红包"), PERSONAL_COLLECTION("C2C现金红包-领红包"), REFUND("C2C现金红包-红包退回"), DIRECT_TRANSFER("B2C现金红包、单笔无密转账");
        private String name;
 
        private AlipayBizSceneEnum(String name) {
            this.name = name;
        }
    }
 
 
    private String outBizNo;
    private BigDecimal money;//转账限额0.1,红包限额0.01
    private String orderTitle;
    private String mark;
    private AlipayTransferAccount account;
    private AlipayProductCodeEnum productCode;
    private AlipayBizSceneEnum bizScene;
    private String payerName;
 
    public String getOutBizNo() {
        return outBizNo;
    }
 
    public void setOutBizNo(String outBizNo) {
        this.outBizNo = outBizNo;
    }
 
    public BigDecimal getMoney() {
        return money;
    }
 
    public void setMoney(BigDecimal money) {
        this.money = money;
    }
 
    public String getOrderTitle() {
        return orderTitle;
    }
 
    public void setOrderTitle(String orderTitle) {
        this.orderTitle = orderTitle;
    }
 
    public String getMark() {
        return mark;
    }
 
    public void setMark(String mark) {
        this.mark = mark;
    }
 
    public AlipayTransferAccount getAccount() {
        return account;
    }
 
    public void setAccount(AlipayTransferAccount account) {
        this.account = account;
    }
 
    public AlipayProductCodeEnum getProductCode() {
        return productCode;
    }
 
    public void setProductCode(AlipayProductCodeEnum productCode) {
        this.productCode = productCode;
    }
 
    public AlipayBizSceneEnum getBizScene() {
        return bizScene;
    }
 
    public void setBizScene(AlipayBizSceneEnum bizScene) {
        this.bizScene = bizScene;
    }
 
    public String getPayerName() {
        return payerName;
    }
 
    public void setPayerName(String payerName) {
        this.payerName = payerName;
    }
 
 
    public static class AlipayTransferInfoFactory {
        public static AlipayTransferInfo createRedPack(String outBizNo, BigDecimal money, String orderTitle, String mark, AlipayTransferAccount account, String payerName) {
            AlipayTransferInfo info = new AlipayTransferInfo();
            info.setBizScene(AlipayBizSceneEnum.DIRECT_TRANSFER);
            info.setProductCode(AlipayProductCodeEnum.STD_RED_PACKET);
            info.setOutBizNo(outBizNo);
            info.setPayerName(payerName);
            info.setOrderTitle(orderTitle);
            info.setMoney(money);
            info.setMark(mark);
            info.setAccount(account);
 
            return info;
        }
 
        public static AlipayTransferInfo createAccountTransfer(String outBizNo, BigDecimal money, String orderTitle, String mark, AlipayTransferAccount account, String payerName) {
            AlipayTransferInfo info = new AlipayTransferInfo();
            info.setBizScene(AlipayBizSceneEnum.DIRECT_TRANSFER);
            info.setProductCode(AlipayProductCodeEnum.TRANS_ACCOUNT_NO_PWD);
            info.setOutBizNo(outBizNo);
            info.setPayerName(payerName);
            info.setOrderTitle(orderTitle);
            info.setMoney(money);
            info.setMark(mark);
            info.setAccount(account);
 
            return info;
        }
 
    }
}