diff --git a/插件库/Lskj.Util/ReplaceHelper.cs b/插件库/Lskj.Util/ReplaceHelper.cs index e5088eb..e26465b 100644 --- a/插件库/Lskj.Util/ReplaceHelper.cs +++ b/插件库/Lskj.Util/ReplaceHelper.cs @@ -172,7 +172,7 @@ namespace Lskj.Util /// true if the specified default value is procedure; otherwise, false. public static bool IsProcedure(string defaultValue) { - string cleanedText = Regex.Replace(defaultValue, @"^(\s*--.*?(\r\n|\n)|\s*)*", ""); + string cleanedText = Regex.Replace(defaultValue, @"^(\s*--.*?(\r\n|\n)|\s*)*", ""); return cleanedText.StartsWith("exec", StringComparison.OrdinalIgnoreCase); //return defaultValue.ToLower().Trim().Trim(new char[] { '\r', '\t', '\n' }).StartsWith(_procedureFlag); } @@ -258,7 +258,7 @@ namespace Lskj.Util if (defaultValue.Contains("#")) { - defaultValue=defaultValue.Replace("'#'", "%^&*"); + defaultValue = defaultValue.Replace("'#'", "%^&*"); int frequency = SubstringCount(defaultValue, "#"); if (frequency > 1) { @@ -277,7 +277,7 @@ namespace Lskj.Util else { //#出现次数为奇数 - defaultValue=defaultValue.Replace(defaultValue.Substring(defaultValue.IndexOf('#'), defaultValue.LastIndexOf('#') + 1 - defaultValue.IndexOf('#')), " 1=1 "); + defaultValue = defaultValue.Replace(defaultValue.Substring(defaultValue.IndexOf('#'), defaultValue.LastIndexOf('#') + 1 - defaultValue.IndexOf('#')), " 1=1 "); defaultValue = defaultValue.Replace("%^&*", "'#'"); return defaultValue; } @@ -458,7 +458,14 @@ namespace Lskj.Util //bool outValue = true; //bool isCond = Boolean.TryParse(cond, out outValue); //return string.IsNullOrEmpty(cond) || !isCond ? true : outValue; - return string.IsNullOrEmpty(cond) ? true : Convert.ToBoolean(EvalHelper.Eval(ReplaceEvalCond(cond))); + try + { + return string.IsNullOrEmpty(cond) ? true : Convert.ToBoolean(EvalHelper.Eval(ReplaceEvalCond(cond))); + } + catch (Exception ex) + { + throw new Exception($"条件判断错误:{cond},{ex.Message}"); + } } /// /// 说明:说明:替换"{字段}"格式字符串,已替换操作员等信息 @@ -542,7 +549,7 @@ namespace Lskj.Util foreach (DataRow item in rows) { string key = field.Replace("{", "").Replace("}", ""); - if (item.Table.Columns.Contains(key)&&!string.IsNullOrWhiteSpace(item[key]+"")) + if (item.Table.Columns.Contains(key) && !string.IsNullOrWhiteSpace(item[key] + "")) fieldValues += start + item[key] + end + ","; } param = param.Replace(field, fieldValues.TrimEnd(',')); @@ -790,4 +797,25 @@ namespace Lskj.Util /// 客户标识 /// 私钥 /// System.String. - public static string ReplaceIPersonnel(string defaultValue, string iPersonnelAllowInformation, stri \ No newline at end of file + public static string ReplaceIPersonnel(string defaultValue, string iPersonnelAllowInformation, string iPersonnelCustomerId, string iPersonnelPrivateKey) + { + if (defaultValue.Contains(_iPersonnelAllowInformation) || defaultValue.Contains(_iPersonnelEncryptedMessage)) + { + //替换许可 + defaultValue = defaultValue.Replace(_iPersonnelAllowInformation, iPersonnelAllowInformation); + //替换加密的签名信息 + TimeSpan ts = DateTime.Now.ToUniversalTime() - new DateTime(1970, 1, 1); + long time = (long)ts.TotalMilliseconds;//当前时间的时间戳 + string EncryptedMessage = string.Format("company_id={0}&mobile_no={1}×tamp={2}", iPersonnelCustomerId, ERPInfo.Instance.UserLinkPhone, time); + string value = Lskj.Util.EncryptByPrivateKey.encryptByPrivateKey(EncryptedMessage, iPersonnelPrivateKey); + defaultValue = defaultValue.Replace(_iPersonnelEncryptedMessage, value); + + } + return defaultValue; + } + + + + + } +}