| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- namespace app\store\model;
- use think\Cache;
- use app\common\model\Category as CategoryModel;
- /**
- * 商品分类模型
- * Class Category
- * @package app\store\model
- */
- class Category extends CategoryModel
- {
- /**
- * 添加新记录
- * @param $data
- * @return false|int
- */
- public function add($data)
- {
- $data['wxapp_id'] = self::$wxapp_id;
- // if (!empty($data['image'])) {
- // $data['image_id'] = UploadFile::getFildIdByName($data['image']);
- // }
- $this->deleteCache();
- return $this->allowField(true)->save($data);
- }
- /**
- * 编辑记录
- * @param $data
- * @return bool|int
- */
- public function edit($data)
- {
- // 验证:一级分类如果存在子类,则不允许移动
- if ($data['parent_id'] > 0 && static::hasSubCategory($this['category_id'])) {
- $this->error = '该分类下存在子分类,不可以移动';
- return false;
- }
- $this->deleteCache();
- !array_key_exists('image_id', $data) && $data['image_id'] = 0;
- return $this->allowField(true)->save($data) !== false;
- }
- /**
- * 删除商品分类
- * @param $categoryId
- * @return bool|int
- */
- public function remove($categoryId)
- {
- // 判断是否存在商品
- if ($goodsCount = (new Goods)->getGoodsTotal(['category_id' => $categoryId])) {
- $this->error = '该分类下存在' . $goodsCount . '个商品,不允许删除';
- return false;
- }
- // 判断是否存在子分类
- if (static::hasSubCategory($categoryId)) {
- $this->error = '该分类下存在子分类,请先删除';
- return false;
- }
- $this->deleteCache();
- return $this->delete();
- }
- /**
- * 删除缓存
- * @return bool
- */
- private function deleteCache()
- {
- return Cache::rm('category_' . static::$wxapp_id);
- }
- }
|