前一段时间根据用户需求写了一个比较灵活的规则设计模型,与大家分享一下。

业务需求:

1.当数据提交的时候,需要校验注册的规则,根据规则执行情况返回相应结果

2.规则用户可维护,包括用户动态注册规则信息,维护规则提示信息、启用停用规则等

应用的技术:

反射、工厂、面向对象等等

一、数据库设计:

 设计原则:

1.该规则动态创建并执行

2.规则分为优先级

 1 create table T_BURULE
 2 (
 3   ITEMID       NUMBER(9) not null,
 4   PARENTITEMID NUMBER(9),
 5   RULECODE     VARCHAR2(20),
 6   RULENAME     VARCHAR2(100),
 7   RULECLASS    VARCHAR2(100),
 8   RULEDESC     VARCHAR2(2000),
 9   RULEMESSAGE  VARCHAR2(500),
10   P1           VARCHAR2(1000),
11   P2           VARCHAR2(1000),
12   P3           VARCHAR2(1000),
13   P4           VARCHAR2(1000),
14   P5           VARCHAR2(1000),
15   RULETYPE     NUMBER(9),
16   RULELEVEL    NUMBER(9),
17   ENABLE       NUMBER(9)
18 )
19 tablespace IFIS1300000002013
20   pctfree 10
21   initrans 1
22   maxtrans 255
23   storage
24   (
25     initial 64K
26     next 1M
27     minextents 1
28     maxextents unlimited
29   );
30 -- Add comments to the columns 
31 comment on column T_BURULE.ITEMID
32   is '流水号';
33 comment on column T_BURULE.PARENTITEMID
34   is '父级流水号';
35 comment on column T_BURULE.RULECODE
36   is '规则编码';
37 comment on column T_BURULE.RULENAME
38   is '规则名称';
39 comment on column T_BURULE.RULECLASS
40   is '规则所在的类';
41 comment on column T_BURULE.RULEDESC
42   is '规则描述';
43 comment on column T_BURULE.RULEMESSAGE
44   is '规则提示信息';
45 comment on column T_BURULE.P1
46   is '参数1';
47 comment on column T_BURULE.P2
48   is '参数2';
49 comment on column T_BURULE.P3
50   is '参数3';
51 comment on column T_BURULE.P4
52   is '参数4';
53 comment on column T_BURULE.P5
54   is '参数5';
55 comment on column T_BURULE.RULETYPE
56   is '规则类别';
57 comment on column T_BURULE.RULELEVEL
58   is '规则优先级';
59 comment on column T_BURULE.ENABLE
60   is '是否启用规则1启用 0不启用';

二、框架的设计

 1 public class RuleBase
 2     {
 3         #region 成员变量及其函数
 4 
 5         public IDACProduct Dac { get; set; }
 6 
 7         #endregion
 8 
 9         #region 构造函数
10         public RuleBase(IDACProduct dac)
11         {
12             Dac = dac;
13         }
14         #endregion
15 
16         #region 公共函数
17 
18         #endregion
19 
20         #region 私有函数
21 
22         #endregion
23     }
基类

相关文章:

  • 2021-04-25
  • 2021-12-09
  • 2022-01-12
  • 2021-06-07
  • 2022-12-23
  • 2021-12-17
  • 2022-01-12
猜你喜欢
  • 2022-12-23
  • 2021-11-07
  • 2022-12-23
  • 2022-01-19
  • 2021-11-04
  • 2022-12-23
  • 2021-12-02
相关资源
相似解决方案