MerchantAddInfoUtil.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. using Library;
  2. using MySystem.Service.Main1;
  3. using System.Collections.Generic;
  4. using MySystem.Service.KxsMain;
  5. using System.Linq;
  6. namespace MySystem.Service.Main1
  7. {
  8. /// <summary>
  9. /// 直连商户进件表工具类
  10. /// </summary>
  11. public class MerchantAddInfoUtil
  12. {
  13. #region 进件管理-直连进件详情
  14. /// <summary>
  15. /// 进件管理-直连进件详情
  16. /// </summary>
  17. /// <param name="MerchantId">商户Id</param>
  18. /// <returns></returns>
  19. public static Dictionary<string, object> MerchantAddInfoDetail(int MerchantId)
  20. {
  21. Dictionary<string, object> Obj = new Dictionary<string, object>();
  22. var query = MerchantAddInfoService.Query(MerchantId);
  23. Dictionary<string, string> Subjects = MerchantInfoUtil.GetSubjects();
  24. Dictionary<string, string> AccountTypes = MerchantInfoUtil.GetAccountTypes();
  25. List<SettleData> Settles = MerchantInfoUtil.GetSettles(query.SubjectType);
  26. Obj.Add("ContactName", query.ContactName); //管理员姓名
  27. Obj.Add("ContactIdNumber", query.ContactIdNumber); //管理员身份证件号码
  28. Obj.Add("OpenId", query.OpenId); //管理员微信openid
  29. Obj.Add("MobilePhone", query.MobilePhone); //联系手机
  30. Obj.Add("ContactEmail", query.ContactEmail); //联系邮箱
  31. Obj.Add("SubjectType", query.SubjectType); //主体类型
  32. //主体类型名称
  33. if (Subjects.ContainsKey(function.CheckNull(query.SubjectType)))
  34. {
  35. Obj.Add("SubjectTypeName", Subjects[function.CheckNull(query.SubjectType)]);
  36. }
  37. else
  38. {
  39. Obj.Add("SubjectTypeName", "");
  40. }
  41. Obj.Add("LicenseCopy", query.LicenseCopy); //营业执照照片
  42. Obj.Add("LicenseNumber", query.LicenseNumber); //统一社会信用代码
  43. Obj.Add("LegalPerson", query.LegalPerson); //个体户经营者/法人姓名
  44. Obj.Add("CertCopy", query.CertCopy); //登记证书照片
  45. Obj.Add("CertType", query.CertType); //登记证书类型
  46. Obj.Add("CertNumber", query.CertNumber); //证书号
  47. Obj.Add("CertMerchantName", query.CertMerchantName); //商户名称
  48. Obj.Add("CompanyAddress", query.CompanyAddress); //注册地址
  49. Obj.Add("CertLegalPerson", query.CertLegalPerson); //法人姓名
  50. Obj.Add("PeriodBegin", query.PeriodBegin == null ? "" : query.PeriodBegin.Value.ToString("yyyy-MM-dd HH:mm:ss")); //有效期限开始日期
  51. Obj.Add("PeriodEnd", query.PeriodEnd == null ? "" : query.PeriodEnd.Value.ToString("yyyy-MM-dd HH:mm:ss")); //有效期限结束日期
  52. Obj.Add("OrganizationCopy", query.OrganizationCopy); //组织机构代码证照片
  53. Obj.Add("OrganizationCode", query.OrganizationCode); //组织机构代码
  54. Obj.Add("OrgPeriodBegin", query.OrgPeriodBegin == null ? "" : query.OrgPeriodBegin.Value.ToString("yyyy-MM-dd HH:mm:ss")); //组织机构代码证有效期开始日期
  55. Obj.Add("OrgPeriodEnd", query.OrgPeriodEnd == null ? "" : query.OrgPeriodEnd.Value.ToString("yyyy-MM-dd HH:mm:ss")); //组织机构代码证有效期结束日期
  56. Obj.Add("CertificateLetterCopy", query.CertificateLetterCopy); //单位证明函照片
  57. Obj.Add("IdDocType", query.IdDocType); //证件类型
  58. Obj.Add("Owner", query.Owner); //经营者/法人是否为受益人
  59. Obj.Add("UboInfoIdType", query.UboInfoIdType); //最终受益人证件类型
  60. Obj.Add("UboInfoIdCardCopy", query.UboInfoIdCardCopy); //最终受益人身份证人像面照片
  61. Obj.Add("UboInfoIdCardNational", query.UboInfoIdCardNational); //身份证国徽面照片
  62. Obj.Add("UboInfoIdDocCopy", query.UboInfoIdDocCopy); //最终受益人证件照片
  63. Obj.Add("UboInfoName", query.UboInfoName); //受益人姓名
  64. Obj.Add("UboInfoIdNumber", query.UboInfoIdNumber); //最终受益人证件号码
  65. Obj.Add("UboInfoIdPeriodBegin", query.UboInfoIdPeriodBegin == null ? "" : query.UboInfoIdPeriodBegin.Value.ToString("yyyy-MM-dd HH:mm:ss")); //证件有效期开始时间
  66. Obj.Add("UboInfoIdPeriodEnd", query.UboInfoIdPeriodEnd == null ? "" : query.UboInfoIdPeriodEnd.Value.ToString("yyyy-MM-dd HH:mm:ss")); //证件有效期结束时间
  67. Obj.Add("MerchantShortname", query.MerchantShortname); //商户简称
  68. Obj.Add("ServicePhone", query.ServicePhone); //客服电话
  69. Obj.Add("SalesScenesType", query.SalesScenesType); //经营场景类型
  70. Obj.Add("BizStoreName", query.BizStoreName); //门店名称
  71. Obj.Add("BizAddressCode", query.BizAddressCode); //门店省市编码
  72. Obj.Add("BizStoreAddress", query.BizStoreAddress); //门店地址
  73. Obj.Add("StoreEntrancePic", query.StoreEntrancePic); //门店门头照片
  74. Obj.Add("IndoorPic", query.IndoorPic); //店内环境照片
  75. Obj.Add("BizSubAppid", query.BizSubAppid); //线下场所对应的商家APPID
  76. Obj.Add("MpAppid", query.MpAppid); //服务商公众号APPID
  77. Obj.Add("MpSubAppid", query.MpSubAppid); //商家公众号APPID
  78. Obj.Add("MpPics", query.MpPics); //公众号页面截图
  79. Obj.Add("MiniProgramAppid", query.MiniProgramAppid); //服务商小程序APPID
  80. Obj.Add("MiniProgramSubAppid", query.MiniProgramSubAppid); //商家小程序APPID
  81. Obj.Add("MiniProgramPics", query.MiniProgramPics); //小程序截图
  82. Obj.Add("AppAppid", query.AppAppid); //服务商应用APPID
  83. Obj.Add("AppSubAppid", query.AppSubAppid); //商家应用APPID
  84. Obj.Add("AppPics", query.AppPics); //APP截图
  85. Obj.Add("WebDomain", query.WebDomain); //互联网网站域名
  86. Obj.Add("WebAuthorisation", query.WebAuthorisation); //网站授权函
  87. Obj.Add("WebAppId", query.WebAppId); //互联网网站对应的商家APPID
  88. Obj.Add("SubCorpId", query.SubCorpId); //商家企业微信CorpID
  89. Obj.Add("WeworkPics", query.WeworkPics); //企业微信页面截图
  90. Obj.Add("SettlementId", query.SettlementId + "_" + query.UpdateMan); //入驻结算规则ID
  91. Obj.Add("QualificationType", query.QualificationType); //所属行业
  92. //所属行业名称
  93. SettleData item = Settles.FirstOrDefault(m => m.value == query.QualificationType);
  94. if (item != null)
  95. {
  96. Obj.Add("QualificationTypeName", item.ptext + "," + item.text);
  97. }
  98. else
  99. {
  100. Obj.Add("QualificationTypeName", "");
  101. }
  102. Obj.Add("Qualifications", query.Qualifications); //特殊资质图片
  103. Obj.Add("ActivitiesId", query.ActivitiesId); //优惠费率活动ID
  104. Obj.Add("ActivitiesRate", query.ActivitiesRate); //优惠费率活动值
  105. Obj.Add("BankAccountType", query.BankAccountType); //账户类型
  106. //账户类型名称
  107. if (AccountTypes.ContainsKey(function.CheckNull(query.BankAccountType)))
  108. {
  109. Obj.Add("BankAccountTypeName", AccountTypes[function.CheckNull(query.BankAccountType)]);
  110. }
  111. else
  112. {
  113. Obj.Add("BankAccountTypeName", "");
  114. }
  115. Obj.Add("AccountName", query.AccountName); //开户名称
  116. Obj.Add("AccountBank", query.AccountBank); //开户银行
  117. Obj.Add("BankAddressCode", query.BankAddressCode); //开户银行省市编码
  118. Obj.Add("BankBranchId", query.BankBranchId); //开户银行联行号
  119. Obj.Add("BankName", query.BankName); //开户银行全称
  120. Obj.Add("AccountNumber", query.AccountNumber); //银行账号
  121. Obj.Add("ApplymentId", query.ApplymentId); //微信支付申请单号
  122. Obj.Add("SubMchid", query.SubMchid); //特约商户号
  123. Obj.Add("SignUrl", query.SignUrl); //超级管理员签约链接
  124. Obj.Add("ApplymentState", query.ApplymentState); //申请单状态
  125. Obj.Add("AuditDetail", query.AuditDetail); //驳回原因详情
  126. Obj.Add("IdCardCopy", query.IdCardCopy); //身份证人像面照片
  127. Obj.Add("IdCardNational", query.IdCardNational); //身份证国徽面照片
  128. Obj.Add("IdCardName", query.IdCardName); //身份证姓名
  129. Obj.Add("IdCardNumber", query.IdCardNumber); //身份证号码
  130. Obj.Add("IdCardAddress", query.IdCardAddress); //身份证居住地址
  131. Obj.Add("CardPeriodBegin", query.CardPeriodBegin == null ? "" : query.CardPeriodBegin.Value.ToString("yyyy-MM-dd HH:mm:ss")); //身份证有效期开始时间
  132. Obj.Add("CardPeriodEnd", query.CardPeriodEnd == null ? "" : query.CardPeriodEnd.Value.ToString("yyyy-MM-dd HH:mm:ss")); //身份证有效期结束时间
  133. Obj.Add("Status", query.Status); //状态
  134. Obj.Add("CreateDate", query.CreateDate); //创建时间
  135. Obj.Add("AlipayAccount", query.CreateMan); //支付宝账号
  136. return Obj;
  137. }
  138. #endregion
  139. #region 进件管理-直连提交进件
  140. /// <summary>
  141. /// 进件管理-直连提交进件
  142. /// </summary>
  143. /// <param name="MerchantId">商户Id</param>
  144. /// <returns></returns>
  145. public static string DirectSubmitDo(int MerchantId)
  146. {
  147. var merInfo = MerchantInfoService.Query(MerchantId);
  148. if (merInfo.Sort != 0 || merInfo.QueryCount != 2 || merInfo.Status != 2)
  149. {
  150. Dictionary<string, object> Fiel = new Dictionary<string, object>();
  151. Fiel.Add("Sort", 1);
  152. MerchantInfoService.Edit(Fiel, MerchantId, false);
  153. MerchantAddInfoService.Edit(Fiel, MerchantId, false);
  154. RedisDbconn.Instance.AddList("MerchantConfirmQueue", "{\"MerchantId\":\"" + MerchantId + "\"}");
  155. }
  156. else
  157. {
  158. return "提交失败,该商户为暂存状态或流程已结束";
  159. }
  160. return "success";
  161. }
  162. #endregion
  163. #region 商户管理-直连查询商户交易信息
  164. /// <summary>
  165. /// 商户管理-直连查询商户交易信息
  166. /// </summary>
  167. /// <param name="MerchantName">商户名称</param>
  168. /// <param name="Mobile">手机号码</param>
  169. /// <param name="MakerCode">所属创客</param>
  170. /// <param name="MatchNo">商户号</param>
  171. /// <param name="AliPID">支付宝PID</param>
  172. /// <param name="WeChatNo">微信商户号</param>
  173. /// <param name="SubjectType">主体类型(1 个体 2 企业)</param>
  174. /// <returns></returns>
  175. public static Dictionary<string, object> DirectQueryMerchantTradeInfoDo(string MerchantName, string Mobile, string MakerCode, string MatchNo, string AliPID, string WeChatNo, string SubjectType)
  176. {
  177. Dictionary<string, object> Obj = new Dictionary<string, object>();
  178. string condition = "";
  179. if (!string.IsNullOrEmpty(MerchantName))
  180. {
  181. condition += " and MerchantName='" + MerchantName + "'";
  182. }
  183. if (!string.IsNullOrEmpty(MakerCode))
  184. {
  185. var Ids = MerchantInfoUtil.QueryMerchantIdByMakerCode(MakerCode);
  186. condition += " and MerchantId in (" + Ids + ")";
  187. }
  188. if (!string.IsNullOrEmpty(SubjectType))
  189. {
  190. if (SubjectType == "1") SubjectType = "SUBJECT_TYPE_ENTERPRISE"; //企业公司
  191. if (SubjectType == "2") SubjectType = "SUBJECT_TYPE_INDIVIDUAL"; //个体工商户
  192. if (SubjectType == "3") SubjectType = "SUBJECT_TYPE_SMALL"; //小微
  193. condition += " and SubjectType='" + SubjectType + "'";
  194. }
  195. var query = MerchantAddInfoService.Query(condition);
  196. Obj.Add("MerchantName", query); //商户名称
  197. Obj.Add("Mobile", query.MobilePhone); //手机号码
  198. Obj.Add("MakerCode", query.MobilePhone); //所属创客
  199. var subjectType = 0;
  200. if (query.SubjectType == "SUBJECT_TYPE_ENTERPRISE") subjectType = 1; //企业公司
  201. if (query.SubjectType == "SUBJECT_TYPE_INDIVIDUAL") subjectType = 2; //个体工商户
  202. if (query.SubjectType == "SUBJECT_TYPE_SMALL") subjectType = 3; //小微
  203. Obj.Add("SubjectType", subjectType); //主体类型(1 个体 2 企业 3 小微)
  204. Obj.Add("AliPID", query.AlipayPid); //支付宝PID
  205. Obj.Add("WeChatNo", query.SubMchid); //微信商户号
  206. Obj.Add("OrderCount", ""); //订单总数
  207. Obj.Add("TradeAmount", ""); //营业总金额
  208. Obj.Add("InComeAmount", ""); //实收总金额
  209. return Obj;
  210. }
  211. #endregion
  212. }
  213. }