MerchantAddInfoController.cs 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487
  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. JsonData data = JsonMapper.ToObject(value);
  35. string ContactName = data["ContactName"].ToString(); //管理员姓名
  36. string ContactIdNumber = data["ContactIdNumber"].ToString(); //管理员身份证件号码
  37. string MobilePhone = data["MobilePhone"].ToString(); //联系手机
  38. string ContactEmail = data["ContactEmail"].ToString(); //联系邮箱
  39. string SubjectType = data["SubjectType"].ToString(); //主体类型 0-企业法人营业执照 1-个体工商户营业执照
  40. string LicenseCopy = data["LicenseCopy"].ToString(); //营业执照照片
  41. string LicenseNumber = data["LicenseNumber"].ToString(); //统一社会信用代码
  42. string CertMerchantName = data["CertMerchantName"].ToString(); //商户名称
  43. string CertLegalPerson = data["CertLegalPerson"].ToString(); //法人姓名
  44. string IdCardCopy = data["IdCardCopy"].ToString(); //身份证人像面照片
  45. string IdCardNational = data["IdCardNational"].ToString(); //身份证国徽面照片
  46. string IdCardName = data["IdCardName"].ToString(); //身份证姓名
  47. string IdCardNumber = data["IdCardNumber"].ToString(); //身份证号码
  48. string IdCardAddress = data["IdCardAddress"].ToString(); //身份证号码
  49. string CardPeriodBeginString = data["CardPeriodBegin"].ToString();
  50. if (string.IsNullOrEmpty(CardPeriodBeginString))
  51. {
  52. CardPeriodBeginString = "1900-01-01";
  53. }
  54. DateTime CardPeriodBegin = DateTime.Parse(CardPeriodBeginString); //身份证有效期开始时间
  55. string CardPeriodEndString = data["CardPeriodEnd"].ToString();
  56. if (string.IsNullOrEmpty(CardPeriodEndString))
  57. {
  58. CardPeriodEndString = "1900-01-01";
  59. }
  60. DateTime CardPeriodEnd = DateTime.Parse(CardPeriodEndString); //身份证有效期结束时间
  61. string ServicePhone = data["ServicePhone"].ToString(); //客服电话
  62. string BizStoreName = data["BizStoreName"].ToString(); //门店名称
  63. string BizAddressCode = data["BizAddressCode"].ToString(); //门店省市编码
  64. string BizStoreAddress = data["BizStoreAddress"].ToString(); //门店地址
  65. string StoreEntrancePic = data["StoreEntrancePic"].ToString(); //门店门头照片
  66. string IndoorPic = data["IndoorPic"].ToString(); //店内环境照片
  67. string QualificationType = data["QualificationType"].ToString(); //所属行业
  68. string SettlementId = data["SettlementId"].ToString(); //入驻结算规则ID
  69. string AlipayMccCode = "";
  70. if (!string.IsNullOrEmpty(SettlementId))
  71. {
  72. AlipayMccCode = SettlementId.Substring(SettlementId.IndexOf("_") + 1);
  73. SettlementId = SettlementId.Substring(0, SettlementId.IndexOf("_"));
  74. }
  75. string AlipayAccount = data["AlipayAccount"].ToString(); //支付宝账号
  76. string BankAccountType = data["BankAccountType"].ToString(); //账户类型 1 对私 0 对公
  77. string AccountName = data["AccountName"].ToString(); //开户名称
  78. string AccountBank = data["AccountBank"].ToString(); //开户银行
  79. string BankAddressCode = data["BankAddressCode"].ToString(); //开户银行省市编码
  80. string MerchantShortname = data["MerchantShortname"].ToString();
  81. string BankName = data["BankName"].ToString(); //开户银行全称
  82. string AccountNumber = data["AccountNumber"].ToString(); //银行账号
  83. string Qualifications = data["Qualifications"].ToString(); //特殊资质图
  84. //new add parameters:
  85. string ChannelKind = data["ChannelKind"].ToString(); //商户类型 有执照填000002无执照填000001
  86. string SalesScenesType = data["SalesScenesType"].ToString(); //经营范围 参考经营范围表
  87. string OpenAccountLicenses = data["OpenAccountLicenses"].ToString(); //开户许可证
  88. string RentAgreement = data["RentAgreement"].ToString(); //租赁协议
  89. string OperatorMcht = data["OperatorMcht"].ToString(); //盒伙人商户合影
  90. string AgentProtocol = data["AgentProtocol"].ToString(); //委托结算协议
  91. string SignaturePicture = data["SignaturePicture"].ToString(); //商户签名图片
  92. string Support = data["Support"].ToString(); //辅助照片
  93. string CheckstandImg = data["CheckstandImg"].ToString(); //收银台
  94. string ProductImg = data["ProductImg"].ToString(); //商品照片
  95. string Agreement = data["Agreement"].ToString(); //合同签名
  96. string TaxImage = data["TaxImage"].ToString(); //税务登记证
  97. string OrganizationCopy = data["OrganizationCopy"].ToString(); //组织机构证照片
  98. string IndustryLicense1 = data["IndustryLicense1"].ToString(); //行业许可证
  99. string FaceRecognition = data["FaceRecognition"].ToString(); //正面人像图片
  100. string Extra1 = data["Extra1"].ToString(); //补充资料
  101. int Finish = int.Parse(function.CheckInt(data["Finish"].ToString()));
  102. int UserId = int.Parse(function.CheckInt(data["UserId"].ToString()));
  103. int MerchantAddInfoId = int.Parse(function.CheckInt(data["Id"].ToString()));
  104. string BankBranchId = "";
  105. if (Finish == 1)
  106. {
  107. var openBank = OpenBankTableService.Query(" BankName='" + BankName + "'");
  108. if (openBank == null)
  109. {
  110. return new AppResultJson() { Status = "-1", Info = "开户银行全称不正确" };
  111. }
  112. BankBranchId = openBank.BankCode;
  113. }
  114. Dictionary<string, object> Obj = new Dictionary<string, object>();
  115. var query = MerchantAddInfoService.Query(" CertMerchantName='" + CertMerchantName + "'");
  116. if (query == null)
  117. {
  118. Dictionary<string, object> Fiel = new Dictionary<string, object>();
  119. Fiel.Add("CertMerchantName", CertMerchantName);
  120. MerchantAddInfoService.Add(Fiel);
  121. }
  122. var ActivitiesId = "20191030111cff5b5e";
  123. var ActivitiesRate = "0.38";
  124. 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);
  125. var merchant = MerchantInfoService.Query(query.Id);
  126. if (merchant.Id == 0)
  127. {
  128. Dictionary<string, object> Fiel = new Dictionary<string, object>();
  129. Fiel.Add("Id", query.Id);
  130. MerchantInfoService.Add(Fiel);
  131. }
  132. MerchantInfoUtil.EditMerchantInfo(merchant.Id, UserId, CertMerchantName, MobilePhone, BizAddressCode, BizStoreAddress);
  133. if (Finish == 1)
  134. {
  135. merchant.Sort = 1;
  136. Dictionary<string, object> Fiel = new Dictionary<string, object>();
  137. Fiel.Add("Sort", 1);
  138. MerchantInfoService.Edit(Fiel, merchant.Id);
  139. // 如果提交完整资料,则发送到BsServer执行进件操作
  140. RedisDbconn.Instance.AddList("MerchantConfirmQueue", "{\"MerchantId\":\"" + merchant.Id + "\"}");
  141. }
  142. maindb.SaveChanges();
  143. Obj.Add("Id", MerchantAddInfoId); //Id
  144. return new AppResultJson() { Status = "1", Info = "", Data = Obj };
  145. }
  146. #endregion
  147. #region 创客-首页-商户进件详情
  148. [Authorize]
  149. public JsonResult Detail(string value)
  150. {
  151. value = DesDecrypt(value);
  152. JsonData data = JsonMapper.ToObject(value);
  153. Dictionary<string, object> Obj = DetailDo(value);
  154. return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj });
  155. }
  156. public Dictionary<string, object> DetailDo(string value)
  157. {
  158. JsonData data = JsonMapper.ToObject(value);
  159. int Id = int.Parse(function.CheckInt(data["Id"].ToString()));
  160. var query = MerchantAddInfoService.Query(Id);
  161. Dictionary<string, string> Subjects = GetSubjects();
  162. Dictionary<string, string> AccountTypes = GetAccountTypes();
  163. List<SettleData> Settles = GetSettles(query.SubjectType);
  164. return MerchantAddInfoUtil.MerchantAddInfoDetail(query, Subjects, AccountTypes, Settles);
  165. }
  166. #endregion
  167. #region 创客-首页-进件选项接口
  168. [Authorize]
  169. public JsonResult Options(string value)
  170. {
  171. value = DesDecrypt(value);
  172. JsonData data = JsonMapper.ToObject(value);
  173. List<Dictionary<string, object>> dataList = OptionsDo(value);
  174. return Json(new AppResultJson() { Status = "1", Info = "", Data = dataList });
  175. }
  176. public List<Dictionary<string, object>> OptionsDo(string value)
  177. {
  178. JsonData data = JsonMapper.ToObject(value);
  179. string Kind = data["Kind"].ToString(); //分类
  180. int PageSize = int.Parse(function.CheckInt(data["PageSize"].ToString()));
  181. int PageNum = int.Parse(function.CheckInt(data["PageNum"].ToString()));
  182. List<Dictionary<string, object>> dataList = new List<Dictionary<string, object>>();
  183. if (Kind == "2")
  184. {
  185. dataList = GetPersonSettles();
  186. }
  187. else if (Kind == "21")
  188. {
  189. dataList = GetBusinessSettles();
  190. }
  191. else
  192. {
  193. Dictionary<string, string> query = new Dictionary<string, string>();
  194. if (Kind == "1")
  195. {
  196. query = GetSubjects();
  197. }
  198. else if (Kind == "3")
  199. {
  200. query = GetAccountTypes();
  201. }
  202. else if (Kind == "4")
  203. {
  204. query = GetBanks();
  205. }
  206. foreach (string key in query.Keys)
  207. {
  208. Dictionary<string, object> curData = new Dictionary<string, object>();
  209. curData.Add("text", query[key]); //文本
  210. curData.Add("value", key); //值
  211. dataList.Add(curData);
  212. }
  213. }
  214. return dataList;
  215. }
  216. public Dictionary<string, string> GetSubjects()
  217. {
  218. Dictionary<string, string> dic = new Dictionary<string, string>();
  219. dic.Add("SUBJECT_TYPE_INDIVIDUAL", "个体户");
  220. dic.Add("SUBJECT_TYPE_ENTERPRISE", "企业");
  221. // dic.Add("SUBJECT_TYPE_INSTITUTIONS", "党政、机关及事业单位");
  222. // dic.Add("SUBJECT_TYPE_OTHERS", "其他组织");
  223. return dic;
  224. }
  225. public List<SettleData> GetSettles(string Kind)
  226. {
  227. if (Kind == "SUBJECT_TYPE_INDIVIDUAL")
  228. {
  229. return GetPersonSettleItems();
  230. }
  231. return GetBusinessSettleItems();
  232. }
  233. public List<SettleData> GetPersonSettleItems()
  234. {
  235. List<SettleData> dic = new List<SettleData>();
  236. dic.Add(new SettleData() { ptext = "食品生鲜", text = "肉、禽、蛋及水产品等", value = "719", code = "A0002_B0202" });
  237. dic.Add(new SettleData() { ptext = "健身运动服务", text = "健身房", value = "719", code = "A0004_B0064" });
  238. dic.Add(new SettleData() { ptext = "健身运动服务", text = "体育场馆", value = "719", code = "A0004_B0068" });
  239. dic.Add(new SettleData() { ptext = "居民生活服务", text = "公共交通", value = "719", code = "A0006_B0088" });
  240. dic.Add(new SettleData() { ptext = "景区/酒店", text = "旅行住宿", value = "719", code = "A0010_B0157" });
  241. dic.Add(new SettleData() { ptext = "居民生活服务", text = "生活服务", value = "719", code = "A0003_B0116" });
  242. dic.Add(new SettleData() { ptext = "零售", text = "百货商城", value = "719", code = "A0002_B0017" });
  243. dic.Add(new SettleData() { ptext = "服饰鞋包", text = "服饰鞋包", value = "719", code = "A0002_B0026" });
  244. dic.Add(new SettleData() { ptext = "零售", text = "家居家纺建材", value = "719", code = "A0002_B0216" });
  245. dic.Add(new SettleData() { ptext = "零售", text = "母婴玩具", value = "719", code = "A0002_B0032" });
  246. dic.Add(new SettleData() { ptext = "零售", text = "数码家电", value = "719", code = "A0003_B0051" });
  247. dic.Add(new SettleData() { ptext = "零售", text = "图书音像", value = "719", code = "A0002_B0031" });
  248. dic.Add(new SettleData() { ptext = "居民生活服务", text = "文化玩乐宠物", value = "719", code = "A0004_B0070" });
  249. dic.Add(new SettleData() { ptext = "咨询/娱乐票务", text = "娱乐票务", value = "719", code = "A0004_B0065" });
  250. dic.Add(new SettleData() { ptext = "零售", text = "办公用品", value = "719", code = "A0002_B0203" });
  251. dic.Add(new SettleData() { ptext = "零售", text = "工业产品", value = "719", code = "A0002_B0042" });
  252. dic.Add(new SettleData() { ptext = "咨询/娱乐票务", text = "专业咨询", value = "719", code = "A0008_B0139" });
  253. dic.Add(new SettleData() { ptext = "其他", text = "其他类别", value = "716", code = "A0002_B0043" });
  254. // dic.Add(new SettleData() { ptext = "餐饮", text = "餐饮", code = "C_C05_5814", value = "719", special = 0});
  255. // dic.Add(new SettleData() { ptext = "食品生鲜", text = "酒类", code = "C_C05_5921", value = "719", special = 1});
  256. // dic.Add(new SettleData() { ptext = "食品生鲜", text = "肉、禽、蛋及水产品等", code = "C_C05_5422", value = "719", special = 0});
  257. // dic.Add(new SettleData() { ptext = "私立/民营医院/诊所", text = "医疗服务", code = "P_P01_8011", value = "719", special = 1});
  258. // dic.Add(new SettleData() { ptext = "保健器械/医疗器械/非处方药品", text = "药品、药品经营者(批发商)", code = "B_B04_5122", value = "719", special = 1});
  259. // dic.Add(new SettleData() { ptext = "保健器械/医疗器械/非处方药品", text = "医疗器械", code = "B_B04_5047", value = "719", special = 1});
  260. // dic.Add(new SettleData() { ptext = "游艺厅/KTV/网吧", text = "游艺厅/KTV", code = "D_D01_7999", value = "719", special = 1});
  261. // dic.Add(new SettleData() { ptext = "游艺厅/KTV/网吧", text = "网吧", code = "D_D01_7999", value = "719", special = 1});
  262. // dic.Add(new SettleData() { ptext = "宠物医院", text = "宠物及宠物用品", code = "C_C10_5995", value = "719", special = 1});
  263. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "公共交通", code = "A_A01_4121", value = "719", special = 0});
  264. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "旅行住宿", code = "A_A04_7011", value = "719", special = 0});
  265. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "公共仓储、集装整理", code = "A_A02_4225", value = "719", special = 0});
  266. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "商业服务", code = "S_S05_7338", value = "719", special = 0});
  267. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "汽车租赁和服务", code = "S_S10_7512", value = "719", special = 0});
  268. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "生活服务", code = "S_S08_7295", value = "719", special = 0});
  269. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "百货商城", code = "C_C04_5411", value = "719", special = 0});
  270. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "服饰鞋包", code = "C_C06_5699", value = "719", special = 0});
  271. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "家居家纺建材", code = "C_C03_5211", value = "719", special = 0});
  272. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "母婴玩具", code = "C_C02_5641", value = "719", special = 0});
  273. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "数码家电", code = "C_C07_5732", value = "719", special = 0});
  274. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "图书音像", code = "C_C09_5942", value = "719", special = 0});
  275. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "文化玩乐宠物", code = "C_C10_5995", value = "719", special = 0});
  276. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "彩票", code = "D_D03_7995", value = "719", special = 0});
  277. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "娱乐票务", code = "D_D01_7999", value = "719", special = 0});
  278. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "法律咨询和律师事务所", code = "P_P04_8111", value = "719", special = 1});
  279. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "办公用品", code = "B_B01_5943", value = "719", special = 0});
  280. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "工业产品", code = "B_B02_5065", value = "719", special = 0});
  281. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "汽车和运输工具", code = "B_B03_5599", value = "719", special = 0});
  282. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/其他", text = "专业咨询", code = "P_P04_8999", value = "719", special = 0});
  283. // dic.Add(new SettleData() { ptext = "话费通讯", text = "话费充值与缴费", code = "D_D04_4815", value = "720", special = 1});
  284. // dic.Add(new SettleData() { ptext = "加油", text = "加油站、服务站", code = "B_B03_5541", value = "721", special = 1});
  285. return dic;
  286. }
  287. public List<Dictionary<string, object>> GetPersonSettles()
  288. {
  289. List<SettleData> dic = GetPersonSettleItems();
  290. int i = 0;
  291. List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
  292. foreach (string sub in dic.Select(m => m.ptext).Distinct().ToList())
  293. {
  294. i += 1;
  295. Dictionary<string, object> bigDic = new Dictionary<string, object>();
  296. bigDic.Add("value", i.ToString());
  297. bigDic.Add("text", sub);
  298. List<Dictionary<string, object>> children = new List<Dictionary<string, object>>();
  299. foreach (SettleData ssub in dic.Where(m => m.ptext == sub).ToList())
  300. {
  301. Dictionary<string, object> smallDic = new Dictionary<string, object>();
  302. smallDic.Add("value", ssub.value + "_" + ssub.code);
  303. smallDic.Add("text", ssub.text);
  304. smallDic.Add("special", ssub.special);
  305. children.Add(smallDic);
  306. }
  307. bigDic.Add("children", children);
  308. list.Add(bigDic);
  309. }
  310. return list;
  311. }
  312. public List<SettleData> GetBusinessSettleItems()
  313. {
  314. List<SettleData> dic = new List<SettleData>();
  315. dic.Add(new SettleData() { ptext = "餐饮", text = "餐饮", value = "716", code = "A0001_B0001" });
  316. dic.Add(new SettleData() { ptext = "食品生鲜", text = "肉、禽、蛋及水产品等", value = "716", code = "A0002_B0202" });
  317. dic.Add(new SettleData() { ptext = "健身运动服务", text = "健身房", value = "716", code = "A0004_B0064" });
  318. dic.Add(new SettleData() { ptext = "健身运动服务", text = "体育场馆", value = "716", code = "A0004_B0068" });
  319. dic.Add(new SettleData() { ptext = "城市公共交通", text = "公共交通", value = "716", code = "A0006_B0088" });
  320. dic.Add(new SettleData() { ptext = "景区/酒店", text = "旅行住宿", value = "716", code = "A0010_B0157" });
  321. dic.Add(new SettleData() { ptext = "居民生活服务", text = "生活服务", value = "716", code = "A0003_B0116" });
  322. dic.Add(new SettleData() { ptext = "零售", text = "百货商城", value = "716", code = "A0002_B0017" });
  323. dic.Add(new SettleData() { ptext = "服饰鞋包", text = "服饰鞋包", value = "716", code = "A0002_B0026" });
  324. dic.Add(new SettleData() { ptext = "零售", text = "家居家纺建材", value = "716", code = "A0002_B0216" });
  325. dic.Add(new SettleData() { ptext = "零售", text = "母婴玩具", value = "716", code = "A0002_B0032" });
  326. dic.Add(new SettleData() { ptext = "零售", text = "数码家电", value = "716", code = "A0003_B0051" });
  327. dic.Add(new SettleData() { ptext = "零售", text = "图书音像", value = "716", code = "A0002_B0031" });
  328. dic.Add(new SettleData() { ptext = "居民生活服务", text = "文化玩乐宠物", value = "716", code = "A0004_B0070" });
  329. dic.Add(new SettleData() { ptext = "咨询/娱乐票务", text = "娱乐票务", value = "716", code = "A0004_B0065" });
  330. dic.Add(new SettleData() { ptext = "零售", text = "办公用品", value = "716", code = "A0002_B0203" });
  331. dic.Add(new SettleData() { ptext = "零售", text = "工业产品", value = "716", code = "A0002_B0042" });
  332. dic.Add(new SettleData() { ptext = "婚介平台/就业信息平台/其他信息服务平台", text = "婚介服务", value = "720", code = "A0003_B0053" });
  333. dic.Add(new SettleData() { ptext = "零售", text = "其它类别", value = "716", code = "A0002_B0043" });
  334. // dic.Add(new SettleData() { ptext = "餐饮", text = "餐饮", code = "C_C05_5814", value = "716", special = 0});
  335. // dic.Add(new SettleData() { ptext = "电商平台", text = "电商平台", code = "C_C05_5814", value = "716", special = 0});
  336. // dic.Add(new SettleData() { ptext = "食品生鲜", text = "酒类", code = "C_C05_5921", value = "716", special = 1});
  337. // dic.Add(new SettleData() { ptext = "食品生鲜", text = "肉、禽、蛋及水产品等", code = "C_C05_5422", value = "716", special = 0});
  338. // dic.Add(new SettleData() { ptext = "电信运营商/宽带收费", text = "电信通讯", code = "D_D04_4814", value = "716", special = 1});
  339. // dic.Add(new SettleData() { ptext = "私立/民营医院/诊所", text = "医疗服务", code = "P_P01_8011", value = "716", special = 1});
  340. // dic.Add(new SettleData() { ptext = "保健器械/医疗器械/非处方药品", text = "医疗器械", code = "B_B04_5047", value = "716", special = 1});
  341. // dic.Add(new SettleData() { ptext = "保健器械/医疗器械/非处方药品", text = "药品、药品经营者(批发商)", code = "B_B04_5122", value = "716", special = 1});
  342. // dic.Add(new SettleData() { ptext = "游艺厅/KTV/网吧", text = "游艺厅/KTV", code = "D_D01_7999", value = "716", special = 1});
  343. // dic.Add(new SettleData() { ptext = "游艺厅/KTV/网吧", text = "网吧", code = "D_D01_7999", value = "716", special = 1});
  344. // dic.Add(new SettleData() { ptext = "宠物医院", text = "宠物及宠物用品", code = "C_C10_5995", value = "716", special = 1});
  345. // dic.Add(new SettleData() { ptext = "旅行社", text = "旅行社和旅游服务", code = "A_A04_4722", value = "716", special = 1});
  346. // dic.Add(new SettleData() { ptext = "宗教组织", text = "宗教物品", code = "C_C10_5973", value = "716", special = 0});
  347. // dic.Add(new SettleData() { ptext = "宗教组织", text = "其他宗教服务", code = "P_P04_8999", value = "716", special = 1});
  348. // dic.Add(new SettleData() { ptext = "文物经营/文物复制品销售", text = "文物经营/文物复制品销售", code = "C_C10_5971", value = "716", special = 1});
  349. // dic.Add(new SettleData() { ptext = "拍卖典当", text = "典当行", code = "S_S04_5933", value = "716", special = 1});
  350. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "公共交通", code = "A_A01_4121", value = "716", special = 0});
  351. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "旅行住宿", code = "A_A04_7011", value = "716", special = 0});
  352. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "公共仓储、集装整理", code = "A_A02_4225", value = "716", special = 0});
  353. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "商业服务", code = "S_S05_7338", value = "716", special = 0});
  354. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "汽车租赁和服务", code = "S_S10_7512", value = "716", special = 0});
  355. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "生活服务", code = "S_S08_7295", value = "716", special = 0});
  356. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "百货商城", code = "C_C04_5411", value = "716", special = 0});
  357. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "服饰鞋包", code = "C_C06_5699", value = "716", special = 0});
  358. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "家居家纺建材", code = "C_C03_5211", value = "716", special = 0});
  359. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "母婴玩具", code = "C_C02_5641", value = "716", special = 0});
  360. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "数码家电", code = "C_C07_5732", value = "716", special = 0});
  361. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "图书音像", code = "C_C09_5942", value = "716", special = 0});
  362. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "文化玩乐宠物", code = "C_C10_5995", value = "716", special = 0});
  363. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "彩票", code = "D_D03_7995", value = "716", special = 0});
  364. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "娱乐票务", code = "D_D01_7999", value = "716", special = 0});
  365. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "法律咨询和律师事务所", code = "P_P04_8111", value = "716", special = 1});
  366. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "办公用品", code = "B_B01_5943", value = "716", special = 0});
  367. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "工业产品", code = "B_B02_5065", value = "716", special = 0});
  368. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "汽车和运输工具", code = "B_B03_5599", value = "716", special = 0});
  369. // dic.Add(new SettleData() { ptext = "零售批发/生活娱乐/网上商城/其他", text = "专业咨询", code = "P_P04_8999", value = "716", special = 0});
  370. // dic.Add(new SettleData() { ptext = "话费通讯", text = "话费充值与缴费", code = "D_D04_4815", value = "728", special = 1});
  371. // dic.Add(new SettleData() { ptext = "婚介平台/就业信息平台/其他", text = "婚介服务", code = "S_S08_7273", value = "728", special = 0});
  372. // dic.Add(new SettleData() { ptext = "门户论坛/网络广告及推广/软件开发/其他互联网服务", text = "计算机服务/其他", code = "D_D05_7372", value = "711", special = 0});
  373. // dic.Add(new SettleData() { ptext = "快递", text = "快递服务", code = "A_A02_4215", value = "717", special = 1});
  374. // dic.Add(new SettleData() { ptext = "加油", text = "加油站、服务站", code = "B_B03_5541", value = "717", special = 1});
  375. // dic.Add(new SettleData() { ptext = "公共事业(水电煤气)", text = "公共事业(电、气、水)", code = "S_S06_4900", value = "730", special = 1});
  376. // dic.Add(new SettleData() { ptext = "公共事业(水电煤气)", text = "公共事业-电力缴费", code = "S_S06_4901", value = "730", special = 1});
  377. // dic.Add(new SettleData() { ptext = "公共事业(水电煤气)", text = "公共事业-煤气缴费", code = "S_S06_4902", value = "730", special = 1});
  378. // dic.Add(new SettleData() { ptext = "公共事业(水电煤气)", text = "公共事业-自来水缴费", code = "S_S06_4903", value = "730", special = 1});
  379. return dic;
  380. }
  381. public List<Dictionary<string, object>> GetBusinessSettles()
  382. {
  383. List<SettleData> dic = GetBusinessSettleItems();
  384. int i = 0;
  385. List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
  386. foreach (string sub in dic.Select(m => m.ptext).Distinct().ToList())
  387. {
  388. i += 1;
  389. Dictionary<string, object> bigDic = new Dictionary<string, object>();
  390. bigDic.Add("value", i.ToString());
  391. bigDic.Add("text", sub);
  392. List<Dictionary<string, object>> children = new List<Dictionary<string, object>>();
  393. foreach (SettleData ssub in dic.Where(m => m.ptext == sub).ToList())
  394. {
  395. Dictionary<string, object> smallDic = new Dictionary<string, object>();
  396. smallDic.Add("value", ssub.value + "_" + ssub.code);
  397. smallDic.Add("text", ssub.text);
  398. smallDic.Add("special", ssub.special);
  399. children.Add(smallDic);
  400. }
  401. bigDic.Add("children", children);
  402. list.Add(bigDic);
  403. }
  404. return list;
  405. }
  406. public Dictionary<string, string> GetAccountTypes()
  407. {
  408. Dictionary<string, string> dic = new Dictionary<string, string>();
  409. dic.Add("BANK_ACCOUNT_TYPE_CORPORATE", "对公银行账户");
  410. dic.Add("BANK_ACCOUNT_TYPE_PERSONAL", "经营者个人银行卡");
  411. return dic;
  412. }
  413. public Dictionary<string, string> GetBanks()
  414. {
  415. Dictionary<string, string> dic = new Dictionary<string, string>();
  416. dic.Add("工商银行", "工商银行");
  417. dic.Add("农业银行", "农业银行");
  418. dic.Add("邮储银行", "邮储银行");
  419. dic.Add("建设银行", "建设银行");
  420. dic.Add("招商银行", "招商银行");
  421. dic.Add("中国银行", "中国银行");
  422. dic.Add("交通银行", "交通银行");
  423. dic.Add("浦发银行", "浦发银行");
  424. dic.Add("广发银行", "广发银行");
  425. dic.Add("民生银行", "民生银行");
  426. dic.Add("平安银行", "平安银行");
  427. dic.Add("光大银行", "光大银行");
  428. dic.Add("兴业银行", "兴业银行");
  429. dic.Add("中信银行", "中信银行");
  430. dic.Add("上海银行", "上海银行");
  431. dic.Add("其他银行", "其他银行");
  432. return dic;
  433. }
  434. #endregion
  435. #region 检查签名是否合法,合法返回1,不合法返回提示信息
  436. /// <summary>
  437. /// 检查签名是否合法,合法返回1,不合法返回提示信息
  438. /// </summary>
  439. /// <param name="value">请求的参数(json字符串)</param>
  440. /// <param name="signField">要签名的字段</param>
  441. /// <returns></returns>
  442. private string CheckSign(string value, string[] signField)
  443. {
  444. JsonData json = JsonMapper.ToObject(value);
  445. Dictionary<string, string> dic = new Dictionary<string, string>();
  446. for (int i = 0; i < signField.Length; i++)
  447. {
  448. dic.Add(signField[i], json[signField[i]].ToString());
  449. }
  450. string sign = json["sign"].ToString(); //客户端签名字符串
  451. return new Sign().sign(dic, sign);
  452. }
  453. #endregion
  454. }
  455. }