You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
2.3 KiB
81 lines
2.3 KiB
<?php
|
|
|
|
namespace app\integral\controller\api;
|
|
|
|
use app\integral\model\IntegralConfig;
|
|
use app\integral\model\IntegralOrder;
|
|
use think\facade\Db;
|
|
|
|
class Crontab extends Base
|
|
{
|
|
|
|
/**
|
|
* 每5分钟--定时取消超过时间的未支付订单
|
|
* @date 2022-11-21
|
|
*/
|
|
public function orderCancel()
|
|
{
|
|
$order_model = new IntegralOrder();
|
|
$config_model = new IntegralConfig();
|
|
$order_logic = new \app\integral\logic\Order();
|
|
|
|
// 获取全部满足条件的订单
|
|
$where = [
|
|
// 待支付
|
|
['status', '=', 1]
|
|
];
|
|
$order_list = $order_model->getAllData($where, 'id,uid,create_time');
|
|
|
|
//获取积分商城配置-X分钟后未付款订单自动取消
|
|
$order_cancel_minute = $config_model->column('order_cancel_minute', 'uid');
|
|
|
|
foreach ($order_list as $k => $v) {
|
|
if (strtotime($v['create_time']) + $order_cancel_minute[$v['uid']] * 60 <= time()) {
|
|
Db::startTrans();
|
|
$res = $order_logic->cancelOrder($v['id'], 3);
|
|
if ($res['code'] != 0) {
|
|
Db::rollback();
|
|
}
|
|
Db::commit();
|
|
}
|
|
}
|
|
|
|
dump('success');
|
|
}
|
|
|
|
/**
|
|
* 每天0:01--定时确认收货超过时间的未收货订单
|
|
* @date 2022-02-11
|
|
*/
|
|
public function orderFinish()
|
|
{
|
|
$order_model = new IntegralOrder();
|
|
$config_model = new IntegralConfig();
|
|
$order_logic = new \app\integral\logic\Order();
|
|
|
|
// 获取全部满足条件的订单
|
|
$where = [
|
|
// 待收货
|
|
['status', '=', 3]
|
|
];
|
|
$order_list = $order_model->getAllData($where,'id,uid,express_time');
|
|
|
|
// 获取积分商城配置-X天自动确认收货
|
|
$order_confirm_day = $config_model->column('order_confirm_day', 'uid');
|
|
|
|
foreach ($order_list as $k => $v) {
|
|
if (strtotime($v['express_time']) + $order_confirm_day[$v['uid']] * 24 * 3600 <= time()) {
|
|
Db::startTrans();
|
|
$res = $order_logic->finishOrder($v['id'], 3);
|
|
if ($res['code'] != 0) {
|
|
Db::rollback();
|
|
}
|
|
Db::commit();
|
|
}
|
|
}
|
|
|
|
dump('success');
|
|
}
|
|
|
|
}
|