首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JeeSite | 保存信息修改记录

    需求点 在很多场景中信息是不能轻易被修改的,修改时要么需要具备权限,要么需要审批,但是无论是哪种方式,修改前后的数据都是需要留有“案底”的,也就是说关键的信息被修改后是有修改记录的,一般修改记录会记录修改人...、修改日期和修改的数据字段。...关键的信息无论怎么修改都会有据可查,时间、人物、修改数据前后信息等。...属性解析 上面的函数会返回两个对象中属性值不同的 List,获得该列表后,再次遍历解析属性对应的字段含义,进而拼接成一个字符串就可以生成修改日志进行保存了。...strModifyInfo = catModifyInfo(modList); // 输出差异字符串 System.out.println(strModifyInfo); // 把修改记录保存到日志表中

    2K20

    dede附件按月保存,修改DEDE附件不按天保存

    正常情况下,dede织梦系统的图片附件是按日保存的,一天一个文件夹, 时间长了, 这样在allimg中就会生成很多文件夹, 不方便管理。...虽然,dede的后台设置有”附件保存形式”的先项, 但功能太弱,如果是在后台上传和图片本地化还是没有作用,附件仍然是按日存放,下面就修改一下DEDE的代码, 让全部的图片附件都按月保存。 1....后台设置按月保存。 在dede v5.5后台, 系统>系统基本参数>附件设置, 有一个设置项 “附件保存形式“, 默认的值是:ymd 就是年月日的意思. 把他改成ym就是按年月保存附件了。...发表文章中如果选择了图片本地化, 图片文件还是按日保存。 下面就把这两个也改过来。 2. “后台上传”也按月保存。....’/’.MyDate(“ymd”,time()); 改为: imgUrl = cfg_uploaddir.’/’.MyDate(“ym”,time()); 以后图片本地化的附件也会按月保存

    1.5K00

    JeeSite | 保存信息修改记录续

    接上一篇 JeeSite | 保存信息修改记录 遗留问题 上篇文章中遗留了一个问题,就是为了要关联类属性与注释,注释与字典的地方使用了两个 map 来逐个添加了相关的信息,如下所示: Map...当表结构发生改变后,这些“硬编码”的表字段和字典的两个 map 也需要相应的修改,反复的增加和修改这部分内容费时费力还容易错,那么解决的办法就是使用 JeeSite 系统中提供的两个表 gen_table...),一个用于记录表,一个用于记录表中的列,然后它们的关联关系如下: gen_table.id = gen_table_column.gen_table_id 在 gen_table 中保存了表名对应的类名...,在 gen_table_column 表中保存了表字段对应的注释和对应的 Java 类属性,有了这几部分就可以通过 类名 来获取注释和类属性了。...分别修改这几个文件。

    1.4K30

    JeeSite | 保存信息修改记录封装

    前面写过两篇关于“保存信息修改记录”的内容,分别如下: JeeSite | 保存信息修改记录 JeeSite | 保存信息修改记录续 回顾 第一篇文章通过类字段的比较返回一个有字段值不同的...List,然后自己构造表字段和字典的 Map 来生成修改前和修改后的差异字符串。...从而实现“信息”修改“前”和修改“后”的对比记录。...对于保存信息修改记录这个功能会在很多表单中进行使用,那么按照前面的解决方法,需要在每个表单对应的 Controller 中增加相同的代码来完成同样的事情,这样代码就重复了。...封装后的调用 在 JeeSite 中,新建和修改的“保存”调用的都是 Controller 中的 "save" 方法,具体是修改还是新建,只要通过判断对象是否存在 id 即可,代码如下: /* *

    1.7K60

    初识Linux · 信号保存

    前言: 前文我们已经介绍了信号产生,在时间的学习线上,信号的学习分为预备知识,信号产生,信号保存,信号处理,本文我们学习信号保存,在前言部分,我们介绍几个信号保存中的概念。...信号保存 对于函数的调用,我们需要认识的是这5个函数,分别是sigemptyset, sigfillset, sigaddset, sigdelset,sigismember。...所以,对于信号来说,因为能修改信号的只有OS,那么OS要提供给用户系统调用函数,但是不能直接修改,直接修改风险太大了,毕竟直接修改简直让我们和OS没有两样,所以提供了一个结构体,叫做sigset_t,并且使用函数...,可以通过修改sigset_t的对象,间接修改当前进程。...以上的操作都是修改的pending,没有直观看到block,这段代码对于block修改较为直观: void handler(int signum) { printf("Caught signal

    1K10

    【Linux】信号的保存

    今天我们一起来看看信号时如何进行保存。 信号的保存 在认识信号的保存之前,我们先来熟悉几个概念 实际执行信号的处理动作称为信号递达(Delivery):递达动作: 默认 , 忽略和自定义。...Linux操作系统为我们提供了用户级别的位图!: sigset_t 每个信号只有一个bit的未决标志,非0即1,不记录该信号产生了多少次,阻塞标志也是这样表示的。...sizeof(uint32_t)*8) ;// -> bits[i]第几个数字中 j = 40 % (sizeof(uint32_t)*8) ;// -> bits[i]:j该数字中的第几位 sigset_t是Linux...操作系统提供的一个用户级数据类型,禁止用户直接修改位图!!!...block表可以修改了,那pending表怎么进行修改呢?其实pending表不需要我们进行修改,信号产生的5种方式都会对进程的pending表进行修改!

    2.7K10

    Linux进程信号【信号保存】

    其实就是 位图结构 一个 整型 int 就可以表示 31 个普通信号(实时信号这里不讨论) 比如 1 号信号就是位图中的 0 位置处,0 表示 未被阻塞/未产生未决,1 则表示 阻塞/未决 对于信号的状态修改...,其实就是修改 位图 中对应位置的值(0/1) 对于多次产生的信号,只会记录一次信息(实时信号则会将冗余的信号通过队列组织) 如何记录信号已产生 -> 未决表中对应比特位置置为 1 ?...pending 表 使用函数 sigismember 判断当前信号集中是否存在该信号,如果存在,输出 1,否则输出 0 如此重复,将 31 个信号全部判断打印输出即可 所以可以将上面的 演示程序 修改下...信号在被解除 阻塞状态 后,很快就会 递达 了 关于信号何时递达、以及递达后的处理动作,在下一篇文章中揭晓 以上关于 信号、信号集 的操作都是在进程中进行的,不影响操作系统 ---- 总结 以上就是本次关于 Linux...- 解除阻塞 - 递达信号 的全过程,最终证明 信号在产生之后是保存在 未决表 中的 ----

    1.8K20
    领券