using System ;
using System.Linq ;
using System.Web.Mvc ;
using DSWeb.Areas.Account.DAL.Chfee_Jinzhang ;
using DSWeb.Areas.Account.Models.Chfee_jinzhang ;
using DSWeb.MvcShipping.Helper ;
using DSWeb.MvcShipping.Comm.Cookie ;
using DSWeb.Areas.CommMng.DAL ;
using System.Collections.Generic ;
using HcUtility.Comm ;
using HcUtility.Core ;
using DSWeb.EntityDA ;
using DSWeb.Areas.Account.Models.Chfee_Exrate ;
using System.Data ;
using DSWeb.Areas.Account.Models.Chfee_Pay ;
using DSWeb.Areas.Account.DAL.Chfee_bankdata ;
using System.IO ;
using DSWeb.Areas.Account.Models.Chfee_Invoice ;
using DSWeb.Areas.Account.Models.Chfee_Settlement ;
using DSWeb.SoftMng.Filter ;
using DSWeb.MvcShipping.DAL.MsSysParamSet ;
using javax.crypto ;
using System.Security.Cryptography ;
using System.Text ;
using System.Collections.Specialized ;
using DSWeb.MvcShipping.DAL.OP_SERVICEBILLDAL ;
using DSWeb.Areas.Dispatch.Helper ;
using NPOI.SS.Formula.Functions ;
using DSWeb.MvcShipping.DAL.MsSeaeOrderDAL ;
using DSWeb.Areas.Account.DAL.Chfee_Pay ;
using DSWeb.MvcShipping.Models.MsChFee ;
using DSWeb.Areas.Account.DAL.Chfee_Settlement ;
using DSWeb.Areas.Account.Models.Chfee_Payapplication ;
using DSWeb.Areas.Account.Models.Chfee_payapplication ;
using System.Web ;
using java.nio.file ;
using DSWeb.MvcShipping.DAL.MsCompanysDAL ;
using DSWeb.MvcShipping.DAL.MsBaseInfoDAL ;
using DSWeb.MvcShipping.Models.WMSNew ;
using com.sun.org.apache.bcel.@internal.classfile ;
//using Spire.Pdf.Graphics;
using System.Drawing.Imaging ;
using System.Drawing ;
using PdfiumViewer ;
namespace DSWeb.Areas.Account.Controllers
{
[JsonRequestBehavior]
public class Chfee_PayController : Controller
{
/ /
// GET:
public ActionResult Index ( )
{
return View ( ) ;
}
/ /
// GET: /
public ActionResult Edit ( )
{
return View ( ) ;
}
public ActionResult StlIndex ( )
{
return View ( ) ;
}
public ActionResult StlMateIndex ( )
{
return View ( ) ;
}
/ /
// GET:
#region
//[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
//public ContentResult GetDataList(int start, int limit, string sort, string condition)
//{
// var dataList = ChBankdataDAL.GetDataList(condition, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), Convert.ToString(Session["COMPANYID"]), sort);
// var list = dataList.Skip(start).Take(limit);
// var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() });
// return new ContentResult() { Content = json };
//}
[SqlKeyWordsFilter(Type = "Action")] //sql 防注入过滤器
public ContentResult CreatePay ( string GID )
{
DBResult result = new DBResult ( ) ;
var HeadData = ChsettlementDAL . GetData ( "GID='" + GID + "'" ) ;
if ( HeadData . PAYSTATUS = = "提交支付" | | HeadData . PAYSTATUS = = "支付完成" )
{
var jsonRespose = new JsonResponse { Success = false , Message = "当前状态不允许生成支付!" , Data = "0" } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
T_ALL_DA T_ALL_DA = new EntityDA . T_ALL_DA ( ) ;
var CompanyName = T_ALL_DA . GetStrSQL ( "FULLNAME" , "select FULLNAME from [company] where GID='" + Convert . ToString ( Session [ "COMPANYID" ] ) . ToString ( ) . Trim ( ) + "'" ) ;
var PayCompanyList = ChPayDAL . GetDataList ( "" , CompanyName ) ;
if ( PayCompanyList = = null | | PayCompanyList . Count = = 0 )
{
var jsonRespose = new JsonResponse { Success = false , Message = "没有注册信息无法支付!" , Data = "1" } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
var CompanyFunName = T_ALL_DA . GetStrSQL ( "FULLNAME" , "select [DESCRIPTION] FULLNAME from [info_client] where [SHORTNAME]='" + HeadData . CUSTOMERNAME + "'" ) ;
var newChPaymentFrom = new ChPaymentFrom ( ) ;
newChPaymentFrom . Username = PayCompanyList [ 0 ] . Username ;
newChPaymentFrom . PayeeCompanyName = CompanyFunName ;
newChPaymentFrom . PayeeCompanyAccount = HeadData . CUSTACCOUNT ;
newChPaymentFrom . PayAmount = HeadData . AMOUNT ;
newChPaymentFrom . PAYGID = GID ;
newChPaymentFrom . PAYBILLNO = HeadData . BILLNO ;
//newChPaymentFrom.SwiftCode = headData.SwiftCode;
//newChPaymentFrom.BankName = headData.BankName;
//newChPaymentFrom.BankId = headData.BankId;
//newChPaymentFrom.IsAcrossBank = headData.IsAcrossBank;
//newChPaymentFrom.IsQuickPay = headData.IsQuickPay;
//newChPaymentFrom.IsPartialPayment = headData.IsPartialPayment;
//newChPaymentFrom.IsCNYPay = headData.IsCNYPay;
//newChPaymentFrom.InvoiceFileNum = headData.InvoiceFileNum;
//newChPaymentFrom.BankBranchName = headData.BankBranchName;
//newChPaymentFrom.PayRemark = headData.PayRemark;
//newChPaymentFrom.CallBackUrl = headData.CallBackUrl;
//newChPaymentFrom.IsCNYPay = headData.IsCNYPay;
result . Success = true ;
var json = JsonConvert . Serialize ( new { Success = result . Success , Message = result . Message , Data = newChPaymentFrom } ) ;
return new ContentResult ( ) { Content = json } ;
}
[SqlKeyWordsFilter(Type = "Action")] //sql 防注入过滤器
public ContentResult CreateReg ( string GID )
{
DBResult result = new DBResult ( ) ;
var company = MsCompanysDAL . GetNoPicData ( "GID='" + Convert . ToString ( Session [ "COMPANYID" ] ) . ToString ( ) . Trim ( ) + "'" ) ;
var newChPaymentFrom = new ChRegisterFrom ( ) ;
newChPaymentFrom . CompanyName = company . FULLNAME ;
newChPaymentFrom . CompanyCode = company . TAXCODE ;
newChPaymentFrom . CompanyAddress = company . ADDRESS ;
newChPaymentFrom . ContactName = Convert . ToString ( Session [ "SHOWNAME" ] ) ;
newChPaymentFrom . Email = company . EMAIL ;
newChPaymentFrom . Phone = company . OFFICEPHONE ;
var bankList = MsBaseInfoDAL . GetBANKList ( "" , Convert . ToString ( Session [ "COMPANYID" ] ) . ToString ( ) . Trim ( ) ) ;
if ( bankList ! = null & & bankList . Count ! = 0 )
{
foreach ( var bank in bankList )
{
if ( ( bank . CURRENCY = = "USD" & & ( bank . ISDEF = = "True" ) ) ) {
newChPaymentFrom . CompanyBank = bank . BANKNAME ;
newChPaymentFrom . CompanyAccount = bank . ACCOUNT ;
}
}
}
result . Success = true ;
var json = JsonConvert . Serialize ( new { Success = result . Success , Message = result . Message , Data = newChPaymentFrom } ) ;
return new ContentResult ( ) { Content = json } ;
}
[SqlKeyWordsFilter(Type = "Action")] //sql 防注入过滤器
public ContentResult CreateUrl ( string GID )
{
DBResult result = new DBResult ( ) ;
var payUrl = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYURL'" ) . PARAMVALUE ;
var dspayid = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYID'" ) . PARAMVALUE ;
var DSPAYUSERNAME = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYUSERNAME'" ) . PARAMVALUE ;
var url = payUrl + "/User/SetDRACCNOList?AppId=" + dspayid + "&UserName=" + DSPAYUSERNAME ;
result . Success = true ;
var json = JsonConvert . Serialize ( new { Success = result . Success , Message = result . Message , Data = url } ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult GetPayCityList ( )
{
DBResult result = new DBResult ( ) ;
var Timestamp = ConvertDateTimeToInt ( DateTime . Now ) ;
var NonceStr = Guid . NewGuid ( ) . ToString ( ) . Replace ( "-" , "" ) ;
if ( NonceStr . Length > 32 ) NonceStr = NonceStr . Substring ( 0 , 32 ) ;
var NewPayGet = new PayGet ( ) ;
NewPayGet . AppId = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYID'" ) . PARAMVALUE ;
NewPayGet . ApiSerialNo = Guid . NewGuid ( ) . ToString ( ) ;
var secretKey = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYKEY'" ) . PARAMVALUE ;
var payUrl = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYURL'" ) . PARAMVALUE ;
var jsonstr = Newtonsoft . Json . JsonConvert . SerializeObject ( NewPayGet ) ;
var Signature = signatureGet ( jsonstr , NonceStr , Timestamp . ToString ( ) , secretKey ) ;
Dictionary < string , string > dicData = new Dictionary < string , string > ( ) ;
dicData . Add ( "Signature" , Signature ) ;
dicData . Add ( "Timestamp" , Timestamp . ToString ( ) ) ;
dicData . Add ( "NonceStr" , NonceStr ) ;
BasicDataRefDAL . SaveLog ( jsonstr , "admin" , "快付获取城市列表" , "发送" ) ;
var rtn = WebRequestHelper . DoPostHead ( payUrl + "/api/GetCityList" , dicData , jsonstr ) ;
var _rd = JsonConvert . Deserialize < JosnPayGetCity > ( rtn ) ;
BasicDataRefDAL . SaveLog ( rtn , "" , "快付获取城市列表" , "返回" ) ;
result . Success = _rd . Code = = 0 ;
result . Message = _rd . Msg ;
var CityList = _rd . Data ;
var jsonRespose = new jsonresponse { success = result . Success , message = result . Message , data = CityList . ToList ( ) } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult GetPayBankList ( )
{
DBResult result = new DBResult ( ) ;
var Timestamp = ConvertDateTimeToInt ( DateTime . Now ) ;
var NonceStr = Guid . NewGuid ( ) . ToString ( ) . Replace ( "-" , "" ) ;
if ( NonceStr . Length > 32 ) NonceStr = NonceStr . Substring ( 0 , 32 ) ;
var NewPayGet = new PayGet ( ) ;
NewPayGet . AppId = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYID'" ) . PARAMVALUE ;
NewPayGet . ApiSerialNo = Guid . NewGuid ( ) . ToString ( ) ;
var secretKey = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYKEY'" ) . PARAMVALUE ;
var payUrl = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYURL'" ) . PARAMVALUE ;
var jsonstr = Newtonsoft . Json . JsonConvert . SerializeObject ( NewPayGet ) ;
var Signature = signatureGet ( jsonstr , NonceStr , Timestamp . ToString ( ) , secretKey ) ;
Dictionary < string , string > dicData = new Dictionary < string , string > ( ) ;
dicData . Add ( "Signature" , Signature ) ;
dicData . Add ( "Timestamp" , Timestamp . ToString ( ) ) ;
dicData . Add ( "NonceStr" , NonceStr ) ;
BasicDataRefDAL . SaveLog ( jsonstr , "admin" , "快付获取银行列表" , "发送" ) ;
var rtn = WebRequestHelper . DoPostHead ( payUrl + "/api/GetBankList" , dicData , jsonstr ) ;
var _rd = JsonConvert . Deserialize < JosnPayGetBank > ( rtn ) ;
BasicDataRefDAL . SaveLog ( rtn , "" , "快付获取银行列表" , "返回" ) ;
result . Success = _rd . Code = = 0 ;
result . Message = _rd . Msg ;
var CityList = _rd . Data ;
var jsonRespose = new jsonresponse { success = result . Success , message = result . Message , data = CityList . ToList ( ) } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult GetCompanyIsPay ( )
{
DBResult result = new DBResult ( ) ;
var Timestamp = ConvertDateTimeToInt ( DateTime . Now ) ;
var NonceStr = Guid . NewGuid ( ) . ToString ( ) . Replace ( "-" , "" ) ;
if ( NonceStr . Length > 32 ) NonceStr = NonceStr . Substring ( 0 , 32 ) ;
var NewPayGet = new PayGetCompany ( ) ;
NewPayGet . AppId = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYID'" ) . PARAMVALUE ;
NewPayGet . ApiSerialNo = Guid . NewGuid ( ) . ToString ( ) ;
T_ALL_DA T_ALL_DA = new EntityDA . T_ALL_DA ( ) ;
var CompanyName = T_ALL_DA . GetStrSQL ( "FULLNAME" , "select FULLNAME from [company] where GID='" + Convert . ToString ( Session [ "COMPANYID" ] ) . ToString ( ) . Trim ( ) + "'" ) ;
NewPayGet . CompanyName = CompanyName ;
var secretKey = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYKEY'" ) . PARAMVALUE ;
var payUrl = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYURL'" ) . PARAMVALUE ;
var jsonstr = Newtonsoft . Json . JsonConvert . SerializeObject ( NewPayGet ) ;
var Signature = signatureGet ( jsonstr , NonceStr , Timestamp . ToString ( ) , secretKey ) ;
Dictionary < string , string > dicData = new Dictionary < string , string > ( ) ;
dicData . Add ( "Signature" , Signature ) ;
dicData . Add ( "Timestamp" , Timestamp . ToString ( ) ) ;
dicData . Add ( "NonceStr" , NonceStr ) ;
BasicDataRefDAL . SaveLog ( jsonstr , "admin" , "快付验证公司" , "发送" ) ;
var rtn = WebRequestHelper . DoPostHead ( payUrl + "/api/CompanyRegistered" , dicData , jsonstr ) ;
var _rd = JsonConvert . Deserialize < PayGetIsCompany > ( rtn ) ;
BasicDataRefDAL . SaveLog ( rtn , "" , "快付验证公司" , "返回" ) ;
result . Success = _rd . Code = = 0 ;
result . Message = _rd . Msg ;
var jsonRespose = new JsonResponse { Success = result . Success , Message = result . Message } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult SendReg ( string data )
{
var headData = JsonConvert . Deserialize < ChRegisterFrom > ( data ) ;
var localurl = System . Web . HttpContext . Current . Request . Url . Host ;
var DSPAYUSERNAME = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYUSERNAME'" ) . PARAMVALUE ;
var newPaymentFrom = new RegisterFrom ( ) ;
newPaymentFrom . AppId = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYID'" ) . PARAMVALUE ;
newPaymentFrom . Username = headData . Username ;
newPaymentFrom . Password = MD5Encrypt32 ( headData . Password ) ;
newPaymentFrom . PayPassword = MD5Encrypt32 ( headData . PayPassword ) ;
newPaymentFrom . ContactName = headData . ContactName ;
newPaymentFrom . Phone = headData . Phone ;
newPaymentFrom . City = headData . City ;
newPaymentFrom . CompanyName = headData . CompanyName ;
newPaymentFrom . CompanyCode = headData . CompanyCode ;
newPaymentFrom . CompanyAddress = headData . CompanyAddress ;
newPaymentFrom . CompanyBank = headData . CompanyBank ;
newPaymentFrom . CompanyAccount = headData . CompanyAccount ;
newPaymentFrom . Email = headData . Email ;
newPaymentFrom . LegalName = headData . LegalName ;
if ( ! string . IsNullOrEmpty ( headData . ValidatePassword ) )
newPaymentFrom . ValidatePassword = MD5Encrypt32 ( headData . ValidatePassword ) ;
newPaymentFrom . ApiSerialNo = Guid . NewGuid ( ) . ToString ( ) ;
DBResult result = new DBResult ( ) ;
var Timestamp = ConvertDateTimeToInt ( DateTime . Now ) ;
var NonceStr = Guid . NewGuid ( ) . ToString ( ) . Replace ( "-" , "" ) ;
if ( NonceStr . Length > 32 ) NonceStr = NonceStr . Substring ( 0 , 32 ) ;
T_ALL_DA T_ALL_DA = new EntityDA . T_ALL_DA ( ) ;
var CompanyName = T_ALL_DA . GetStrSQL ( "FULLNAME" , "select FULLNAME from [company] where GID='" + Convert . ToString ( Session [ "COMPANYID" ] ) . ToString ( ) . Trim ( ) + "'" ) ;
var secretKey = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYKEY'" ) . PARAMVALUE ;
var payUrl = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYURL'" ) . PARAMVALUE ;
var jsonstr = Newtonsoft . Json . JsonConvert . SerializeObject ( newPaymentFrom ) ;
var Signature = signatureGet ( jsonstr , NonceStr , Timestamp . ToString ( ) , secretKey ) ;
Dictionary < string , string > dicData = new Dictionary < string , string > ( ) ;
dicData . Add ( "Signature" , Signature ) ;
dicData . Add ( "Timestamp" , Timestamp . ToString ( ) ) ;
dicData . Add ( "NonceStr" , NonceStr ) ;
BasicDataRefDAL . SaveLog ( jsonstr , "admin" , "快付发起公司注册" , "发送" ) ;
var rtn = WebRequestHelper . DoPostHead ( payUrl + "/api/RegisterFromApi" , dicData , jsonstr ) ;
var _rd = JsonConvert . Deserialize < RegResult > ( rtn ) ;
BasicDataRefDAL . SaveLog ( rtn , "" , "快付发起公司注册" , "返回" ) ;
if ( _rd . Code = = 0 )
{
var blUpSQL = " update sys_param_set set PARAMVALUE='" + headData . Username + "' WHERE GID='99F5C3F6-FE80-4401-9C0E-3B5312320F26'" ;
bool bl = T_ALL_DA . GetExecuteSqlCommand ( blUpSQL ) ;
headData . AppId = newPaymentFrom . AppId ;
headData . ApiSerialNo = newPaymentFrom . ApiSerialNo ;
headData . GID = NonceStr ;
headData . CREATETIME = DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) ;
headData . CREATEUSER = Convert . ToString ( Session [ "USERID" ] ) . ToString ( ) . Trim ( ) ;
headData . DbOperationType = DbOperationType . DbotIns ;
var modb = new ModelObjectDB ( ) ;
var ss = modb . Save ( headData ) ;
var msgstr = "" ;
if ( _rd . Data . IsRecharged = = 0 )
{
if ( _rd . Data . IsNewUser = = 0 )
{
msgstr = "老客户未充值!" ;
}
else
{
msgstr = "新客户未充值!" ;
}
}
if ( _rd . Data . RegistrationInfo . IsRegisteredUSDOne = = 0 )
{
msgstr = msgstr + "美金第一账户未备案" ;
}
result . Success = _rd . Code = = 0 ;
result . Message = msgstr ;
}
else
{
result . Success = false ;
result . Message = _rd . Msg ;
}
var jsonRespose = new JsonResponse { Success = result . Success , Message = result . Message } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult SendPay ( string data , string filedata )
{
var headData = JsonConvert . Deserialize < ChPaymentFrom > ( data ) ;
var HeadData = ChsettlementDAL . GetData ( "GID='" + headData . PAYGID + "'" ) ;
if ( HeadData . PAYSTATUS = = "提交支付" | | HeadData . PAYSTATUS = = "支付完成" )
{
var jsonRespose3 = new JsonResponse { Success = false , Message = "当前状态不允许生成支付!" , Data = "0" } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose3 ) } ;
}
var filelist = JsonConvert . Deserialize < List < ChfeeFile > > ( filedata ) ;
var localurl = "http://" + System . Web . HttpContext . Current . Request . Url . Authority ;
var DSPAYUSERNAME = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYUSERNAME'" ) . PARAMVALUE ;
var path = Server . MapPath ( "../../UploadFiles/MsOpFiles/TmpInv" ) ;
if ( ! Directory . Exists ( path ) )
{
Directory . CreateDirectory ( path ) ;
}
var InvFiles = new List < InvFiles > ( ) ;
foreach ( var invfile in filelist ) {
if ( System . IO . File . Exists ( invfile . File_Path ) )
{
var fileExt = System . IO . Path . GetExtension ( invfile . File_Path ) ;
if ( fileExt = = ".pdf" )
{
string randomFileName = System . IO . Path . GetRandomFileName ( ) . Replace ( "." , "" ) ;
var destinationFile = path + "/" + randomFileName + ".pdf" ;
System . IO . File . Copy ( invfile . File_Path , destinationFile ) ;
var file = new InvFiles ( ) ;
file . Path = localurl + "/UploadFiles/MsOpFiles/TmpInv/" + randomFileName + ".pdf" + "?a=23451" ;
file . fileExtension = "pdf" ;
InvFiles . Add ( file ) ;
using ( var document = PdfiumViewer . PdfDocument . Load ( invfile . File_Path ) )
{
for ( int pageIndex = 0 ; pageIndex < document . PageCount ; pageIndex + + )
{
var pageImage = document . Render ( pageIndex , 500 , 500 , true ) ; // 300 dpi
string randomImgFileName = System . IO . Path . GetRandomFileName ( ) . Replace ( "." , "" ) ;
var destinationImgFile = path + "/" + randomImgFileName + ".jpg" ;
pageImage . Save ( destinationImgFile , System . Drawing . Imaging . ImageFormat . Jpeg ) ;
var file2 = new InvFiles ( ) ;
file2 . Path = localurl + "/UploadFiles/MsOpFiles/TmpInv/" + randomImgFileName + ".jpg" + "?a=23451" ;
file2 . fileExtension = "jpg" ;
InvFiles . Add ( file2 ) ;
}
}
//Spire.Pdf.PdfDocument doc = new Spire.Pdf.PdfDocument();
//doc.LoadFromFile(invfile.File_Path);
//doc.Pages.Insert(0);
//for (var i = 0; i < doc.Pages.Count; i++)
//{
// Image image = doc.SaveAsImage(i, PdfImageType.Bitmap, 500, 500);
// string randomImgFileName = System.IO.Path.GetRandomFileName().Replace(".", "");
// var destinationImgFile = path + "/" + randomImgFileName + ".jpg";
// image.Save(destinationImgFile, ImageFormat.Jpeg);
// if (i != 0)
// {
// var file2 = new InvFiles();
// file2.Path = localurl + "/UploadFiles/MsOpFiles/TmpInv/" + randomImgFileName + ".jpg" + "?a=23451";
// file2.fileExtension = "jpg";
// InvFiles.Add(file2);
// }
//}
}
else {
var jsonRespose2 = new JsonResponse { Success = false , Message = "发票文件请上传pdf文件" } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose2 ) } ;
}
}
}
var newPaymentFrom = new PaymentFrom ( ) ;
newPaymentFrom . AppId = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYID'" ) . PARAMVALUE ;
newPaymentFrom . Username = DSPAYUSERNAME ;
newPaymentFrom . PayeeCompanyName = headData . PayeeCompanyName ;
newPaymentFrom . PayeeCompanyAccount = headData . PayeeCompanyAccount ;
newPaymentFrom . PaymentAmount = Convert . ToInt32 ( headData . PayAmount * 100 ) ;
if ( headData . IsAcrossBank = = 0 )
{
newPaymentFrom . SwiftCode = "" ;
newPaymentFrom . BankName = "中国银行" ;
newPaymentFrom . BankId = 5 ;
}
else
{
newPaymentFrom . SwiftCode = headData . SwiftCode ;
newPaymentFrom . BankName = headData . BankName ;
newPaymentFrom . BankId = headData . BankId ;
}
newPaymentFrom . IsAcrossBank = headData . IsAcrossBank ;
newPaymentFrom . IsQuickPay = headData . IsQuickPay ;
newPaymentFrom . IsPartialPayment = headData . IsPartialPayment ;
newPaymentFrom . IsCNYPay = headData . IsCNYPay ;
newPaymentFrom . InvoiceFileNum = filelist . Count ;
newPaymentFrom . BankBranchName = headData . BankBranchName ;
newPaymentFrom . PayRemark = headData . PayRemark ;
newPaymentFrom . CallBackUrl = localurl + "/Dispatch/Dispatch/PaymentCallback" ;
newPaymentFrom . IsCNYPay = headData . IsCNYPay ;
newPaymentFrom . ApiSerialNo = Guid . NewGuid ( ) . ToString ( ) ;
newPaymentFrom . Files = InvFiles ;
DBResult result = new DBResult ( ) ;
var Timestamp = ConvertDateTimeToInt ( DateTime . Now ) ;
var NonceStr = Guid . NewGuid ( ) . ToString ( ) . Replace ( "-" , "" ) ;
if ( NonceStr . Length > 32 ) NonceStr = NonceStr . Substring ( 0 , 32 ) ;
T_ALL_DA T_ALL_DA = new EntityDA . T_ALL_DA ( ) ;
var CompanyName = T_ALL_DA . GetStrSQL ( "FULLNAME" , "select FULLNAME from [company] where GID='" + Convert . ToString ( Session [ "COMPANYID" ] ) . ToString ( ) . Trim ( ) + "'" ) ;
var secretKey = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYKEY'" ) . PARAMVALUE ;
var payUrl = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYURL'" ) . PARAMVALUE ;
var jsonstr = Newtonsoft . Json . JsonConvert . SerializeObject ( newPaymentFrom ) ;
var Signature = signatureGet ( jsonstr , NonceStr , Timestamp . ToString ( ) , secretKey ) ;
Dictionary < string , string > dicData = new Dictionary < string , string > ( ) ;
dicData . Add ( "Signature" , Signature ) ;
dicData . Add ( "Timestamp" , Timestamp . ToString ( ) ) ;
dicData . Add ( "NonceStr" , NonceStr ) ;
BasicDataRefDAL . SaveLog ( jsonstr , "admin" , "快付发起支付" , "发送" ) ;
var rtn = WebRequestHelper . DoPostHead ( payUrl + "/api/PaymentFromApi" , dicData , jsonstr ) ;
var _rd = JsonConvert . Deserialize < PaymentResult > ( rtn ) ;
BasicDataRefDAL . SaveLog ( rtn , "" , "快付发起支付" , "返回" ) ;
if ( _rd . Code = = 0 ) {
var blUpSQL = " update ch_fee_settlement set PAYID='" + _rd . Data . SerialNo + "',PAYSTATUS='提交付费' WHERE GID='" + headData . PAYGID + "'" ;
bool bl = T_ALL_DA . GetExecuteSqlCommand ( blUpSQL ) ;
headData . GID = NonceStr ;
headData . CREATETIME = DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) ;
headData . CREATEUSER = Convert . ToString ( Session [ "USERID" ] ) . ToString ( ) . Trim ( ) ;
headData . DbOperationType = DbOperationType . DbotIns ;
var modb = new ModelObjectDB ( ) ;
modb . Save ( headData ) ;
}
result . Success = _rd . Code = = 0 ;
result . Message = _rd . Msg ;
var jsonRespose = new JsonResponse { Success = result . Success , Message = result . Message } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult SendBankRecord ( )
{
var GID = Guid . NewGuid ( ) . ToString ( ) . Replace ( "-" , "" ) ;
if ( GID . Length > 32 ) GID = GID . Substring ( 0 , 32 ) ;
var NonceStr = Guid . NewGuid ( ) . ToString ( ) . Replace ( "-" , "" ) ;
if ( NonceStr . Length > 32 ) NonceStr = NonceStr . Substring ( 0 , 32 ) ;
var DSPAYUSERNAME = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYUSERNAME'" ) . PARAMVALUE ;
var newPaymentFrom = new Bankrecord ( ) ;
newPaymentFrom . AppId = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYID'" ) . PARAMVALUE ;
newPaymentFrom . Username = DSPAYUSERNAME ;
newPaymentFrom . SerialNo = GID ;
newPaymentFrom . BankCode = "0000" ;
newPaymentFrom . BankMsg = "" ;
newPaymentFrom . Username = "ds_hxt" ;
newPaymentFrom . CompanyName = "青岛东胜伟业软件有限公司" ;
newPaymentFrom . RegistrationType = 0 ;
newPaymentFrom . ApiSerialNo = NonceStr ;
DBResult result = new DBResult ( ) ;
var Timestamp = ConvertDateTimeToInt ( DateTime . Now ) ;
T_ALL_DA T_ALL_DA = new EntityDA . T_ALL_DA ( ) ;
var CompanyName = T_ALL_DA . GetStrSQL ( "FULLNAME" , "select FULLNAME from [company] where GID='" + Convert . ToString ( Session [ "COMPANYID" ] ) . ToString ( ) . Trim ( ) + "'" ) ;
var secretKey = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYKEY'" ) . PARAMVALUE ;
var payUrl = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYURL'" ) . PARAMVALUE ;
var jsonstr = Newtonsoft . Json . JsonConvert . SerializeObject ( newPaymentFrom ) ;
var Signature = signatureGet ( jsonstr , NonceStr , Timestamp . ToString ( ) , secretKey ) ;
Dictionary < string , string > dicData = new Dictionary < string , string > ( ) ;
dicData . Add ( "Signature" , Signature ) ;
dicData . Add ( "Timestamp" , Timestamp . ToString ( ) ) ;
dicData . Add ( "NonceStr" , NonceStr ) ;
BasicDataRefDAL . SaveLog ( jsonstr , "admin" , "快付发起备案" , "发送" ) ;
var rtn = WebRequestHelper . DoPostHead ( payUrl + "/api/ManualBankRecordCallback" , dicData , jsonstr ) ;
var _rd = JsonConvert . Deserialize < PaymentResult > ( rtn ) ;
BasicDataRefDAL . SaveLog ( rtn , "" , "快付发起备案" , "返回" ) ;
result . Success = _rd . Code = = 0 ;
result . Message = _rd . Msg ;
var jsonRespose = new JsonResponse { Success = result . Success , Message = result . Message } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult SendPayReCharge ( )
{
var GID = Guid . NewGuid ( ) . ToString ( ) . Replace ( "-" , "" ) ;
if ( GID . Length > 32 ) GID = GID . Substring ( 0 , 32 ) ;
var NonceStr = Guid . NewGuid ( ) . ToString ( ) . Replace ( "-" , "" ) ;
if ( NonceStr . Length > 32 ) NonceStr = NonceStr . Substring ( 0 , 32 ) ;
var DSPAYUSERNAME = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYUSERNAME'" ) . PARAMVALUE ;
var newPaymentFrom = new PayReCharge ( ) ;
newPaymentFrom . AppId = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYID'" ) . PARAMVALUE ;
newPaymentFrom . Username = DSPAYUSERNAME ;
newPaymentFrom . RechargeCode = "0000" ;
newPaymentFrom . RechargeAmount = 10000 ;
newPaymentFrom . Username = "ds_hxt" ;
newPaymentFrom . CompanyName = "青岛东胜伟业软件有限公司" ;
newPaymentFrom . RechargePackage = "111" ;
newPaymentFrom . ApiSerialNo = NonceStr ;
newPaymentFrom . RechargeStartTime = DateTime . Now . ToString ( "yyyy-MM-ddTHH:mm:ssZ" ) ;
newPaymentFrom . RechargeEndTime = DateTime . Now . ToString ( "yyyy-MM-ddTHH:mm:ssZ" ) ;
newPaymentFrom . RechargeTime = DateTime . Now . ToString ( "yyyy-MM-ddTHH:mm:ssZ" ) ;
DBResult result = new DBResult ( ) ;
var Timestamp = ConvertDateTimeToInt ( DateTime . Now ) ;
T_ALL_DA T_ALL_DA = new EntityDA . T_ALL_DA ( ) ;
var CompanyName = T_ALL_DA . GetStrSQL ( "FULLNAME" , "select FULLNAME from [company] where GID='" + Convert . ToString ( Session [ "COMPANYID" ] ) . ToString ( ) . Trim ( ) + "'" ) ;
var secretKey = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYKEY'" ) . PARAMVALUE ;
var payUrl = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYURL'" ) . PARAMVALUE ;
var jsonstr = Newtonsoft . Json . JsonConvert . SerializeObject ( newPaymentFrom ) ;
var Signature = signatureGet ( jsonstr , NonceStr , Timestamp . ToString ( ) , secretKey ) ;
Dictionary < string , string > dicData = new Dictionary < string , string > ( ) ;
dicData . Add ( "Signature" , Signature ) ;
dicData . Add ( "Timestamp" , Timestamp . ToString ( ) ) ;
dicData . Add ( "NonceStr" , NonceStr ) ;
BasicDataRefDAL . SaveLog ( jsonstr , "admin" , "快付发起备案" , "发送" ) ;
var rtn = WebRequestHelper . DoPostHead ( payUrl + "/api/ManualBankRecordCallback" , dicData , jsonstr ) ;
var _rd = JsonConvert . Deserialize < PaymentResult > ( rtn ) ;
BasicDataRefDAL . SaveLog ( rtn , "" , "快付发起备案" , "返回" ) ;
result . Success = _rd . Code = = 0 ;
result . Message = _rd . Msg ;
var jsonRespose = new JsonResponse { Success = result . Success , Message = result . Message } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult SendPaymentCallBack ( )
{
var GID = Guid . NewGuid ( ) . ToString ( ) . Replace ( "-" , "" ) ;
if ( GID . Length > 32 ) GID = GID . Substring ( 0 , 32 ) ;
var NonceStr = Guid . NewGuid ( ) . ToString ( ) . Replace ( "-" , "" ) ;
if ( NonceStr . Length > 32 ) NonceStr = NonceStr . Substring ( 0 , 32 ) ;
var DSPAYUSERNAME = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYUSERNAME'" ) . PARAMVALUE ;
var newPaymentFrom = new PaymentCallBack ( ) ;
newPaymentFrom . AppId = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYID'" ) . PARAMVALUE ;
newPaymentFrom . SerialNo = "ff5beca2-85aa-4c02-830c-e40c5cd51214" ;
newPaymentFrom . BankCode = "0000" ;
newPaymentFrom . ChargeAmount = 30000 ;
newPaymentFrom . BankMsg = "111" ;
newPaymentFrom . ApiSerialNo = NonceStr ;
newPaymentFrom . CallbackUrl = "http://47.104.102.13:8081/Dispatch/Dispatch/PaymentCallback" ;
DBResult result = new DBResult ( ) ;
var Timestamp = ConvertDateTimeToInt ( DateTime . Now ) ;
T_ALL_DA T_ALL_DA = new EntityDA . T_ALL_DA ( ) ;
var CompanyName = T_ALL_DA . GetStrSQL ( "FULLNAME" , "select FULLNAME from [company] where GID='" + Convert . ToString ( Session [ "COMPANYID" ] ) . ToString ( ) . Trim ( ) + "'" ) ;
var secretKey = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYKEY'" ) . PARAMVALUE ;
var payUrl = MsSysParamSetDAL . GetData ( "PARAMNAME='DSPAYURL'" ) . PARAMVALUE ;
var jsonstr = Newtonsoft . Json . JsonConvert . SerializeObject ( newPaymentFrom ) ;
var Signature = signatureGet ( jsonstr , NonceStr , Timestamp . ToString ( ) , secretKey ) ;
Dictionary < string , string > dicData = new Dictionary < string , string > ( ) ;
dicData . Add ( "Signature" , Signature ) ;
dicData . Add ( "Timestamp" , Timestamp . ToString ( ) ) ;
dicData . Add ( "NonceStr" , NonceStr ) ;
BasicDataRefDAL . SaveLog ( jsonstr , "admin" , "快付发起备案" , "发送" ) ;
var rtn = WebRequestHelper . DoPostHead ( payUrl + "/api/ManualBankRecordCallback" , dicData , jsonstr ) ;
var _rd = JsonConvert . Deserialize < PaymentResult > ( rtn ) ;
BasicDataRefDAL . SaveLog ( rtn , "" , "快付发起备案" , "返回" ) ;
result . Success = _rd . Code = = 0 ;
result . Message = _rd . Msg ;
var jsonRespose = new JsonResponse { Success = result . Success , Message = result . Message } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public static long ConvertDateTimeToInt ( System . DateTime time )
{
long t = ( time . Ticks - 621356256000000000 ) / 10000 ;
return t ;
}
public static string signatureGet ( string bodyJson , string noncestr , string timestamp , string secretKey )
{
string singature = string . Empty ;
string md5str = $"{bodyJson}NonceStr={noncestr}Timestamp={timestamp}{secretKey}" ;
singature = MD5Encrypt32 ( md5str ) ;
return singature ;
}
public static string MD5Encrypt32 ( string password )
{
string cl = password ;
string pwd = "" ;
MD5 md5 = MD5 . Create ( ) ; //实例化一个md5对像
// 加密后是一个字节类型的数组, 这里要注意编码UTF8/Unicode等的选择
byte [ ] s = md5 . ComputeHash ( Encoding . UTF8 . GetBytes ( cl ) ) ;
// 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得
for ( int i = 0 ; i < s . Length ; i + + )
{
// 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母, 如果使用大写( X) 则格式后的字符是大写字符
pwd = pwd + s [ i ] . ToString ( "x2" ) ;
}
return pwd ;
}
# endregion
#region 参照部分
# endregion
}
}