| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?php
- /**
- *
- * @copyright ©2020 点小铺
- * @author hanj
- * @link: https://dyuit.com
- * Created by VSCode
- */
- 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);
- }
- }
|