ChangeMerchantCardSetUtil.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Threading.Tasks;
  5. using Aop.Api.Util;
  6. using GraphQL;
  7. using Library;
  8. using LitJson;
  9. using MySystem;
  10. using MySystem.Models.Main2;
  11. using MySystem.Service.Main2;
  12. namespace MySystem
  13. {
  14. /// <summary>
  15. /// 好哒商户修改银行卡参数赋值
  16. /// </summary>
  17. public class ChangeMerchantCardSetUtil
  18. {
  19. public static ChangeMerchantCard SetValue(MerchantChangeSettlementCardRecord MerchantChangeSettlementCardRecord, int MerchantId)
  20. {
  21. var merchantAddInfo = MerchantAddInfoService.Query(MerchantId);
  22. ChangeMerchantCard changeMerchantCard = new ChangeMerchantCard();
  23. changeMerchantCard.mchtNo = MerchantChangeSettlementCardRecord.MchtNo; //收款商户号
  24. changeMerchantCard.accountNo = MerchantChangeSettlementCardRecord.AccountNo; //卡号(账户类型 0-对公 时填写对公账号,1-对私 时填写银行卡号)
  25. changeMerchantCard.accountName = MerchantChangeSettlementCardRecord.AccountName; //开户名(账户名称 账户类型 0-对公 时填写对公账户名,1-对私 时填写银行卡户名)
  26. changeMerchantCard.zbankNo = MerchantChangeSettlementCardRecord.ZbankNo; //开户支行号
  27. changeMerchantCard.alterType = MerchantChangeSettlementCardRecord.AlterType.ToString(); //结算类型:0-对公结算银行卡;1-法人对私结算银行卡;2-非法人结算
  28. changeMerchantCard.accoutType = MerchantChangeSettlementCardRecord.AccountType.ToString(); //账户类型 0-对公,1-对私
  29. changeMerchantCard.acctZbankCode = MerchantChangeSettlementCardRecord.AcctZbankCode; //开户支行地区码
  30. if (changeMerchantCard.alterType == "2")
  31. {
  32. changeMerchantCard.idCard = MerchantChangeSettlementCardRecord.IdCard; //非法人身份证号(结算类型为2时必填)
  33. var mer = MerchantAddInfoService.Query(" and MchtNo='" + MerchantChangeSettlementCardRecord.MchtNo + "'");
  34. string AgentCardEndDate = MerchantChangeSettlementCardRecord.AgentCardEndDate.Value.ToString("yyyy-MM-dd");
  35. if (AgentCardEndDate.Substring(0, 4) == "9999")
  36. {
  37. changeMerchantCard.agentCardDate = MerchantChangeSettlementCardRecord.AgentCardStartDate.Value.ToString("yyyyMMdd") + "-" + "长期"; //非法人身份证有效期(结算类型为2时必填,格式:20210101-20220101,如长期:20210101-长期)
  38. }
  39. else
  40. {
  41. changeMerchantCard.agentCardDate = MerchantChangeSettlementCardRecord.AgentCardStartDate.Value.ToString("yyyyMMdd") + "-" + MerchantChangeSettlementCardRecord.AgentCardEndDate.Value.ToString("yyyyMMdd"); //非法人身份证有效期(结算类型为2时必填,格式:20210101-20220101,如长期:20210101-长期)
  42. }
  43. }
  44. //对公改对公需要提交的参数
  45. if (merchantAddInfo.AccountType == "0" && changeMerchantCard.alterType == "0")
  46. {
  47. var bankInfo = OpenBankAllService.Query(" BankChildNo='" + MerchantChangeSettlementCardRecord.ZbankNo + "'");
  48. var areasInfo = HaoDaAreaCodeService.Query(" CityCode='" + MerchantChangeSettlementCardRecord.AcctZbankCode + "'");
  49. changeMerchantCard.openBankAccName = MerchantChangeSettlementCardRecord.AccountName; //开户许可证-开户名(修改对公凭证时填写)
  50. changeMerchantCard.openBankName = bankInfo.BankParent; //开户许可证-银行名称(修改对公凭证时填写)
  51. changeMerchantCard.openCollectBankCode = MerchantChangeSettlementCardRecord.ZbankNo; //开户许可证-银行代码(修改对公凭证时填写)
  52. changeMerchantCard.openBankRegionCode = MerchantChangeSettlementCardRecord.AcctZbankCode; //开户许可证-银行地区码(修改对公凭证时填写)
  53. changeMerchantCard.openBankRegionName = areasInfo.CityName; //开户许可证-开户地名称(修改对公凭证时填写)
  54. changeMerchantCard.openUnionNo = MerchantChangeSettlementCardRecord.ZbankNo; //开户许可证-开户支行(修改对公凭证时填写)
  55. changeMerchantCard.openUnionName = bankInfo.BankChild; //开户许可证-支行名称(修改对公凭证时填写)
  56. changeMerchantCard.openBankAccout = MerchantChangeSettlementCardRecord.AccountNo; //开户许可证-银行卡号(修改对公凭证时填写)
  57. }
  58. List<PhotoItem> photoList = new List<PhotoItem>();
  59. PhotoItem photoItem = new PhotoItem();
  60. // alterType结算类型为0时,上传 开户许可证照片
  61. // alterType结算类型为1时,上传 银行卡照片
  62. // alterType结算类型为2时,上传 银行卡照片、非法人身份证正面照片、非法人身份证反面照片、委托结算授权书照片、法人手持委托结算授权书
  63. if (changeMerchantCard.alterType == "0")
  64. {
  65. var tokenInfo = JsonMapper.ToObject(HaoDaHelper.Instance.GetToken(MerchantChangeSettlementCardRecord.OpenAccountLicenses.Substring(MerchantChangeSettlementCardRecord.OpenAccountLicenses.LastIndexOf("/")).Trim('/'), "0"));
  66. if (tokenInfo["code"].ToString() == "1")
  67. {
  68. var returnInfo = HaoDaHelper.Instance.ReturnFileName(tokenInfo["token"].ToString(), MerchantChangeSettlementCardRecord.OpenAccountLicenses);
  69. if (returnInfo != "false")
  70. {
  71. photoItem = new PhotoItem();
  72. photoItem.mediaCode = "openAccountLicenses";
  73. photoItem.mediaPath = returnInfo;
  74. photoList.Add(photoItem);
  75. }
  76. }
  77. }
  78. if (changeMerchantCard.alterType == "1")
  79. {
  80. //结算类型为1和2时必填,0不填
  81. if (!string.IsNullOrEmpty(MerchantChangeSettlementCardRecord.BankCard))
  82. {
  83. var tokenInfo = JsonMapper.ToObject(HaoDaHelper.Instance.GetToken(MerchantChangeSettlementCardRecord.BankCard.Substring(MerchantChangeSettlementCardRecord.BankCard.LastIndexOf("/")).Trim('/'), "0"));
  84. if (tokenInfo["code"].ToString() == "1")
  85. {
  86. var returnInfo = HaoDaHelper.Instance.ReturnFileName(tokenInfo["token"].ToString(), MerchantChangeSettlementCardRecord.BankCard);
  87. if (returnInfo != "false")
  88. {
  89. photoItem = new PhotoItem();
  90. photoItem.mediaCode = "bankCard";
  91. photoItem.mediaPath = returnInfo;
  92. photoList.Add(photoItem);
  93. }
  94. }
  95. }
  96. //结算类型为1且为企业商户时必填
  97. if (!string.IsNullOrEmpty(MerchantChangeSettlementCardRecord.PriLicAgreement) && merchantAddInfo.SubjectType == "SUBJECT_TYPE_ENTERPRISE")
  98. {
  99. var tokenInfo = JsonMapper.ToObject(HaoDaHelper.Instance.GetToken(MerchantChangeSettlementCardRecord.PriLicAgreement.Substring(MerchantChangeSettlementCardRecord.PriLicAgreement.LastIndexOf("/")).Trim('/'), "0"));
  100. if (tokenInfo["code"].ToString() == "1")
  101. {
  102. var returnInfo = HaoDaHelper.Instance.ReturnFileName(tokenInfo["token"].ToString(), MerchantChangeSettlementCardRecord.PriLicAgreement);
  103. if (returnInfo != "false")
  104. {
  105. photoItem = new PhotoItem();
  106. photoItem.mediaCode = "priLicAgreement";
  107. photoItem.mediaPath = returnInfo;
  108. photoList.Add(photoItem);
  109. }
  110. }
  111. }
  112. }
  113. if (changeMerchantCard.alterType == "2")
  114. {
  115. if (!string.IsNullOrEmpty(MerchantChangeSettlementCardRecord.BankCard))
  116. {
  117. var tokenInfo = JsonMapper.ToObject(HaoDaHelper.Instance.GetToken(MerchantChangeSettlementCardRecord.BankCard.Substring(MerchantChangeSettlementCardRecord.BankCard.LastIndexOf("/")).Trim('/'), "0"));
  118. if (tokenInfo["code"].ToString() == "1")
  119. {
  120. var returnInfo = HaoDaHelper.Instance.ReturnFileName(tokenInfo["token"].ToString(), MerchantChangeSettlementCardRecord.BankCard);
  121. if (returnInfo != "false")
  122. {
  123. photoItem = new PhotoItem();
  124. photoItem.mediaCode = "bankCard";
  125. photoItem.mediaPath = returnInfo;
  126. photoList.Add(photoItem);
  127. }
  128. }
  129. }
  130. if (!string.IsNullOrEmpty(MerchantChangeSettlementCardRecord.AgentIdCardFront))
  131. {
  132. var tokenInfo = JsonMapper.ToObject(HaoDaHelper.Instance.GetToken(MerchantChangeSettlementCardRecord.AgentIdCardFront.Substring(MerchantChangeSettlementCardRecord.AgentIdCardFront.LastIndexOf("/")).Trim('/'), "0"));
  133. if (tokenInfo["code"].ToString() == "1")
  134. {
  135. var returnInfo = HaoDaHelper.Instance.ReturnFileName(tokenInfo["token"].ToString(), MerchantChangeSettlementCardRecord.AgentIdCardFront);
  136. if (returnInfo != "false")
  137. {
  138. photoItem = new PhotoItem();
  139. photoItem.mediaCode = "agentIdCardFront";
  140. photoItem.mediaPath = returnInfo;
  141. photoList.Add(photoItem);
  142. }
  143. }
  144. }
  145. if (!string.IsNullOrEmpty(MerchantChangeSettlementCardRecord.AgentIdCardBack))
  146. {
  147. var tokenInfo = JsonMapper.ToObject(HaoDaHelper.Instance.GetToken(MerchantChangeSettlementCardRecord.AgentIdCardBack.Substring(MerchantChangeSettlementCardRecord.AgentIdCardBack.LastIndexOf("/")).Trim('/'), "0"));
  148. if (tokenInfo["code"].ToString() == "1")
  149. {
  150. var returnInfo = HaoDaHelper.Instance.ReturnFileName(tokenInfo["token"].ToString(), MerchantChangeSettlementCardRecord.AgentIdCardBack);
  151. if (returnInfo != "false")
  152. {
  153. photoItem = new PhotoItem();
  154. photoItem.mediaCode = "agentIdCardBack";
  155. photoItem.mediaPath = returnInfo;
  156. photoList.Add(photoItem);
  157. }
  158. }
  159. }
  160. if (!string.IsNullOrEmpty(MerchantChangeSettlementCardRecord.AgentProtocol))
  161. {
  162. var tokenInfo = JsonMapper.ToObject(HaoDaHelper.Instance.GetToken(MerchantChangeSettlementCardRecord.AgentProtocol.Substring(MerchantChangeSettlementCardRecord.AgentProtocol.LastIndexOf("/")).Trim('/'), "0"));
  163. if (tokenInfo["code"].ToString() == "1")
  164. {
  165. var returnInfo = HaoDaHelper.Instance.ReturnFileName(tokenInfo["token"].ToString(), MerchantChangeSettlementCardRecord.AgentProtocol);
  166. if (returnInfo != "false")
  167. {
  168. photoItem = new PhotoItem();
  169. photoItem.mediaCode = "agentProtocol";
  170. photoItem.mediaPath = returnInfo;
  171. photoList.Add(photoItem);
  172. }
  173. }
  174. }
  175. if (!string.IsNullOrEmpty(MerchantChangeSettlementCardRecord.HoldAgentProtocol))
  176. {
  177. var tokenInfo = JsonMapper.ToObject(HaoDaHelper.Instance.GetToken(MerchantChangeSettlementCardRecord.HoldAgentProtocol.Substring(MerchantChangeSettlementCardRecord.HoldAgentProtocol.LastIndexOf("/")).Trim('/'), "0"));
  178. if (tokenInfo["code"].ToString() == "1")
  179. {
  180. var returnInfo = HaoDaHelper.Instance.ReturnFileName(tokenInfo["token"].ToString(), MerchantChangeSettlementCardRecord.HoldAgentProtocol);
  181. if (returnInfo != "false")
  182. {
  183. photoItem = new PhotoItem();
  184. photoItem.mediaCode = "holdAgentProtocol";
  185. photoItem.mediaPath = returnInfo;
  186. photoList.Add(photoItem);
  187. }
  188. }
  189. }
  190. }
  191. changeMerchantCard.photoList = photoList; //图片列表
  192. return changeMerchantCard;
  193. }
  194. }
  195. }