2024-11-27 18:15:32 +08:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace app\api\controller;
|
2025-01-13 18:03:44 +08:00
|
|
|
use addons\epay\library\Service;
|
2024-11-27 18:15:32 +08:00
|
|
|
use app\common\controller\Api;
|
2025-01-13 18:03:44 +08:00
|
|
|
use app\common\library\NightSchoolBigData;
|
|
|
|
use app\common\model\school\classes\order\Order;
|
|
|
|
use bw\UrlLock;
|
|
|
|
use think\Cache;
|
|
|
|
|
2024-11-27 18:15:32 +08:00
|
|
|
/** 定时任务控制器
|
|
|
|
* Class Crontab
|
|
|
|
* @package addons\shopro\controller
|
|
|
|
*/
|
|
|
|
class Crontab extends Api
|
|
|
|
{
|
|
|
|
|
|
|
|
protected $noNeedLogin = ['*'];
|
|
|
|
protected $noNeedRight = ['*'];
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 每天执行的任务
|
|
|
|
*/
|
|
|
|
public function day()
|
|
|
|
{
|
|
|
|
try{
|
2025-01-13 18:03:44 +08:00
|
|
|
$res = Order::timeoutCheck(true);
|
|
|
|
$res = \app\common\model\school\classes\activity\order\Order::timeoutCheck(true);
|
|
|
|
|
|
|
|
//得到近七天的开始结束时间 "start_date","end_date"
|
|
|
|
$seven_date = NightSchoolBigData::getLastSevenDaysDate();
|
|
|
|
$seven_days_start_date = $seven_date["start_date"];
|
|
|
|
$seven_days_end_date = $seven_date["end_date"];
|
|
|
|
$seven_date = NightSchoolBigData::getLastMonthDate();
|
|
|
|
$month_start_date = $seven_date["start_date"];
|
|
|
|
$month_end_date = $seven_date["end_date"];
|
|
|
|
$seven_date = NightSchoolBigData::getLastDaysDate();
|
|
|
|
$last_days_start_date = $seven_date["start_date"];
|
|
|
|
$last_days_end_date = $seven_date["end_date"];
|
|
|
|
$seven_date = NightSchoolBigData::getLastWeekDate();
|
|
|
|
$last_week_start_date = $seven_date["start_date"];
|
|
|
|
$last_week_end_date = $seven_date["end_date"];
|
|
|
|
|
|
|
|
//更新画像
|
|
|
|
$weMiniTotal = new \WeMini\Total(Service::wechatConfig());
|
|
|
|
$res = $weMiniTotal->getWeanalysisAppidUserportrait($seven_days_start_date, $seven_days_end_date);
|
|
|
|
$cacheNmae = 'getWeanalysisAppidUserportrait' . $seven_days_start_date . $seven_days_end_date;
|
|
|
|
Cache::set($cacheNmae, $res, (3600 * 24 * 32));
|
|
|
|
|
|
|
|
$res = $weMiniTotal->getWeanalysisAppidUserportrait($last_days_start_date, $last_days_end_date);
|
|
|
|
$cacheNmae = 'getWeanalysisAppidUserportrait' . $last_days_start_date . $last_days_end_date;
|
|
|
|
Cache::set($cacheNmae, $res, (3600 * 24 * 32));
|
|
|
|
//微信小程序访问页面
|
|
|
|
$res = $weMiniTotal->getWeanalysisAppidVisitPage($last_days_start_date, $last_days_end_date);
|
|
|
|
$cacheNmae = 'getWeanalysisAppidVisitPage' . $last_days_start_date . $last_days_end_date;
|
|
|
|
Cache::set($cacheNmae, $res, (3600 * 24 * 32));
|
|
|
|
//月留存
|
|
|
|
$res = $weMiniTotal->getWeanalysisAppidMonthlyRetaininfo($month_start_date, $month_end_date);
|
|
|
|
$cacheNmae = 'getWeanalysisAppidMonthlyRetaininfo' . $month_start_date . $month_end_date;
|
|
|
|
Cache::set($cacheNmae, $res, (3600 * 24 * 32));
|
|
|
|
//周留存
|
|
|
|
$res = $weMiniTotal->getWeanalysisAppidWeeklyRetaininfo($last_week_start_date, $last_week_end_date);
|
|
|
|
$cacheNmae = 'getWeanalysisAppidWeeklyRetaininfo' . $last_week_start_date . $last_week_end_date;
|
|
|
|
Cache::set($cacheNmae, $res, (3600 * 24 * 32));
|
|
|
|
//日留存
|
|
|
|
$res = $weMiniTotal->getWeanalysisAppidDailyRetaininfo($last_days_start_date, $last_days_end_date);
|
|
|
|
$cacheNmae = 'getWeanalysisAppidDailyRetaininfo' . $last_days_start_date . $last_days_end_date;
|
|
|
|
Cache::set($cacheNmae, $res, (3600 * 24 * 32));
|
|
|
|
//访问分布
|
|
|
|
$res = $weMiniTotal->getWeanalysisAppidVisitdistribution($last_days_start_date, $last_days_end_date);
|
|
|
|
$cacheNmae = 'getWeanalysisAppidVisitdistribution' . $last_days_start_date . $last_days_end_date;
|
|
|
|
Cache::set($cacheNmae, $res, (3600 * 24 * 32));
|
|
|
|
//微信小程序月趋势
|
|
|
|
$res = $weMiniTotal->getWeanalysisAppidMonthlyVisittrend($month_start_date, $month_end_date);
|
|
|
|
$cacheNmae = 'getWeanalysisAppidMonthlyVisittrend' . $month_start_date . $month_end_date;
|
|
|
|
Cache::set($cacheNmae, $res, (3600 * 24 * 32));
|
|
|
|
//微信小程序周趋势
|
|
|
|
$res = $weMiniTotal->getWeanalysisAppidWeeklyVisittrend($last_week_start_date, $last_week_end_date);
|
|
|
|
$cacheNmae = 'getWeanalysisAppidWeeklyVisittrend' . $last_week_start_date . $last_week_end_date;
|
|
|
|
Cache::set($cacheNmae, $res, (3600 * 24 * 32));
|
|
|
|
//微信小程序访问分析
|
|
|
|
$res = $weMiniTotal->getWeanalysisAppidDailyVisittrend($last_days_start_date, $last_days_end_date);
|
|
|
|
$cacheNmae = 'getWeanalysisAppidDailyVisittrend' . $last_days_start_date . $last_days_end_date;
|
|
|
|
Cache::set($cacheNmae, $res, (3600 * 24 * 32));
|
|
|
|
//微信小程序数据分析
|
|
|
|
$res = $weMiniTotal->getWeanalysisAppidDailySummarytrend($last_days_start_date, $last_days_end_date);
|
|
|
|
$cacheNmae = 'getWeanalysisAppidDailySummarytrend' . $last_days_start_date . $last_days_end_date;
|
|
|
|
Cache::set($cacheNmae, $res, (3600 * 24 * 32));
|
2024-11-27 18:15:32 +08:00
|
|
|
}catch (\Exception $e){
|
|
|
|
$this->error("执行失败:".$e->getMessage());
|
|
|
|
}
|
2025-01-13 18:03:44 +08:00
|
|
|
$this->success("执行成功");
|
2024-11-27 18:15:32 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 每五分钟执行的任务
|
|
|
|
*/
|
|
|
|
public function minute()
|
|
|
|
{
|
|
|
|
try{
|
2025-01-13 18:03:44 +08:00
|
|
|
|
|
|
|
$res = Order::timeoutCheck(true);
|
|
|
|
$res = \app\common\model\school\classes\activity\order\Order::timeoutCheck(true);
|
|
|
|
|
|
|
|
// $lock = new UrlLock(2,"mock-lock-suffix",5,"您的请求过于频繁,请您稍后再试!");
|
|
|
|
// $lock->lock();
|
|
|
|
// var_dump("進入時間:".date("Y-m-d H:i:s "));
|
|
|
|
// sleep(2);
|
|
|
|
// $lock->free();
|
|
|
|
// var_dump("釋放時間:".date("Y-m-d H:i:s "));
|
2024-11-27 18:15:32 +08:00
|
|
|
// MockOrder::distributionFailSmsNotice(MockOrder::where("id",438)->find());
|
|
|
|
//${name},手机号${phone}有${number}圈已被分配到您的${car_number}号车上,请及时查看!
|
|
|
|
// $event = "distribution_success";
|
|
|
|
//// $event = "distribution_fail";
|
|
|
|
// $config = get_addon_config('alisms');
|
|
|
|
// $template_id = $config['template'][$event];
|
|
|
|
// $res = Smslib::notice(15090180611, ['name'=>"小绿",'phone'=>"15555555555",'number'=>"3",'car_number'=>"22"], $template_id);
|
|
|
|
//// $params = [
|
|
|
|
//// 'mobile' => 15090180611,
|
|
|
|
//// 'msg' => ['name'=>"小明",'phone'=>"15555555555",'number'=>"3",'car_number'=>"22"],
|
|
|
|
//// 'template' => "SMS_275410075"
|
|
|
|
//// ];
|
|
|
|
//// $result = \think\Hook::listen('sms_notice', $params, null, true);
|
|
|
|
// var_dump($res);die;
|
|
|
|
//
|
|
|
|
// //得到返解析的内容
|
|
|
|
// $qrcode = new \Zxing\QrReader( cdnurl("/uploads/20221117/f8c6c1ba12938daf9767719fa022d6b8.png",true)); //绝对路径
|
|
|
|
// $common_content = $qrcode->decode(); //返回二维码的内容
|
|
|
|
|
|
|
|
|
|
|
|
// $qrcode = new \Zxing\QrReader(cdnurl("/uploads/20221116/ffcf9f4bd725ec49ebb53d97166a486b.png",true)); //二维码图片路径
|
|
|
|
// $text = $qrcode->text(); //返回识别后的文本
|
|
|
|
// $ids = AppointmentOrder::where("mock_code_url",'not null')->page(1,500)->column("id");
|
|
|
|
// $num = count($ids);
|
|
|
|
// foreach ($ids as $id) {
|
|
|
|
// //取消模拟资格
|
|
|
|
// AppointmentOrder::cancelMockCode($id, true);
|
|
|
|
// //插入订单日志
|
|
|
|
// OrderAction::log($id, "预约订单取消模拟资格,原小票练车码(如果有)作废", "admin", 1);
|
|
|
|
// }
|
|
|
|
// $qrcode = new QrReader(cdnurl("/uploads/20221117/f8c6c1ba12938daf9767719fa022d6b8.png",true)); //图片路径
|
|
|
|
// $text = $qrcode->decode(); //返回识别后的文本
|
|
|
|
|
|
|
|
// $res = MockOrder::repairOrders(1000,$trans = false);
|
|
|
|
|
|
|
|
// $sss = Common::getLinkMiniQrCode(29716);
|
|
|
|
// var_dump($sss->toArray());die;
|
|
|
|
|
|
|
|
}catch (\Exception $e){
|
|
|
|
$this->error("执行失败:".$e->getMessage());
|
|
|
|
}
|
2025-01-13 18:03:44 +08:00
|
|
|
$this->success("执行成功");
|
2024-11-27 18:15:32 +08:00
|
|
|
}
|
|
|
|
}
|