【类 型】:factor

【主	题】:后端 检测 其它站点是否已经有 重复的注册 或注销飞机
【描	述】:
	[原因]:
	[过程]:
	[影响]:
【结	束】

# 类型 包含:
# feat:新功能(feature)
# fix:修补bug
# docs:文档(documentation)
# style: 格式(不影响代码运行的变动)
# refactor:重构(即不是新增功能,也不是修改bug的代码变动)
# test:增加测试
# chore:构建过程或辅助工具的变动
This commit is contained in:
szdot 2024-07-12 04:40:06 +08:00
parent 2ffb8c395a
commit 92ac719fbf

View File

@ -168,11 +168,31 @@ class PlaneController extends PublicController
$rsDb = D('receive_site');
$where['id'] = $_REQUEST['id'];
$where['shop_id'] = $_REQUEST['shop_id'];
//后端检测
/*端检测后*/
//检查站点是否绑定了航线
$rsCheck = $rsDb->where($where)->find();
if ($rsCheck['bind_route'] == null || $rsCheck['bind_route'] == '') {
exit(json_encode(array('status' => 0, 'msg' => '此站点未绑定航线!')));
}
//遍历检查提交的runing 和其它列表是否有重复值 ps:防止 正在执行其它站点的任务 又在此站点注销 或者注册
$whereAll['shop_id'] = $_REQUEST['shop_id']; //排除此站点
$whereAll['id'] = array('neq', $_REQUEST['id']);
$submittedRuning = $_REQUEST['runing'] ?? ''; // 获取传入的 runing 字段,并按逗号分割成数组
$submittedRuningArray = explode(',', $submittedRuning);
$otherRecords = $rsDb->where($whereAll)->select(); // 查询数据库中符合条件的所有记录
foreach ($otherRecords as $record) {
$existingRuning = $record['runing'] ?? '';
$existingRuningArray = explode(',', $existingRuning);
// 检查两个数组是否有重复元素
$intersection = array_intersect($submittedRuningArray, $existingRuningArray);
if (!empty($intersection)) {
exit(json_encode(array('status' => 0, 'msg' => '提交的航线与其他站点重复!')));
}
}
/*提交 注册 或 注销信息*/
// 如果 $_REQUEST['runing'] 为空字符串 或者null将其设置为 null
$data['runing'] = trim($_REQUEST['runing']) === '' ? null : trim($_REQUEST['runing']);