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 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/10/23 */ //分类下有正常状态的物品时,不允许禁用 @PostMapping("/updStatus") public ResponseValue updateStatus(@RequestBody BaseCategory baseCategory) { if (baseCategory == null || baseCategory.getId() == null || baseCategory.getStates() == null) { return ResponseValue.error("参数错误"); } //根据分类id和状态查询物品模版 List 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/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); } }