puzhibing
2024-12-09 609d91e1e62b1e8932b34b15b09baf02e7f09a93
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsController.java
@@ -1,19 +1,20 @@
package com.ruoyi.other.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.TableDataInfo;
import com.ruoyi.other.api.domain.Goods;
import com.ruoyi.other.service.GoodsService;
import com.ruoyi.other.vo.GoodsVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
 * <p>
@@ -25,7 +26,7 @@
 */
@RestController
@RequestMapping("/goods")
@Api("商品")
@Api(tags = "商品")
public class GoodsController extends BaseController {
    @Resource
    private GoodsService goodsService;
@@ -35,23 +36,64 @@
     */
    @GetMapping("/goodsList")
    @ApiOperation(value = "商品列表", tags = {"小程序-商城-首页-热门商品列表", "首页热门商品-小程序"})
    public TableDataInfo goodsList(Goods goods){
    public R<TableDataInfo> goodsList(Goods goods){
        startPage();
        return getDataTable(goodsService.goodsList(goods));
        return R.ok(getDataTable(goodsService.goodsList(goods)));
    }
    /**
     * 指定门店商品
     */
    @GetMapping("/getGoodsListByShopId")
    @ApiOperation(value = "商品列表", tags = {"小程序-首页-门店详情-商品购买列表"})
    public R<TableDataInfo> getGoodsListByShopId(@ApiParam("门店id") @RequestParam Integer shopId) {
        startPage();
        return R.ok(getDataTable(goodsService.getGoodsListByShopId(shopId)));
    }
    /**
     * 商品详情
     */
    @GetMapping("/goodsDetail/{goodsId}")
    @ApiOperation(value = "商品详情", tags = {"小程序-商城-首页-商品详情"})
    public AjaxResult goodsDetail(@PathVariable("goodsId") Long goodsId){
        return success(goodsService.goodsDetail(goodsId));
    public R<GoodsVO> goodsDetail(@PathVariable("goodsId") Long goodsId){
        return R.ok(goodsService.goodsDetail(goodsId));
    }
    /**
     * 根据类型(1=服务商品,2=单品商品)获取商品数据
     * @param type
     * @return
     */
    @ResponseBody
    @PostMapping("/getGoodsByType")
    public R<List<Goods>> getGoodsByType(@RequestParam("type") Integer type){
        List<Goods> list = goodsService.list(new LambdaQueryWrapper<Goods>().eq(Goods::getType, type).eq(Goods::getDelFlag, 0).eq(Goods::getStatus, 2));
        return R.ok(list);
    }
    /**
     * 根据id获取商品信息
     * @param id
     * @return
     */
    @ResponseBody
    @PostMapping("/getGoodsById")
    public R<Goods> getGoodsById(@RequestParam("id") Integer id){
        Goods goods = goodsService.getById(id);
        return R.ok(goods);
    }
    @ResponseBody
    @PostMapping("/getGoodsByIds")
    public R<List<Goods>> getGoodsByIds(@RequestParam("ids") String [] ids){
        List<Goods> goods = goodsService.lambdaQuery().in(Goods::getId, ids).eq(Goods::getStatus, 0).list();
        return R.ok(goods);
    }
}