QueryBillRes.cs 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402
  1. using Renci.SshNet.Messages;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Text;
  6. namespace Sugar.Enties
  7. {
  8. /// <summary>
  9. /// 账单查询输出项
  10. /// </summary>
  11. public class QueryBillRes
  12. {
  13. /// <summary>
  14. /// 格式
  15. /// </summary>
  16. public string format { get; set; }
  17. /// <summary>
  18. /// 消息
  19. /// </summary>
  20. public BillResMessage message { get; set; }
  21. public string QueryBillResponseFormat
  22. {
  23. get { return format; }
  24. set { this.format = value; }
  25. }
  26. public BillResMessage QueryBillResponseMessage
  27. {
  28. get { return message; }
  29. set { this.message = value; }
  30. }
  31. public QueryBillRes(QueryBillReq request)
  32. {
  33. this.QueryBillResponseFormat = request.QueryBillRequestFormat;
  34. this.QueryBillResponseMessage = new BillResMessage(request.QueryBillRequestMessage);
  35. }
  36. }
  37. /// <summary>
  38. /// 消息
  39. /// </summary>
  40. public class BillResMessage
  41. {
  42. /// <summary>
  43. /// 消息头部
  44. /// </summary>
  45. public BillResHead head { get; set; }
  46. /// <summary>
  47. /// 消息体
  48. /// </summary>
  49. public BillResInfo info { get; set; }
  50. public BillResHead QueryBillResponseHead
  51. {
  52. get { return head; }
  53. set { this.head = value; }
  54. }
  55. public BillResInfo QueryBillResponseInfo
  56. {
  57. get { return info; }
  58. set { this.info = value; }
  59. }
  60. public BillResMessage(BillReqMessage requestMessage)
  61. {
  62. this.QueryBillResponseHead = new BillResHead(requestMessage.QueryBillRequestHead);
  63. this.QueryBillResponseInfo = new BillResInfo(requestMessage.QueryBillRequestInfo);
  64. }
  65. }
  66. /// <summary>
  67. /// 消息头部
  68. /// </summary>
  69. public class BillResHead
  70. {
  71. /// <summary>
  72. /// 渠道编码
  73. /// </summary>
  74. public string channel { get; set; }
  75. /// <summary>
  76. /// 交易码
  77. /// </summary>
  78. public string transCode { get; set; }
  79. /// <summary>
  80. /// 交易上行下送标志位
  81. /// </summary>
  82. public string transFlag { get; set; }
  83. /// <summary>
  84. /// 缴费中心交易序列号
  85. /// </summary>
  86. public string transSeqNum { get; set; }
  87. /// <summary>
  88. /// 时间戳
  89. /// </summary>
  90. public string timeStamp { get; set; }
  91. /// <summary>
  92. /// 查询返回码
  93. /// </summary>
  94. public string returnCode { get; set; }
  95. /// <summary>
  96. /// 返回提示信息
  97. /// </summary>
  98. public string returnMessage { get; set; }
  99. public BillResHead(BillReqHead reqMessHead)
  100. {
  101. this.channel = reqMessHead.channel;
  102. this.transSeqNum = reqMessHead.transSeqNum;
  103. this.transCode = reqMessHead.transCode;
  104. }
  105. }
  106. /// <summary>
  107. /// message子对象info消息实体内部类
  108. /// </summary>
  109. public class BillResInfo
  110. {
  111. /// <summary>
  112. /// 缴费项目编号
  113. /// </summary>
  114. public string epayCode { get; set; }
  115. /// <summary>
  116. /// 第三方商户编号
  117. /// </summary>
  118. public string merchantId { get; set; }
  119. /// <summary>
  120. /// 缴费中心流水号
  121. /// </summary>
  122. public string traceNo { get; set; }
  123. /// <summary>
  124. /// 输入要素1
  125. /// </summary>
  126. public string input1 { get; set; }
  127. /// <summary>
  128. /// 输入要素2
  129. /// </summary>
  130. public string input2 { get; set; }
  131. /// <summary>
  132. /// 输入要素3
  133. /// </summary>
  134. public string input3 { get; set; }
  135. /// <summary>
  136. /// 输入要素4
  137. /// </summary>
  138. public string input4 { get; set; }
  139. /// <summary>
  140. /// 输入要素5
  141. /// </summary>
  142. public string input5 { get; set; }
  143. /// <summary>
  144. /// 户主名称
  145. /// </summary>
  146. public string custName { get; set; }
  147. /// <summary>
  148. /// 户主地址
  149. /// </summary>
  150. public string custAddress { get; set; }
  151. /// <summary>
  152. /// 缓存域信息
  153. /// </summary>
  154. public string cacheMem { get; set; }
  155. /// <summary>
  156. /// 备注字段
  157. /// </summary>
  158. public string remark { get; set; }
  159. /// <summary>
  160. /// 缴费金额计算规则
  161. /// </summary>
  162. public string amtRule { get; set; }
  163. /// <summary>
  164. /// 子账单数量
  165. /// </summary>
  166. public string totalBillCount { get; set; }
  167. /// <summary>
  168. /// 跳转商户地址
  169. /// </summary>
  170. public string callBackUrl { get; set; }
  171. /// <summary>
  172. /// 跳转商户地址超链接提示
  173. /// </summary>
  174. public string callBackText { get; set; }
  175. /// <summary>
  176. /// 商户定制附言时输送
  177. /// </summary>
  178. public string merchantRemark { get; set; }
  179. /// <summary>
  180. /// 账单信息体
  181. /// </summary>
  182. public List<ResBill> bills { get; set; }
  183. public BillResInfo(BillReqInfo reqMessInfo)
  184. {
  185. this.epayCode = reqMessInfo.epayCode;
  186. this.input1 = reqMessInfo.input1;
  187. this.input2 = reqMessInfo.input2;
  188. this.input3 = reqMessInfo.input3;
  189. this.input4 = reqMessInfo.input4;
  190. this.input5 = reqMessInfo.input5;
  191. this.bills = new List<ResBill>();
  192. }
  193. }
  194. /// <summary>
  195. /// 账单查询内部消息对象返回实体Bill内部类
  196. /// </summary>
  197. public class ResBill
  198. {
  199. /// <summary>
  200. /// 账单编号
  201. /// </summary>
  202. public string billNo { get; set; }
  203. /// <summary>
  204. /// 账单名称
  205. /// </summary>
  206. public string billName { get; set; }
  207. /// <summary>
  208. /// 欠费金额
  209. /// </summary>
  210. public string oweAmt { get; set; }
  211. /// <summary>
  212. /// 手续费
  213. /// </summary>
  214. public string feeAmt { get; set; }
  215. /// <summary>
  216. /// 最小金额
  217. /// </summary>
  218. public string minAmt { get; set; }
  219. /// <summary>
  220. /// 最大金额
  221. /// </summary>
  222. public string maxAmt { get; set; }
  223. /// <summary>
  224. /// 余额
  225. /// </summary>
  226. public string balance { get; set; }
  227. /// <summary>
  228. /// 缴费账单到期日
  229. /// </summary>
  230. public string expireDate { get; set; }
  231. /// <summary>
  232. /// 收款商户号
  233. /// </summary>
  234. public string rcvMerchantId { get; set; }
  235. /// <summary>
  236. /// 收款账号
  237. /// </summary>
  238. public string rcvAcc { get; set; }
  239. /// <summary>
  240. /// 分账模板号
  241. /// </summary>
  242. public string tempSplitAcc { get; set; }
  243. /// <summary>
  244. /// 均匀时段缴费
  245. /// </summary>
  246. public UnitDetail unitDetail { get; set; }
  247. /// <summary>
  248. /// 选择套餐
  249. /// </summary>
  250. public List<OptionDetail> optionDetails { get; set; }
  251. /// <summary>
  252. /// 账单详情描述
  253. /// </summary>
  254. public List<ResBillDescDetail> descDetails { get; set; }
  255. /// <summary>
  256. /// 二级子商户描述
  257. /// </summary>
  258. public List<ResBillSplitSubMerInfo> splitSubMerInfos { get; set; }
  259. /// <summary>
  260. /// 是否为必选子账单
  261. /// </summary>
  262. [DefaultValue(false)]
  263. public bool mustPayFlag { get; set; }
  264. }
  265. /// <summary>
  266. /// 均匀时段
  267. /// </summary>
  268. public class UnitDetail
  269. {
  270. /// <summary>
  271. /// 单位名称
  272. /// </summary>
  273. public string unitName { get; set; }
  274. /// <summary>
  275. /// 单位金额
  276. /// </summary>
  277. public string unitAmount { get; set; }
  278. /// <summary>
  279. /// 最小单位数量
  280. /// </summary>
  281. public string minUnitNum { get; set; }
  282. }
  283. /// <summary>
  284. /// 选择套餐循环
  285. /// </summary>
  286. public class OptionDetail
  287. {
  288. /// <summary>
  289. /// 套餐编号 根据编号排序
  290. /// </summary>
  291. public string optionCode { get; set; }
  292. /// <summary>
  293. /// 套餐名称
  294. /// </summary>
  295. public string optionName { get; set; }
  296. /// <summary>
  297. /// 套餐金额
  298. /// </summary>
  299. public string optionAmt { get; set; }
  300. }
  301. /// <summary>
  302. /// 账单详情
  303. /// </summary>
  304. public class ResBillDescDetail
  305. {
  306. /// <summary>
  307. /// 账单详情-名称
  308. /// </summary>
  309. public string sCpt { get; set; }
  310. /// <summary>
  311. /// 账单详情-取值
  312. /// </summary>
  313. public string sVal { get; set; }
  314. }
  315. /// <summary>
  316. /// 二级子账号
  317. /// </summary>
  318. public class ResBillSplitSubMerInfo
  319. {
  320. /// <summary>
  321. /// 二级子商户号
  322. /// </summary>
  323. public string splitMerchantId { get; set; }
  324. /// <summary>
  325. /// 二级子商户分账金额
  326. /// </summary>
  327. public string splitAmount { get; set; }
  328. }
  329. }