luodangjia
2024-12-04 a981c07d34edd0975b9d556d97c1f851ce79974c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
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.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 io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.*;
 
import javax.annotation.Resource;
import java.util.List;
 
/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author luodangjia
 * @since 2024-11-20
 */
@RestController
@RequestMapping("/goods")
@Api(tags = "商品")
public class GoodsController extends BaseController {
    @Resource
    private GoodsService goodsService;
 
    /**
     * 商品列表
     */
    @GetMapping("/goodsList")
    @ApiOperation(value = "商品列表", tags = {"小程序-商城-首页-热门商品列表", "首页热门商品-小程序"})
    public R<List<GoodsVO>> goodsList(Goods goods){
        startPage();
        return R.ok(goodsService.goodsList(goods));
    }
 
 
    /**
     * 指定门店商品
     */
    @GetMapping("/getGoodsListByShopId")
    @ApiOperation(value = "商品列表", tags = {"小程序-首页-门店详情-商品购买列表"})
    public R<List<Goods>> getGoodsListByShopId(@ApiParam("门店id") @RequestParam Integer shopId) {
        startPage();
        return R.ok(goodsService.getGoodsListByShopId(shopId));
    }
 
 
    /**
     * 商品详情
     */
    @GetMapping("/goodsDetail/{goodsId}")
    @ApiOperation(value = "商品详情", tags = {"小程序-商城-首页-商品详情"})
    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);
    }
    
}