发表于: 2017-11-05 23:44:48
0 762
今日完成:
1、思考了一下,公司框架的缓存功能应该有可能是这样使用的:
使用缓存的目的就是为了避免对数据库的查询。
那 MyListUtil 中有个方法 convert2Map(Clazz, List keys , List<Object> objectLists)
可以通过传入的 keys 筛选出所需的记录。
例子:
我想要筛选到 enterpriseApproval 中 applyId字段为某些值的记录。
可以不必写 sql,而是 事先将 表从所有的记录查到。然后使用方法:
public static Map convert2Map(Field f, List keys, List datas) throws IllegalAccessException {
其中 keys 就是 applyIds、datas 就是从数据库中查到的全部记录。
List<Long> enterpriseApprovalIds = enterpriseApprovalService.getEnterpriseApprovalIds(0, Integer.MAX_VALUE);
List<EnterpriseApproval> enterpriseApprovalList = enterpriseApprovalService.getObjectsByIds(enterpriseApprovalIds);
Map id_entAppvMap = MyListUtil.convert2Map(EnterpriseApproval.class.getDeclaredField("applyId"), list, enterpriseApprovalList);
这样就能返回得到 一个 map。键为id、值为实体类。
这样就实现了不去DynamicUtil写sql、事先将数据查到内存里,再用框架里的方法筛选数据。
2、处理一下积分平台的一个bug。
现有BUG情况:积分申报次数限制本应限制为被申请员工,限制成了审批人,审批人只能审批一次。
BUG处理方案:限制次数修改为员工,次数限制与审批人,发起人,抄送人无关,同时增加两条判断。
1被申请员工已申请通过,再次申请时,发起人出状态——,在发起申请时出弹窗提示“已有员工完成该任务”(被申请人为已完成员工或包含已完成员工,都是这么处理)
2被申请员工已申请,但未通过,再次发起申请到审批人审批时,员工被审批通过,审批人出状态——审批人点击审批通过或不通过都出弹窗“已有员工完成该任务”默认状态为拒绝申请。(被申请人为已完成员工或包含已完成员工,都是这么处理)。
明日计划 :
1、逗你学2期禅道拆解。
遇到的问题:
1、wiki 上的Java开发规范中有些不明白的地方。
收获:
1、看了一些积分平台里的代码。
评论