/// <summary> /// 公众号关注事件 /// </summary> /// <param name="requestDoc"></param> /// <returns></returns> public async Task <ObjectResultModule> FocusOn(XDocument requestDoc) { SystemToken systemToken = new SystemToken(); TencentUserManage usermanage = new TencentUserManage(); TencentWXPay tencentWXPay = new TencentWXPay(); using (var unitOfWork = _unitOfWorkManager.Begin()) { try { //关注 var openid = JsonHelper.GetXmlValue(requestDoc, "FromUserName"); if (openid == null) { return(new ObjectResultModule("", 401, "")); } // systemToken.TokenType = "Wechar"; var Tokens = _systemTokenService.SystemTokenList("Wechar").Result; string access_token = Tokens.access_token; var usermsg = usermanage.WeiXinUserInfoUtils(openid, Tokens.access_token).Result; if (usermsg.subscribe != 0) { #region 步操作 //var UserInfo = _yaeherUserService.YaeherUserInfo(openid, Tokens.access_token); //if (UserInfo.Id > 0) //{ // UserInfo= await usermanage.YaeherUserLable(usermsg,UserInfo,Tokens.access_token); // if (!UserInfo.IsPay) // { // var payment = await _yaeherUserPaymentService.YaeherUserPaymentByUserID(UserInfo.Id); // if (payment == null || payment.Id < 1) // { // //http请求微信信息,获取账户的信息 新增用户payment // var CreateUserPayment = new YaeherUserPayment() // { // UserID = UserInfo.Id, // FullName = UserInfo.FullName, // PayMethod = "wxpay", // PayMethodName = "微信支付", // PaymentAccout = UserInfo.WecharName, // BankName = "wx", // Subbranch = "wx", // BandAdd = "wx", // BankNo = "wx", // CreatedOn = DateTime.Now, // IsDefault = true, // }; // CreateUserPayment = await _yaeherUserPaymentService.CreateYaeherUserPayment(CreateUserPayment); // } // UserInfo.IsPay = true; // } // if (!UserInfo.IsUpdate) // { // var DoctorInfo = await _yaeherDoctorService.YaeherDoctorByUserID(UserInfo.Id); // if (DoctorInfo != null && DoctorInfo.IsSharing && UserInfo.IsProfitSharing == false) //医生角色切没有生成分账账号 // { // //查询分账配置 // SystemConfigsIn systemConfigsIn = new SystemConfigsIn(); // systemConfigsIn.AndAlso(a => a.IsDelete == false); // systemConfigsIn.AndAlso(a => a.SystemType == "TencentWechar"); // var configs = _systemConfigsService.SystemConfigsList(systemConfigsIn).Result; // // 查询医生信息 // var tencentparam = configs.ToList().FirstOrDefault(); // var receiver = new receiver(); // receiver.name = DoctorInfo.DoctorName; // receiver.type = "PERSONAL_OPENID"; // receiver.account = openid; // var addresult = tencentWXPay.ProfitSharingAddReceiver(receiver, tencentparam).Result; // if (addresult.result_code == "SUCCESS") //插入成功后更新状态 // { // UserInfo.IsProfitSharing = true; // } // } // } // UserInfo = await _yaeherUserService.UpdateYaeherUser(UserInfo); //} #endregion string OperType = "用户关注"; var UserInfo = await _yaeherUserService.YaeherUserInfo(usermsg, access_token, OperType); } StringBuilder Contentsb = new StringBuilder(); // 增加问医生 Contentsb.Append("欢迎关注怡禾健康!"); Contentsb.Append("\n"); Contentsb.Append("\n"); // 增加问医生 Contentsb.Append("<a href=\"" + Commons.WecharWeb + "?link=index-patient\">问医生</a>\n"); // 增加听课程 Contentsb.Append("\n"); Contentsb.Append("<a href=\"https://m.qlchat.com/wechat/page/live/210000155031160\">听课程</a>\n"); var textSingleMessage = new TextSingleMessage() { ToUser = openid, TextContent = Contentsb.ToString() == null ? "欢迎关注怡禾健康!" : Contentsb.ToString() }; textSingleMessage.Send(access_token).ToString(); unitOfWork.Complete(); } catch (Exception ex) { Logger.Info("我的一个关注的错误:" + ex.ToString() + "DateTime:" + DateTime.Now); } } return(new ObjectResultModule("", 200, "")); }
public YaeherUser YaeherUserInfoNew(String UserOpenID, string access_token) { try { using (var unitOfWork = _unitOfWorkManager.Begin()) { TencentUserManage usermanage = new TencentUserManage(); TencentWXPay tencentWXPay = new TencentWXPay(); // 通过Openid查询是否存在用户 var UserInfo = _repository.GetAll().Where(a => a.WecharOpenID == UserOpenID && a.IsDelete == false).FirstOrDefault(); // 获取标签参数 var paramlist = _SystemParameterrepository.GetAll().Where(a => a.IsDelete == false && a.SystemCode == "WXRole").ToListAsync().Result; List <Tag> tags = new List <Tag>(); if (paramlist != null) { foreach (var tagItem in paramlist) { var Tag = JsonHelper.FromJson <Tag>(tagItem.ItemValue); tags.Add(Tag); } } // 通过OpenId获取用户微信信息 var usermsg = usermanage.WeiXinUserInfoUtils(UserOpenID, access_token).Result; // 当OpenID查询无用户时 未关注的用户不做任何处理 if (usermsg.subscribe != 0) { if (UserInfo == null) { // 通过昵称判断是否存在 不存在则新增用户 增加返回标签判断 int WecharLable = 0; if (usermsg.tagid_list != null && usermsg.tagid_list.Count > 0) { // 当用户存在多标签时,查询是否是医生标签 int DoctorLableId = tags.Where(a => a.name == "doctor").FirstOrDefault().id; if (usermsg.tagid_list.Exists(a => a == DoctorLableId)) { WecharLable = DoctorLableId; } else { WecharLable = usermsg.tagid_list[0]; } } // 通过昵称匹配到的历史数据 if (WecharLable != 0) { UserInfo = _repository.GetAll().Where(a => a.NickName == usermsg.nickname && a.WecharLableId == WecharLable && a.IsDelete == false).FirstOrDefault(); } if (UserInfo == null) { string FullName = "YH" + DateTime.Now.ToString("yyyyMMdd") + new RandomCode().GenerateCheckCode(5); var newuser = new YaeherUser(); newuser.WecharOpenID = UserOpenID; newuser.UserImage = usermsg.headimgurl; newuser.WecharName = FullName; newuser.FullName = FullName; newuser.Sex = usermsg.sex; newuser.RoleName = "patient"; newuser.Userorigin = "WXGZH"; //微信公众号 newuser.Enabled = true; // 默认激活 newuser.WecharLable = "patient"; newuser.LoginName = FullName; newuser.NickName = usermsg.nickname; newuser.WecharLableId = tags.Where(a => a.name == "patient").FirstOrDefault().id; // 将咨询者的标签赋值 //JsonHelper.FromJson<Tag>(Lableparmlist.ItemValue).id; //newuser.WeCharUserJson = JsonHelper.ToJson(usermsg); newuser.CreatedOn = DateTime.Now; newuser.LoginPwd = Commons.DefaultPassword; // 默认增加密码 newuser.IsLabel = true; newuser.IsPay = false; newuser.IsUpdate = false; newuser.IsProfitSharing = false; newuser.Id = _repository.InsertAndGetIdAsync(newuser).Id; UserInfo = newuser; } else { if (UserInfo.WecharOpenID != UserOpenID) { UserInfo.IsUpdate = true; UserInfo.OpenID = "将现有科技注册数据转换:" + UserInfo.WecharOpenID; //将历史的OpenID存储起来 UserInfo.WecharOpenID = UserOpenID; // 重新给新的OpenID } if (UserInfo.RoleName != "doctor") { UserInfo.UserImage = usermsg.headimgurl; } UserInfo.NickName = usermsg.nickname; UserInfo = _repository.Update(UserInfo); } } else { if (UserInfo.WecharOpenID != UserOpenID) { UserInfo.IsUpdate = true; UserInfo.OpenID = "将现有科技注册数据转换:" + UserInfo.WecharOpenID; //将历史的OpenID存储起来 UserInfo.WecharOpenID = UserOpenID; // 重新给新的OpenID } if (UserInfo.RoleName != "doctor") { UserInfo.UserImage = usermsg.headimgurl; } UserInfo.NickName = usermsg.nickname; UserInfo = _repository.Update(UserInfo); } } unitOfWork.Complete(); return(UserInfo); } } catch (Exception ex) { throw ex; } }
public async Task <YaeherUser> YaeherUserInfo(TencentFocusUser usermsg, string access_token, String OperType) { string UserOpenID = usermsg.openid; try { using (var unitOfWork = _unitOfWorkManager.Begin()) { TencentUserManage usermanage = new TencentUserManage(); TencentWXPay tencentWXPay = new TencentWXPay(); // 通过Openid查询是否存在用户 var UserInfo = await _repository.FirstOrDefaultAsync(a => a.WecharOpenID == usermsg.openid && a.IsDelete == false); // 获取标签参数 var paramlist = await _SystemParameterrepository.GetAllListAsync(a => a.IsDelete == false && a.SystemCode == "WXRole"); // var paramlist = await _SystemParameterrepository.GetAll().Where(a => a.IsDelete == false && a.SystemCode == "WXRole").ToListAsync(); List <Tag> tags = new List <Tag>(); if (paramlist != null) { foreach (var tagItem in paramlist) { var Tag = JsonHelper.FromJson <Tag>(tagItem.ItemValue); tags.Add(Tag); } } // 取消获取用户微信信息 //var usermsg =await usermanage.WeiXinUserInfoUtils(UserOpenID, access_token); bool IsHistory = false; // 当OpenID查询无用户时 未关注的用户不做任何处理 if (usermsg.subscribe != 0) { #region 去掉昵称检查 //if (UserInfo == null) //{ // 通过昵称判断是否存在 不存在则新增用户 增加返回标签判断 // int WecharLable = 0; // if (usermsg.tagid_list != null && usermsg.tagid_list.Count > 0) // { // // 当用户存在多标签时,查询是否是医生标签 // int DoctorLableId = tags.Where(a => a.name == "doctor").FirstOrDefault().id; // if (usermsg.tagid_list.Exists(a => a == DoctorLableId)) // { // WecharLable = DoctorLableId; // } // else // { // WecharLable = usermsg.tagid_list[0]; // } // } // 通过昵称匹配到的历史数据 // if (WecharLable != 0) // { // UserInfo = _repository.GetAll().Where(a => a.NickName == usermsg.nickname && a.WecharLableId == WecharLable && a.IsDelete == false).FirstOrDefault(); // } //} #endregion if (UserInfo == null) { string FullName = "YH" + DateTime.Now.ToString("yyyyMMdd") + new RandomCode().GenerateCheckCode(5); var newuser = new YaeherUser(); newuser.WecharOpenID = UserOpenID; newuser.UserImage = usermsg.headimgurl; newuser.WecharName = usermsg.nickname; newuser.FullName = usermsg.nickname; newuser.Sex = usermsg.sex; newuser.RoleName = "patient"; newuser.Userorigin = "WXGZH"; //微信公众号 newuser.Enabled = true; // 默认激活 newuser.WecharLable = "patient"; newuser.LoginName = FullName; newuser.NickName = usermsg.nickname; newuser.WecharLableId = tags.Where(a => a.name == "patient").FirstOrDefault().id; // 将咨询者的标签赋值 //JsonHelper.FromJson<Tag>(Lableparmlist.ItemValue).id; // newuser.WeCharUserJson = JsonHelper.ToJson(usermsg); newuser.CreatedOn = DateTime.Now; newuser.LoginPwd = Commons.DefaultPassword; // 默认增加密码 newuser.IsLabel = true; newuser.IsPay = false; newuser.IsUpdate = false; newuser.IsProfitSharing = false; newuser.Id = await _repository.InsertAndGetIdAsync(newuser); UserInfo = newuser; } else { IsHistory = true; // 如果查询有数据则设置为true UserInfo.IsUpdate = false; } if (!UserInfo.IsPay) { var payment = await _YaeherUserPaymentrepository.FirstOrDefaultAsync(a => a.IsDelete == false && a.UserID == UserInfo.Id); if (payment == null || payment.Id < 1) { //http请求微信信息,获取账户的信息 新增用户payment var CreateUserPayment = new YaeherUserPayment() { UserID = UserInfo.Id, FullName = UserInfo.FullName, PayMethod = "wxpay", PayMethodName = "微信支付", PaymentAccout = UserInfo.WecharName, BankName = "wx", Subbranch = "wx", BandAdd = "wx", BankNo = "wx", CreatedOn = DateTime.Now, IsDefault = true, }; await _YaeherUserPaymentrepository.InsertAsync(CreateUserPayment); } UserInfo.IsPay = true; } if (!UserInfo.IsUpdate) { // 通过昵称获取的用户信息 去更新历史OpenID if (IsHistory) { UserInfo.OpenID = "将现有科技注册数据转换:" + UserInfo.WecharOpenID; //将历史的OpenID存储起来 UserInfo.WecharOpenID = UserOpenID; // 重新给新的OpenID } if (UserInfo.RoleName != "doctor") { UserInfo.UserImage = usermsg.headimgurl; } UserInfo.IsUpdate = true; //当用户为医生时查询分账信息 if (UserInfo.RoleName == "doctor") { var DoctorInfo = await _doctorrepository.FirstOrDefaultAsync(a => a.IsDelete == false && a.UserID == UserInfo.Id); if (DoctorInfo != null && DoctorInfo.IsSharing && UserInfo.IsProfitSharing == false) //医生角色切没有生成分账账号 { //查询分账配置 var configs = await _SystemConfigsrepository.GetAll().Where(a => a.IsDelete == false && a.SystemType == "TencentWechar").ToListAsync(); // 查询医生信息 var tencentparam = configs.FirstOrDefault(); var receiver = new receiver(); receiver.name = DoctorInfo.DoctorName; receiver.type = "PERSONAL_OPENID"; receiver.account = UserOpenID; var addresult = await tencentWXPay.ProfitSharingAddReceiver(receiver, tencentparam); if (addresult.result_code == "SUCCESS") //插入成功后更新状态 { UserInfo.IsProfitSharing = true; } } } } else { if (UserInfo.RoleName != "doctor") { UserInfo.UserImage = usermsg.headimgurl; } UserInfo.IsUpdate = true; } await usermanage.YaeherUserLable(usermsg, UserInfo, access_token); // 将用户信息更新 if (!UserInfo.IsLabel) { UserInfo.IsLabel = true; } UserInfo.NickName = usermsg.nickname; UserInfo.WecharName = usermsg.nickname; UserInfo.FullName = usermsg.nickname; UserInfo.ModifyOn = DateTime.Now; UserInfo.ModifyBy = UserInfo.Id; UserInfo = await _repository.UpdateAsync(UserInfo); #region 增加有效用户访问记录 暂时取消有效访问量 //YaeherOperList yaeherOperList = new YaeherOperList(); //yaeherOperList.CreatedOn = DateTime.Now; //yaeherOperList.OperExplain = "UserInfo:" + UserOpenID; //yaeherOperList.OperContent = JsonHelper.ToJson(UserInfo); //yaeherOperList.OperType = OperType; //await _YaeherOperListrepository.InsertAsync(yaeherOperList); #endregion } unitOfWork.Complete(); return(UserInfo); } } catch (Exception ex) { #region 增加异常记录信息 YaeherOperList yaeherOperList = new YaeherOperList(); yaeherOperList.CreatedOn = DateTime.Now; yaeherOperList.OperExplain = "UserInfo:" + UserOpenID; yaeherOperList.OperContent = "error:" + ex.ToString(); yaeherOperList.OperType = "用户操作错误:" + OperType; await _YaeherOperListrepository.InsertAsync(yaeherOperList); #endregion throw ex; } }
public async Task <ActionResult> PayNotifyJob([FromBody] YaeherConsultationAdd yaeherConsultationAdd) { if (!Commons.CheckSecret(yaeherConsultationAdd.Secret)) { this.ObjectResultModule.StatusCode = 422; this.ObjectResultModule.Message = "Wrong Secret"; this.ObjectResultModule.Object = ""; Logger.Info("secret 错误!"); return(Content("", "text/xml")); } string xml = ""; TencentWXPay OrdertencentWXPay = new TencentWXPay(); TencentWXPay RefundtencentWXPay = new TencentWXPay(); string message = ""; string WXPayBillno = ""; string WXTransactionId = ""; string WXOrderQuery = ""; WXPayBillno = yaeherConsultationAdd.sp_billno; var secret = await CreateSecret(); //患者端咨询单 var consul = await _consultationService.YaeherConsultationByNumber(yaeherConsultationAdd.ConsultNumber); //if (consul.ConsultState != "unpaid"&&consul.ConsultState != "created") { return Content(xml, "text/xml"); } //新增处理中条件判断 if (consul.ConsultState != "unpaid" && consul.ConsultState != "processing") { return(Content(xml, "text/xml")); } //配置文件查询 var Content1 = "{\"SystemType\":\"TencentWechar\",\"secret\":\"" + secret + "\"}"; var tencentmparam = await this.PostResponseAsync(Commons.AdminIp + "api/SystemConfigsList/", Content1); var tencentmparamlist = JsonHelper.FromJson <APIResult <ResultModule <List <SystemConfigs> > > >(tencentmparam); if (tencentmparamlist == null || tencentmparamlist.result.item == null) { return(Content("", "text/xml")); } var tencentparam = tencentmparamlist.result.item.FirstOrDefault(); //医生端医生信息查询 Content1 = "{\"Id\":" + consul.DoctorID + ",\"secret\":\"" + secret + "\"}"; var doctoruser = await this.PostResponseAsync(Commons.AdminIp + "api/DoctorInformation", Content1); var doctorUserResult = JsonHelper.FromJson <APIResult <ResultModule <YaeherDoctorInfo> > >(doctoruser); if (doctorUserResult == null || doctorUserResult.result.item == null) { return(Content("", "text/xml")); } var ServiceResult = doctorUserResult.result.item.ServiceMoneyLists.Find(t => t.Id == consul.ServiceMoneyListId); var queryresult = await OrdertencentWXPay.OrderQueryAsync(WXPayBillno, tencentparam); if (ServiceResult == null || ServiceResult.Id < 1 || ServiceResult.ServiceState == false) { message = "医生该服务已下线,资金会原路返回您的账户,请稍后!"; } if (queryresult.trade_state != "SUCCESS") { return(Content(queryresult.trade_state, "text/xml")); } #region 重复支付处理 //if (consul.ConsultState == "created") //{ // var ordertradeold = await _orderTradeRecordService.OrderTradeRecordByConsultNumber(consul.ConsultNumber); // if (ordertradeold != null && ordertradeold.WXPayBillno != WXPayBillno) // { // message = "您的支付已经收到,请不要重复支付,程序正在处理,请稍后!"; // } //} #endregion var YaeherUserPaymentResult = doctorUserResult.result.item.YaeherUserPayment.Find(t => t.IsDefault); if (YaeherUserPaymentResult == null) { YaeherUserPaymentResult = doctorUserResult.result.item.YaeherUserPayment.Find(t => t.PayMethod == "wxpay"); } if (string.IsNullOrEmpty(message)) { //患者端满单查询 OrderTradeRecordIn refundManageIn = new OrderTradeRecordIn(); var StartTime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd")); refundManageIn.DoctorId = consul.DoctorID; refundManageIn.ServiceID = consul.ServiceMoneyListId; refundManageIn.AndAlso(t => t.IsDelete == false); refundManageIn.AndAlso(t => t.PayMoney > 0); refundManageIn.AndAlso(t => t.CreatedOn >= StartTime); refundManageIn.AndAlso(t => t.CreatedOn < StartTime.AddDays(1)); var ordertradelist = await _orderTradeRecordService.PatientOrderTradeRecordList(refundManageIn); var allconsultation = ordertradelist.Count(); if (ServiceResult.ServiceFrequency <= allconsultation) { message = "医生该服务已满单,资金会原路返回您的账户,请稍后!"; } if (!string.IsNullOrEmpty(yaeherConsultationAdd.sp_billno)) { if (queryresult.result_code != "SUCCESS") { return(Content("查询支付信息失败,请重新提交!", "text/xml")); } if (int.Parse(queryresult.total_fee) != (int)(ServiceResult.ServiceExpense * 100)) { message = "医生该服务已修改价格,资金会原路返回您的账户,请稍后!"; } } } if (!string.IsNullOrEmpty(message)) { string outTradeNo = WXPayBillno; string outRefundNo = consul.ConsultNumber + "-" + DateTime.Now.ToString("yyyMMddhhmmss"); var totalFee = int.Parse(queryresult.total_fee);//单位:分 int refundFee = totalFee; var refundpayresult = await RefundtencentWXPay.RefundAsync(outTradeNo, outRefundNo, totalFee, refundFee, tencentparam, message); consul.ConsultState = "unpaid"; await _consultationService.UpdateYaeherConsultation(consul); if (refundpayresult.code != "SUCCESS") { Logger.Info("outTradeNo:" + outTradeNo + "outRefundNo:" + outRefundNo + "totalFee:" + totalFee + "refundFee:" + refundFee + "message:" + message + "+refundpayresult:" + JsonHelper.ToJson(refundpayresult)); HangfireScheduleJob job = new HangfireScheduleJob(); RefundModel refundModel = new RefundModel(); refundModel.Secret = await CreateSecret(); refundModel.outTradeNo = outTradeNo; refundModel.outRefundNo = outRefundNo; refundModel.totalFee = totalFee; refundModel.refundFee = refundFee; refundModel.msg = message; JobModel model = new JobModel(); model.CallbackUrl = Commons.AdminIp + "api/RefundAsync"; model.CallbackContent = JsonHelper.ToJson(refundModel); job.Enqueue(model); return(Content("退款支付失败,请联系管理员!", "text/xml")); //return new ObjectResultModule("", 400, "退款支付失败,请联系管理员"); } return(Content(message, "text/xml")); } WXTransactionId = queryresult.transaction_id; WXOrderQuery = JsonHelper.ToJson(queryresult); Content1 = "{\"SystemCode\":\"SystemOverTime\",\"secret\":\"" + secret + "\"}"; var replymparam = await this.PostResponseAsync(Commons.AdminIp + "api/YaeherMobileParameterList/", Content1); var replylistparam = JsonHelper.FromJson <APIResult <ResultModule <List <SystemParameter> > > >(replymparam); if (replylistparam == null || replylistparam.result.item == null) { return(Content("", "text/xml")); } Consultation consultation = new Consultation(); Publishs Consultationpublishs = new Publishs(); using (var unitOfWork = _unitOfWorkManager.Begin()) { consul.ConsultState = "created"; consul.Overtime = DateTime.Now.AddDays(double.Parse(replylistparam.result.item[0].ItemValue)); var result = await _consultationService.UpdateYaeherConsultation(consul); var OrderManage = new OrderManage(); OrderManage.SequenceNo = DateTime.Now.ToString("yyyyMMddHHmmss") + new RandomCode().GenerateCheckCodeNum(6); OrderManage.OrderNumber = "ON-" + DateTime.Now.ToString("yyyyMMddhhmm") + new RandomCode().RamdomRecode(4); OrderManage.ConsultNumber = result.ConsultNumber; OrderManage.ConsultID = result.Id; OrderManage.ConsultType = ServiceResult.ServiceType; OrderManage.ConsultantID = consul.CreatedBy; OrderManage.ConsultantName = result.ConsultantName; OrderManage.PatientID = result.PatientID; OrderManage.PatientName = result.PatientName; OrderManage.DoctorID = consul.DoctorID; OrderManage.DoctorName = doctorUserResult.result.item.DoctorInfo.DoctorName; OrderManage.OrderCurrency = "rmb"; OrderManage.OrderMoney = Convert.ToDecimal(ServiceResult.ServiceExpense); OrderManage.ReceivablesType = YaeherUserPaymentResult.PayMethod; //医生收款类型 OrderManage.ReceivablesNumber = YaeherUserPaymentResult.PaymentAccout; //医生收款账号 OrderManage.ServiceID = ServiceResult.Id; //产品ID OrderManage.ServiceName = ServiceResult.DoctorName + ServiceResult.ServiceType; //产品名称 OrderManage.SellerMoneyID = doctorUserResult.result.item.WxPayBusinessId.ItemValue; //微信支付分配的商户号 OrderManage.TradeType = ServiceResult.ServiceType; //交易类型 OrderManage.CreatedBy = consul.CreatedBy; OrderManage.CreatedOn = DateTime.Now; var result1 = await _orderManageService.CreateOrderManage(OrderManage); var record = new OrderTradeRecord() { SequenceNo = DateTime.Now.ToString("yyyyMMddHHmmss") + new RandomCode().GenerateCheckCodeNum(6), OrderID = result1.Id, OrderNumber = result1.OrderNumber, PayType = "wxpay", OrderCurrency = "rmb", TenpayNumber = "", //支付账号 VoucherNumber = "", //代金券编号 VoucherJSON = "", //代金券Json PayMoney = Convert.ToDecimal(ServiceResult.ServiceExpense), PaymentState = "paid", PaymentSourceCode = "order", PaymentSource = "订单", WXPayBillno = WXPayBillno, WXTransactionId = WXTransactionId, WXOrderQuery = WXOrderQuery, CreatedBy = consul.CreatedBy, CreatedOn = DateTime.Now }; var result2 = await _orderTradeRecordService.CreateOrderTradeRecord(record); #region 发布咨询 消息接受者为医生 DoctorNotice AddConsultation // 发布咨询 consultation.yaeherConsultation = result; // 咨询主表 consultation.orderManage = result1; // 订单管理表 consultation.orderTradeRecords = result2; // 交易记录表 Consultationpublishs.TemplateCode = "DoctorNotice"; Consultationpublishs.OperationType = "AddConsultation"; // 新增咨询 Consultationpublishs.MessageRemark = result.IIInessDescription; // 发起咨询 Consultationpublishs.Publisher = "Patient"; Consultationpublishs.PublishUrl = "Patient"; Consultationpublishs.EventName = "发布 新增咨询"; Consultationpublishs.EventCode = "Consultation"; Consultationpublishs.BusinessID = result.Id.ToString(); Consultationpublishs.BusinessCode = result.ConsultNumber; Consultationpublishs.BusinessJSON = JsonHelper.ToJson(consultation); Consultationpublishs.PublishedTime = result.CreatedOn; Consultationpublishs.PublishStatus = true; Consultationpublishs.CreatedBy = consul.CreatedBy; Consultationpublishs.CreatedOn = DateTime.Now; Consultationpublishs.Secret = secret; Consultationpublishs.ServerClient = "Client"; try { var ConsultationResult = await _publishsService.CreatePublishs(Consultationpublishs); } catch (Exception ex) { YaeherOperList yaeherOperList = new YaeherOperList(); yaeherOperList.CreatedOn = DateTime.Now; yaeherOperList.OperExplain = "Message:" + ex.Message.ToString(); yaeherOperList.OperContent = "StackTrace:" + ex.StackTrace.ToString(); yaeherOperList.OperType = "支付回调"; await _YaeherOperListrepository.PatientYaeherOperList(yaeherOperList); throw ex; } #endregion unitOfWork.Complete(); } var ConsultationParma = await this.PostResponseAsync(Commons.DoctorIp + "api/ConsultationManage/", JsonHelper.ToJson(Consultationpublishs)); // var ConsultationJson = JsonHelper.FromJson<APIResult<ResultModule<Publishs>>>(ConsultationParma); return(Content("success", "text/xml")); }