From cdc4608b3aa39fbba303ceb083f8314fd3ad965d Mon Sep 17 00:00:00 2001 From: jsasg <735273025@qq.com> Date: Tue, 1 Jul 2025 17:15:40 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=90=8C=E6=AD=A5=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=8E=A5=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/controller/ReceiveSync.php | 71 +++++++++++++++++++ .../model/v1/ProductTcoCategoryModel.php | 6 ++ 2 files changed, 77 insertions(+) create mode 100644 app/admin/controller/ReceiveSync.php diff --git a/app/admin/controller/ReceiveSync.php b/app/admin/controller/ReceiveSync.php new file mode 100644 index 00000000..368e6694 --- /dev/null +++ b/app/admin/controller/ReceiveSync.php @@ -0,0 +1,71 @@ +post(); + if (empty($data)) return error('请确认同步数据'); + + $lang_id = LanguageModel::where('code', $data['lang'])->value('id'); + $record = [ + 'language_id' => $lang_id, + 'name' => $data['name'], + 'tco_id' => $data['tco_id'], + 'tco_pid' => $data['tco_pid'], + 'tco_path' => $data['tco_path'], + 'erp_id' => $data['erp_id'], + 'erp_pid' => $data['erp_pid'], + 'erp_code' => $data['erp_code'], + 'erp_path' => $data['erp_path'], + 'disabled' => 0, + 'sync_time' => strtotime($data['created_at']) + ]; + + if (Operate_Of_ReceiveSync::Disable == $data['operate']) { + $record['disabled'] = 1; + } + + $validate = validate([ + 'name|分类名称' => 'require', + 'erp_code|分类ERP编码' => 'require', + ]); + if (!$validate->check($record)) { + throw new \Exception((string)$validate->getError()); + } + + $category = ProductTcoCategoryModel::language($lang_id)->erpCode($record['erp_code'])->find(); + Db::startTrans(); + try { + if (empty($category)) { + ProductTcoCategoryModel::create($record); + ProductCategoryModel::where + } else { + $category->save($record); + } + } catch (\Throwable $th) { + Db::rollback(); + throw $th; + } + + } +} diff --git a/app/admin/model/v1/ProductTcoCategoryModel.php b/app/admin/model/v1/ProductTcoCategoryModel.php index 596fcb37..d68be9b2 100644 --- a/app/admin/model/v1/ProductTcoCategoryModel.php +++ b/app/admin/model/v1/ProductTcoCategoryModel.php @@ -23,6 +23,12 @@ class ProductTcoCategoryModel extends ProductTcoCategoryBaseModel $query->where('language_id', '=', $value); } + // 根据ERP Code查询 + public function scopeErpCode($query, $value) + { + $query->where('erp_code', '=', $value); + } + // 按分类名称搜索 public function searchNameAttr($query, $value, $data) {