quanwei
2 days ago 04102f7237efefa744090ed7c25f7b5d0807b679
admin/app/supplier/model/product/Category.php
@@ -4,7 +4,7 @@
use think\facade\Cache;
use app\common\model\product\Category as CategoryModel;
use app\supplier\model\supplier\Supplier as SupplierModel;
/**
 * 商品分类模型
 */
@@ -17,8 +17,13 @@
    {
        $model = new static;
        if (!Cache::get('category_supplier_' . $shop_supplier_id)) {
            $supplier=(new SupplierModel)->detail($shop_supplier_id);
            $where=[$shop_supplier_id];
            if($supplier['is_newcomer']||$supplier['is_repurchase']||$supplier['is_vip']){
                $where=[0,$shop_supplier_id];
            }
            $data = $model->with(['images'])
                ->where('shop_supplier_id','in',[0,$shop_supplier_id])
                ->where('shop_supplier_id','in',$where)
                ->order(['sort' => 'asc', 'create_time' => 'asc'])->select();
            $all = !empty($data) ? $data->toArray() : [];
            $tree = [];
@@ -95,6 +100,10 @@
     */
    public function edit($data)
    {
        if ($this['shop_supplier_id']==0){
            $this->error = '该分类为平台分类,不可以修改';
            return false;
        }
        // 验证:一级分类如果存在子类,则不允许移动
        if ($data['parent_id'] > 0 && static::hasSubCategory($this['category_id'])) {
            $this->error = '该分类下存在子分类,不可以移动';
@@ -110,6 +119,10 @@
     */
    public function remove($categoryId)
    {
        if ($this['shop_supplier_id']==0){
            $this->error = '该分类为平台分类,不允许删除';
            return false;
        }
        // 判断是否存在商品
        if ($productCount = (new Product)->getProductTotal(['category_id' => $categoryId])) {
            $this->error = '该分类下存在' . $productCount . '个商品,不允许删除';
@@ -130,6 +143,7 @@
    private function deleteCache($shop_supplier_id)
    {
        Cache::delete('category_supplier_'.$shop_supplier_id);
        Cache::delete('category_all_' . static::$app_id);
        return Cache::delete('category_' . static::$app_id);
    }