现在有个商城根据供应商自己制定的订单过期时间去查询订单,如果超过时间自动更新订单状态为取消状态,并且调用一个接口去处理库存。求解决思路
例如:A商户设置订单过期时间为20分钟 B商户设置订单过期时间为30分钟。   A的订单过期时间为下单时间+20分钟,B的订单过期时间为下单时间+30分钟。

解决方案 »

  1.   

    N久前,有人问过和你一样的问题,你自己搜一下吧。数据库里放一个下单时间和订单过期时间,每次去读取的时候用(DateTime.Now-下单时间)获取时间间隔,如果大于订单过期时间就显示取消状态,否则就显示订单状态。
      

  2.   

    写一个类 继承  ServiceBase
    private System.Timers.Timer Timer = new System.Timers.Timer();
    protected override void OnStart(string[] args)
    {
    //
    this.Timer.Elapsed += new System.Timers.ElapsedEventHandler(Timer_Elapsed);
    // 设置查询周期
       this.Timer.Interval =1000;
    // 定期查询订单时间和现在时间差
    // 更新数据库
    this.Timer.Start();
    }