From abc7edc3c8ad59ff213c85413d0d6a10d7a0b6f7 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Wed, 17 Dec 2025 18:03:09 +0800
Subject: [PATCH] 1.	发布供需消耗连盟币,连盟币数量在后台独立设置 2.	小程序供需个人中心可自由切换身份 3.	增加私信系统 4.	增加评论系统,用户可在发布者详情页进行评论操作,评论获得的连盟币可在后台设置 5.	增加发布者的等级,以好评个数为条件进行升级,小程序端会显示该等级的图标,如没有等级则不会显示图标 6.	增加设置消耗连盟币可以解锁、查看发布的信息,费用可在后台设置 7.	小程序供需大厅界面优化,以及增加了推荐栏目,该栏目按发布的分类相似进行匹配,比如A用户发布了 互联网 分类的需求,则会优先推荐匹配互联网分类的供应需求给他。

---
 admin/app/shop/model/product/Product.php |   24 +++++++++++++++++++++++-
 1 files changed, 23 insertions(+), 1 deletions(-)

diff --git a/admin/app/shop/model/product/Product.php b/admin/app/shop/model/product/Product.php
index bc0bf8d..c75e0fa 100644
--- a/admin/app/shop/model/product/Product.php
+++ b/admin/app/shop/model/product/Product.php
@@ -3,6 +3,7 @@
 namespace app\shop\model\product;
 
 use app\common\model\product\Product as ProductModel;
+use app\shop\controller\product\ProductCategory;
 use app\shop\service\ProductService;
 use app\common\library\helper;
 /**
@@ -34,6 +35,9 @@
 		
         $data['grade_ids'] = implode(',', $data['grade_ids']);
         $data['app_id'] = $data['sku']['app_id'] = self::$app_id;
+        if ($data['category_ids']) {
+            $data['category_id'] = $data['category_ids'][0]; // 从商品多分类中获取第一个作为主分类 by lyzflash
+        }
         // 开启事务
         $this->startTrans();
         try {
@@ -47,6 +51,8 @@
             if($data['is_picture'] == 1){
                 $this->addProductContentImages($data['contentImage']);
             }
+            // 保存商品多分类
+            $data['category_ids'] && $this->saveProductCategorys($data['category_ids']);
             $this->commit();
             return true;
         } catch (\Exception $e) {
@@ -54,6 +60,16 @@
             $this->rollback();
             return false;
         }
+    }
+    /**
+     * 添加商品多分类 by lzyflash 2023.06.15
+     */
+    private function saveProductCategorys($data)
+    {
+        // 先删除所有分类
+        $model = new ProductCategory;
+        $model->removeAll($this['product_id']);
+        $model->addCategoryList($this['product_id'], $data);
     }
 
     /**
@@ -104,12 +120,16 @@
         $data['grade_ids'] = implode(',', $data['grade_ids']);
         $data['app_id'] = $data['sku']['app_id'] = self::$app_id;
         $productSkuIdList = helper::getArrayColumn(($this['sku']), 'product_sku_id');
+        // 获取分类 by lyzflash 2023.06.15
+        if ($data['category_ids']) {
+            $data['category_id'] = $data['category_ids'][0]; // 从商品多分类中获取第一个作为主分类 by lyzflash
+        }
         return $this->transaction(function () use ($data, $productSkuIdList) {
             // 审核商品
             if($data['submit_type'] == 'edit'){
                 unset($data['audit_status']);
             }
-			
+
             $this->save($data);
             // 商品规格
             $this->addProductSpec($data, true, $productSkuIdList);
@@ -121,6 +141,8 @@
             }
             // 店铺商品总销量
             $this->reSupplierTotalSales($this['shop_supplier_id']);
+            // 保存商品多分类
+            $data['category_ids'] && $this->saveProductCategorys($data['category_ids']);
             return true;
         });
     }

--
Gitblit v1.9.2