public async Task Add(CommonLogModel model) { //获取服务描述 var description = await _remoteServiceDescriptionRepositoryHelper.QueryByName(RemoteServiceNames.AddCommonLog); if (description == null) { var fragment = new TextFragment() { Code = TextCodes.NotFoundRemoteServiceDescriptionByName, DefaultFormatting = "找不到名称为{0}的远程服务描述", ReplaceParameters = new List <object>() { RemoteServiceNames.AddCommonLog } }; throw new UtilityException((int)Errors.NotFoundRemoteServiceDescriptionByName, fragment); } //获取认证信息 var authInfos = await description.GenerateAuthInfo(); //调用服务 await HttpClinetHelper.PostAsync(model, description.Address, authInfos); }
/// <summary> /// 通过模式2提交到监听者 /// 通过HTTP协议Post消息到ListenerWebUrl的web接口,提交的对象类型为SMessagePostData /// 其中Signature为Id+Type+Data+CurrentTime的字符串格式(yyyy-MM-dd hh:mm:ss)通过ListenerWebSignature签名后的字符串 /// 接收方需要对此进行校验 /// </summary> /// <param name="listener"></param> /// <param name="message"></param> /// <returns></returns> private async Task <ValidateResult> PostToListenerByMode2(SMessageTypeListener listener, SMessage message) { ValidateResult result = new ValidateResult() { Result = true }; var expireTime = DateTime.UtcNow.AddSeconds(300); var strContent = $"{message.ID.ToString()}{message.Type}{message.Data}{expireTime.ToString("yyyy-MM-dd hh:mm:ss")}"; var strSignature = _securityService.SignByKey(strContent, listener.ListenerWebSignature); SMessagePostData data = new SMessagePostData() { ID = message.ID, ExpireTime = expireTime, Type = message.Type, Data = message.Data, Signature = strSignature }; try { await HttpClinetHelper.PostAsync(data, listener.ListenerWebUrl); } catch (Exception ex) { result.Result = false; result.Description = ex.Message; } return(result); }
/// <summary> /// 通过模式2提交到web接口 /// 通过HTTP协议Post消息到ScheduleActionServiceWebUrl的web接口,提交的对象类型为SMessagePostData /// 其中Signature为CurrentTime的字符串格式(yyyy-MM-dd hh:mm:ss)通过WebSignature签名后的字符串 /// 接收方需要对此进行校验 /// </summary> /// <param name="action"></param> /// <returns></returns> private async Task <IScheduleActionResult> ExecuteByMode2(ScheduleAction action) { ScheduleActionResultDefault result = new ScheduleActionResultDefault(); var currentTime = DateTime.UtcNow; var strContent = $"{currentTime.ToString("yyyy-MM-dd hh:mm:ss")}"; var strSignature = _securityService.SignByKey(strContent, action.WebSignature); await HttpClinetHelper.PostAsync(strSignature, action.ScheduleActionServiceWebUrl); return(result); }
/// <summary> /// 模拟微信/支付宝退款接口 /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <SimulatedRefundResponse> SimulatedRefund(SimulatedRefundRequest request) { return(await Task.Run(() => { var refund_id = GenerateOrderNo("420000"); if (!string.IsNullOrEmpty(request.notify_url)) { var callBackResponse = new RefundCallBackResponse() { return_code = "SUCCESS", appid = request.appid, mch_id = request.mch_id, nonce_str = request.nonce_str, transaction_id = GenerateOrderNo("420000"), out_trade_no = request.out_trade_no, out_refund_no = request.out_refund_no, refund_id = refund_id, total_fee = request.total_fee, refund_fee = request.refund_fee, settlement_refund_fee = request.refund_fee, refund_status = "SUCCESS", success_time = DateTime.Now.ToString() }; var results = HttpClinetHelper.PostAsync <RefundCallBackResponse, BaseRefundResponse>(callBackResponse, request.notify_url); //记录回调是否成功 if (results != null) { } } return new SimulatedRefundResponse() { return_code = "SUCCESS", return_msg = "", appid = request.appid, mch_id = request.mch_id, nonce_str = request.nonce_str, sign = request.sign, out_trade_no = request.out_trade_no, out_refund_no = request.out_refund_no, refund_id = refund_id, total_fee = request.total_fee, refund_fee = request.refund_fee }; })); }
public async Task <CreateOrderManagerResponse> CreateOrder(CreateOrderManagerRequest request) { return(await HttpClinetHelper.PostAsync <CreateOrderManagerRequest, CreateOrderManagerResponse>(request, $"{BaseUrl}/api/order/CreateOrder")); }
public async Task <QueryProductAllResponse> QueryProductAllUpDate2(QueryProductAllRequest request) { //调用服务 return(await HttpClinetHelper.PostAsync <QueryProductAllRequest, QueryProductAllResponse>(request, $"{BaseUrl}/api/product/All2")); }
public async Task <Product> QueryNewProductByCode(string productCode) { return(await HttpClinetHelper.PostAsync <string, Product>(productCode, $"{BaseUrl}/api/product/")); }