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.BaseCategoryService;
|
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 io.swagger.annotations.Api;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.TreeMap;
|
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;
|
|
/**
|
* @Description 物品分类
|
* @Author 卢庆阳
|
* @Date 2023/10/23
|
*/
|
@Api(value = "物品分类", tags = "物品分类")
|
@RestController
|
@RequestMapping("/pc/base/category")
|
public class BaseCategoryController extends BaseController {
|
|
@Autowired
|
private BaseCategoryService baseCategoryService;
|
|
@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() {
|
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());
|
if (category != null) {
|
return ResponseValue.error("分类名称已存在");
|
}
|
|
int result = this.baseCategoryService.add(param, this.getCurrentUser());
|
if (result > 0) {
|
return ResponseValue.success(1);
|
}
|
return ResponseValue.error("新增失败!");
|
}
|
|
/**
|
* @Description 物品分类列表查询
|
* @Author 卢庆阳
|
* @Date 2023/10/23
|
*/
|
@GetMapping("/list")
|
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 编辑
|
* @Author 卢庆阳
|
* @Date 2023/10/23
|
*/
|
@PostMapping("/edit")
|
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("编辑的物品分类不存在");
|
}
|
if (StringUtils.isEmpty(baseCategory.getCategoryName())) {
|
return ResponseValue.error("分类名称为空");
|
}
|
if (baseCategory.getOrderNumber() == 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("编辑失败!");
|
}
|
|
/**
|
* 修改状态
|
*
|
* @author 卢庆阳
|
* @date 2023/10/23
|
*/
|
//分类下有正常状态的物品时,不允许禁用
|
@PostMapping("/updStatus")
|
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和状态查询物品模版
|
List<BaseCategory> list = this.baseGoodsTemplateService.getByCategoryId(baseCategory.getId());
|
if (baseCategory.getStates() == 2 && !CollectionUtils.isEmpty(list)) {
|
return ResponseValue.error("分类下有正常状态的物品,不允许禁用");
|
}
|
|
int num = this.baseCategoryService.updateStatus(baseCategory);
|
return num > 0 ? ResponseValue.success(1) : ResponseValue.error("修改失败!");
|
}
|
|
/**
|
* @Description 根据id删除物品分类
|
* @Author 卢庆阳
|
* @Date 2023/10/23
|
*/
|
@DeleteMapping("/del")
|
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());
|
|
return num > 0 ? ResponseValue.success(1) : ResponseValue.error("删除失败!");
|
}
|
|
/**
|
* 根据物品id查询节点详情
|
*
|
* @author 卢庆阳
|
* @Date 2023/10/23
|
*/
|
@GetMapping("/detail")
|
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);
|
}
|
|
/**
|
* @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);
|
}
|
|
}
|