MerchantAddInfoController.cs 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using Microsoft.AspNetCore.Mvc;
  5. using Microsoft.AspNetCore.Http;
  6. using Microsoft.Extensions.Logging;
  7. using Microsoft.Extensions.Options;
  8. using Microsoft.AspNetCore.Authorization;
  9. using MySystem.Service.Main;
  10. using System.Web;
  11. using MySystem.Models.Main;
  12. using LitJson;
  13. using Library;
  14. namespace MySystem.Areas.Api.Controllers.v1
  15. {
  16. [Area("Api")]
  17. [Route("Api/v1/[controller]/[action]")]
  18. public class MerchantAddInfoController : BaseController
  19. {
  20. public MerchantAddInfoController(IHttpContextAccessor accessor) : base(accessor)
  21. {
  22. }
  23. #region 创客-首页-新增商户
  24. // [Authorize]
  25. public JsonResult Add(string value)
  26. {
  27. value = DesDecrypt(value);
  28. JsonData data = JsonMapper.ToObject(value);
  29. AppResultJson result = AddDo(value);
  30. return Json(new AppResultJson() { Status = result.Status, Info = result.Info, Data = result.Data });
  31. }
  32. public AppResultJson AddDo(string value)
  33. {
  34. function.WriteLog(value, "创客-首页-新增商户");
  35. // value = "{\"LicenseCopy\":\"/static/upload/2023/8/16/MT0bebebbf73dc38e2.png\",\"CertMerchantName\":\"门头\",\"LicenseNumber\":\"410900100013231\",\"SubjectType\":\"SUBJECT_TYPE_ENTERPRISE\",\"MerchantShortname\":\"mentou\",\"ServicePhone\":\"13308240813\",\"SalesScenesType\":62,\"MchtNo\":\"\",\"BizStoreName\":\"mentou\",\"BizAddressCode\":\"北京市,东城区\",\"BizStoreAddress\":\"四川省成都市武侯区力德时代7栋客小爽二楼\",\"IdCardCopy\":\"/static/upload/2023/8/16/MT562f81c2651ea325.png\",\"IdCardNational\":\"/static/upload/2023/8/16/MTfcce2c67986eb10a.png\",\"CertLegalPerson\":\"名字\",\"IdCardNumber\":\"51382219940929723x\",\"CardPeriodBegin\":\"2023-08-16\",\"CardPeriodEnd\":\"2050-01-01\",\"PeriodBegin\":\"2023-08-16\",\"PeriodEnd\":\"9999-12-31\",\"MobilePhone\":\"13308240813\",\"AccountName\":\"门头\",\"ChannelKind\":\"000002\",\"BankAccountType\":\"BANK_ACCOUNT_TYPE_CORPORATE\",\"AccountNumber\":\"1234567899654514\",\"AccountBank\":\"中国银行\",\"BankCard\":\"/static/upload/2023/8/16/MT001e52d37c926681.png\",\"OpenAccountLicenses\":\"/static/upload/2023/8/16/MTbd2519a719966813.png\",\"BankName\":\"中国银行上海市北京东路支行\",\"BankAddressCode\":\"北京市,东城区\",\"PersonWithIdCard\":\"/static/upload/2023/8/16/MT374848dbbd1a10fc.png\",\"StoreEntrancePic\":\"/static/upload/2023/8/16/MTc991f44f8e92523b.png\",\"IndoorPic\":\"/static/upload/2023/8/16/MTc4c21727b4d51405.png\",\"CheckstandImg\":\"/static/upload/2023/8/16/MT9c5d940e98a72f90.png\",\"Extra1\":\"/static/upload/2023/8/16/MTd2dea8cfbed28c69.png,/static/upload/2023/8/16/MTf4016b1b53a3e12e.png\",\"IndustryLicense1\":\"\",\"ResserveMobile\":\"13308240813\",\"ContactName\":\"名字\",\"ContactIdNumber\":\"51382219940929723x\",\"IdCardName\":\"名字\",\"Finish\":0,\"UserId\":\"1\",\"Id\":\"\"}";
  36. JsonData data = JsonMapper.ToObject(value);
  37. string LicenseCopy = data["LicenseCopy"].ToString(); //- 营业执照
  38. string CertMerchantName = data["CertMerchantName"].ToString(); //- 商户名称
  39. string LicenseNumber = data["LicenseNumber"].ToString(); //- 商户信用代码
  40. string SubjectType = data["SubjectType"].ToString(); //- 主体类型
  41. string MerchantShortname = data["MerchantShortname"].ToString(); //- 用户名称简写
  42. string ServicePhone = data["ServicePhone"].ToString(); //- 商户电话
  43. string SalesScenesType = data["SalesScenesType"].ToString(); //- 所属行业
  44. string MchtNo = data["MchtNo"].ToString(); // 收款商户号
  45. string BizStoreName = data["BizStoreName"].ToString(); //- 门店名称
  46. string BizAddressCode = data["BizAddressCode"].ToString(); //- 门店区域
  47. string BizStoreAddress = data["BizStoreAddress"].ToString(); //- 门店地址
  48. string IdCardCopy = data["IdCardCopy"].ToString(); //- 身份证正面
  49. string IdCardNational = data["IdCardNational"].ToString(); //- 身份证反面
  50. string CertLegalPerson = data["CertLegalPerson"].ToString(); //- 真实姓名
  51. string IdCardNumber = data["IdCardNumber"].ToString(); //- 身份证号码
  52. string CardPeriodBegin = data["CardPeriodBegin"].ToString(); //- 身份证有效期开始
  53. string CardPeriodEnd = data["CardPeriodEnd"].ToString(); //- 身份证有效期结束
  54. string PeriodBegin = data["PeriodBegin"].ToString(); //- 身份证有效期开始
  55. string PeriodEnd = data["PeriodEnd"].ToString(); //- 身份证有效期结束
  56. string MobilePhone = data["MobilePhone"].ToString(); //- 手机号码
  57. string AccountName = data["AccountName"].ToString(); //- 开户名称
  58. string ChannelKind = data["ChannelKind"].ToString(); // 商户类型
  59. string BankAccountType = data["BankAccountType"].ToString(); //- 账户类型
  60. string AccountNumber = data["AccountNumber"].ToString(); //- 银行卡号
  61. string AccountBank = data["AccountBank"].ToString(); //- 开户行
  62. string BankCard = data["BankCard"].ToString(); // 银行卡照片
  63. string OpenAccountLicenses = data["OpenAccountLicenses"].ToString(); // 开户许可证
  64. string BankName = data["BankName"].ToString(); //- 开户行全称
  65. string BankAddressCode = data["BankAddressCode"].ToString(); //- 开户地区
  66. string PersonWithIdCard = data["PersonWithIdCard"].ToString(); //- 手持身份证照片(小微)
  67. string StoreEntrancePic = data["StoreEntrancePic"].ToString(); // 门头照片组
  68. string IndoorPic = data["IndoorPic"].ToString(); // 环境照片组
  69. string CheckstandImg = data["CheckstandImg"].ToString(); // 收银照片组
  70. string Extra1 = data["Extra1"].ToString(); // 补充资料照片组
  71. string IndustryLicense1 = data["IndustryLicense1"].ToString(); //- 特殊资质照片组
  72. // string ContactName = data["ContactName"].ToString(); //管理员姓名
  73. // string ContactIdNumber = data["ContactIdNumber"].ToString(); //管理员身份证件号码
  74. // string MobilePhone = data["MobilePhone"].ToString(); //联系手机
  75. // string ContactEmail = data["ContactEmail"].ToString(); //联系邮箱
  76. // string SubjectType = data["SubjectType"].ToString(); //主体类型 0-企业法人营业执照 1-个体工商户营业执照
  77. // string LicenseCopy = data["LicenseCopy"].ToString(); //营业执照照片
  78. // string LicenseNumber = data["LicenseNumber"].ToString(); //统一社会信用代码
  79. // string CertMerchantName = data["CertMerchantName"].ToString(); //商户名称
  80. // string CertLegalPerson = data["CertLegalPerson"].ToString(); //法人姓名
  81. // string IdCardCopy = data["IdCardCopy"].ToString(); //身份证人像面照片
  82. // string IdCardNational = data["IdCardNational"].ToString(); //身份证国徽面照片
  83. // string IdCardName = data["IdCardName"].ToString(); //身份证姓名
  84. // string IdCardNumber = data["IdCardNumber"].ToString(); //身份证号码
  85. // string IdCardAddress = data["IdCardAddress"].ToString(); //身份证号码
  86. // string CardPeriodBeginString = data["CardPeriodBegin"].ToString();
  87. // if (string.IsNullOrEmpty(CardPeriodBeginString))
  88. // {
  89. // CardPeriodBeginString = "1900-01-01";
  90. // }
  91. // DateTime CardPeriodBegin = DateTime.Parse(CardPeriodBeginString); //身份证有效期开始时间
  92. // string CardPeriodEndString = data["CardPeriodEnd"].ToString();
  93. // if (string.IsNullOrEmpty(CardPeriodEndString))
  94. // {
  95. // CardPeriodEndString = "1900-01-01";
  96. // }
  97. // DateTime CardPeriodEnd = DateTime.Parse(CardPeriodEndString); //身份证有效期结束时间
  98. // string ServicePhone = data["ServicePhone"].ToString(); //客服电话
  99. // string BizStoreName = data["BizStoreName"].ToString(); //门店名称
  100. // string BizAddressCode = data["BizAddressCode"].ToString(); //门店省市编码
  101. // string BizStoreAddress = data["BizStoreAddress"].ToString(); //门店地址
  102. // string StoreEntrancePic = data["StoreEntrancePic"].ToString(); //门店门头照片
  103. // string IndoorPic = data["IndoorPic"].ToString(); //店内环境照片
  104. // string QualificationType = data["QualificationType"].ToString(); //所属行业
  105. // string SettlementId = data["SettlementId"].ToString(); //入驻结算规则ID
  106. // string AlipayMccCode = "";
  107. // if (!string.IsNullOrEmpty(SettlementId))
  108. // {
  109. // AlipayMccCode = SettlementId.Substring(SettlementId.IndexOf("_") + 1);
  110. // SettlementId = SettlementId.Substring(0, SettlementId.IndexOf("_"));
  111. // }
  112. // string AlipayAccount = data["AlipayAccount"].ToString(); //支付宝账号
  113. // string BankAccountType = data["BankAccountType"].ToString(); //账户类型 1 对私 0 对公
  114. // string AccountName = data["AccountName"].ToString(); //开户名称
  115. // string AccountBank = data["AccountBank"].ToString(); //开户银行
  116. // string BankAddressCode = data["BankAddressCode"].ToString(); //开户银行省市编码
  117. // string MerchantShortname = data["MerchantShortname"].ToString();
  118. // string BankName = data["BankName"].ToString(); //开户银行全称
  119. // string AccountNumber = data["AccountNumber"].ToString(); //银行账号
  120. // string Qualifications = data["Qualifications"].ToString(); //特殊资质图
  121. // //new add parameters:
  122. // string PeriodBegin = data["PeriodBegin"].ToString();//营业执照有效开始时间
  123. // string PeriodEnd = data["PeriodEnd"].ToString();//营业执照有效结束时间
  124. // string ChannelKind = data["ChannelKind"].ToString(); //商户类型 有执照填000002无执照填000001
  125. // string ResserveMobile = data["ResserveMobile"].ToString(); //银行预留手机号 channelkind为000001时必填
  126. // string BusinessId = data["BusinessId"].ToString(); //经营范围 参考经营范围表
  127. // string OpenAccountLicenses = data["OpenAccountLicenses"].ToString(); //开户许可证(对公凭证)
  128. // // string RentAgreement = data["RentAgreement"].ToString(); //租赁协议
  129. // // string OperatorMcht = data["OperatorMcht"].ToString(); //盒伙人商户合影
  130. // // string AgentProtocol = data["AgentProtocol"].ToString(); //委托结算协议
  131. // // string SignaturePicture = data["SignaturePicture"].ToString(); //商户签名图片
  132. // // string Support = data["Support"].ToString(); //辅助照片
  133. // string CheckstandImg = data["CheckstandImg"].ToString(); //收银台
  134. // // string ProductImg = data["ProductImg"].ToString(); //商品照片
  135. // // string Agreement = data["Agreement"].ToString(); //合同签名
  136. // // string TaxImage = data["TaxImage"].ToString(); //税务登记证
  137. // // string OrganizationCopy = data["OrganizationCopy"].ToString(); //组织机构证照片
  138. // string IndustryLicense1 = data["IndustryLicense1"].ToString(); //行业许可证
  139. // // string FaceRecognition = data["FaceRecognition"].ToString(); //正面人像图片
  140. // string Extra1 = data["Extra1"].ToString(); //补充资料
  141. // string BankCard = data["BankCard"].ToString(); //银行卡照片
  142. // string PersonWithIdCard = data["PersonWithIdCard"].ToString(); //手持身份证
  143. // // string TakeCreditCard = data["TakeCreditCard"].ToString(); //拍卡
  144. // string MchtNo = data["MchtNo"].ToString(); //收款商户号
  145. int Finish = int.Parse(function.CheckInt(data["Finish"].ToString()));
  146. int UserId = int.Parse(function.CheckInt(data["UserId"].ToString()));
  147. int MerchantAddInfoId = int.Parse(function.CheckInt(data["Id"].ToString()));
  148. string BankBranchId = "";
  149. if (Finish == 1)
  150. {
  151. var openBank = OpenBankTableService.Query(" BankName='" + BankName + "'");
  152. if (openBank == null)
  153. {
  154. return new AppResultJson() { Status = "-1", Info = "开户银行全称不正确" };
  155. }
  156. BankBranchId = openBank.BankCode;
  157. }
  158. Dictionary<string, object> Obj = new Dictionary<string, object>();
  159. // var query = MerchantAddInfoService.Query(" CertMerchantName='" + CertMerchantName + "'");
  160. // if (query == null)
  161. // {
  162. // Dictionary<string, object> Fiel = new Dictionary<string, object>();
  163. // Fiel.Add("CertMerchantName", CertMerchantName);
  164. // MerchantAddInfoService.Add(Fiel);
  165. // }
  166. // var ActivitiesId = "20191030111cff5b5e";
  167. // var ActivitiesRate = "0.38";
  168. // MerchantAddInfoUtil.EditMerchantAddInfo(query.Id, ContactName, ContactIdNumber, MobilePhone, ContactEmail, SubjectType, LicenseCopy, LicenseNumber, CertLegalPerson, CertMerchantName, CertLegalPerson, ServicePhone, BizStoreName, BizAddressCode, BizStoreAddress, StoreEntrancePic, IndoorPic, QualificationType, SettlementId, BankAccountType, AccountName, AccountBank, BankAddressCode, BankName, BankBranchId, AccountNumber, IdCardCopy, IdCardNational, IdCardName, IdCardNumber, IdCardAddress, CardPeriodBegin, CardPeriodEnd, MerchantShortname, Qualifications, ActivitiesId, ActivitiesRate, AlipayAccount, AlipayMccCode, ChannelKind, SalesScenesType, OpenAccountLicenses, RentAgreement, OperatorMcht, AgentProtocol, SignaturePicture, Support, CheckstandImg, ProductImg, Agreement, TaxImage, OrganizationCopy, IndustryLicense1, FaceRecognition, Extra1, BankCard, PersonWithIdCard, TakeCreditCard, MchtNo);
  169. Dictionary<string, object> Fields = new Dictionary<string, object>();
  170. Fields.Add("LicenseCopy", LicenseCopy); //- 营业执照
  171. Fields.Add("CertMerchantName", CertMerchantName); //- 商户名称
  172. Fields.Add("LicenseNumber", LicenseNumber); //- 商户信用代码
  173. Fields.Add("SubjectType", SubjectType); //- 主体类型
  174. Fields.Add("MerchantShortname", MerchantShortname); //- 用户名称简写
  175. Fields.Add("ServicePhone", ServicePhone); //- 商户电话
  176. Fields.Add("SalesScenesType", SalesScenesType); //- 所属行业
  177. Fields.Add("MchtNo", MchtNo); // 收款商户号
  178. Fields.Add("BizStoreName", BizStoreName); //- 门店名称
  179. Fields.Add("BizAddressCode", BizAddressCode); //- 门店区域
  180. Fields.Add("BizStoreAddress", BizStoreAddress); //- 门店地址
  181. Fields.Add("IdCardCopy", IdCardCopy); //- 身份证正面
  182. Fields.Add("IdCardNational", IdCardNational); //- 身份证反面
  183. Fields.Add("CertLegalPerson", CertLegalPerson); //- 真实姓名
  184. Fields.Add("IdCardNumber", IdCardNumber); //- 身份证号码
  185. Fields.Add("CardPeriodBegin", CardPeriodBegin); //- 身份证有效期开始
  186. Fields.Add("CardPeriodEnd", CardPeriodEnd); //- 身份证有效期结束
  187. Fields.Add("PeriodBegin", PeriodBegin); //- 身份证有效期开始
  188. Fields.Add("PeriodEnd", PeriodEnd); //- 身份证有效期结束
  189. Fields.Add("MobilePhone", MobilePhone); //- 手机号码
  190. Fields.Add("AccountName", AccountName); //- 开户名称
  191. Fields.Add("ChannelKind", ChannelKind); // 商户类型
  192. Fields.Add("BankAccountType", BankAccountType); //- 账户类型
  193. Fields.Add("AccountNumber", AccountNumber); //- 银行卡号
  194. Fields.Add("AccountBank", AccountBank); //- 开户行
  195. Fields.Add("BankCard", BankCard); // 银行卡照片
  196. Fields.Add("openAccountLicenses", OpenAccountLicenses); // 开户许可证
  197. Fields.Add("BankName", BankName); //- 开户行全称
  198. Fields.Add("BankAddressCode", BankAddressCode); //- 开户地区
  199. Fields.Add("PersonWithIdCard", PersonWithIdCard); //- 手持身份证照片(小微)
  200. Fields.Add("StoreEntrancePic", StoreEntrancePic); // 门头照片组
  201. Fields.Add("IndoorPic", IndoorPic); // 环境照片组
  202. Fields.Add("checkstandImg", CheckstandImg); // 收银照片组
  203. Fields.Add("extra1", Extra1); // 补充资料照片组
  204. Fields.Add("industryLicense1", IndustryLicense1); //- 特殊资质照片组
  205. MerchantAddInfoUtil.EditMerchantAddInfo(Fields, MerchantAddInfoId);
  206. MerchantAddInfoId = (int)MerchantInfoUtil.EditMerchantInfo(MerchantAddInfoId, UserId, CertMerchantName, MobilePhone, BizAddressCode, BizStoreAddress).Data;
  207. if (Finish == 1)
  208. {
  209. Dictionary<string, object> Fiel = new Dictionary<string, object>();
  210. Fiel.Add("Sort", 1);
  211. MerchantInfoService.Edit(Fiel, MerchantAddInfoId);
  212. // 如果提交完整资料,则发送到BsServer执行进件操作
  213. RedisDbconn.Instance.AddList("MerchantConfirmQueue", "{\"MerchantId\":\"" + MerchantAddInfoId + "\"}");
  214. }
  215. Obj.Add("Id", MerchantAddInfoId); //Id
  216. return new AppResultJson() { Status = "1", Info = "", Data = Obj };
  217. }
  218. #endregion
  219. #region 创客-首页-商户进件详情
  220. // [Authorize]
  221. public JsonResult Detail(string value)
  222. {
  223. value = DesDecrypt(value);
  224. JsonData data = JsonMapper.ToObject(value);
  225. Dictionary<string, object> Obj = DetailDo(value);
  226. return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj });
  227. }
  228. public Dictionary<string, object> DetailDo(string value)
  229. {
  230. JsonData data = JsonMapper.ToObject(value);
  231. int Id = int.Parse(function.CheckInt(data["Id"].ToString()));
  232. var query = MerchantAddInfoService.Query(Id);
  233. Dictionary<string, string> Subjects = GetSubjects();
  234. Dictionary<string, string> AccountTypes = GetAccountTypes();
  235. List<SettleData> Settles = GetSettles(query.SubjectType);
  236. return MerchantAddInfoUtil.MerchantAddInfoDetail(query, Subjects, AccountTypes, Settles);
  237. }
  238. #endregion
  239. #region 创客-首页-经营范围
  240. // [Authorize]
  241. public JsonResult BusinessScope(string value)
  242. {
  243. value = DesDecrypt(value);
  244. JsonData data = JsonMapper.ToObject(value);
  245. List<Dictionary<string, object>> dataList = BusinessScopeDo(value);
  246. return Json(new AppResultJson() { Status = "1", Info = "", Data = dataList });
  247. }
  248. public List<Dictionary<string, object>> BusinessScopeDo(string value)
  249. {
  250. JsonData data = JsonMapper.ToObject(value);
  251. List<Dictionary<string, object>> dataList = new List<Dictionary<string, object>>();
  252. var first = maindb.BusinessScopeType.OrderBy(m => m.Id).ToList();
  253. foreach (var itemf in first)
  254. {
  255. Dictionary<string, object> item = new Dictionary<string, object>();
  256. item.Add("value", itemf.Id);
  257. item.Add("text", itemf.KindName);
  258. var second = maindb.BusinessScope.Where(m => m.KindId == itemf.Id).OrderBy(m => m.Id).ToList();
  259. List<Dictionary<string, object>> sublist = new List<Dictionary<string, object>>();
  260. foreach (var items in second)
  261. {
  262. Dictionary<string, object> subitem = new Dictionary<string, object>();
  263. subitem.Add("value", items.Id);
  264. subitem.Add("text", items.Name);
  265. sublist.Add(subitem);
  266. }
  267. item.Add("children", sublist);
  268. dataList.Add(item);
  269. }
  270. return dataList;
  271. }
  272. #endregion
  273. #region 创客-首页-进件选项接口
  274. // [Authorize]
  275. public JsonResult Options(string value)
  276. {
  277. value = DesDecrypt(value);
  278. JsonData data = JsonMapper.ToObject(value);
  279. List<Dictionary<string, object>> dataList = OptionsDo(value);
  280. return Json(new AppResultJson() { Status = "1", Info = "", Data = dataList });
  281. }
  282. public List<Dictionary<string, object>> OptionsDo(string value)
  283. {
  284. JsonData data = JsonMapper.ToObject(value);
  285. string Kind = data["Kind"].ToString(); //分类
  286. int PageSize = int.Parse(function.CheckInt(data["PageSize"].ToString()));
  287. int PageNum = int.Parse(function.CheckInt(data["PageNum"].ToString()));
  288. List<Dictionary<string, object>> dataList = new List<Dictionary<string, object>>();
  289. // if (Kind == "2")
  290. // {
  291. // dataList = GetPersonSettles();
  292. // }
  293. // else if (Kind == "21")
  294. // {
  295. // dataList = GetBusinessSettles();
  296. // }
  297. // if (!string.IsNullOrEmpty(Kind))
  298. if (Kind == "2" || Kind == "21")
  299. {
  300. Dictionary<string, object> item = new Dictionary<string, object>();
  301. var first = maindb.BusinessScopeType.OrderBy(m => m.Id).ToList();
  302. foreach (var itemf in first)
  303. {
  304. item.Add("Id", itemf.Id);
  305. item.Add("Name", itemf.KindName);
  306. var second = maindb.BusinessScope.Where(m => m.KindId == itemf.Id).OrderBy(m => m.Id).ToList();
  307. List<Dictionary<string, object>> sublist = new List<Dictionary<string, object>>();
  308. foreach (var items in second)
  309. {
  310. Dictionary<string, object> subitem = new Dictionary<string, object>();
  311. subitem.Add("Id", items.Id);
  312. subitem.Add("Name", items.Name);
  313. sublist.Add(subitem);
  314. }
  315. item.Add("Children", sublist);
  316. dataList.Add(item);
  317. }
  318. }
  319. else
  320. {
  321. Dictionary<string, string> query = new Dictionary<string, string>();
  322. if (Kind == "1")
  323. {
  324. query = GetSubjects();
  325. }
  326. else if (Kind == "3")
  327. {
  328. query = GetAccountTypes();
  329. }
  330. else if (Kind == "4")
  331. {
  332. query = GetBanks();
  333. }
  334. foreach (string key in query.Keys)
  335. {
  336. Dictionary<string, object> curData = new Dictionary<string, object>();
  337. curData.Add("text", query[key]); //文本
  338. curData.Add("value", key); //值
  339. dataList.Add(curData);
  340. }
  341. }
  342. return dataList;
  343. }
  344. public Dictionary<string, string> GetSubjects()
  345. {
  346. Dictionary<string, string> dic = new Dictionary<string, string>();
  347. dic.Add("SUBJECT_TYPE_INDIVIDUAL", "个体工商户");
  348. dic.Add("SUBJECT_TYPE_ENTERPRISE", "企业公司");
  349. dic.Add("SUBJECT_TYPE_SMALL", "小微商户");
  350. // dic.Add("SUBJECT_TYPE_INSTITUTIONS", "党政、机关及事业单位");
  351. // dic.Add("SUBJECT_TYPE_OTHERS", "其他组织");
  352. return dic;
  353. }
  354. public List<SettleData> GetSettles(string Kind)
  355. {
  356. if (Kind == "SUBJECT_TYPE_INDIVIDUAL")
  357. {
  358. return GetPersonSettleItems();
  359. }
  360. return GetBusinessSettleItems();
  361. }
  362. public List<SettleData> GetPersonSettleItems()
  363. {
  364. List<SettleData> dic = new List<SettleData>();
  365. dic.Add(new SettleData() { ptext = "食品生鲜", text = "肉、禽、蛋及水产品等", value = "719", code = "A0002_B0202" });
  366. dic.Add(new SettleData() { ptext = "健身运动服务", text = "健身房", value = "719", code = "A0004_B0064" });
  367. dic.Add(new SettleData() { ptext = "健身运动服务", text = "体育场馆", value = "719", code = "A0004_B0068" });
  368. dic.Add(new SettleData() { ptext = "居民生活服务", text = "公共交通", value = "719", code = "A0006_B0088" });
  369. dic.Add(new SettleData() { ptext = "景区/酒店", text = "旅行住宿", value = "719", code = "A0010_B0157" });
  370. dic.Add(new SettleData() { ptext = "居民生活服务", text = "生活服务", value = "719", code = "A0003_B0116" });
  371. dic.Add(new SettleData() { ptext = "零售", text = "百货商城", value = "719", code = "A0002_B0017" });
  372. dic.Add(new SettleData() { ptext = "服饰鞋包", text = "服饰鞋包", value = "719", code = "A0002_B0026" });
  373. dic.Add(new SettleData() { ptext = "零售", text = "家居家纺建材", value = "719", code = "A0002_B0216" });
  374. dic.Add(new SettleData() { ptext = "零售", text = "母婴玩具", value = "719", code = "A0002_B0032" });
  375. dic.Add(new SettleData() { ptext = "零售", text = "数码家电", value = "719", code = "A0003_B0051" });
  376. dic.Add(new SettleData() { ptext = "零售", text = "图书音像", value = "719", code = "A0002_B0031" });
  377. dic.Add(new SettleData() { ptext = "居民生活服务", text = "文化玩乐宠物", value = "719", code = "A0004_B0070" });
  378. dic.Add(new SettleData() { ptext = "咨询/娱乐票务", text = "娱乐票务", value = "719", code = "A0004_B0065" });
  379. dic.Add(new SettleData() { ptext = "零售", text = "办公用品", value = "719", code = "A0002_B0203" });
  380. dic.Add(new SettleData() { ptext = "零售", text = "工业产品", value = "719", code = "A0002_B0042" });
  381. dic.Add(new SettleData() { ptext = "咨询/娱乐票务", text = "专业咨询", value = "719", code = "A0008_B0139" });
  382. dic.Add(new SettleData() { ptext = "其他", text = "其他类别", value = "716", code = "A0002_B0043" });
  383. // dic.Add(new SettleData() { ptext = "餐饮", text = "餐饮", code = "C_C05_5814", value = "719", special = 0});
  384. // dic.Add(new SettleData() { ptext = "食品生鲜", text = "酒类", code = "C_C05_5921", value = "719", special = 1});
  385. // dic.Add(new SettleData() { ptext = "食品生鲜", text = "肉、禽、蛋及水产品等", code = "C_C05_5422", value = "719", special = 0});
  386. // dic.Add(new SettleData() { ptext = "私立/民营医院/诊所", text = "医疗服务", code = "P_P01_8011", value = "719", special = 1});
  387. // dic.Add(new SettleData() { ptext = "保健器械/医疗器械/非处方药品", text = "药品、药品经营者(批发商)", code = "B_B04_5122", value = "719", special = 1});
  388. // dic.Add(new SettleData() { ptext = "保健器械/医疗器械/非处方药品", text = "医疗器械", code = "B_B04_5047", value = "719", special = 1});
  389. // dic.Add(new SettleData() { ptext = "游艺厅/KTV/网吧", text = "游艺厅/KTV", code = "D_D01_7999", value = "719", special = 1});
  390. // dic.Add(new SettleData() { ptext = "游艺厅/KTV/网吧", text = "网吧", code = "D_D01_7999", value = "719", special = 1});
  391. // dic.Add(new SettleData() { ptext = "宠物医院", text = "宠物及宠物用品", code = "C_C10_5995", value = "719", special = 1});
  392. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "公共交通", code = "A_A01_4121", value = "719", special = 0});
  393. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "旅行住宿", code = "A_A04_7011", value = "719", special = 0});
  394. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "公共仓储、集装整理", code = "A_A02_4225", value = "719", special = 0});
  395. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "商业服务", code = "S_S05_7338", value = "719", special = 0});
  396. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "汽车租赁和服务", code = "S_S10_7512", value = "719", special = 0});
  397. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "生活服务", code = "S_S08_7295", value = "719", special = 0});
  398. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "百货商城", code = "C_C04_5411", value = "719", special = 0});
  399. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "服饰鞋包", code = "C_C06_5699", value = "719", special = 0});
  400. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "家居家纺建材", code = "C_C03_5211", value = "719", special = 0});
  401. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "母婴玩具", code = "C_C02_5641", value = "719", special = 0});
  402. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "数码家电", code = "C_C07_5732", value = "719", special = 0});
  403. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "图书音像", code = "C_C09_5942", value = "719", special = 0});
  404. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "文化玩乐宠物", code = "C_C10_5995", value = "719", special = 0});
  405. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "彩票", code = "D_D03_7995", value = "719", special = 0});
  406. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "娱乐票务", code = "D_D01_7999", value = "719", special = 0});
  407. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "法律咨询和律师事务所", code = "P_P04_8111", value = "719", special = 1});
  408. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "办公用品", code = "B_B01_5943", value = "719", special = 0});
  409. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "工业产品", code = "B_B02_5065", value = "719", special = 0});
  410. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "汽车和运输工具", code = "B_B03_5599", value = "719", special = 0});
  411. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "专业咨询", code = "P_P04_8999", value = "719", special = 0});
  412. // dic.Add(new SettleData() { ptext = "话费通讯", text = "话费充值与缴费", code = "D_D04_4815", value = "720", special = 1});
  413. // dic.Add(new SettleData() { ptext = "加油", text = "加油站、服务站", code = "B_B03_5541", value = "721", special = 1});
  414. return dic;
  415. }
  416. public List<Dictionary<string, object>> GetPersonSettles()
  417. {
  418. List<SettleData> dic = GetPersonSettleItems();
  419. int i = 0;
  420. List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
  421. foreach (string sub in dic.Select(m => m.ptext).Distinct().ToList())
  422. {
  423. i += 1;
  424. Dictionary<string, object> bigDic = new Dictionary<string, object>();
  425. bigDic.Add("value", i.ToString());
  426. bigDic.Add("text", sub);
  427. List<Dictionary<string, object>> children = new List<Dictionary<string, object>>();
  428. foreach (SettleData ssub in dic.Where(m => m.ptext == sub).ToList())
  429. {
  430. Dictionary<string, object> smallDic = new Dictionary<string, object>();
  431. smallDic.Add("value", ssub.value + "_" + ssub.code);
  432. smallDic.Add("text", ssub.text);
  433. smallDic.Add("special", ssub.special);
  434. children.Add(smallDic);
  435. }
  436. bigDic.Add("children", children);
  437. list.Add(bigDic);
  438. }
  439. return list;
  440. }
  441. public List<SettleData> GetBusinessSettleItems()
  442. {
  443. List<SettleData> dic = new List<SettleData>();
  444. dic.Add(new SettleData() { ptext = "餐饮", text = "餐饮", value = "716", code = "A0001_B0001" });
  445. dic.Add(new SettleData() { ptext = "食品生鲜", text = "肉、禽、蛋及水产品等", value = "716", code = "A0002_B0202" });
  446. dic.Add(new SettleData() { ptext = "健身运动服务", text = "健身房", value = "716", code = "A0004_B0064" });
  447. dic.Add(new SettleData() { ptext = "健身运动服务", text = "体育场馆", value = "716", code = "A0004_B0068" });
  448. dic.Add(new SettleData() { ptext = "城市公共交通", text = "公共交通", value = "716", code = "A0006_B0088" });
  449. dic.Add(new SettleData() { ptext = "景区/酒店", text = "旅行住宿", value = "716", code = "A0010_B0157" });
  450. dic.Add(new SettleData() { ptext = "居民生活服务", text = "生活服务", value = "716", code = "A0003_B0116" });
  451. dic.Add(new SettleData() { ptext = "零售", text = "百货商城", value = "716", code = "A0002_B0017" });
  452. dic.Add(new SettleData() { ptext = "服饰鞋包", text = "服饰鞋包", value = "716", code = "A0002_B0026" });
  453. dic.Add(new SettleData() { ptext = "零售", text = "家居家纺建材", value = "716", code = "A0002_B0216" });
  454. dic.Add(new SettleData() { ptext = "零售", text = "母婴玩具", value = "716", code = "A0002_B0032" });
  455. dic.Add(new SettleData() { ptext = "零售", text = "数码家电", value = "716", code = "A0003_B0051" });
  456. dic.Add(new SettleData() { ptext = "零售", text = "图书音像", value = "716", code = "A0002_B0031" });
  457. dic.Add(new SettleData() { ptext = "居民生活服务", text = "文化玩乐宠物", value = "716", code = "A0004_B0070" });
  458. dic.Add(new SettleData() { ptext = "咨询/娱乐票务", text = "娱乐票务", value = "716", code = "A0004_B0065" });
  459. dic.Add(new SettleData() { ptext = "零售", text = "办公用品", value = "716", code = "A0002_B0203" });
  460. dic.Add(new SettleData() { ptext = "零售", text = "工业产品", value = "716", code = "A0002_B0042" });
  461. dic.Add(new SettleData() { ptext = "婚介平台/就业信息平台/其他信息服务平台", text = "婚介服务", value = "720", code = "A0003_B0053" });
  462. dic.Add(new SettleData() { ptext = "零售", text = "其它类别", value = "716", code = "A0002_B0043" });
  463. // dic.Add(new SettleData() { ptext = "餐饮", text = "餐饮", code = "C_C05_5814", value = "716", special = 0});
  464. // dic.Add(new SettleData() { ptext = "电商平台", text = "电商平台", code = "C_C05_5814", value = "716", special = 0});
  465. // dic.Add(new SettleData() { ptext = "食品生鲜", text = "酒类", code = "C_C05_5921", value = "716", special = 1});
  466. // dic.Add(new SettleData() { ptext = "食品生鲜", text = "肉、禽、蛋及水产品等", code = "C_C05_5422", value = "716", special = 0});
  467. // dic.Add(new SettleData() { ptext = "电信运营商/宽带收费", text = "电信通讯", code = "D_D04_4814", value = "716", special = 1});
  468. // dic.Add(new SettleData() { ptext = "私立/民营医院/诊所", text = "医疗服务", code = "P_P01_8011", value = "716", special = 1});
  469. // dic.Add(new SettleData() { ptext = "保健器械/医疗器械/非处方药品", text = "医疗器械", code = "B_B04_5047", value = "716", special = 1});
  470. // dic.Add(new SettleData() { ptext = "保健器械/医疗器械/非处方药品", text = "药品、药品经营者(批发商)", code = "B_B04_5122", value = "716", special = 1});
  471. // dic.Add(new SettleData() { ptext = "游艺厅/KTV/网吧", text = "游艺厅/KTV", code = "D_D01_7999", value = "716", special = 1});
  472. // dic.Add(new SettleData() { ptext = "游艺厅/KTV/网吧", text = "网吧", code = "D_D01_7999", value = "716", special = 1});
  473. // dic.Add(new SettleData() { ptext = "宠物医院", text = "宠物及宠物用品", code = "C_C10_5995", value = "716", special = 1});
  474. // dic.Add(new SettleData() { ptext = "旅行社", text = "旅行社和旅游服务", code = "A_A04_4722", value = "716", special = 1});
  475. // dic.Add(new SettleData() { ptext = "宗教组织", text = "宗教物品", code = "C_C10_5973", value = "716", special = 0});
  476. // dic.Add(new SettleData() { ptext = "宗教组织", text = "其他宗教服务", code = "P_P04_8999", value = "716", special = 1});
  477. // dic.Add(new SettleData() { ptext = "文物经营/文物复制品销售", text = "文物经营/文物复制品销售", code = "C_C10_5971", value = "716", special = 1});
  478. // dic.Add(new SettleData() { ptext = "拍卖典当", text = "典当行", code = "S_S04_5933", value = "716", special = 1});
  479. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "公共交通", code = "A_A01_4121", value = "716", special = 0});
  480. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "旅行住宿", code = "A_A04_7011", value = "716", special = 0});
  481. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "公共仓储、集装整理", code = "A_A02_4225", value = "716", special = 0});
  482. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "商业服务", code = "S_S05_7338", value = "716", special = 0});
  483. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "汽车租赁和服务", code = "S_S10_7512", value = "716", special = 0});
  484. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "生活服务", code = "S_S08_7295", value = "716", special = 0});
  485. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "百货商城", code = "C_C04_5411", value = "716", special = 0});
  486. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "服饰鞋包", code = "C_C06_5699", value = "716", special = 0});
  487. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "家居家纺建材", code = "C_C03_5211", value = "716", special = 0});
  488. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "母婴玩具", code = "C_C02_5641", value = "716", special = 0});
  489. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "数码家电", code = "C_C07_5732", value = "716", special = 0});
  490. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "图书音像", code = "C_C09_5942", value = "716", special = 0});
  491. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "文化玩乐宠物", code = "C_C10_5995", value = "716", special = 0});
  492. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "彩票", code = "D_D03_7995", value = "716", special = 0});
  493. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "娱乐票务", code = "D_D01_7999", value = "716", special = 0});
  494. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "法律咨询和律师事务所", code = "P_P04_8111", value = "716", special = 1});
  495. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "办公用品", code = "B_B01_5943", value = "716", special = 0});
  496. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "工业产品", code = "B_B02_5065", value = "716", special = 0});
  497. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "汽车和运输工具", code = "B_B03_5599", value = "716", special = 0});
  498. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "专业咨询", code = "P_P04_8999", value = "716", special = 0});
  499. // dic.Add(new SettleData() { ptext = "话费通讯", text = "话费充值与缴费", code = "D_D04_4815", value = "728", special = 1});
  500. // dic.Add(new SettleData() { ptext = "婚介平台/就业信息平台/其他", text = "婚介服务", code = "S_S08_7273", value = "728", special = 0});
  501. // dic.Add(new SettleData() { ptext = "门户论坛/网络广告及推广/软件开发/其他互联网服务", text = "计算机服务/其他", code = "D_D05_7372", value = "711", special = 0});
  502. // dic.Add(new SettleData() { ptext = "快递", text = "快递服务", code = "A_A02_4215", value = "717", special = 1});
  503. // dic.Add(new SettleData() { ptext = "加油", text = "加油站、服务站", code = "B_B03_5541", value = "717", special = 1});
  504. // dic.Add(new SettleData() { ptext = "公共事业(水电煤气)", text = "公共事业(电、气、水)", code = "S_S06_4900", value = "730", special = 1});
  505. // dic.Add(new SettleData() { ptext = "公共事业(水电煤气)", text = "公共事业-电力缴费", code = "S_S06_4901", value = "730", special = 1});
  506. // dic.Add(new SettleData() { ptext = "公共事业(水电煤气)", text = "公共事业-煤气缴费", code = "S_S06_4902", value = "730", special = 1});
  507. // dic.Add(new SettleData() { ptext = "公共事业(水电煤气)", text = "公共事业-自来水缴费", code = "S_S06_4903", value = "730", special = 1});
  508. return dic;
  509. }
  510. public List<Dictionary<string, object>> GetBusinessSettles()
  511. {
  512. List<SettleData> dic = GetBusinessSettleItems();
  513. int i = 0;
  514. List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
  515. foreach (string sub in dic.Select(m => m.ptext).Distinct().ToList())
  516. {
  517. i += 1;
  518. Dictionary<string, object> bigDic = new Dictionary<string, object>();
  519. bigDic.Add("value", i.ToString());
  520. bigDic.Add("text", sub);
  521. List<Dictionary<string, object>> children = new List<Dictionary<string, object>>();
  522. foreach (SettleData ssub in dic.Where(m => m.ptext == sub).ToList())
  523. {
  524. Dictionary<string, object> smallDic = new Dictionary<string, object>();
  525. smallDic.Add("value", ssub.value + "_" + ssub.code);
  526. smallDic.Add("text", ssub.text);
  527. smallDic.Add("special", ssub.special);
  528. children.Add(smallDic);
  529. }
  530. bigDic.Add("children", children);
  531. list.Add(bigDic);
  532. }
  533. return list;
  534. }
  535. public Dictionary<string, string> GetAccountTypes()
  536. {
  537. Dictionary<string, string> dic = new Dictionary<string, string>();
  538. dic.Add("BANK_ACCOUNT_TYPE_CORPORATE", "企业对公银行账号");
  539. dic.Add("BANK_ACCOUNT_TYPE_PERSONAL", "法人个人银行卡");
  540. return dic;
  541. }
  542. public Dictionary<string, string> GetBanks()
  543. {
  544. Dictionary<string, string> dic = new Dictionary<string, string>();
  545. dic.Add("工商银行", "工商银行");
  546. dic.Add("农业银行", "农业银行");
  547. dic.Add("邮储银行", "邮储银行");
  548. dic.Add("建设银行", "建设银行");
  549. dic.Add("招商银行", "招商银行");
  550. dic.Add("中国银行", "中国银行");
  551. dic.Add("交通银行", "交通银行");
  552. dic.Add("浦发银行", "浦发银行");
  553. dic.Add("广发银行", "广发银行");
  554. dic.Add("民生银行", "民生银行");
  555. dic.Add("平安银行", "平安银行");
  556. dic.Add("光大银行", "光大银行");
  557. dic.Add("兴业银行", "兴业银行");
  558. dic.Add("中信银行", "中信银行");
  559. dic.Add("上海银行", "上海银行");
  560. dic.Add("其他银行", "其他银行");
  561. return dic;
  562. }
  563. #endregion
  564. #region 检查签名是否合法,合法返回1,不合法返回提示信息
  565. /// <summary>
  566. /// 检查签名是否合法,合法返回1,不合法返回提示信息
  567. /// </summary>
  568. /// <param name="value">请求的参数(json字符串)</param>
  569. /// <param name="signField">要签名的字段</param>
  570. /// <returns></returns>
  571. private string CheckSign(string value, string[] signField)
  572. {
  573. JsonData json = JsonMapper.ToObject(value);
  574. Dictionary<string, string> dic = new Dictionary<string, string>();
  575. for (int i = 0; i < signField.Length; i++)
  576. {
  577. dic.Add(signField[i], json[signField[i]].ToString());
  578. }
  579. string sign = json["sign"].ToString(); //客户端签名字符串
  580. return new Sign().sign(dic, sign);
  581. }
  582. #endregion
  583. }
  584. }