public TraceEntity Withdraw(WithdrawEntity entity) { TraceEntity trace = new TraceEntity(); XmlDocument xmlDoc = XMLString.Withdraw.Clone() as XmlDocument; xmlDoc.SelectSingleNode("OrderInfo/OrderNum").InnerText = entity.PolicyNo; string req = xmlDoc.OuterXml; string ret = ""; //<?xml version="1.0" encoding="utf-8"?><OrderInfo><Flag>0</Flag><Message>订单不存在,或不是您的订单</Message></OrderInfo> try { ret = ws.CancelOrder(req); xmlDoc.LoadXml(ret); if (xmlDoc.SelectSingleNode("OrderInfo/Flag").InnerText == "0") { Common.LogIt("退保参数:" + req + Environment.NewLine + "简单保返回:" + ret); } } catch (Exception e) { Common.LogIt(ws.Url + Environment.NewLine + "退保异常:" + e.Message); } return(trace); }
public TraceEntity Withdraw(WithdrawEntity entity) { TraceEntity trace = new TraceEntity(); trace.ErrorMsg = "该产品仅支持退单。"; return(trace); }
public TraceEntity Withdraw(WithdrawEntity entity) { TraceEntity result = new TraceEntity(); //agent,sesscode,productno,productname 用户名,密码,产品代码,产品名称 string[] config = entity.IOC_Class_Parameters.Split(','); t_Case caseEntity = Case.Get(entity.CaseNo); string rep = ws.CannelPolicyById( DESEncrypt(caseEntity.customerID), config[0], config[1], config[2], entity.PolicyNo, caseEntity.customerID); string[] array = rep.Split('|'); if (array.Length > 1) { if (array[0] != "1") { Common.LogIt(rep); result.ErrorMsg = rep; } } else { Common.LogIt(rep); result.ErrorMsg = rep; } return(result); }
/// <summary> /// 退保(空函数,广州分公司在业务上不支持该功能) /// </summary> /// <param name="policyNo"></param> /// <returns></returns> public TraceEntity Withdraw(WithdrawEntity entity) { TraceEntity result = new TraceEntity(); result.ErrorMsg = "该产品仅支持退单。"; return(result); }
/// <summary> /// 退保 /// </summary> /// <param name="policyNo"></param> /// <returns></returns> public TraceEntity Withdraw(WithdrawEntity entity) { TraceEntity result = new TraceEntity(); result.ErrorMsg = "该产品仅支持退单。"; return(result); //string ret = string.Empty; //try //{ // ret = webService.quitpolicy("hgy02", "hgy02", entity.PolicyNo); // if (string.IsNullOrEmpty(ret)) // throw new Exception("WebService返回为空!"); // else // { // if (ret.Contains("已经退保")) // return result; // else // { // Common.LogIt("Huayubaoxian 退保:" + ret); // result.ErrorMsg = ret; // return result; // } // } //} //catch //{ // Common.LogIt(webService.Url); // throw; //} }
/// <summary> /// 退保 /// </summary> /// <param name="policyNo"></param> /// <returns></returns> public TraceEntity Withdraw(WithdrawEntity entity) { TraceEntity result = new TraceEntity(); string[] config = entity.IOC_Class_Parameters.Split(','); string ret = string.Empty; try { ret = webService.policyCancel(config[0], config[1], entity.PolicyNo); if (string.IsNullOrEmpty(ret)) { throw new Exception("西安奇易policyCancel返回为空!"); } } catch { Common.LogIt(webService.Url); throw; } if (ret.Contains("撤销成功")) { return(result); } else { Common.LogIt("西安奇易policyCancel:" + ret); result.ErrorMsg = ret; return(result); } }
public TraceEntity Withdraw(WithdrawEntity entity) { TraceEntity result = new TraceEntity(); RevokePolicy[] rp = new RevokePolicy[1]; rp[0].certNo = entity.PolicyNo; string xmlRet = ""; try { xmlRet = Withdraw(rp); } catch { Common.LogIt(url); throw; } try { if (string.IsNullOrEmpty(xmlRet)) { throw new Exception("平安退保返回为空!"); } XmlDocument xd = new XmlDocument(); xd.LoadXml(xmlRet); XmlNodeList nodes = xd.SelectNodes("Values/value"); if (GetValue(nodes, "processFlag") == "1") { return(result); } else { Common.LogIt("平安退保返回:" + xmlRet); string error = GetValue(nodes, "processMessage"); if (string.IsNullOrEmpty(error)) { result.ErrorMsg = "未知错误"; } else { result.ErrorMsg = error; } return(result); } } catch { if (!string.IsNullOrEmpty(xmlRet)) { Common.LogIt("平安退保返回:" + xmlRet); } throw; } }
public void SubmitForm(WithdrawEntity entity, string keyValue) { if (!string.IsNullOrEmpty(keyValue)) { entity.Modify(keyValue); service.Update(entity); } else { entity.Create(); service.Insert(entity); } }
/// <summary> /// 退保 /// 注意可能返回该错误:“该保单尚未同步到核心系统,稍后退保” /// 永诚方面同步到核心系统的周期大约是5分钟 /// </summary> /// <param name="certNo">保单号</param> /// <returns></returns> public TraceEntity Withdraw(WithdrawEntity entity) { TraceEntity result = new TraceEntity(); string requestString = GetWithdrawXML(entity.PolicyNo); string responseString = GetResponse(requestString); result = ScanWithdrawResult(responseString); if (!string.IsNullOrEmpty(result.ErrorMsg)) { Common.LogIt("永城接口 退保:" + responseString); } return(result); }
public TraceEntity Withdraw(WithdrawEntity entity) { TraceEntity trace = new TraceEntity(); return(trace); #region 邮件退保 //string mailContent = "邮件内容"; //string mailTo = config[4];//收件人地址 //string mailFrom = "*****@*****.**"; //string smtp = "smtp.gmail.com"; //int smtpPort = 587; //string username = "******"; //string password = "******"; //MailMessage msg = new System.Net.Mail.MailMessage(); //msg.To.Add(mailTo); //收件人 ////发件人信息 //msg.From = new MailAddress(mailFrom, "发送人姓名", System.Text.Encoding.UTF8); //msg.Subject = "这是测试邮件"; //邮件标题 //msg.SubjectEncoding = System.Text.Encoding.UTF8; //标题编码 //msg.Body = mailContent; //邮件主体 //msg.BodyEncoding = System.Text.Encoding.UTF8; //msg.IsBodyHtml = true; //是否HTML //msg.Priority = MailPriority.High; //优先级 //SmtpClient client = new SmtpClient(); ////设置邮箱账号和密码 //client.Credentials = new System.Net.NetworkCredential(username, password); //client.Port = smtpPort; //client.Host = smtp; //client.EnableSsl = true; //try //{ // client.Send(msg); //} //catch (Exception ex) //{ // trace.ErrorMsg = "发送退保邮件失败(立刻保)!"; // trace.Detail = ex.ToString(); //} //return trace; #endregion }
/// <summary> /// 退保代理 /// </summary> /// <param name="policyNo"></param> /// <returns></returns> public TraceEntity Withdraw(WithdrawEntity entity) { TraceEntity result = new TraceEntity(); try { //注入实例 instance = container.Resolve <IIssuing>(entity.IOC_Class_Alias); } catch (Exception e) { Common.LogIt(e.ToString()); throw; } result = instance.Withdraw(entity); return(result); }
public TraceEntity Withdraw(WithdrawEntity entity) { TraceEntity result = new TraceEntity(); WithdrawRequest req = new WithdrawRequest(); string[] config = entity.IOC_Class_Parameters.Split(','); req.Username = config[0]; req.Password = config[1]; req.PolicyNo = entity.PolicyNo; req.CaseNo = entity.CaseNo; string xml = Common.XmlSerialize <WithdrawRequest>(req); string ret = ws.Withdraw(xml); result = Common.XmlDeserialize <TraceEntity>(ret); return(result); }
public TraceEntity Withdraw(WithdrawEntity entity) { TraceEntity result = new TraceEntity(); string response = ""; try { string[] config = entity.IOC_Class_Parameters.Split(','); response = ws.CannelPolicyByPolicyNos(entity.PolicyNo, config[0]); if (string.IsNullOrEmpty(response)) { throw new Exception("意时网退保WebService返回为空!"); } } catch { Common.LogIt(ws.Url); throw; } try { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(response); if (xmlDoc.SelectSingleNode("Instony/RetData/Flag").InnerText == "1") { return(result); } else { Common.LogIt("退保参数" + entity.PolicyNo + System.Environment.NewLine + "意时网投保返回:" + response); result.ErrorMsg = xmlDoc.SelectSingleNode("Instony/RetData/Message").InnerText; return(result); } } catch { Common.LogIt("退保参数" + entity.PolicyNo + System.Environment.NewLine + "意时网投保返回:" + response); throw; } }
public TraceEntity Withdraw(WithdrawEntity entity) { string[] config = entity.IOC_Class_Parameters.Split(','); TraceEntity result = new TraceEntity(); StringBuilder sbPost = new StringBuilder(); sbPost.Append("username="******"&password="******"&recodes=").Append(entity.PolicyNo); sbPost.Append("&method=0"); //string post = System.Web.HttpUtility.UrlEncode(sbPost.ToString()); byte[] data = Encoding.UTF8.GetBytes(sbPost.ToString()); string ret = Common.HttpPost("http://113.11.197.237/byOther/pingan.do", data); if (!ret.Contains("success")) { Common.LogIt(ret); result.ErrorMsg = ret; } return(result); }
public TraceEntity Withdraw(WithdrawEntity entity) { TraceEntity trace = new TraceEntity(); if (string.IsNullOrEmpty(entity.PolicyNo)) { return(trace);//兼容之前未对接的已出单证(没有正式保单号) } TransportAccidentForEndorseRequsetDto dto = new TransportAccidentForEndorseRequsetDto(); dto.policyNo = entity.PolicyNo; dto.functionId = "2"; TransportAccidentResponseDto ret = null; try { ret = wsCancel.endorPolicy("zgrs", "zgrs", dto); if (ret == null) { throw new Exception("北京国寿WebService返回为空!"); } } catch { Common.LogIt(wsCancel.Url); throw; } if (!string.IsNullOrEmpty(ret.error)) { Common.LogIt("北京国寿 退保:" + ret.error); trace.ErrorMsg = ret.error; } return(trace); }
public static TraceEntity Discard(UserLoginResponse user, string serialNo) { TraceEntity response = new TraceEntity(); string strSqlBak = @" SELECT caseID, caseNo, customerFlightDate, CertNo, b.IsIssuingRequired, c.IOC_Class_Alias, c.IOC_Class_Parameters, WithdrawRatio, caseOwner, ParentPath FROM [t_Case] a with(nolock) INNER JOIN t_Product b on a.productID = b.productID LEFT JOIN t_Interface c on a.interface_id = c.id where {0} = '{1}'"; string strSql = string.Format(strSqlBak, "caseNo", serialNo); DataSet ds = SqlHelper.ExecuteDataset(Common.ConnectionString, CommandType.Text, strSql); if (ds.Tables[0].Rows.Count == 0) { strSql = string.Format(strSqlBak, "certNo", serialNo); //若是第三方调用撤单接口,则传入参数是正式保单号 ds = SqlHelper.ExecuteDataset(Common.ConnectionString, CommandType.Text, strSql); if (ds.Tables[0].Rows.Count == 0) { response.ErrorMsg = "单证号不存在!"; Common.LogIt("单证号不存在" + strSql); return(response); } } DataRow dr = ds.Tables[0].Rows[0]; string caseOwner = dr["caseOwner"].ToString(); if (user.Username.ToUpper() != caseOwner.ToUpper()) { response.ErrorMsg = "单证号不属于该用户!"; return(response); } bool isIssuingRequired = Convert.ToBoolean(dr["IsIssuingRequired"]); //bool withdrawOnEffDateEnabled = Convert.ToBoolean(dr["WithdrawOnEffDateEnabled"]);//是否可以在生效当日(起飞前)进行退保操作 DateTime dtFlightDate = Convert.ToDateTime(dr["customerFlightDate"]); DateTime dtNow = DateTime.Now; if (user.CountConsumed > 100) { decimal withdrawRatio = Convert.ToDecimal(dr["WithdrawRatio"]); decimal ratio = (decimal)user.CountWithdrawed / (decimal)user.CountConsumed; if (ratio > withdrawRatio) { response.ErrorMsg = "系统检测到您目前的作废率过高,暂无法作废!"; return(response); } } if (dtFlightDate < dtNow) { response.ErrorMsg = "已生效,无法作废!"; return(response); } //else if (!withdrawOnEffDateEnabled) //{ // if (dtFlightDate.Date == dtNow.Date) // { // response.ErrorMsg = "乘机当日零点起已生效,无法作废!"; // return response; // } //} //bool isOk = true; string caseNo = dr["caseNo"].ToString(); string policyNo = dr["CertNo"].ToString(); if (isIssuingRequired) { WithdrawEntity entity = new WithdrawEntity(); entity.CaseNo = caseNo; entity.PolicyNo = policyNo; entity.IOC_Class_Alias = dr["IOC_Class_Alias"].ToString(); entity.IOC_Class_Parameters = dr["IOC_Class_Parameters"].ToString(); if (!string.IsNullOrEmpty(entity.PolicyNo)) { TraceEntity ret; try { IAClass.Issuing.IssuingFacade facade = new IAClass.Issuing.IssuingFacade(); ret = facade.Withdraw(entity); } catch (Exception ee) { Common.LogIt(ee.ToString()); ret.ErrorMsg = ee.Message; } //若成功退保,则做下标记;若失败,仍然给客户退单 if (string.IsNullOrEmpty(ret.ErrorMsg)) { Common.DB.Update(Tables.t_Case) .AddColumn(Tables.t_Case.isWithdrawed, true) .Where(Tables.t_Case.caseNo == caseNo) .Execute(); } } } //if (isOk) { int eff = Common.DB.Update(Tables.t_Case) .AddColumn(Tables.t_Case.enabled, false) .AddColumn(Tables.t_Case.dateDiscarded, dtNow) .Where(Tables.t_Case.caseNo == caseNo) .Execute(); //小郝:作废暂不返还余额(留待线下进行补偿结算) //string[] parentArray = dr["ParentPath"].ToString().Split(new string[] { "/" }, StringSplitOptions.RemoveEmptyEntries); //if (parentArray.Length > 1)//形如:/admin/tianzhi/bcaaa/bcaaa0150/ //{ // Common.DB.Update(Tables.t_User) // .AddColumn(Tables.t_User.balance, Tables.t_User.balance + Tables.t_User.price) // .Where(Tables.t_User.username == parentArray[1]) // .Execute(); //} //不要求完全精确,无需事务处理 Common.DB.Update(Tables.t_User) .AddColumn(Tables.t_User.CountWithdrawed, Tables.t_User.CountWithdrawed + 1) .Where(Tables.t_User.username == user.Username) .Execute(); } return(response); }
public void Delete(WithdrawEntity entity) { service.Delete(entity); }