服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
2024-10-18 54d77af16404853acc0a977c9185f50ee22c2bbf
Tiger.Business/DbCache/Biz.CodeRule.cs
@@ -95,9 +95,9 @@
        /// <summary>
        /// 数据库关联验证
        /// </summary>
        public static bool CheckDB(string key, BAS_CODE_DTL rule)
        public static bool CheckDB(string key, BAS_CODE_DTL ruleDtl)
        {
            return rule.DATA_TYPE == BAS_CODE_DTL.DATA_TYPEs.DbCheck.GetValue() ? Biz.Db.Queryable(rule.CHECK_TABLE, "t").Where($"{rule.CHECK_FIELD} = '{key}'").Any() : true;
            return ruleDtl.DATA_TYPE == BAS_CODE_DTL.DATA_TYPEs.DbCheck.GetValue() ? Biz.Db.Queryable(ruleDtl.CHECK_TABLE, "t").Where($"{ruleDtl.CHECK_FIELD} = '{key}'").Any() : true;
        }
        /// <summary>
@@ -123,7 +123,19 @@
                        //判断流水号是否符合规则
                        if (IsMatch && item.DATA_TYPE == BAS_CODE_DTL.DATA_TYPEs.SerialCode.GetValue())
                        {
                            //按取值范围判断当前流水号是否在范围内
                            IsMatch &= item.SERIAL_MIN <= item.CodeValue.ToInt32() && item.CodeValue.ToInt32() <= item.SERIAL_MAX;
                            //当前流水号是否按设置间隔固定数值
                            IsMatch &= (item.CodeValue.ToInt32() - item.SERIAL_MIN) % item.SERIAL_INTERVAL == 0;
                            //判断当前流水号是否跳过以设置号码结尾的流水号
                            if (!item.SERIAL_IGNORE.IsNullOrEmpty())
                            {
                                var ignoreList = item.SERIAL_IGNORE.Split(',');
                                foreach (var num in ignoreList)
                                {
                                    IsMatch &= !item.CodeValue.EndsWith(num);
                                }
                            }
                        }
                    }
                    //判断关联字段是否符合规则