mitao
2025-03-10 9dbb6c26c81e94e8f969805b40b0e183bf306f83
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtGoodsSkuController.java
@@ -2,36 +2,34 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.ruoyi.common.core.constant.SecurityConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.goods.controller.management.DTO.GoodsInfoTitleQuery;
import com.ruoyi.goods.controller.management.DTO.GoodsSkuDTO;
import com.ruoyi.goods.controller.management.DTO.GoodsSkuQuery;
import com.ruoyi.goods.controller.management.VO.GoodsBrandVO;
import com.ruoyi.goods.controller.management.VO.GoodsCategoryVO;
import com.ruoyi.goods.controller.management.VO.GoodsFlavorTypeVO;
import com.ruoyi.goods.controller.management.VO.GoodsInfoTitleVO;
import com.ruoyi.goods.controller.management.VO.GoodsSeriesVO;
import com.ruoyi.goods.controller.management.VO.GoodsSkuVO;
import com.ruoyi.goods.controller.management.dto.GoodsInfoTitleQuery;
import com.ruoyi.goods.controller.management.dto.GoodsSkuDTO;
import com.ruoyi.goods.controller.management.dto.GoodsSkuQuery;
import com.ruoyi.goods.controller.management.vo.GoodsBrandVO;
import com.ruoyi.goods.controller.management.vo.GoodsCategoryVO;
import com.ruoyi.goods.controller.management.vo.GoodsFlavorTypeVO;
import com.ruoyi.goods.controller.management.vo.GoodsInfoTitleVO;
import com.ruoyi.goods.controller.management.vo.GoodsSeriesVO;
import com.ruoyi.goods.controller.management.vo.GoodsSkuVO;
import com.ruoyi.goods.service.IGoodsBrandService;
import com.ruoyi.goods.service.IGoodsCategoryService;
import com.ruoyi.goods.service.IGoodsFlavorTypeService;
import com.ruoyi.goods.service.IGoodsInfoTitleService;
import com.ruoyi.goods.service.IGoodsSeriesService;
import com.ruoyi.goods.service.IGoodsSkuService;
import com.ruoyi.system.api.domain.AuctionGoods;
import com.ruoyi.system.api.domain.dto.ListStatusDTO;
import com.ruoyi.system.api.feignClient.AuctionClient;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
/**
 * <p>
@@ -45,7 +43,7 @@
@RestController
@RequestMapping("/mgt/goods-sku")
@RequiredArgsConstructor
@Api(value = "管理后台商品相关接口", tags = {"管理后台接口"})
@Api(value = "管理后台商品相关接口", tags = {"管理后台-商品相关接口"})
public class MgtGoodsSkuController {
    private final IGoodsSkuService goodsSkuService;
@@ -54,7 +52,7 @@
    private final IGoodsCategoryService goodsCategoryService;
    private final IGoodsInfoTitleService goodsInfoTitleService;
    private final IGoodsFlavorTypeService goodsFlavorTypeService;
    private final AuctionClient auctionClient;
    /**
     * 获取商品分类列表的接口 该接口不需要接收任何参数,调用后返回商品分类的列表信息。
     *
@@ -158,9 +156,28 @@
     */
    @ApiOperation(value = "下架/上架 商品", notes = "下架/上架 商品")
    @PutMapping("/upd-status")
    public R<Void> updStatus(@RequestBody ListStatusDTO dto) {
    public R<Void> updStatus(@Validated @RequestBody ListStatusDTO dto) {
        goodsSkuService.updStatus(dto);
        return R.ok();
    }
    @ApiOperation("查看详情")
    @GetMapping("/detail/{id}")
    public R<GoodsSkuVO> getGoodsDetail(@PathVariable("id") Long id) {
        return R.ok(goodsSkuService.getGoodsDetail(id));
    }
    /**
     * 删除商品
     */
    @ApiOperation("删除商品")
    @DeleteMapping("/delete/{id}")
    public R<Void> delete(@PathVariable("id") Long id) {
        R<AuctionGoods> auctionR = auctionClient.getAuctionBySkuId(id, SecurityConstants.INNER);
        if (auctionR.getData() != null){
            return R.fail("该商品正在拍卖中,无法删除");
        }
        goodsSkuService.removeById(id);
        return R.ok();
    }
}