xuhy
2025-01-09 712f70b2936079a131ecb1e63c6d337171618cad
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
135
136
137
138
139
140
141
142
143
package com.stylefeng.guns.modular.cloudPayment.example;
 
import com.stylefeng.guns.modular.cloudPayment.req.BalanceAcctFreezeReq;
import com.stylefeng.guns.modular.cloudPayment.req.BalanceAcctReq;
import com.unionpay.upyzt.Upyzt;
import com.unionpay.upyzt.exception.UpyztException;
import com.unionpay.upyzt.model.BalanceAcct;
import com.unionpay.upyzt.model.BalanceAcctFreeze;
import com.unionpay.upyzt.model.BalanceTransaction;
import com.unionpay.upyzt.resp.*;
import com.unionpay.upyzt.util.StringUtils;
import lombok.extern.slf4j.Slf4j;
 
import java.io.Serializable;
import java.time.OffsetDateTime;
import java.util.HashMap;
import java.util.Map;
 
@Slf4j
public class BalanceAcctExample implements Serializable {
 
    /**
     * 新增电子账簿
     *
     * @return 返回参数
     * @throws UpyztException 异常
     */
    public static BalanceAcctStoreResp create(BalanceAcctReq balanceAcctReq) throws UpyztException {
        Map<String, Object> params = new HashMap<>();
        params.put("out_request_no", balanceAcctReq.getOutRequestNo());
        if (!StringUtils.isBlank(balanceAcctReq.getCusId())) {
            params.put("cus_id", balanceAcctReq.getCusId());
        }
        if (!StringUtils.isBlank(balanceAcctReq.getMchId())) {
            params.put("mch_id", balanceAcctReq.getMchId());
        }
        params.put("password", Upyzt.encryptField(balanceAcctReq.getPassword()));
        params.put("remark", balanceAcctReq.getRemark());
 
        return BalanceAcct.create(params);
    }
 
    /**
     * 电子账簿查询(电子账簿ID)
     *
     * @param balanceAcctId 绑定账户编号
     * @return 返回参数
     * @throws UpyztException 异常
     */
    public static BalanceAcctResp retrieveById(String balanceAcctId) throws UpyztException {
        return BalanceAcct.retrieveById(balanceAcctId);
    }
 
 
 
    /**
     * 电子账簿查询(用户ID或二级商户ID)
     *
     * @return 返回参数
     * @throws UpyztException 异常
     */
    public static BalanceAcctListResp retrieveByUserId(BalanceAcctReq balanceAcctReq) throws UpyztException {
        Map<String, Object> params = new HashMap<>();
        if (!StringUtils.isBlank(balanceAcctReq.getCusId())) {
            params.put("cus_id", balanceAcctReq.getCusId());
        }
        if (!StringUtils.isBlank(balanceAcctReq.getMchId())) {
            params.put("mch_id", balanceAcctReq.getMchId());
        }
        return BalanceAcct.retrieveByUserId(params);
    }
 
 
    /**
     * 冻结/解冻电子账簿
     *
     * @param balanceAcctFreezeReq 电子账簿ID
     * @return 返回参数
     * @throws UpyztException 异常
     */
    public static BalanceAcctFreezeResp freeze(BalanceAcctFreezeReq balanceAcctFreezeReq) throws UpyztException {
        Map<String, Object> params = new HashMap<>();
        params.put("out_request_no", balanceAcctFreezeReq.getOutRequestNo());
        params.put("balance_acct_id", balanceAcctFreezeReq.getBalanceAcctId());
        params.put("freeze", balanceAcctFreezeReq.getFreeze());
        if(!StringUtils.isBlank(balanceAcctFreezeReq.getRemark())){
            params.put("remark", balanceAcctFreezeReq.getRemark());
        }
 
        return BalanceAcctFreeze.create(params);
    }
 
    /**
     * 冻结/解冻结果查询(系统订单号)
     *
     * @param balanceAcctFreezeId 系统订单号
     * @return 返回参数
     * @throws UpyztException 异常
     */
    public static BalanceAcctFreezeResp retrieveFreezeById(String balanceAcctFreezeId) throws UpyztException {
        return BalanceAcctFreeze.retrieveById(balanceAcctFreezeId);
    }
 
 
    /**
     * 冻结/解冻结果查询(平台订单号)
     *
     * @param outRequestNo 平台订单号
     * @return 返回参数
     * @throws UpyztException 异常
     */
    public static BalanceAcctFreezeResp retrieveFreezeByOutRequestNo(String outRequestNo) throws UpyztException {
        return BalanceAcctFreeze.retrieveByOutRequestNo(outRequestNo);
    }
 
 
    /**
     * 注销电子账簿
     *
     * @param balanceAcctId 电子账簿ID
     * @return 返回参数
     * @throws UpyztException 异常
     */
    public static BalanceAcctDeleteResp removeById(String balanceAcctId) throws UpyztException {
        return BalanceAcct.removeById(balanceAcctId);
    }
 
 
    /**
     * 电子账簿流水查询
     *
     * @param balanceAcctId 电子账簿ID
     * @return 返回参数
     * @throws UpyztException 异常
     */
    public static BalanceTxnPaginationResp page(String balanceAcctId) throws UpyztException {
        Map<String, Object> params = new HashMap<>();
        params.put("balance_acct_id", balanceAcctId);
        params.put("start_at", OffsetDateTime.now().toString());
        return BalanceTransaction.page(params);
    }
 
}