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.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 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;
|
|
/**
|
* 添加商品
|
*/
|
@PostMapping("/addGoods")
|
@ApiOperation(value = "添加商品", tags = {"管理后台-发布商品"})
|
public R<Void> addGoods(@RequestBody Goods goods) {
|
return R.ok();
|
}
|
|
|
|
/**
|
* 商品列表
|
*/
|
@GetMapping("/goodsList")
|
@ApiOperation(value = "商品列表", tags = {"小程序-商城-首页-热门商品列表", "首页热门商品-小程序"})
|
public R<TableDataInfo> goodsList(Goods goods){
|
startPage();
|
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 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).list();
|
return R.ok(goods);
|
}
|
|
}
|