package com.consum.base.controller;
|
|
import com.consum.base.BaseController;
|
import com.consum.base.pojo.BaseCategoryParam;
|
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.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;
|
|
/**
|
* @Description 物品分类
|
* @Author 卢庆阳
|
* @Date 2023/10/23
|
*/
|
@RestController
|
@RequestMapping("/pc/base/category")
|
public class BaseCategoryController extends BaseController {
|
|
@Autowired
|
private BaseCategoryServiceImpl baseCategoryService;
|
|
@Autowired
|
private BaseGoodsTemplateServiceImpl baseGoodsTemplateService;
|
|
/**
|
* @Description 新增分类
|
* @Author 卢庆阳
|
* @Date 2023/10/23
|
*/
|
@PostMapping("/add")
|
public ResponseValue add(@RequestBody BaseCategoryParam param) {
|
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) {
|
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(@RequestBody BaseCategory baseCategory) {
|
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("顺序号为空");
|
}
|
//判断同一父类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("登录用户信息不存在");
|
}
|
int num = this.baseCategoryService.updateBaseCategory(baseCategory);
|
return num > 0 ? ResponseValue.success(1) : ResponseValue.error("编辑失败!");
|
}
|
|
/**
|
* 修改状态
|
*
|
* @author 卢庆阳
|
* @date 2023/9/27
|
*/
|
//分类下有正常状态的物品时,不允许禁用
|
@PostMapping("/updStatus")
|
public ResponseValue updateStatus(@RequestBody BaseCategory baseCategory) {
|
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(@RequestBody BaseCategory baseCategory) {
|
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/9/26
|
*/
|
@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);
|
}
|
}
|