xuhy
2024-09-10 da392a50b1ea129d1626c1936f0b5ed5ed457b30
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsController.java
@@ -1,12 +1,16 @@
package com.ruoyi.web.controller.api;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.domain.TGoods;
import com.ruoyi.system.domain.TGoodsType;
import com.ruoyi.system.query.TGoodsQuery;
import com.ruoyi.system.service.TGoodsService;
import com.ruoyi.system.service.TGoodsTypeService;
import com.ruoyi.system.vo.TGoodsVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -14,6 +18,7 @@
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Objects;
/**
 * <p>
@@ -29,11 +34,13 @@
public class TGoodsController {
    private final TGoodsService goodsService;
    private final TGoodsTypeService goodsTypeService;
    private final TokenService tokenService;
    @Autowired
    public TGoodsController(TGoodsService goodsService, TokenService tokenService) {
    public TGoodsController(TGoodsService goodsService, TGoodsTypeService goodsTypeService, TokenService tokenService) {
        this.goodsService = goodsService;
        this.goodsTypeService = goodsTypeService;
        this.tokenService = tokenService;
    }
@@ -74,8 +81,15 @@
     */
    @ApiOperation( value = "查看商品管理详情")
    @GetMapping(value = "/getDetailById")
    public AjaxResult<TGoods> getDetailById(@RequestParam("id") Long id) {
        return AjaxResult.success(goodsService.getById(id));
    public AjaxResult<TGoodsVO> getDetailById(@RequestParam("id") Long id) {
        TGoods goods = goodsService.getById(id);
        TGoodsVO tGoodsVO = new TGoodsVO();
        BeanUtils.copyProperties(goods, tGoodsVO);
        TGoodsType goodsType = goodsTypeService.getById(goods.getTypeId());
        if(Objects.nonNull(goodsType)){
            tGoodsVO.setTypeName(goodsType.getTypeName());
        }
        return AjaxResult.success(tGoodsVO);
    }
    /**
@@ -84,6 +98,13 @@
    @ApiOperation( value = "删除商品管理")
    @DeleteMapping(value = "/deleteById")
    public AjaxResult<Boolean> deleteById(@RequestParam("id") Long id) {
        TGoods goods = goodsService.getById(id);
        long count = goodsService.count(Wrappers.lambdaQuery(TGoods.class)
                .eq(TGoods::getTypeId, goods.getTypeId())
                .ne(TGoods::getId,id));
        if(count == 0){
            return AjaxResult.error("当前菜品所属分类下至少保留一种菜品");
        }
        return AjaxResult.success(goodsService.removeById(id));
    }