using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Aop.Api.Util;
using GraphQL;
using Library;
using LitJson;
using MySystem;
using MySystem.Models.Main2;
using MySystem.Service.Main2;
namespace MySystem
{
///
/// 好哒商户修改银行卡参数赋值
///
public class ChangeMerchantCardSetUtil
{
public static ChangeMerchantCard SetValue(MerchantChangeSettlementCardRecord MerchantChangeSettlementCardRecord, int MerchantId)
{
var merchantAddInfo = MerchantAddInfoService.Query(MerchantId);
ChangeMerchantCard changeMerchantCard = new ChangeMerchantCard();
changeMerchantCard.mchtNo = MerchantChangeSettlementCardRecord.MchtNo; //收款商户号
changeMerchantCard.accountNo = MerchantChangeSettlementCardRecord.AccountNo; //卡号(账户类型 0-对公 时填写对公账号,1-对私 时填写银行卡号)
changeMerchantCard.accountName = MerchantChangeSettlementCardRecord.AccountName; //开户名(账户名称 账户类型 0-对公 时填写对公账户名,1-对私 时填写银行卡户名)
changeMerchantCard.zbankNo = MerchantChangeSettlementCardRecord.ZbankNo; //开户支行号
changeMerchantCard.alterType = MerchantChangeSettlementCardRecord.AlterType.ToString(); //结算类型:0-对公结算银行卡;1-法人对私结算银行卡;2-非法人结算
changeMerchantCard.accoutType = MerchantChangeSettlementCardRecord.AccountType.ToString(); //账户类型 0-对公,1-对私
changeMerchantCard.acctZbankCode = MerchantChangeSettlementCardRecord.AcctZbankCode; //开户支行地区码
if (changeMerchantCard.alterType == "2")
{
changeMerchantCard.idCard = MerchantChangeSettlementCardRecord.IdCard; //非法人身份证号(结算类型为2时必填)
var mer = MerchantAddInfoService.Query(" and MchtNo='" + MerchantChangeSettlementCardRecord.MchtNo + "'");
string AgentCardEndDate = MerchantChangeSettlementCardRecord.AgentCardEndDate.Value.ToString("yyyy-MM-dd");
if (AgentCardEndDate.Substring(0, 4) == "9999")
{
changeMerchantCard.agentCardDate = MerchantChangeSettlementCardRecord.AgentCardStartDate.Value.ToString("yyyyMMdd") + "-" + "长期"; //非法人身份证有效期(结算类型为2时必填,格式:20210101-20220101,如长期:20210101-长期)
}
else
{
changeMerchantCard.agentCardDate = MerchantChangeSettlementCardRecord.AgentCardStartDate.Value.ToString("yyyyMMdd") + "-" + MerchantChangeSettlementCardRecord.AgentCardEndDate.Value.ToString("yyyyMMdd"); //非法人身份证有效期(结算类型为2时必填,格式:20210101-20220101,如长期:20210101-长期)
}
}
//对公改对公需要提交的参数
if (merchantAddInfo.AccountType == "0" && changeMerchantCard.alterType == "0")
{
var bankInfo = OpenBankAllService.Query(" and BankChildNo='" + MerchantChangeSettlementCardRecord.ZbankNo + "'");
var areasInfo = HaoDaAreaCodeService.Query(" and CityCode='" + MerchantChangeSettlementCardRecord.AcctZbankCode + "'");
changeMerchantCard.openBankAccName = MerchantChangeSettlementCardRecord.AccountName; //开户许可证-开户名(修改对公凭证时填写)
changeMerchantCard.openBankName = bankInfo.BankParent; //开户许可证-银行名称(修改对公凭证时填写)
changeMerchantCard.openCollectBankCode = MerchantChangeSettlementCardRecord.ZbankNo; //开户许可证-银行代码(修改对公凭证时填写)
changeMerchantCard.openBankRegionCode = MerchantChangeSettlementCardRecord.AcctZbankCode; //开户许可证-银行地区码(修改对公凭证时填写)
changeMerchantCard.openBankRegionName = areasInfo.CityName; //开户许可证-开户地名称(修改对公凭证时填写)
changeMerchantCard.openUnionNo = MerchantChangeSettlementCardRecord.ZbankNo; //开户许可证-开户支行(修改对公凭证时填写)
changeMerchantCard.openUnionName = bankInfo.BankChild; //开户许可证-支行名称(修改对公凭证时填写)
changeMerchantCard.openBankAccout = MerchantChangeSettlementCardRecord.AccountNo; //开户许可证-银行卡号(修改对公凭证时填写)
}
List photoList = new List();
PhotoItem photoItem = new PhotoItem();
// alterType结算类型为0时,上传 开户许可证照片
// alterType结算类型为1时,上传 银行卡照片
// alterType结算类型为2时,上传 银行卡照片、非法人身份证正面照片、非法人身份证反面照片、委托结算授权书照片、法人手持委托结算授权书
if (changeMerchantCard.alterType == "0")
{
var tokenInfo = JsonMapper.ToObject(HaoDaHelper.Instance.GetToken(MerchantChangeSettlementCardRecord.OpenAccountLicenses.Substring(MerchantChangeSettlementCardRecord.OpenAccountLicenses.LastIndexOf("/")).Trim('/'), "0"));
if (tokenInfo["code"].ToString() == "1")
{
var returnInfo = HaoDaHelper.Instance.ReturnFileName(tokenInfo["token"].ToString(), MerchantChangeSettlementCardRecord.OpenAccountLicenses);
if (returnInfo != "false")
{
photoItem = new PhotoItem();
photoItem.mediaCode = "openAccountLicenses";
photoItem.mediaPath = returnInfo;
photoList.Add(photoItem);
}
}
}
if (changeMerchantCard.alterType == "1")
{
//结算类型为1和2时必填,0不填
if (!string.IsNullOrEmpty(MerchantChangeSettlementCardRecord.BankCard))
{
var tokenInfo = JsonMapper.ToObject(HaoDaHelper.Instance.GetToken(MerchantChangeSettlementCardRecord.BankCard.Substring(MerchantChangeSettlementCardRecord.BankCard.LastIndexOf("/")).Trim('/'), "0"));
if (tokenInfo["code"].ToString() == "1")
{
var returnInfo = HaoDaHelper.Instance.ReturnFileName(tokenInfo["token"].ToString(), MerchantChangeSettlementCardRecord.BankCard);
if (returnInfo != "false")
{
photoItem = new PhotoItem();
photoItem.mediaCode = "bankCard";
photoItem.mediaPath = returnInfo;
photoList.Add(photoItem);
}
}
}
//结算类型为1且为企业商户时必填
if (!string.IsNullOrEmpty(MerchantChangeSettlementCardRecord.PriLicAgreement) && merchantAddInfo.SubjectType == "SUBJECT_TYPE_ENTERPRISE")
{
var tokenInfo = JsonMapper.ToObject(HaoDaHelper.Instance.GetToken(MerchantChangeSettlementCardRecord.PriLicAgreement.Substring(MerchantChangeSettlementCardRecord.PriLicAgreement.LastIndexOf("/")).Trim('/'), "0"));
if (tokenInfo["code"].ToString() == "1")
{
var returnInfo = HaoDaHelper.Instance.ReturnFileName(tokenInfo["token"].ToString(), MerchantChangeSettlementCardRecord.PriLicAgreement);
if (returnInfo != "false")
{
photoItem = new PhotoItem();
photoItem.mediaCode = "priLicAgreement";
photoItem.mediaPath = returnInfo;
photoList.Add(photoItem);
}
}
}
}
if (changeMerchantCard.alterType == "2")
{
if (!string.IsNullOrEmpty(MerchantChangeSettlementCardRecord.BankCard))
{
var tokenInfo = JsonMapper.ToObject(HaoDaHelper.Instance.GetToken(MerchantChangeSettlementCardRecord.BankCard.Substring(MerchantChangeSettlementCardRecord.BankCard.LastIndexOf("/")).Trim('/'), "0"));
if (tokenInfo["code"].ToString() == "1")
{
var returnInfo = HaoDaHelper.Instance.ReturnFileName(tokenInfo["token"].ToString(), MerchantChangeSettlementCardRecord.BankCard);
if (returnInfo != "false")
{
photoItem = new PhotoItem();
photoItem.mediaCode = "bankCard";
photoItem.mediaPath = returnInfo;
photoList.Add(photoItem);
}
}
}
if (!string.IsNullOrEmpty(MerchantChangeSettlementCardRecord.AgentIdCardFront))
{
var tokenInfo = JsonMapper.ToObject(HaoDaHelper.Instance.GetToken(MerchantChangeSettlementCardRecord.AgentIdCardFront.Substring(MerchantChangeSettlementCardRecord.AgentIdCardFront.LastIndexOf("/")).Trim('/'), "0"));
if (tokenInfo["code"].ToString() == "1")
{
var returnInfo = HaoDaHelper.Instance.ReturnFileName(tokenInfo["token"].ToString(), MerchantChangeSettlementCardRecord.AgentIdCardFront);
if (returnInfo != "false")
{
photoItem = new PhotoItem();
photoItem.mediaCode = "agentIdCardFront";
photoItem.mediaPath = returnInfo;
photoList.Add(photoItem);
}
}
}
if (!string.IsNullOrEmpty(MerchantChangeSettlementCardRecord.AgentIdCardBack))
{
var tokenInfo = JsonMapper.ToObject(HaoDaHelper.Instance.GetToken(MerchantChangeSettlementCardRecord.AgentIdCardBack.Substring(MerchantChangeSettlementCardRecord.AgentIdCardBack.LastIndexOf("/")).Trim('/'), "0"));
if (tokenInfo["code"].ToString() == "1")
{
var returnInfo = HaoDaHelper.Instance.ReturnFileName(tokenInfo["token"].ToString(), MerchantChangeSettlementCardRecord.AgentIdCardBack);
if (returnInfo != "false")
{
photoItem = new PhotoItem();
photoItem.mediaCode = "agentIdCardBack";
photoItem.mediaPath = returnInfo;
photoList.Add(photoItem);
}
}
}
if (!string.IsNullOrEmpty(MerchantChangeSettlementCardRecord.AgentProtocol))
{
var tokenInfo = JsonMapper.ToObject(HaoDaHelper.Instance.GetToken(MerchantChangeSettlementCardRecord.AgentProtocol.Substring(MerchantChangeSettlementCardRecord.AgentProtocol.LastIndexOf("/")).Trim('/'), "0"));
if (tokenInfo["code"].ToString() == "1")
{
var returnInfo = HaoDaHelper.Instance.ReturnFileName(tokenInfo["token"].ToString(), MerchantChangeSettlementCardRecord.AgentProtocol);
if (returnInfo != "false")
{
photoItem = new PhotoItem();
photoItem.mediaCode = "agentProtocol";
photoItem.mediaPath = returnInfo;
photoList.Add(photoItem);
}
}
}
if (!string.IsNullOrEmpty(MerchantChangeSettlementCardRecord.HoldAgentProtocol))
{
var tokenInfo = JsonMapper.ToObject(HaoDaHelper.Instance.GetToken(MerchantChangeSettlementCardRecord.HoldAgentProtocol.Substring(MerchantChangeSettlementCardRecord.HoldAgentProtocol.LastIndexOf("/")).Trim('/'), "0"));
if (tokenInfo["code"].ToString() == "1")
{
var returnInfo = HaoDaHelper.Instance.ReturnFileName(tokenInfo["token"].ToString(), MerchantChangeSettlementCardRecord.HoldAgentProtocol);
if (returnInfo != "false")
{
photoItem = new PhotoItem();
photoItem.mediaCode = "holdAgentProtocol";
photoItem.mediaPath = returnInfo;
photoList.Add(photoItem);
}
}
}
}
changeMerchantCard.photoList = photoList; //图片列表
return changeMerchantCard;
}
}
}