1.遇到一个问题,cms系统发起返现,通过推送mq信息给fund系统进行返现,cms日志看到是成功,但是fund系统里面并没有返现,查询日志也没有?
解决方法:通过查询cms日志,推送给fund的mq信息的确是成功的。在mq控制台上查询,所有推送给fund的mq信息也都处理成功。但是就没有返现,而且查询fund日志,并没有对这笔订单进行处理。后来发现是本地也起了一个fund系统,这样就有两个fund系统在启动,
dubbo这个时候正好路由到本地的fund,而本地的fund连接的数据库又是开发环境的。所以造成了mq已经处理成功,但是测试环境上并没有处理,测试环境的数据库也没有信息。
2.续投状态被无故的修改。
系统回款自动开始续投,续投中进行扣款,扣款成功是新浪异步通知系统,通知成功后会更改投标记录状态为申购中,及扣款成功。续投结束后也会修改投标记录的续投次数。问题是:扣款成功了。但是投标记录状态没有更改过来,还是未付款状态。
导致问题的原因是:扣款成功后通知系统了。系统的确也把投标记录状态修改为申购中,即成功了。但是在修改投标记录续投次数的时候,又把状态给修改为未付款了。这个问题时不时的出现,原因是根据新浪通知而定的,如果新浪通知的比较快,这个时候把未付款状态修改为申购中了。这个时候修改次数的时候因为是实现查询的,所以查询的状态还是未付款,所以把成功状态又给改回来了。如果通知的比较慢,在修改次数之后,就不会出现这个问题。
解决方案是:修改次数只修改次数,不要把其他的数据也给修改了。
3.关于oracle分页重复问题
oracle分页的时候,会出现重复数据,原因是order by的时候,顺序一样,引起的。解决办法是order by时条件要保证唯一。