mitao
2025-03-19 0ab9dfd8f122195e4e9f09bd50c59e0a47450bec
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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
package com.taxi591.bankapi.dto;
 
import com.alibaba.fastjson2.JSON;
import lombok.Data;
 
import java.io.Serializable;
 
/**
 *  直连商户平台账单销账返回对象
 *  @author DELL
 * 
 */
@Data
public class ChargeBillResponse implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    /** 格式 */
    private String format;
    
    /** 消息体 */
    private Message message;
 
 
    public ChargeBillResponse(){
 
    }
 
    /**
     * 构造函数,通过输入对象,构造返回对象数据信息
     * @param request
     */
    public ChargeBillResponse(ChargeBillRequest request) {
        this.setFormat(request.getFormat());
        this.setMessage(new Message(request.getMessage()));
    }
    
    @Override
    public String toString() {
        return JSON.toJSONString(this);
    }
    /**
     *  
     * 账单查询内部消息对象返回实体message内部类
     * 
     */
    @Data
    public class Message implements Serializable {
        
        private static final long serialVersionUID = 1L;
        
        /** 消息头部 */
        private Head head;
        
        /** 消息实体  */
        private Info info;
        
        public Message() {
            this.head = new Head();
            this.info = new Info();
        }
        
        public Message(ChargeBillRequest.Message requestMessage){
            this.setHead(new Head(requestMessage.getHead()));
            this.setInfo(new Info(requestMessage.getInfo()));
        }
        
        @Override
        public String toString() {
            return JSON.toJSONString(this);
        }
 
        /**
         *  
         * 账单销账内部消息对象返回实体Head内部类
         * 
         */
        @Data
        public class Head implements Serializable {
            
            private static final long serialVersionUID = 1L;
            
            /**  渠道 */
            private String channel;
            
            /**  交易码  */
            private String transCode;
            
            /**  交易上行下送标志  */
            private String transFlag;
            
            /**  缴费中心交易序列号 */
            private String transSeqNum;
            
            /** 时间戳  */
            private String timeStamp;
            
            /**  查询返回码 */
            private String returnCode ;
            
            /**  返回提示信息  */
            private String returnMessage;
            
            public Head() {
                
            }
            
            public Head(ChargeBillRequest.Message.Head reqMessHead) {
                this.setChannel(reqMessHead.getChannel());
                this.setTransSeqNum(reqMessHead.getTransSeqNum());
                this.setTransCode(reqMessHead.getTransCode());
            }
 
            @Override
            public String toString() {
                return JSON.toJSONString(this);
            }
 
        }
 
        /**
         *  
         * 账单查询内部消息对象返回实体Info内部类
         * 
         */
        @Data
        public class Info implements Serializable {
            
            private static final long serialVersionUID = 1L;
            
            /** 缴费项目唯一标识号*/
            private String epayCode;
            
            /** 缴费中心流水号*/
            private String traceNo;
            
            /** 退款标志位*/
            private String refundFlag;
            
            /** 第三方支付平台商户订单号 第三方平台例如微信支付宝的支付订单号 add 2020-01-13*/
            private String numOpenMerchantOrder;
 
            public Info() {
                
            }
 
            public Info(ChargeBillRequest.Message.Info reqMessInfo) {
                this.setEpayCode(reqMessInfo.getEpayCode());
                this.setTraceNo(reqMessInfo.getTraceNo());
            }
            
            @Override
            public String toString() {
                return JSON.toJSONString(this);
            }
        }
    }
}