CouponEnd.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | likeshop100%开源免费商用商城系统
  4. // +----------------------------------------------------------------------
  5. // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
  6. // | 开源版本可自由商用,可去除界面版权logo
  7. // | 商业版本务必购买商业授权,以免引起法律纠纷
  8. // | 禁止对系统程序代码以任何目的,任何形式的再发布
  9. // | gitee下载:https://gitee.com/likeshop_gitee
  10. // | github下载:https://github.com/likeshop-github
  11. // | 访问官网:https://www.likeshop.cn
  12. // | 访问社区:https://home.likeshop.cn
  13. // | 访问手册:http://doc.likeshop.cn
  14. // | 微信公众号:likeshop技术社区
  15. // | likeshop团队 版权所有 拥有最终解释权
  16. // +----------------------------------------------------------------------
  17. // | author: likeshopTeam
  18. // +----------------------------------------------------------------------
  19. namespace app\common\command;
  20. use app\common\enum\CouponEnum;
  21. use app\common\model\Coupon;
  22. use app\common\model\CouponList;
  23. use think\console\Command;
  24. use think\console\Input;
  25. use think\console\Output;
  26. class CouponEnd extends Command
  27. {
  28. protected function configure()
  29. {
  30. $this->setName('coupon_end')
  31. ->setDescription('优惠券结束领取&用户优惠券过期');
  32. }
  33. protected function execute(Input $input, Output $output)
  34. {
  35. (new Coupon())->where([
  36. ['status', '=', CouponEnum::COUPON_STATUS_CONDUCT],
  37. ['use_time_type', '=', CouponEnum::USE_TIME_TYPE_FIXED],
  38. ['use_time_end', '<=', time()]
  39. ])->update([
  40. 'status' => CouponEnum::COUPON_STATUS_END,
  41. 'update_time' => time()
  42. ]);
  43. // 已过期的优惠券标记失效
  44. (new CouponList())->where([
  45. ['status', '=', CouponEnum::USE_STATUS_NOT],
  46. ['invalid_time', '<=', time()]
  47. ])->update([
  48. 'status' => CouponEnum::USE_STATUS_EXPIRE,
  49. 'update_time' => time()
  50. ]);
  51. }
  52. }