futian.liu
2023-12-15 0fdac321828bffa833f7d0155a5c147d23bd78d8
consum-base/src/main/java/com/consum/base/controller/BaseCategoryController.java
@@ -1,34 +1,55 @@
package com.consum.base.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.consum.base.BaseController;
import com.consum.base.core.utils.CommonUtil;
import com.consum.base.pojo.BaseCategoryParam;
import com.consum.base.service.BaseCategoryServiceImpl;
import com.consum.base.service.BaseGoodsTemplateServiceImpl;
import com.consum.base.pojo.ProjectTreeResult;
import com.consum.base.service.BaseCategoryService;
import com.consum.base.service.BaseGoodsTemplateService;
import com.consum.model.po.BaseCategory;
import com.iplatform.model.po.S_user_core;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.StringUtils;
import com.walker.web.ResponseValue;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import io.swagger.annotations.Api;
/**
 * @Description 物品分类
 * @Author 卢庆阳
 * @Date 2023/10/23
 */
@Api(value = "物品分类", tags = "物品分类")
@RestController
@RequestMapping("/pc/base/category")
public class BaseCategoryController extends BaseController {
    @Autowired
    private BaseCategoryServiceImpl baseCategoryService;
    private BaseCategoryService baseCategoryService;
    @Autowired
    private BaseGoodsTemplateServiceImpl baseGoodsTemplateService;
    private BaseGoodsTemplateService baseGoodsTemplateService;
    /**
     * @Description 获取分类树
     * @Author 卢庆阳
     * @Date 2023/10/30
     */
    @GetMapping("/select/tree")
    public ResponseValue trees() {
        List<ProjectTreeResult> tree = this.baseCategoryService.tree();
        return ResponseValue.success(tree);
    }
    /**
     * @Description 新增分类
@@ -36,21 +57,28 @@
     * @Date 2023/10/23
     */
    @PostMapping("/add")
    public ResponseValue add(@RequestBody BaseCategoryParam param) {
    public ResponseValue add() {
        BaseCategoryParam param = CommonUtil.getObjFromReqBody(BaseCategoryParam.class);
        BaseCategoryParam param2 = new BaseCategoryParam();
        CommonUtil.copyProperties(param, param2);
        param = param2;
        if (StringUtils.isEmpty(param.getCategoryName())) {
            return ResponseValue.error("分类名称为空");
        }
        if (param.getOrderNumber() == null) {
            return ResponseValue.error("顺序号为空");
        }
        //判断同一父类id下分类名称是否重复
        BaseCategory category = this.baseCategoryService.getByCategoryNameAndFatherCategoryId(param.getCategoryName(), param.getFatherCategoryId());
        // 判断同一父类id下分类名称是否重复
        BaseCategory category = this.baseCategoryService.getByCategoryNameAndFatherCategoryId(param.getCategoryName(),
            param.getFatherCategoryId());
        if (category != null) {
            return ResponseValue.error("分类名称已存在");
        }
        int result = this.baseCategoryService.add(param, this.getCurrentUser());
        if (result > 0) return ResponseValue.success(1);
        if (result > 0) {
            return ResponseValue.success(1);
        }
        return ResponseValue.error("新增失败!");
    }
@@ -60,7 +88,12 @@
     * @Date 2023/10/23
     */
    @GetMapping("/list")
    public ResponseValue queryBaseCategoryList(BaseCategoryParam param) {
    public ResponseValue queryBaseCategoryList() {
        BaseCategoryParam param = CommonUtil.getObjFromReq(BaseCategoryParam.class);
        BaseCategoryParam param2 = new BaseCategoryParam();
        CommonUtil.copyProperties(param, param2);
        param = param2;
        S_user_core currentUser = this.getCurrentUser();
        if (currentUser == null) {
            return ResponseValue.error("登录用户信息不存在");
@@ -75,7 +108,12 @@
     * @Date 2023/10/23
     */
    @PostMapping("/edit")
    public ResponseValue edit(@RequestBody BaseCategory baseCategory) {
    public ResponseValue edit() {
        BaseCategory baseCategory = CommonUtil.getObjFromReqBody(BaseCategory.class);
        BaseCategory param2 = new BaseCategory();
        CommonUtil.copyProperties(baseCategory, param2);
        baseCategory = param2;
        Long id = baseCategory.getId();
        if (id == null || id.longValue() <= 0) {
            return ResponseValue.error("编辑的物品分类不存在");
@@ -86,11 +124,7 @@
        if (baseCategory.getOrderNumber() == null) {
            return ResponseValue.error("顺序号为空");
        }
        //判断同一父类id下分类名称是否重复
        BaseCategory category = this.baseCategoryService.getByCategoryNameAndFatherCategoryId(baseCategory.getCategoryName(), baseCategory.getFatherCategoryId());
        if (category != null) {
            return ResponseValue.error("分类名称已存在");
        }
        S_user_core currentUser = this.getCurrentUser();
        if (currentUser == null) {
            return ResponseValue.error("登录用户信息不存在");
@@ -101,16 +135,22 @@
    /**
     * 修改状态
     *
     * @author 卢庆阳
     * @date 2023/10/23
     */
    //分类下有正常状态的物品时,不允许禁用
    // 分类下有正常状态的物品时,不允许禁用
    @PostMapping("/updStatus")
    public ResponseValue updateStatus(@RequestBody BaseCategory baseCategory) {
    public ResponseValue updateStatus() {
        BaseCategory baseCategory = CommonUtil.getObjFromReqBody(BaseCategory.class);
        BaseCategory param2 = new BaseCategory();
        CommonUtil.copyProperties(baseCategory, param2);
        baseCategory = param2;
        if (baseCategory == null || baseCategory.getId() == null || baseCategory.getStates() == null) {
            return ResponseValue.error("参数错误");
        }
        //根据分类id和状态查询物品模版
        // 根据分类id和状态查询物品模版
        List<BaseCategory> list = this.baseGoodsTemplateService.getByCategoryId(baseCategory.getId());
        if (baseCategory.getStates() == 2 && !CollectionUtils.isEmpty(list)) {
            return ResponseValue.error("分类下有正常状态的物品,不允许禁用");
@@ -126,17 +166,23 @@
     * @Date 2023/10/23
     */
    @DeleteMapping("/del")
    public ResponseValue updateById(@RequestBody BaseCategory baseCategory) {
    public ResponseValue updateById() {
        BaseCategory baseCategory = CommonUtil.getObjFromReqBody(BaseCategory.class);
        BaseCategory param2 = new BaseCategory();
        CommonUtil.copyProperties(baseCategory, param2);
        baseCategory = param2;
        if (baseCategory.getId() == null) {
            return ResponseValue.error("分类id为空");
        }
        int num = this.baseCategoryService.updateById(baseCategory,this.getCurrentUser());
        int num = this.baseCategoryService.updateById(baseCategory, this.getCurrentUser());
        return num > 0 ? ResponseValue.success(1) : ResponseValue.error("删除失败!");
    }
    /**
     * 根据物品id查询节点详情
     *
     * @author 卢庆阳
     * @Date 2023/10/23
     */
@@ -146,8 +192,26 @@
            return ResponseValue.error("分类id为空");
        }
        BaseCategory baseCategory = this.baseCategoryService.getById(id);
        if (baseCategory == null) return ResponseValue.error("查询失败!");
        if (baseCategory == null) {
            return ResponseValue.error("查询失败!");
        }
        return ResponseValue.success("查询成功!", baseCategory);
    }
}
    /**
     * @Description 三级分类列表查询
     * @Author 卢庆阳
     * @Date 2023/10/24
     */
    @GetMapping("/select/lv3_tree")
    public ResponseValue tree() {
        S_user_core currentUser = this.getCurrentUser();
        if (currentUser == null) {
            return ResponseValue.error("登录用户信息不存在");
        }
        List<BaseCategory> baseCategories = this.baseCategoryService.queryForLv3Tree();
        return ResponseValue.success(baseCategories);
    }
}