DiverseYouthNightSchool/application/common/model/school/classes/VisitDistribution.php

93 lines
2.7 KiB
PHP
Raw Normal View History

2025-01-14 17:56:44 +08:00
<?php
namespace app\common\model\school\classes;
use app\common\model\BaseModel;
use think\Model;
class VisitDistribution extends BaseModel
{
// 表名
protected $name = 'school_visit_distribution';
// 自动写入时间戳字段
protected $autoWriteTimestamp = 'integer';
// 定义时间戳字段名
protected $createTime = 'createtime';
protected $updateTime = false;
protected $deleteTime = false;
// 追加属性
protected $append = [
'index_text',
'statistics_time_text'
];
public function getIndexList()
{
return ['access_source_session_cnt' => __('Index access_source_session_cnt'), 'access_staytime_info' => __('Index access_staytime_info'), 'access_depth_info' => __('Index access_depth_info')];
}
public function getIndexTextAttr($value, $data)
{
$value = $value ? $value : (isset($data['index']) ? $data['index'] : '');
$list = $this->getIndexList();
return isset($list[$value]) ? $list[$value] : '';
}
public function getStatisticsTimeTextAttr($value, $data)
{
$value = $value ? $value : (isset($data['statistics_time']) ? $data['statistics_time'] : '');
return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
}
protected function setStatisticsTimeAttr($value)
{
return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
}
public static function setlog($begin_date,$end_date,$res){
if(!isset($res["ref_date"]) || !isset($res["list"]))return false;
//statistics_time = 开始时间的时间戳
//begin_date 和 end_date如果带字符串- 则去除
$begin_date = str_replace("-","",$begin_date);
$end_date = str_replace("-","",$end_date);
$data = [
"ref_date"=>$res["ref_date"],
"begin_date" =>$begin_date,
"end_date" =>$end_date,
"miniapp_id"=>config("site.wx_miniapp_id"),
"statistics_time" => strtotime($res["ref_date"]." 0:0:0"),
];
$list = $res["list"];
foreach ($list as $k=>$v){
if(isset($v['index']) && isset($v['item_list'])){
foreach ($v['item_list'] as $kk=>$vv){
$data["index"] = $v['index'];
$data["key"] = $vv['key'];
$data["value"] = $vv['value'];
// var_dump(!self::where($data)->find());
if(!self::where($data)->find()){
self::create($data);
}
}
}
}
}
}