| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- <?php
- namespace hd\controllers;
- use bizHd\goods\classes\CategoryClass;
- use bizHd\goods\classes\GoodsCategoryClass;
- use bizHd\goods\services\CategoryService;
- use bizHd\goods\services\GoodsCategoryService;
- use Yii;
- use common\components\util;
- class CategoryController extends BaseController
- {
- public function actionGetAllCategory()
- {
- $where = ['mainId' => $this->mainId, 'delStatus' => 0];
- $list = CategoryClass::getAllByCondition($where, 'inTurn desc', '*');
- util::success(['list' => $list]);
- }
- //分类列表
- public function actionList()
- {
- $get = Yii::$app->request->get();
- //$flower = $get['flower'] ?? '';
- $list = CategoryService::getCategoryList($this->mainId);
- util::success($list);
- }
- //查看详情 ssh 2019.12.8
- public function actionDetail()
- {
- $id = Yii::$app->request->get('categoryId', 0);
- $category = CategoryService::getById($id);
- CategoryService::valid($category, $this->mainId);
- $info = CategoryService::getInfo($id);
- util::success($info);
- }
- //添加分类 ssh 2019.12.8
- public function actionAdd()
- {
- $post = Yii::$app->request->post();
- $post['sjId'] = $this->sjId;
- $post['mainId'] = $this->mainId;
- $cat = CategoryService::addCategory($post);
- util::success(['id' => $cat['id']]);
- }
- //更新分类 ssh 20220404
- public function actionUpdate()
- {
- $post = Yii::$app->request->post();
- $categoryId = isset($post['categoryId']) ? $post['categoryId'] : 0;
- $category = CategoryService::getById($categoryId);
- CategoryService::valid($category, $this->mainId);
- CategoryService::updateCategory($category, $post);
- util::complete('修改成功');
- }
- //分类启用停用 ssh 2019.12.8
- public function actionChangeStatus()
- {
- $get = Yii::$app->request->get();
- $categoryId = isset($get['categoryId']) ? $get['categoryId'] : 0;
- $status = isset($get['status']) ? $get['status'] : 0;
- $category = CategoryService::getById($categoryId);
- CategoryService::valid($category, $this->mainId);
- CategoryService::changeStatus($categoryId, $status);
- util::complete();
- }
- //删除分类 ssh 2019.12.28
- public function actionDelete()
- {
- $get = Yii::$app->request->get();
- $categoryId = isset($get['categoryId']) ? $get['categoryId'] : 0;
- $category = CategoryClass::getById($categoryId);
- CategoryService::valid($category, $this->mainId);
- if ($category['goodsNum'] > 0) {
- $goodsCateObjs = GoodsCategoryClass::getAllByCondition(['mainId'=>$this->mainId, 'cId'=>$categoryId]);
- //检查是否有默认分类,没有默认分类创建一个
- $defaultCategory = CategoryClass::getByCondition(['mainId'=>$this->mainId, 'default'=>1]);
- if ($defaultCategory == null){
- $data = [
- 'mainId' => $this->mainId,
- 'sjId' => $this->sjId,
- 'categoryName' => '默认分类',
- 'default' => 1
- ];
- $defaultCategory = CategoryClass::addCategory($data);
- }
- $defaultCategoryId = $defaultCategory['id'];
- foreach ($goodsCateObjs as $gcObj) {
- // 先判断商品是否也在其它分类下
- $goodsOtherCateCount = GoodsCategoryClass::getCount(['mainId'=>$this->mainId, 'gId'=>$gcObj['gId'], 'delStatus'=>0]);
- if ($goodsOtherCateCount == 1) {
- // 如果商品仅在此分类下,则归到默认分类
- GoodsCategoryClass::updateById($gcObj['id'], ['cId' => $defaultCategoryId, 'delStatus' => 0]);
- } else {
- // 如果商品还在其它分类下,则直接删除此商品的当前分类
- GoodsCategoryClass::delGoodsCategory($this->mainId, $categoryId, $gcObj['gId']);
- }
- }
- }
- $count = CategoryClass::deleteCategory($categoryId);
- if (!$count) {
- util::fail('删除失败');
- }
- util::complete('删除成功');
- }
- //取分类下商品 ssh 20220406
- public function actionGoodsList()
- {
- $get = Yii::$app->request->get();
- $catId = $get['catId'] ?? 0;
- $where = [];
- $where['mainId'] = $this->mainId;
- if (!empty($catId)) {
- $where['cId'] = $catId;
- }
- $flower = $get['flower'] ?? '';
- if (is_numeric($flower)) {
- $where['flower'] = $flower;
- }
- $flowerNum = $get['flowerNum'] ?? 0;
- if (!empty($flowerNum)) {
- $where['flowerNum'] = $flowerNum;
- }
- $searchText = $get['searchText'] ?? '';
- if (!empty($searchText)) {
- $where['name'] = ['like', $searchText];
- }
- $data = GoodsCategoryService::getGoodsList($where);
- util::success($data);
- }
- //分类排序
- public function actionSort()
- {
- $post = Yii::$app->request->post();
- $items = $post['items'];
- //验证商品
- // 提取所有商品ID
- $categoryIds = array_map(function($item) {
- return intval($item['id']);
- }, $items);
- // 批量获取商品信息
- $goodsInfos = CategoryClass::getByIds($categoryIds);
- // 批量验证商品
- foreach($goodsInfos as $info) {
- CategoryService::valid($info, $this->mainId);
- }
- // 更新商品排序
- foreach($items as $item) {
- $id = intval($item['id']);
- $inTurn = intval($item['inTurn']);
- CategoryClass::updateById($id, ['inTurn' => $inTurn]);
- }
- util::complete('排序成功');
- }
- //获取分类 ssh 2019.12.2
- public function actionMallList()
- {
- $return = CategoryService::getEnableList($this->sjId);
- util::success($return);
- }
- }
|