KunWeb/web/admin/datasse/expo.php
2025-05-16 01:00:48 +08:00

151 lines
7.5 KiB
PHP
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace web\admin\datasse;
class expo {
static function sse_pavi($senddata, $sendevent) {
global $db;
$rsuser = verifyfast();
if (nopower($db, $rsuser['id'], 'p610r'))
return errjson('您未被授权操作');
$param = get('param');
if(empty($param))
$senddata('param 可填入 newexpo 建立展会biaoji 标记展会expoday 展会天数调整');
else
$senddata('param: ' . $param);
if (true) {
$csql = new \ciy\sql('c_fair_juzhan_pavi');
$csql->where('diqu like', '中国-');
$csql->where('conferenceid=0');
$cpavirows = $db->get($csql);
foreach ($cpavirows as $cpavirow) {
$csql = new \ciy\sql('c_fair_juzhan_expo');
$csql->where('paviid', $cpavirow['rawid']);
$cnt = $db->get1($csql);
if ($cnt > 0)
$senddata('展馆中有展会,但展馆未收录: ' . $cpavirow['name'] . ',' . $cpavirow['rawid']);
}
}
if (true) {
$csql = new \ciy\sql('c_fair_juzhan_pavi');
$csql->where('diqu like', '中国-');
$csql->where('conferenceid>0');
$cpavirows = $db->get($csql);
foreach ($cpavirows as $cpavirow) {
$csql = new \ciy\sql('c_fair_juzhan_expo');
$csql->where('paviid', $cpavirow['rawid']);
$crows = $db->get($csql);
// $csql = new \ciy\sql('ep_exposition');
// $csql->where('conferenceid', $cpavirow['conferenceid']);
// $csql->order('name');
// $erows = $db->get($csql);
// if(count($crows) == count($erows))
// continue;
//$senddata('C'.count($crows) .'=E'. count($erows).'|'.$cpavirow['name'] . ',' . $cpavirow['rawid']);
//检查C有但E没有的展会有哪些
foreach ($crows as $crow) {
if ($crow['expoid'] == 0) {
$csql = new \ciy\sql('ep_exposition');
$csql->where('conferenceid', $cpavirow['conferenceid']);
$csql->where('name', $crow['name']);
$chkrow = $db->getone($csql);
if (is_array($chkrow)) {
if ($param != 'biaoji') {
$senddata('[biaoji] 展会存在但juzhan未标记: ' . $cpavirow['conferenceid'] . ',' . $crow['name']);
continue;
}
$updata = array();
$updata['status'] = 10;
$updata['expoid'] = $chkrow['id'];
$csql = new \ciy\sql('c_fair_juzhan_expo');
$csql->where('id', $crow['id']);
$execute = $db->data($updata)->set($csql, 'update');
if ($execute === false)
$senddata('ERR ' . $cpavirow['conferenceid'] . ',' . $crow['name'] . $db->error);
else
$senddata('展会存在已补juahznid: ' . $cpavirow['conferenceid'] . ',' . $crow['name']);
} else {
if ($param != 'newexpo') {
$senddata('[newexpo] 展会不存在需建立: ' . $cpavirow['conferenceid'] . ',' . $crow['name']);
continue;
}
$updata = array();
$updata['conferenceid'] = $cpavirow['conferenceid'];
$updata['name'] = $crow['name'];
$updata['opentimes'] = $crow['opentimes'];
$updata['daycnt'] = \web\amb\expo::convday($crow);
$updata['content'] = '[MD]';
$csql = new \ciy\sql('ep_exposition');
$execute = $db->data($updata)->set($csql, 'insert');
if ($execute !== false) {
$exponewid = $db->insert_id();
$updata = array();
$updata['status'] = 10;
$updata['expoid'] = $exponewid;
$csql = new \ciy\sql('c_fair_juzhan_expo');
$csql->where('id', $crow['id']);
$execute = $db->data($updata)->set($csql, 'update');
if ($execute === false)
$senddata('ERR ' . $cpavirow['conferenceid'] . ',' . $crow['name'] . $db->error);
else
$senddata('已新建展会: ' . $cpavirow['conferenceid'] . ',' . $crow['name']);
} else {
$senddata('ERR ' . $cpavirow['conferenceid'] . ',' . $crow['name'] . $db->error);
}
}
}
}
}
}
if (true) {
$csql = new \ciy\sql('ep_exposition');
$csql->where('daycnt>30');
$exporows = $db->get($csql);
$csql = new \ciy\sql('zc_ai_key');
$csql->where('id', 1);
$aikeyrow = $db->getone($csql);
if(!is_array($aikeyrow))
return errjson('AI Key不存在');
foreach ($exporows as $exporow) {
if ($param != 'expoday') {
$senddata('[expoday] 展会持续: ' . $exporow['daycnt'] . '天,' . $exporow['name']);
continue;
}
$csql = new \ciy\sql('c_fair_juzhan_expo');
$csql->where('expoid', $exporow['id']);
$crow = $db->getone($csql);
if (is_array($crow)) {
$n = \web\amb\expo::convday($crow);
if ($n != $exporow['daycnt'])
$senddata('展会天数调整到[' . $n . ']: ' . $exporow['daycnt'] . ',' . $exporow['name'] . $crow['lunchdate']);
} else {
$param = array();
$param['id'] = 6;
$param['name'] = $exporow['name'];
$retai = \web\amb\ai::json_aidecision($param);
if (@$retai['code'] != 1){
$senddata('AI识别失败: ' . $exporow['name'] . ',' . $retai['errmsg']);
continue;
}
if (!isset($retai['ai']['day'])) {
$senddata('AI识别错误: ' . $exporow['name'] . ',day不存在');
continue;
}
$updata = array();
$updata['daycnt'] = $retai['ai']['day'];
$csql = new \ciy\sql('ep_exposition');
$csql->where('id', $exporow['id']);
$execute = $db->data($updata)->set($csql, 'update');
if ($execute === false)
$senddata('ERR ' . $retai['ai']['day'] . '==' . $exporow['daycnt'] . ',' . $exporow['name'] . $db->error);
else
$senddata('展会天数调整到[' . $retai['ai']['day'] . ']: ' . $exporow['daycnt'] . ',' . $exporow['name']);
}
}
}
$sendevent('ok');
}
}