关于在工作中第一次接触定时器和树状结构查询

具体需求咱就不说了毕竟是公司的内部代码和业务需求,咱说个大概怎么实现和思路以及在组长指导下学到的内容。

直接开整!

先说下大概的业务需求吧

定时把A人员表插入B表中让A表人员有内部销售资格

这个需求吧,平时也没接触过正儿八经的定时任务,只有自己写的Demo,所以属于第一次写,公司用的定时任务框架是Quartz。平时写的Demo也没使用过所以写之前先查询了相关文档

w3c的关于定时任务文档

下图为本部门所用quartz写法

Cron-expression为触发定时器的时间具体可看

定时任务时间写法

写一个定时的任务

写一个工厂调度器

在调度器里调用定时任务的业务逻辑

具体咱也没操作过只能说个大概毕竟都是搭建好的,咱只是一个cv工程师

大概业务就是

A人员表要插入B表中,由于B表和A表没有主外键关系,所以需要设计一个映射表来连系A,B两表。

还有一个问题就是A人员表的子字段Id是树状的还有一个大A表关联着A表的子字段Id ,需要用A表的子字段Id找到大A表的父Id来进行映射设计(其实是大A表的父Id太多懒得一个个弄组长才让搞一个最上级映射来当A,B表的关联表)

映射表设计好后,哥们犯难了:亚雷没写过树形查询的逻辑啊,定时器能cv,这逻辑咋cv

冥思苦想两天终于走到了让组长帮忙这一步,当然也是经过自己思考的虽然写的都是屎山被批斗了

最后经过组长的重新编写,小垃圾本人打断点一点点理解之后才懂了一点树状查询的方法

话不多说上代码

先遍历一边筛出来的A表的子字段Id

在不断的用 FirstOrDefault 来找大A表的父Id,在继续通过大A表的父Id找到映射表设计好的关联Id,找到了关联的Id就直接插入到B表的数据库中,当然数据够多可以分批插入,方便优化运行时间。

写完逻辑,定好执行时间就是一个完整的定时任务啦。

以上就是本菜逼第一次接触定时器和树状查询的过程,组长重写了主要的逻辑,剩下的细碎的逻辑就是我自己写的一些个健壮性判断了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值