Commit 2c52ce36 by lujunyi

单个药品排他

parent 19c9faba
......@@ -161,6 +161,7 @@ public function drugLimit(Request $request)
// 处理麻黄素药品数据
$mahuangsu_buy_num = 0; // 本次购买麻黄素药品数量
$exclusions = []; // 单个药品的排他管理
foreach ($drugs as &$drug) {
$drugModel = DrugModel::find($drug['drug_id']);
if (! $drugModel) {
......@@ -168,6 +169,8 @@ public function drugLimit(Request $request)
return $this->failed($errMsg, ['add_status' => false]);
}
$exclusions[$drug['drug_id']] = $drug->excluded_drug_ids;
$drug['drug_name'] = 0; // 冗余药品名称
$drug['mahuangsu_status'] = 0; // 0:不是麻黄素药品
$drug['limit_num'] = $limit_num; // 赋值全局限购数量
if ($drugModel->limit_buy_7 > 0) {
......@@ -181,7 +184,7 @@ public function drugLimit(Request $request)
return $this->failed($errMsg, ['add_status' => false]);
}
$isBlack = false;
$isBlack = false; // 药品默认不再限制名单中
foreach ($limit_keywords as $keyword) {
if (Str::contains($drugModel->name, $keyword)) {
$isBlack = true;
......@@ -199,6 +202,16 @@ public function drugLimit(Request $request)
}
}
}
// 检查单个药品的排他
if ($exclusions) {
foreach ($drugs as $drugItem) {
if (in_array($drugItem['drug_id'], $exclusions[$drugItem['drug_id']])) {
$errMsg = '药品['.$drugItem['name'].']和您的其他药品不能同时购买~';
return $this->failed($errMsg, ['add_status' => false]);
}
}
}
return $this->success(['add_status' => true]);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment