Commit 1bfa00c2 by 陶然

优化扫码支付

parent b4715d90
...@@ -193,13 +193,13 @@ namespace Com.Bocom.OpenApi ...@@ -193,13 +193,13 @@ namespace Com.Bocom.OpenApi
} }
public static MPNG210001ResponseV1 GenerateReceiveCode(List<Settlement> settlements) public static MPNG210001ResponseV1 GenerateReceiveCode(List<Settlement> settlements, string uniqueCode = null)
{ {
if (settlements.IsNullOrEmpty()) return null; if (settlements.IsNullOrEmpty()) return null;
if (settlements.Exists(o => o.OffsetKvid != Guid.Empty || o.AmountPayment > 0)) throw new Exception("存在不符合生成收款码条件的结算"); if (settlements.Exists(o => o.OffsetKvid != Guid.Empty || o.AmountPayment > 0)) throw new Exception("存在不符合生成收款码条件的结算");
var amount = settlements.Sum(o => o.Amount); var amount = settlements.Sum(o => o.Amount);
if (amount <= 0) return null; if (amount <= 0) return null;
var uniqueCode = Guid.NewGuid().ToString();//生成二维码的唯一性交易编号 if (uniqueCode.IsNullOrEmpty()) uniqueCode = Guid.NewGuid().ToString();//生成二维码的唯一性交易编号
var summary = $"{settlements[0].BizId}等共{settlements.Count}条结算进行扫码支付!"; var summary = $"{settlements[0].BizId}等共{settlements.Count}条结算进行扫码支付!";
var remark = settlements[0].PayerName; var remark = settlements[0].PayerName;
//var rtnTests = new MPNG210001ResponseV1(); //var rtnTests = new MPNG210001ResponseV1();
...@@ -241,6 +241,7 @@ namespace Com.Bocom.OpenApi ...@@ -241,6 +241,7 @@ namespace Com.Bocom.OpenApi
{ {
//-----------------------记录下这份收款码的数据的信息,如果这份订单取消了就要作废-------------------------------- //-----------------------记录下这份收款码的数据的信息,如果这份订单取消了就要作废--------------------------------
var rtns = response as MPNG210001ResponseV1; var rtns = response as MPNG210001ResponseV1;
if (rtns.rsp_head.response_status != "S") throw new Exception(rtns.rsp_head.response_msg);
//rtns.rsp_body.display_code_text = $"http://yunbanktest.bankcomm.com/tcipp/pmss/cipp.jsp?qrCode={rtns.rsp_body.display_code_text}"; //rtns.rsp_body.display_code_text = $"http://yunbanktest.bankcomm.com/tcipp/pmss/cipp.jsp?qrCode={rtns.rsp_body.display_code_text}";
return rtns; return rtns;
} }
...@@ -282,6 +283,7 @@ namespace Com.Bocom.OpenApi ...@@ -282,6 +283,7 @@ namespace Com.Bocom.OpenApi
if (response.IsSuccess()) if (response.IsSuccess())
{ {
var rtns = response as MPNG020702ResponseV1; var rtns = response as MPNG020702ResponseV1;
if (rtns.rsp_head.response_status != "S") throw new Exception(rtns.rsp_head.response_msg);
return rtns; return rtns;
} }
else else
......
...@@ -15,9 +15,10 @@ namespace Njzj.Bocoms.Openapis ...@@ -15,9 +15,10 @@ namespace Njzj.Bocoms.Openapis
public class SettlementGenerateReceiveCode : RestfulExecution<Settlement> public class SettlementGenerateReceiveCode : RestfulExecution<Settlement>
{ {
public List<Guid> SettlementKvids { get; set; } public List<Guid> SettlementKvids { get; set; }
public string View { get; set; } public string View { get; set; }
public string PayMerTranNo { get; set; }//唯一的业务编号,可以不传,系统将自动从Guid转化
public override object OnExecution(IRequest req, IResponse res) public override object OnExecution(IRequest req, IResponse res)
{ {
SettlementKvids.ThrowIfNullOrEmpty("请传入要收款的结算!"); SettlementKvids.ThrowIfNullOrEmpty("请传入要收款的结算!");
...@@ -28,7 +29,7 @@ namespace Njzj.Bocoms.Openapis ...@@ -28,7 +29,7 @@ namespace Njzj.Bocoms.Openapis
rtns.Results = new List<MPNG020702ResponseV1>(); rtns.Results = new List<MPNG020702ResponseV1>();
try try
{ {
var results = Extension.GenerateReceiveCode(settlements); var results = Extension.GenerateReceiveCode(settlements, PayMerTranNo);
var payMerTranNo = results.rsp_body.pay_mer_tran_no; var payMerTranNo = results.rsp_body.pay_mer_tran_no;
var order = Extension.GetReceiveCodeOrder(payMerTranNo); var order = Extension.GetReceiveCodeOrder(payMerTranNo);
...@@ -144,8 +145,8 @@ namespace Njzj.Bocoms.Openapis ...@@ -144,8 +145,8 @@ namespace Njzj.Bocoms.Openapis
existCode.AddOnlyProperties(o => o.tran_content); existCode.AddOnlyProperties(o => o.tran_content);
conn.UpdateOnly(existCode); conn.UpdateOnly(existCode);
existCode.RemoveAllOnlyProperties(); existCode.RemoveAllOnlyProperties();
rtns.Results.Add(existCode);
} }
rtns.Results.Add(existCode);
return rtns; return rtns;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment