Commit dc7a1e5c by 陶然

优化

parent 367f76f0
barcode {
float: left;
clear: both;
padding: 0 10px;
/*quiet zone*/
overflow: auto;
height: 0.5in;
/*size*/
}
.right {
float: right;
}
.barcode + * {
clear: both;
}
.barcode div {
float: left;
height: 0.35in;
/*size*/
}
.barcode .bar1 {
border-left: 1px solid black;
}
.barcode .bar2 {
border-left: 2px solid black;
}
.barcode .bar3 {
border-left: 3px solid black;
}
.barcode .bar4 {
border-left: 4px solid black;
}
.barcode .space0 {
margin-right: 0;
}
.barcode .space1 {
margin-right: 1px;
}
.barcode .space2 {
margin-right: 2px;
}
.barcode .space3 {
margin-right: 3px;
}
.barcode .space4 {
margin-right: 4px;
}
.barcode label {
clear: both;
display: block;
text-align: center;
font: 0.125in/100% helvetica;
/*size*/
}
/*** bigger ******************************************/
.barcode2 {
float: left;
clear: both;
padding: 0 10px;
/*quiet zone*/
overflow: auto;
height: 1in;
/*size*/
}
.barcode2 + * {
clear: both;
}
.barcode2 div {
float: left;
height: 0.7in;
/*size*/
}
.barcode2 .bar1 {
border-left: 2px solid black;
}
.barcode2 .bar2 {
border-left: 4px solid black;
}
.barcode2 .bar3 {
border-left: 6px solid black;
}
.barcode2 .bar4 {
border-left: 8px solid black;
}
.barcode2 .space0 {
margin-right: 0;
}
.barcode2 .space1 {
margin-right: 2px;
}
.barcode2 .space2 {
margin-right: 4px;
}
.barcode2 .space3 {
margin-right: 6px;
}
.barcode2 .space4 {
margin-right: 8px;
}
.barcode2 label {
clear: both;
display: block;
text-align: center;
font: 0.25in/100% helvetica;
/*size*/
}
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
using Com.Bocom.OpenApi;
using Kivii;
using Kivii.DataAnnotations;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Njzj.Bocoms.Openapis.Entities
{
[Api(Description = "收款码")]
[Alias(Configs.TableNameReceiveCode)]
public class ReceiveCode : EntityWithMetadata
{
[ApiMember(Description = "交易标识")]
[StringLength(100)]
public string trans_code { get; set; }
[ApiMember(Description = "返回码")]
[StringLength(100)]
public string response_code { get; set; }
[ApiMember(Description = "交易状态 P-处理中 F-失败 S-成功")]
[StringLength(100)]
public string response_status { get; set; }
[ApiMember(Description = "响应时间")]
[StringLength(100)]
public string response_time { get; set; }
[ApiMember(Description = "返回码描述")]
[StringLength(200)]
public string response_msg { get; set; }
[ApiMember(Description = "门店识别号")]
[StringLength(200)]
public string shop_id { get; set; }
[ApiMember(Description = "商户交易编号")]
[Unique]
[StringLength(200)]
public string pay_mer_tran_no { get; set; }
[ApiMember(Description = "收款二维码文本")]
[StringLength(500)]
public string display_code_text { get; set; }
/// <summary>
/// PROCESS 处理中 SUCCESS 交易成功 FAILURE 交易失败
/// </summary>
[ApiMember(Description = "交易最终结果")]
[StringLength(200)]
public string tran_state { get; set; }
[ApiMember(Description = "交易状态码")]
[StringLength(200)]
public string tran_state_code { get; set; }
[ApiMember(Description = "交易状态提示")]
[StringLength(200)]
public string tran_state_msg { get; set; }
[ApiMember(Description = "商户内部备注")]
[StringLength(200)]
public string mer_memo { get; set; }
[ApiMember(Description = "商户订单总金额")]
[StringLength(200)]
public string total_amount { get; set; }
/// <summary>
/// INITIAL初始化 PAIED交易成功 WAITPAY等待支付 REFUNDED部分退款 REFUNDALL全部退款 CLOSED订单关闭
/// </summary>
[ApiMember(Description = "订单状态")]
[StringLength(200)]
public string order_status { get; set; }
[ApiMember(Description = "交易内容")]
[StringLength(500)]
public string tran_content { get; set; }
}
}
......@@ -191,5 +191,131 @@ namespace Com.Bocom.OpenApi
throw ex;
}
}
public static MPNG210001ResponseV1 GenerateReceiveCode(List<Settlement> settlements)
{
if (settlements.IsNullOrEmpty()) return null;
if (settlements.Exists(o => o.OffsetKvid != Guid.Empty || o.AmountPayment > 0)) throw new Exception("存在不符合生成收款码条件的结算");
var amount = settlements.Sum(o => o.Amount);
if (amount <= 0) return null;
var uniqueCode = Guid.NewGuid().ToString();//生成二维码的唯一性交易编号
var bizIds = settlements.ConvertAll(o => o.BizId).Join("、");
var remark = settlements.ConvertAll(o => o.BizId).Join("、");
if (bizIds.Length > 200) bizIds = bizIds.Substring(0, 200);//根据对接要求长度限制长度
if (remark.Length > 500) remark = remark.Substring(0, 500);//根据对接要求长度限制长度
var rtnTests = new MPNG210001ResponseV1();
rtnTests.rsp_body = new MPNG210001ResponseV1.RspBody();
rtnTests.SetBizState("S");
rtnTests.SetRspCode("1");
rtnTests.SetRspMsg("1");
rtnTests.rsp_body.display_code_text = "http://yunbanktest.bankcomm.com/tcipp/pmss/cipp.jsp?qrCode=https://qr.95516.com/03010000/kl6im4od20200804123754";
rtnTests.rsp_body.pay_mer_tran_no = uniqueCode;
return rtnTests;
DefaultBocomClient client = new DefaultBocomClient(Configs.QR_CODE_APP_ID, Configs.QR_CODE_MY_PRIVATE_KEY, Configs.QR_CODE_APIGW_PUBLIC_KEY, BocomConstants.ENCRYPT_TYPE_RSA_AND_AES);
/**
* 测试环境可以忽略SSL证书告警,生产环境不可忽略
*/
client.IgnoreSslHostnameVerifier();
var request = new MPNG210001RequestV1();
request.SetServiceUrl(Configs.QR_CODE_APIGW_URL_ADDRESS + Configs.MPNG210001RequestV1);
var bizContent = new MPNG210001RequestV1.MPNG210001RequestV1Biz();
bizContent.req_head = new MPNG210001RequestV1.MPNG210001RequestV1Biz.ReqHead();
bizContent.req_head.trans_time = DateTime.Now.ToString("yyyyMMddHHmmss");
bizContent.req_head.version = "V-1.0";
bizContent.req_body = new MPNG210001RequestV1.MPNG210001RequestV1Biz.ReqBody();
bizContent.req_body.tran_scene = "B2C-API-DISPLAYCODE";
bizContent.req_body.mer_ptc_id = Configs.mer_ptc_id;//"301310063009501";//商户号,需要配置信息到位
bizContent.req_body.mer_trade_time = DateTime.Now.ToString("HHmmss");
bizContent.req_body.mer_trade_date = DateTime.Now.ToString("yyyyMMdd");
bizContent.req_body.pay_mer_tran_no = uniqueCode;
bizContent.req_body.total_amount = amount.ToString();
bizContent.req_body.location = "ONLINE";
bizContent.req_body.currency = "CNY";
bizContent.req_body.tran_content = bizIds;
bizContent.req_body.mer_memo = remark;
request.SetBizContent(bizContent);
var response = client.Execute(request, uniqueCode.Replace("-", ""));
if (response.IsSuccess())
{
//-----------------------记录下这份收款码的数据的信息,如果这份订单取消了就要作废--------------------------------
var rtns = response as MPNG210001ResponseV1;
return rtns;
}
else
{
throw new Exception($"ReturnCode:{response.GetRspCode()}{Environment.NewLine}ReturnMsg:{response.GetRspMsg()}");
}
}
public static MPNG020702ResponseV1 GetReceiveCodeOrder(string payMerTranNo,List<Settlement> settlements)
{
payMerTranNo.ThrowIfNullOrEmpty("缺少订单号信息");
if (settlements.IsNullOrEmpty()) return null;
if (settlements.Exists(o => o.OffsetKvid != Guid.Empty || o.AmountPayment > 0)) throw new Exception("存在不符合生成收款码条件的结算");
var amount = settlements.Sum(o => o.Amount);
if (amount <= 0) return null;
var uniqueCode = Guid.NewGuid().ToString();//生成二维码的唯一性交易编号
var bizIds = settlements.ConvertAll(o => o.BizId).Join("、");
var remark = settlements.ConvertAll(o => o.BizId).Join("、");
if (bizIds.Length > 200) bizIds = bizIds.Substring(0, 200);//根据对接要求长度限制长度
if (remark.Length > 500) remark = remark.Substring(0, 500);//根据对接要求长度限制长度
var rtnTests = new MPNG020702ResponseV1();
rtnTests.SetBizState("S");
rtnTests.SetRspCode("1");
rtnTests.SetRspMsg("1");
rtnTests.rsp_body = new MPNG020702ResponseV1.RspBody();
rtnTests.rsp_body.mer_memo = remark;
rtnTests.rsp_body.total_amount = amount.ToString();
rtnTests.rsp_body.tran_content = bizIds;
return rtnTests;
DefaultBocomClient client = new DefaultBocomClient(Configs.QR_CODE_APP_ID, Configs.QR_CODE_MY_PRIVATE_KEY, Configs.QR_CODE_APIGW_PUBLIC_KEY, BocomConstants.ENCRYPT_TYPE_RSA_AND_AES);
/**
* 测试环境可以忽略SSL证书告警,生产环境不可忽略
*/
client.IgnoreSslHostnameVerifier();
var request = new MPNG020702RequestV1();
request.SetServiceUrl(Configs.QR_CODE_APIGW_URL_ADDRESS + Configs.MPNG020702RequestV1);
var bizContent = new MPNG020702RequestV1.MPNG020702RequestV1Biz();
bizContent.req_head = new MPNG020702RequestV1.MPNG020702RequestV1Biz.ReqHead();
bizContent.req_head.trans_time = DateTime.Now.ToString("yyyyMMddHHmmss");
bizContent.req_head.version = "1.0";
bizContent.req_body = new MPNG020702RequestV1.MPNG020702RequestV1Biz.ReqBody();
bizContent.req_body.tran_scene = "B2C-API-DISPLAYCODE";
bizContent.req_body.mer_ptc_id = Configs.mer_ptc_id;//"301310063009501";//商户号,需要配置信息到位
bizContent.req_body.mer_trade_date = DateTime.Now.ToString("yyyyMMdd");
bizContent.req_body.pay_mer_tran_no = payMerTranNo;// Guid.NewGuid().ToString();
bizContent.req_body.require_fields = new List<MPNG020702RequestV1.MPNG020702RequestV1Biz.ReqBody.RequireFields>();
var require_field = new MPNG020702RequestV1.MPNG020702RequestV1Biz.ReqBody.RequireFields();
require_field.require_field = "bank_tran_no,third_party,third_party_tran_no,payment_info,refund_info";
bizContent.req_body.require_fields.Add(require_field);
request.SetBizContent(bizContent);
var response = client.Execute(request, Guid.NewGuid().ToString().Replace("-", ""));
if (response.IsSuccess())
{
var rtns = response as MPNG020702ResponseV1;
return rtns;
}
else
{
throw new Exception($"ReturnCode:{response.GetRspCode()}{Environment.NewLine}ReturnMsg:{response.GetRspMsg()}");
}
}
}
}
......@@ -57,8 +57,10 @@
</ItemGroup>
<ItemGroup>
<Compile Include="Configs.cs" />
<Compile Include="Entities\ReceiveCode.cs" />
<Compile Include="Extension.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="RestfulMpng.cs" />
<Compile Include="RestfulWriteOff.cs" />
<Compile Include="Sdk\BizContent.cs" />
<Compile Include="Sdk\BocomApiException.cs" />
......@@ -130,6 +132,12 @@
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Content\Scripts\element-ui.css" />
<EmbeddedResource Include="Content\Scripts\element-ui.js" />
<EmbeddedResource Include="Content\Scripts\vue_2_6_14.js" />
<EmbeddedResource Include="Content\Scripts\barCode.css" />
<EmbeddedResource Include="Content\Scripts\barCode.js" />
<EmbeddedResource Include="Content\Scripts\barCode.min.js" />
<Content Include="Sdk\Dll\BouncyCastle.Crypto.dll" />
</ItemGroup>
<ItemGroup>
......
......@@ -7,6 +7,7 @@ using System.Runtime.InteropServices;
// 与程序集关联的信息。
[assembly: AssemblyTitle("Njzj.Biz.Bocoms.Openapis.V4.5")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyDefaultAlias("Njzj.Bocoms.Openapis")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Njzj.Biz.Bocoms.Openapis.V4.5")]
......
using Com.Bocom.OpenApi;
using Kivii;
using Kivii.Finances.Entities;
using Kivii.Linq;
using Kivii.Web;
using Njzj.Bocoms.Openapis.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Njzj.Bocoms.Openapis
{
public class SettlementGenerateReceiveCode : RestfulExecution<Settlement>
{
public List<Guid> SettlementKvids { get; set; }
public string View { get; set; }
public override object OnExecution(IRequest req, IResponse res)
{
SettlementKvids.ThrowIfNullOrEmpty("请传入要收款的结算!");
var conn = KiviiContext.GetOpenedDbConnection<Settlement>();
var settlements = conn.SelectByIds<Settlement>(SettlementKvids);
settlements.ThrowIfNullOrEmpty("未找到要收款的结算信息");
var rtns = new RestfulExecutionResponse<MPNG020702ResponseV1>();
rtns.Results = new List<MPNG020702ResponseV1>();
try
{
var results = Extension.GenerateReceiveCode(settlements);
var payMerTranNo = results.rsp_body.pay_mer_tran_no;
var order = Extension.GetReceiveCodeOrder(payMerTranNo, settlements);
order.pay_mer_tran_no = payMerTranNo;
order.display_code_text = results.rsp_body.display_code_text;
var connB = KiviiContext.GetOpenedDbConnection<ReceiveCode>();
var item = new ReceiveCode();
item.trans_code = results.rsp_head.trans_code;
item.response_code = results.rsp_head.response_code;
item.response_status= results.rsp_head.response_status;
item.response_time= results.rsp_head.response_time;
item.response_msg= results.rsp_head.response_msg;
item.shop_id = results.rsp_body.shop_id;
item.pay_mer_tran_no= payMerTranNo;
item.display_code_text = results.rsp_body.display_code_text;
item.tran_state = order.rsp_body.tran_state;
item.tran_state_code = order.rsp_body.tran_state_code;
item.tran_state_msg = order.rsp_body.tran_state_msg;
item.mer_memo= order.rsp_body.mer_memo;
item.total_amount= order.rsp_body.total_amount;
item.order_status= order.rsp_body.order_status;
item.tran_content= order.rsp_body.tran_content;
connB.Insert(item);
if (View.IsNullOrEmpty())
{
rtns.Results.Add(order);
return rtns;
}
else
{
return new HttpResult
{
Response = order,
View = View
};
}
}
catch (Exception ex)
{
throw ex;
}
}
}
}
......@@ -7,11 +7,23 @@ namespace Com.Bocom.OpenApi
[DataContract]
public class BocomResponse
{
[DataMember] private string biz_state = "P";
/// <summary>
/// 返回访问状态字 S-成功 F-失败
/// </summary>
[DataMember]
private string biz_state = "P";
[DataMember] private string rsp_code = "";
/// <summary>
/// 返回码
/// </summary>
[DataMember]
private string rsp_code = "";
[DataMember] private string rsp_msg = "";
/// <summary>
/// 逻辑异常返回信息
/// </summary>
[DataMember]
private string rsp_msg = "";
[DataMember] private string ref_msg_id;
......
......@@ -11,51 +11,39 @@ namespace Com.Bocom.OpenApi
/// </summary>
public class MPNG020702ResponseV1 : BocomResponse
{
/// <summary>
/// "" </summary>
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @JsonProperty("rsp_body") private RspBody rspBody;
//private RspBody rspBody;
public RspBody rsp_body { get; set; }
//* ""
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @JsonProperty("rsp_head") private RspHead rspHead;
//private RspHead rspHead;
public RspHead rsp_head { get; set; }
public string pay_mer_tran_no { get; set; }
public string display_code_text { get; set; }
public class RspHead
{
/// <summary>
/// 交易码 </summary>
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @JsonProperty("trans_code") private String transCode;
//internal string transCode;
/// 交易码
/// </summary>
public string trans_code { get; set; }
/// <summary>
/// 响应码 </summary>
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @JsonProperty("response_code") private String responseCode;
//internal string responseCode;
/// 响应码
/// </summary>
public string response_code { get; set; }
/// <summary>
/// 交易状态 P-处理中 F-失败 S-成功 </summary>
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @JsonProperty("response_status") private String responseStatus;
/// 交易状态 P-处理中 F-失败 S-成功
/// </summary>
public string response_status { get; set; }
/// <summary>
/// 响应时间 </summary>
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @JsonProperty("response_time") private String responseTime;
/// 响应时间
/// </summary>
public string response_time { get; set; }
/// <summary>
/// 返回码描述 </summary>
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @JsonProperty("response_msg") private String responseMsg;
/// 返回码描述
/// </summary>
public string response_msg { get; set; }
}
......
......@@ -11,67 +11,69 @@ namespace Com.Bocom.OpenApi
/// </summary>
public class MPNG210001ResponseV1 : BocomResponse
{
/// <summary>
/// "rsp_body" </summary>
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @JsonProperty("rsp_body") private RspBody rspBody;
public RspBody rsp_body { get; set; }
//* "rsp_head"
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @JsonProperty("rsp_head") private RspHead rspHead;
///// <summary>
///// 返回访问状态字 S-成功 F-失败
///// </summary>
//public string biz_state { get; set; }
///// <summary>
///// 返回码
///// </summary>
//public string rsp_code { get; set; }
///// <summary>
///// 逻辑异常返回信息
///// </summary>
//public string rsp_msg { get; set; }
public RspHead rsp_head { get; set; }
public RspBody rsp_body { get; set; }
public class RspHead
{
/// <summary>
/// 交易标识 </summary>
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @JsonProperty("trans_code") private String transCode;
/// 交易标识
/// </summary>
public string trans_code { get; set; }
/// <summary>
/// 返回码 </summary>
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @JsonProperty("response_code") private String responseCode;
/// 返回码
/// </summary>
public string response_code { get; set; }
/// <summary>
/// 交易状态 P-处理中 F-失败 S-成功 </summary>
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @JsonProperty("response_status") private String responseStatus;
/// 交易状态 P-处理中 F-失败 S-成功
/// </summary>
public string response_status { get; set; }
/// <summary>
/// 响应时间 </summary>
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @JsonProperty("response_time") private String responseTime;
/// 响应时间
/// </summary>
public string response_time { get; set; }
/// <summary>
/// 返回码描述 </summary>
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @JsonProperty("response_msg") private String responseMsg;
/// 返回码描述
/// </summary>
public string response_msg { get; set; }
}
public class RspBody
{
/// <summary>
/// 门店识别号 </summary>
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @JsonProperty("shop_id") private String shopId;
/// 门店识别号
/// </summary>
public string shop_id { get; set; }
/// <summary>
/// 商户交易编号 </summary>
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @JsonProperty("pay_mer_tran_no") private String payMerTranNo;
/// 商户交易编号
/// </summary>
public string pay_mer_tran_no { get; set; }
/// <summary>
/// 收款二维码文本 </summary>
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @JsonProperty("display_code_text") private String displayCodeText;
/// 收款二维码文本(测试环境要在前面加上 http://yunbanktest.bankcomm.com/ncipp/pmss/cipp.jsp?qrCode= )http://yunbanktest.bankcomm.com/tcipp/pmss/cipp.jsp?qrCode=
/// </summary>
public string display_code_text { get; set; }
}
}
......
......@@ -220,6 +220,54 @@ namespace Njzj.Bocoms.Openapis.Transforms
}
}
public class WriteOffResultNotifyCallBack2 : RestfulExecution<WriteOffResultNotify>
{
public override object OnExecution(IRequest req, IResponse res)
{
//Console.WriteLine("---------------------------------------------------------------------------------------------------------------------------------------------");
//Console.WriteLine("---------------------------------------------------------------------------------------------------------------------------------------------");
var rtns = new RestfulExecutionResponse<WriteOffResultNotify>();
rtns.Results = new List<WriteOffResultNotify>();
var conn = KiviiContext.GetOpenedDbConnection<WriteOffResultNotify>();
conn.InitEntityType<EntityLog<WriteOffResultNotify>>();
var log = conn.Single<EntityLog<WriteOffResultNotify>>(o => true);
if (log == null) return rtns;
Console.WriteLine("------------------------------------WriteOffResultNotifyCallBack-----------------------------------------");
Console.WriteLine("------------------------------------Start-----------------------------------------");
try
{
var result = ApiUtils.ParseCommunicationJsonWithBocomSign(log.Metadata, "utf-8", Configs.MY_PRIVATE_KEY, Configs.APIGW_PUBLIC_KEY);
;
result.BillId = result.biz_content.bill_id;
result.BizKvid = Guid.Parse(result.biz_content.cont_id);
conn.Insert(result);
//var rspBizContent = "{\"rsp_head\":{\"response_msg\":\"非白名单客户\",\"response_code\":\"CIPP0004MT0017\"},\"rsp_body\":{\"context_no\":\"P21201026566300000019\",\"account_exist_flag\":\"EF00\"}";
var resp = "{\"rsp_code\":\"0\",\"biz_state\":\"S\",\"rsp_msg\":\"核销处理成功\"}";
var rsp = ApiUtils.SignRspBizContent(resp, result.encrypt_key, Configs.MY_PRIVATE_KEY);
rtns.Results.Add(result);
return rsp;
}
catch (Exception ex)
{
throw ex;
}
finally
{
Console.WriteLine("------------------------------------WriteOffResultNotifyCallBack-----------------------------------------");
Console.WriteLine("------------------------------------End-----------------------------------------");
Console.WriteLine("-----------------------------------------------------------------------------------------------------");
Console.WriteLine("-----------------------------------------------------------------------------------------------------");
}
}
}
public class MPNG210001ResponseV1Test : RestfulExecution<MPNG210001ResponseV1>
{
public string BizId { get; set; }
......@@ -254,7 +302,7 @@ namespace Njzj.Bocoms.Openapis.Transforms
bizContent.req_body.total_amount = TotalAmount;
bizContent.req_body.location = "ONLINE";
bizContent.req_body.currency = "CNY";
bizContent.req_body.jump_url = "http://k5.kivii.org";
//bizContent.req_body.jump_url = "http://k5.kivii.org";
bizContent.req_body.tran_content = BizId;
bizContent.req_body.mer_memo = Remark;
request.SetBizContent(bizContent);
......@@ -406,51 +454,4 @@ namespace Njzj.Bocoms.Openapis.Transforms
return rtns;
}
}
public class WriteOffResultNotifyCallBack2 : RestfulExecution<WriteOffResultNotify>
{
public override object OnExecution(IRequest req, IResponse res)
{
//Console.WriteLine("---------------------------------------------------------------------------------------------------------------------------------------------");
//Console.WriteLine("---------------------------------------------------------------------------------------------------------------------------------------------");
var rtns = new RestfulExecutionResponse<WriteOffResultNotify>();
rtns.Results = new List<WriteOffResultNotify>();
var conn = KiviiContext.GetOpenedDbConnection<WriteOffResultNotify>();
conn.InitEntityType<EntityLog<WriteOffResultNotify>>();
var log = conn.Single<EntityLog<WriteOffResultNotify>>(o => true);
if (log == null) return rtns;
Console.WriteLine("------------------------------------WriteOffResultNotifyCallBack-----------------------------------------");
Console.WriteLine("------------------------------------Start-----------------------------------------");
try
{
var result = ApiUtils.ParseCommunicationJsonWithBocomSign(log.Metadata, "utf-8", Configs.MY_PRIVATE_KEY, Configs.APIGW_PUBLIC_KEY);
;
result.BillId = result.biz_content.bill_id;
result.BizKvid = Guid.Parse(result.biz_content.cont_id);
conn.Insert(result);
//var rspBizContent = "{\"rsp_head\":{\"response_msg\":\"非白名单客户\",\"response_code\":\"CIPP0004MT0017\"},\"rsp_body\":{\"context_no\":\"P21201026566300000019\",\"account_exist_flag\":\"EF00\"}";
var resp = "{\"rsp_code\":\"0\",\"biz_state\":\"S\",\"rsp_msg\":\"核销处理成功\"}";
var rsp = ApiUtils.SignRspBizContent(resp, result.encrypt_key, Configs.MY_PRIVATE_KEY);
rtns.Results.Add(result);
return rsp;
}
catch (Exception ex)
{
throw ex;
}
finally
{
Console.WriteLine("------------------------------------WriteOffResultNotifyCallBack-----------------------------------------");
Console.WriteLine("------------------------------------End-----------------------------------------");
Console.WriteLine("-----------------------------------------------------------------------------------------------------");
Console.WriteLine("-----------------------------------------------------------------------------------------------------");
}
}
}
}
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