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.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 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 BaseCategoryService baseCategoryService; @Autowired private BaseGoodsTemplateService baseGoodsTemplateService; /** * @Description 获取分类树 * @Author 卢庆阳 * @Date 2023/10/30 */ @GetMapping("/select/tree") public ResponseValue trees() { List 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 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 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 baseCategories = this.baseCategoryService.queryForLv3Tree(); return ResponseValue.success(baseCategories); } }