餐饮开发项目有智能排菜算法遇到的问题

说白了,智能排菜就是在用户下了订单之后自动的打印菜品,包含相同的菜品可以一起打出来,以提高饭店效率!

个人的想法就是运行一个Timer,事实的检测智能排菜这个功能是否启用,若启用的话则自动打印菜品。Timer的用法就是要继承TimeTask把里面的run方法重新,或者直接重新里面的run方法,然后再设置一个延迟时间,和间隔时间即可,刚开始做的是直接实现TimeTask里面的run方法,定时器直接是写到serviceImp(service实现)中的,但是遇到了一个问题,在run方法里面不知道怎么调用serviceImp里面的方法,于是放弃了这种选择,于是便重新写了一个类继承TimeTask重写里面的方法,做好之后遇到了一个问题,项目运行起来的时候发现调用的service为空,个人感觉是可能没有等service注入便执行了方法,所以为空,于是又回到了刚开始的方法,刚开始的方法不会出现service为空的情况,研究了一下怎么在run方法中调用serviceImp的方法,结果慢慢的研究出来了。方式为: 类名.this.方法。测试了一下终于好使了~!

public class XXXServiceImpl implements XXXService{

方法1;

方法2;

//

@PostConstruct

方法3;//服务器初始化的时候跑定时器,但是不知道run方法里面如何取调用方法1和方法2

}

花了一天的时间可算把这个问题解决了~~

经验分享 程序员 微信小程序 职场和发展