quanwei
2026-01-17 e1e2fe5710a5b5cd9c19bd3aa99c998a1a613ca8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<?php
 
namespace app\shop\controller\plus\groupbuy;
 
use app\shop\controller\Controller;
use app\shop\model\plus\groupbuy\Product as ProductModel;
use app\common\model\product\Product as CommonProductModel;
 
/**
 * 商家端团购商品控制器
 */
class Product extends Controller
{
    /**
     * 团购商品列表
     */
    public function index()
    {
        $model = new ProductModel();
        $list = $model->getList($this->postData());
        return $this->renderSuccess('', compact('list'));
    }
 
    /**
     * 添加团购商品
     */
    public function add()
    {
        if ($this->request->isGet()) {
            // 获取店铺的商品列表用于选择
            $commonProductModel = new CommonProductModel();
            $postData = $this->postData();
            $postData['shop_supplier_id'] = $this->getSupplierId();
            $productList = $commonProductModel->getList($postData);
            return $this->renderSuccess('', compact('productList'));
        }
        
        $model = new ProductModel();
        $data = $this->postData();
        // 设置店铺ID为自营供应商ID
        $data['shop_supplier_id'] = $this->getSupplierId();
        if ($model->add($data)) {
            return $this->renderSuccess('添加成功');
        }
        return $this->renderError($model->getError() ?: '添加失败');
    }
 
    /**
     * 编辑团购商品
     */
    public function edit()
    {
        $groupbuy_product_id = $this->request->param('groupbuy_product_id');
        if (empty($groupbuy_product_id)) {
            return $this->renderError('缺少必要参数:groupbuy_product_id');
        }
        
        $model = ProductModel::detail($groupbuy_product_id, [
            'product', 'groupbuySku'
        ]);
        if (!$model) {
            return $this->renderError('团购商品不存在');
        }
        
        // 验证权限 - 商家端可以编辑所有商品,不需要权限验证
        /*
        if ($model['shop_supplier_id'] != $this->getStoreId()) {
            return $this->renderError('没有权限操作此商品');
        }
        */
        
        if ($this->request->isGet()) {
            return $this->renderSuccess('', compact('model'));
        }
        
        $data = $this->postData();
        if ($model->edit($data)) {
            return $this->renderSuccess('更新成功');
        }
        return $this->renderError($model->getError() ?: '更新失败');
    }
 
    /**
     * 删除团购商品
     */
    public function delete()
    {
        $groupbuy_product_id = $this->request->param('groupbuy_product_id');
        if (empty($groupbuy_product_id)) {
            return $this->renderError('缺少必要参数:groupbuy_product_id');
        }
        
        $model = ProductModel::detail($groupbuy_product_id);
        if (!$model) {
            return $this->renderError('团购商品不存在');
        }
        
        // 验证权限 - 商家端可以删除所有商品,不需要权限验证
        /*
        if ($model['shop_supplier_id'] != $this->getStoreId()) {
            return $this->renderError('没有权限操作此商品');
        }
        */
        
        if ($model->remove()) {
            return $this->renderSuccess('删除成功');
        }
        return $this->renderError('删除失败');
    }
 
    /**
     * 获取团购商品详情
     */
    public function detail()
    {
        $groupbuy_product_id = $this->request->param('groupbuy_product_id');
        if (empty($groupbuy_product_id)) {
            return $this->renderError('缺少必要参数:groupbuy_product_id');
        }
        
        $model = ProductModel::detail($groupbuy_product_id, [
            'product', 'groupbuySku'
        ]);
        if (!$model) {
            return $this->renderError('团购商品不存在');
        }
        
        // 验证权限 - 商家端可以查看所有商品,不需要权限验证
        /*
        if ($model['shop_supplier_id'] != $this->getStoreId()) {
            return $this->renderError('没有权限查看此商品');
        }
        */
        
        return $this->renderSuccess('', compact('model'));
    }
}