cy
2023-11-27 20c30d26f8bab22a4cb6b6459962fa92d6da490f
consum-base/src/main/java/com/consum/base/controller/BaseCategoryController.java
@@ -1,12 +1,15 @@
package com.consum.base.controller;
import com.consum.base.BaseController;
import com.consum.base.core.utils.CommonUtil;
import com.consum.base.pojo.BaseCategoryParam;
import com.consum.base.pojo.ProjectTreeResult;
import com.consum.base.service.BaseCategoryServiceImpl;
import com.consum.base.service.BaseGoodsTemplateServiceImpl;
import com.consum.model.po.BaseCategory;
import com.iplatform.model.po.S_user_core;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.tree.TreeNode;
import com.walker.infrastructure.utils.StringUtils;
import com.walker.web.ResponseValue;
import org.springframework.beans.factory.annotation.Autowired;
@@ -14,6 +17,8 @@
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
/**
 * @Description 物品分类
@@ -30,13 +35,34 @@
    @Autowired
    private BaseGoodsTemplateServiceImpl baseGoodsTemplateService;
    private boolean multiRoot = true;
    private TreeNode dummyRoot = null;
    private Map<Long, TreeNode> rootMap = new TreeMap();
    private Map<Long, TreeNode> childMap = new TreeMap();
    private long defaultParentId = 0L;
    /**
     * @Description 获取分类树
     * @Author 卢庆阳
     * @Date 2023/10/30
     */
    @GetMapping("/select/tree")
    public ResponseValue trees() {
        List<ProjectTreeResult> tree = this.baseCategoryService.tree();
        return ResponseValue.success(tree);
    }
    /**
     * @Description 新增分类
     * @Author 卢庆阳
     * @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("分类名称为空");
        }
@@ -44,39 +70,51 @@
            return ResponseValue.error("顺序号为空");
        }
        //判断同一父类id下分类名称是否重复
        BaseCategory category = this.baseCategoryService.getByCategoryNameAndFatherCategoryId(param.getCategoryName(),param.getFatherCategoryId());
        BaseCategory category = this.baseCategoryService.getByCategoryNameAndFatherCategoryId(param.getCategoryName(), param.getFatherCategoryId());
        if (category != null) {
            return ResponseValue.error("分类名称已存在");
        }
//        int result = this.baseCategoryService.add(param,this.getCurrentUser());
        int result = this.baseCategoryService.add(param);
        if(result>0) return ResponseValue.success(1);
        int result = this.baseCategoryService.add(param, this.getCurrentUser());
        if (result > 0) {
            return ResponseValue.success(1);
        }
        return ResponseValue.error("新增失败!");
    }
    /**
     * @Description  物品分类列表查询
     * @Description 物品分类列表查询
     * @Author 卢庆阳
     * @Date 2023/10/23
     */
    @GetMapping("/list")
    public ResponseValue queryBaseCategoryList(BaseCategoryParam param) {
//        S_user_core currentUser = this.getCurrentUser();
//        if (currentUser == null) {
//            return ResponseValue.error("登录用户信息不存在");
//        }
    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("登录用户信息不存在");
        }
        GenericPager<BaseCategory> pager = this.baseCategoryService.queryBaseCategoryList(param);
        return ResponseValue.success(pager);
    }
    /**
     * @Description  编辑
     * @Description 编辑
     * @Author 卢庆阳
     * @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("编辑的物品分类不存在");
@@ -87,28 +125,30 @@
        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("登录用户信息不存在");
        }
        //        S_user_core currentUser = this.getCurrentUser();
//        if (currentUser == null) {
//            return ResponseValue.error("登录用户信息不存在");
//        }
        int num = this.baseCategoryService.updateBaseCategory(baseCategory);
        return num>0 ? ResponseValue.success(1):ResponseValue.error("编辑失败!");
        return num > 0 ? ResponseValue.success(1) : ResponseValue.error("编辑失败!");
    }
    /**
     * 修改状态
     *
     * @author 卢庆阳
     * @date 2023/9/27
     * @date 2023/10/23
     */
    //分类下有正常状态的物品时,不允许禁用
    @PostMapping("/updStatus")
    public ResponseValue updateStatus(@RequestBody BaseCategory baseCategory){
        if (baseCategory==null || baseCategory.getId() ==null || baseCategory.getStates() == null) {
    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和状态查询物品模版
@@ -118,38 +158,62 @@
        }
        int num = this.baseCategoryService.updateStatus(baseCategory);
        return num>0 ? ResponseValue.success(1):ResponseValue.error("修改失败!");
        return num > 0 ? ResponseValue.success(1) : ResponseValue.error("修改失败!");
    }
    /**
     * @Description 根据节点id删除节点(逻辑删除)
     * @Description 根据id删除物品分类
     * @Author 卢庆阳
     * @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为空");
        }
        //S_user_core currentUser = this.getCurrentUser();
        int num = this.baseCategoryService.updateById(baseCategory);
        int num = this.baseCategoryService.updateById(baseCategory, this.getCurrentUser());
        return num>0 ? ResponseValue.success(1):ResponseValue.error("删除失败!");
        return num > 0 ? ResponseValue.success(1) : ResponseValue.error("删除失败!");
    }
    /**
     * 根据节点id查询节点详情
     * 根据物品id查询节点详情
     *
     * @author 卢庆阳
     * @date 2023/9/26
     * @Date 2023/10/23
     */
    @GetMapping("/detail")
    public ResponseValue getById(Long id){
    public ResponseValue getById(Long id) {
        if (id == null) {
            return ResponseValue.error("分类id为空");
        }
        BaseCategory baseCategory = this.baseCategoryService.getById(id);
        if (baseCategory == null) return ResponseValue.error("查询失败!");
        return ResponseValue.success("查询成功!",baseCategory);
        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);
    }
}