目录
备注:暂时写个草稿,思路慢慢记录
一、系统背景
随着业务的不断演变,其实我们会生产出众多的业务系统,这些系统会为对应的业务形态进行赋能工作,赋能后相关系统会开放给运营人员根据业务需要进行线上的实际操作,但是往往会因为运营相关人员在配置上的误操作会给相关业务线或相关功能模块带来一定的线上事故和损失。为了避免类似这样事件的发生,个人认为是需要在内部搭建一套业务审核系统的,该系统主要针对业务实际上线生效前通知相关的业务同学协助进行复查和确认,对任意线上的操作都能有一层基本的保障处理。
具体举例来说,假设我们当前存在一个线上降价活动业务,线上针对一定人群和城市进行投放至尊会员卡限时减价活动(单月至尊会员只需3.8元),在具体配置上改活动需要指明活动名称、有效时间、商品类型、活动类型、投放渠道、商品详情、售卖总量限制、单用户限购次数、活动城市及活动用户画像等内容,这个相关配置内容除了业务本身在配置上本身上进行的基本校验和业务规则校验外,所有其他信息是否进行线上实际生效则需要通过相关指定的活动负责人进行进一步的确认才可生效,下线以及在线修改等操作同样依照前方流程。
二、系统架构
整体的框架上相关而言比较简单易懂:
1.我们需要推动对应接入审核的相关业务方在接入的流程上进行基本的代码修改,即在原接口中针对业务修改的操作上进行审核提交操作。
审核提交接口会实时返回对应业务相关审核的相关校验规则(当前新增业务已在审核中不得重复提交、当前业务修改已在审核中不得重复提交),同时也会吐出相关接口用于业务方实时查看相关业务正在审核中的业务数据,用于用户回显报表等内容;
2.审核系统,业务提交上来的相关审核内容如果无误则可以直接入库,入库后的审核数据在审核页面可直接展示基本信息,同时提供相关后续的审核基本操作功能:
- 对于对应提交人员展示其对应的提交审核数据,针对该数据可进行业务详情展示(调用原业务页面等内容进行渲染或直接返回对应原始数据),对应人员在审核中的数据可以进行撤回操作,撤回操作不用泛化回调业务接口直接状态转换即可;
- 对于审核人员而言展示当前需要其进行审核的相关业务数据,针对该数据可进行业务详情展示(调用原业务页面等内容进行渲染或直接返回对应原始数据),对应人员在审核中的数据可以进行驳回和通过操作,暂时为了功能聚焦,驳回操作不用泛化回调业务接口直接状态转换即可,而通过操作需要考虑两个方面的问题:一是审核人员通过的时间和业务上存在截止生效时间的比较上如果存在异议,则需要发出相关通知并判定为异常状态;二是符合所有要求直接泛化回调业务接口直接将对应的内容生效即可
- 对于任意审核内容绘制相关的审核链路图,改图信息可以存储缓存中用于业务分析时进行提取相关审核链路等内容
3.消息系统主要用于审核系统针对业务提交的内容进行的审核结果和校验内容等内容进行实时的消息同步处理等内容
三、系统设计思路
(一)自身业务平台配置
相关页面为业务本身页面,审核不进行干预,但审核处可向各业务页面提供相关数据用于数据审核的实时情况展示,具体包括:
- 当前那些业务正在审核中,审核中未通过的建议业务方在相关业务页面进行标注,避免提交同类业务配置操作审核提交失败等;
- 当前那些业务已被撤回会驳回,撤回和驳回的可重新编辑再次提交形成新的审核记录并有相关链路记录审核操作和内容,供后期业务排查;
- 当前那些业务通过或存在异常,审核通过后审核系统会泛化调用业务接口用于实际生效,如果在调用过程中存在异常会将审核业务状态设置成异常,审核通过或存在异常告知业务方,并内部记录相关必要信息,供业务调取相关数据进行排查
(二)审核系统相关配置
1.业务流程编码定义申请
业务每次在接入审核系统前需要填写确认一下基本内容:
- 归属业务:接入方的业务类型为一个字典表,在接入前增加相关的业务标识字段等信息
- 编码名称:与对应的操作编码相关联,如果本身业务操作的是降价活动,则该处可以取名为降价活动上线、降价活动在线修改、降价活动下线,对应在操作编码处设置对应名称的操作编码信息,比如price-reduction-activity-online、price-reduction-activity-online-uodate、price-reduction-activity-offline
- 操作编码:与对应的编码名称相关联,同时同一指定业务一般要求必须指定为上线、在线修改和下线三个基本操作,审核在配置上也会根据归属业务、编码名称和操作编码进行规则校验,按以上举例可写明price-reduction-activity-online、price-reduction-activity-online-uodate、price-reduction-activity-offline,同时每一操作编码指定业务说明并设置填写对应的泛化调用,以便于审核系统后续操作通过后调用业务方接口接行实时业务处理。
- 审核人员:需要指明对应业务上的审核人员名单,该名单与内部员工信息相通,实时进行校验检查
- 启用状态:只有启用后的业务流程编码定义后续在业务自提交阶段才会进行校验通过,否则业务填写的相关信息将被视为无效。
2.业务审核系统配置
主要展示内容如下
- 提交有效信息会入库展示,基本信息会已我申请和我审核的为基本展示内容:流程ID、基本业务归属、审批对象、申请类型、状态、审批人/申请人、提交时间、操作等;
- 在我申请的页面下只展示本身人员的提交信息,对应操作上可将本次操作进行撤回操作,该行为将会统计到对应的审核链路中,审核链路实时统计更新到redis;
- 在我审核的页面下只展示自己在审核人信息中的相关审核内容,对应操作上可将本次操作进行驳回和通过操作,该行为将会统计到对应的审核链路中,审核链路实时统计更新到redis;
- 点击对应审批对象名称返回对应提交审核的基本信息内容,展示方式和回调业务页面进行渲染呈现(或前期只做数据原型展示即可)
3.消息系统
基本内部消息基础功能,承接以上相关操作过程中的业务和审核通知等内容,具体不在展开描述。