您的位置:首页 > 其它

工作中的笔记

2016-11-25 13:29 176 查看
<!--定时作业-->
<!--添加释放记录-->
<insert id="automaticRelease1" >
insert into zxzq_drawcash_record (status ,memberid , releasenum, securitiesnum, securitiesnum_after, time, securitiesid)
select 2, h.memberid,
TRUNCATE( if(r.securities > TRUNCATE(h.securitiesnum * 0.999,2), TRUNCATE(h.securitiesnum-r.securities,2),TRUNCATE(h.securitiesnum * 0.001,2)),2),
h.securitiesnum,
TRUNCATE(if(r.securities > TRUNCATE(h.securitiesnum * 0.999,2),r.securities,TRUNCATE(h.securitiesnum - TRUNCATE(
if(r.securities > TRUNCATE(h.securitiesnum * 0.999,2),TRUNCATE(h.securitiesnum-r.securities,2) ,TRUNCATE(h.securitiesnum * 0.001,2)),2),2)),2),
NOW(),r.securitiesid
from zxzq_holding h ,zxzq_record r where h.securitiesid = r.securitiesid and r.price = r.realprice and h.securitiesnum > r.securities
</insert>

<update id="automaticRelease2">
replace into zxzq_drawcash (memberid, securitiesnum) select h.memberid ,
TRUNCATE(d.securitiesnum + sum(if(r.securities > TRUNCATE(h.securitiesnum*0.999,2),
TRUNCATE(h.securitiesnum-r.securities,2),TRUNCATE(h.securitiesnum*0.001,2))),2)
from zxzq_holding h inner join zxzq_drawcash d on d.memberid = h.memberid
inner join zxzq_record r on r.price=r.realprice and h.securitiesnum > r.securities  and h.securitiesid=r.securitiesid group by h.memberid
</update>
<update id="automaticRelease3">
update zxzq_holding h, zxzq_record r set h.securitiesnum =
if( r.securities > TRUNCATE(h.securitiesnum * 0.999,2) , r.securities,  TRUNCATE(h.securitiesnum * 0.999,2)) where r.securitiesid = h.securitiesid
and r.price = r.realprice
</update>

作为定时器的sql代码,通过spring定时任务来完成。
<task:annotation-driven />
<task:scheduled-tasks>
<task:scheduled ref="securitiesController" method="automaticRelease" cron="0 0 0 ? * MON-FRI"/>
</task:scheduled-tasks>

还需要在
securitiesController的
automaticRelease
方法上面增加
@Scheduled
注解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息