标记异常规则设计
2024-10-16 09:48:32 0 举报
标记异常规则设计
作者其他创作
大纲/内容
查询所有条件中涉及的实体表名
5. 返回下拉列表
返回策略列表
执行每个策略条件预设的SQL
查询ht_rma_abnormal_logistics_tagging_rules表
查询ht_rma_abnormal_logistics_tagging_condition_settings
返回物流相关表数据
返回满足的规则列表
拓展字段怎么设计?1. 需要检索的字段 - 按需新增- 如果是从外部接收数据,可以预留冗余字段- 但是如果是后续使用,还是按需添加字段,更加清晰2. 不需检索的字段 - 放在json字符串ext_json中
前端服务
查询ht_rma_abnormal_logistics_tagging_rules
返回策略条件及下拉列表
两张表中的内容修改时,都需要体现在content表的修改时间,修改人字段中
返回创建结果
将物流相关数据都放入Map
数据库
发送新建策略请求
新建策略
其他服务类
存入ht_rma_abnormal_logistics_tagging_rules表
规则服务类
组装规则条件(从json字符串)
执行策略
根据物流id,查出实体表中相关数据
ht_rma_abnormal_logistics_tagging_condition_settings
- condition_id: bigint(20)# 字段相关- attribute_name: varchar(100) [1] 字段名- attribute_display_name: varchar(100) [1] 字段展示名称- attribute_input_type: varchar(50) [1] 字段输入类型(如select | input | date等)- attribute_input_source_sql: 字段数据来源(如下拉框等)- entity_alias: varchar(100) [1] 实体表名称# 操作符- condition_operators: text [1] 条件操作符范围- condition_operators_display: text [1] 条件操作符范围-用于前端展示- deleted_flag: bit(1) 软删除标签 = 0# 基础创建和修改字段- created_by_id: bigint(20) [1]- cretaed_by_name: varchar(100) [1]- created_time: datetime [1]- modified_by_id: bigint(20) = null- modified_by_name: varchar(100) = null- modified_time: datetime = null
最多会涉及几个表,需不需要再建一个表来绑定条件和规则之间的关系?
查询ht_rma_abnormal_logistics_tagging_rule_content表
1...1
ht_rma_abnormal_logistics_tagging_rule_content
- id: bigint(20)- rule_id : bigint(20) [1]# 规则主档内容- rule_level: int(4) [1]- rule_name: varchar(50) [1]- enabled_flag: bit(1) [1]- push_flag: bit(1) [1] 是否推送到物流异常管理页面# 规则拓展内容- ext_json: text = null# 基础创建和修改字段- created_by_id: bigint(20) [1]- cretaed_by_name: varchar(100) [1]- created_time: datetime [1]- modified_by_id: bigint(20) = null- modified_by_name: varchar(100) = null- modified_time: datetime = null
3. 返回策略条件
查询ht_rma_abnormal_logistics_tagging_condition_settings表
返回实体表名列表
从原来的设计中,1. 删除了isCalProperty (原用途:对查询出来的数据,再做一遍处理,比如非空:不同等),现做法:用函数表达2. relMasterDataField, refProperty(无值,且没有使用处)3. 修改了字段输入类型:从数字 到 文本
存入ht_rma_abnormal_logistics_tagging_rule_content表
1. 打开特定策略页面
查询相关表
- 加一个自定义的function : susbtract(当前时间,物流状态的时间)
后端服务
2. 查询该策略类型下的策略条件
4. 对每个有下拉框的条件,查询下拉列表
根据条件列表和物流相关数据进行匹配
查询该策略类型下的策略
Loop 遍历规则列表
ht_rma_abnormal_logistics_tagging_rules
- rule_id : bigint(20)- raw_condition_json: 原始策略json字符串 [1]- condition_expr: 策略表达式 [1]
判断满足哪些规则
后端封装成一个接口
选择策略条件,并创建策略
将选择的策略条件都组装成JSON字符串
返回规则列表
将JSON字符串的条件组装成Aviator表达式
0 条评论
下一页