优化ctms-api语法、修复已知BUG;

主要修复ctms-api、dacms对PHP新版本的支持问题
This commit is contained in:
2025-07-13 19:37:42 +08:00
parent 65bbd06981
commit 037f274ec5
413 changed files with 107271 additions and 72326 deletions
+133
View File
@@ -0,0 +1,133 @@
<?php
//OK
//取order数据列表
$suffix = 'order';
$tableName = $tablePre . '_' . $table . '_' . $suffix;
$condition = "";
$params = array();
$columns = array('s_sn', 'f_sn', 'platid', 'uniacid', 'shopid', 'partnerid', 'mid', 'fid', 'sn', 'title', 'value', 'displayorder', 'status', 'deleted');
$condition .= "`siteid` = :siteid";
$params[':siteid'] = $siteId;
$condition .= " AND ";
$condition .= "`platid` = :platid";
$params[':platid'] = $platid;
$condition .= " AND ";
$condition .= "`uniacid` = :uniacid";
$params[':uniacid'] = $uniacid;
$condition .= " AND ";
$condition .= "`shopid` = :shopid";
$params[':shopid'] = $shopid;
//传入了s_sn时,也作为搜索条件
if ($s_sn > 0) {
$condition .= " AND ";
$condition .= "`s_sn` = :s_sn";
$params[':s_sn'] = $s_sn;
}
//增加搜索条件,取多f_sn查询
$issearching = FALSE;
$searching = array();
if ($issearching) {
if (isset($data['searching']['addons'])) {
foreach ($data['searching']['addons'] as $_k => $_v) {
$condition .= " AND ";
$condition .= "`key` = :key";
$params[':key'] = $_k;
$condition .= " AND ";
$condition .= "`value` LIKE :value";
$params[':value'] = '%' . $_v . '%';
$temp_tableName = $tablePre . '_' . $table . '_addon';
$result = fmFunc_pdo_yii_getall($connection, $temp_tableName, array('f_sn'), $condition, $params, $limits = array(), $orders = array());
if ($result) {
foreach ($result as $_kk => $_vv) {
$searching[] = $_vv['f_sn'];
}
}
}
}
}
$searching = array_unique($searching);
$issearching = (count($searching) == 0) ? FALSE : TRUE;
//传入了f_sn时,也作为搜索条件
if ($f_sn > 0) {
$condition .= " AND ";
$condition .= "`f_sn` = :f_sn";
$params[':f_sn'] = $f_sn;
} else if ($issearching) {
$f_sns = '';
foreach ($searching as $temp_f_sn) {
$f_sns .= $temp_f_sn . ",";
}
$f_sns .= $f_sns;
$condition .= " AND ";
$condition .= "`f_sn` IN (" . $f_sns . ")";
}
if ($issearching) {
$op = '';
}
switch ($op) {
case 'index': //取未删除、可用状态的数据
$condition .= " AND ";
$condition .= "`status` = :status";
$params[':status'] = 1;
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 0;
break;
case 'unused': //取未删除、不可用状态的数据
$condition .= " AND ";
$condition .= "`status` = :status";
$params[':status'] = 0;
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 0;
break;
case 'deleted': //取已删除数据
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 1;
break;
case 'all': //取未删除数据
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 0;
break;
default:
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 0;
if (isset($data['searching']['status'])) {
$condition .= " AND ";
$condition .= "`status` = :status";
$params[':status'] = $data['searching']['status'];
}
break;
}
//补充搜索条件
if (isset($data['searching']['keyword'])) {
$condition .= " AND ";
$condition .= "`title` LIKE :keyword";
$params[':keyword'] = '%' . $data['searching']['keyword'] . '%';
}
$limits = !empty($data['sqls']['limits']) ? $data['sqls']['limits'] : array();
$result = fmFunc_pdo_yii_getall($connection, $tableName, $columns, $condition, $params, $limits, $orders = array());
if (!$result) {
$errorCode = 45300306;
}
$total = FmFunc_pdo_yii_getall($connection, $tableName, $columns = array('sn'), $condition, $params, $limits = array(), $orders = array());
$count = count($total);