请教本站 Java 大佬

31 条回复
152 次浏览

需求:一个编辑,修改的数据有三条,每一条修改都要留存日志
产品设计一个弹窗,一次保存,后端说实现不了,因为一次保存无法知道修改了哪些数据,日志无法留存
我现在就想知道这是真的吗?question

前排打手

(就按你说的信息显然是假的, 但是也有可能是有其他限制
明细数据保存日志留存这个经典问题了, 其实就是麻烦,
但是简单也有简单的做法, 简单的做法就是当他全都更新了, 全量保存日志, 缺点是查也不好查, 需要的硬盘也大
麻烦点的就把现在数据库的数据拉出来逐一对比, 把修改过的字段进行保存, 缺点是保存的时候还要把旧数据拉出来一次, 比较也需要消耗服务器性能, 性能比较吃紧而且还有大量更新的的可能就没法用这个方法
至于前端记录修改的字段就不说了, 这个可能多人协同的时候会出现问题, 不建议这么做

前排打手

emmm, 就是如果只做前端判断的话

A 打开了这个数据->修改了 A1 字段->还没保存的时候 B 也打开了这个数据, 修改了 B1 字段然后保存了->这时候 A 再保存

这样就会存一条 B 把 B1 字段修改了的日志和 A 把 A1 字段修改了的日志, 但是实际上如果没有特殊处理一般都是整个表单提交, 这时候 A 保存的时候会把 B1 字段覆盖, 所以能查到 B 的修改记录, 但是查不到 A 修改 B1 字段的记录, 而且 B1 字段还是原来的值, 但是这条记录跟日志的记录不一样, 你也很难查是什么问题, 所以还是尽量后端校验

展开 1 条评论
引路者

不是不行,只是麻烦,而且容易出问题,所以不建议这么做doge_flower

OP

是不建议一次性提交吗?每个单独提交比较好吗?facepalm

都听我说!

协调的问题你搞不定,如实反馈,不用内耗。 自然有人能叫动他

展开 1 条评论
幸运儿

这种 CURD 没有实现不了,只有想不想那么做,要不要那么做。think

马上来

给我搞应激了,瞬间回到之前做的一个需求,要求记录一个列表中得字段变更记录,就是修改这个列表中得某个字段值时,要记录下来修改前是什么值,修改之后是什么值,是谁在什么时间修改的。一边做一边问候业务方八辈祖宗!
一开始我是拒绝的,但是拒绝的后果就是我直接被业务 BP 拉过去亲自给业务方领导解释为什么做不了!
解释之后,不行,我就要做!
最后还是做了,现在这个业务功能已经无人问津了,当初的业务方领导也早就离职了

马上来

我想那功能在他向上汇报完的那一刻也就失去了他的意义!
这个领导混完 换个领导接着混 下面的人也慢慢麻木了
有时候想想挺没意思的,都是为了汇报而已,却不是为了真正的做出一款好的产品
现在很多其实就是 crud 存粹是为了钱,苟且的活着

展开 2 条评论
混沌

有实现方式, 可以写一个通用反射比对函数来实现精确属性变更记录, 确实不那么简单, 但能实现

OP

其实我也知道能实现,因为以前做过类似需求,当时后端就可以做到,这个帖子主要是想骂一下这个人,菜、懒、吹逼

前端和后端都可以实现的吧,就看谁强势了。前端直接把要保存的数据丢给后端,业务前端写一下;理论上这个是后端处理的,后端就是不想做;

都听我说!

数据有没有 id?格式有无要求?日志框架如何?完全无法根据你的描述定义谁对谁错啊fake_sad

OP

id 有,格式和日志框架都是后端实现的东西,咱也不知道啊facepalm

种子用户

挺好做的, 首先记录下要修改的这 3 条原始数据, 然后再记录下更新后的 3 条数据,

OP

我也是这么想的,但是后端说业务很复杂,做不了facepalm

发表一个评论

R保持