fm453 314745edf8 优化ctms-api语法、修复已知BUG;
主要修复ctms-api、dacms对PHP新版本的支持问题
2025-04-10 23:19:15 +08:00

134 lines
3.7 KiB
PHP
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

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
//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);