From d53c16a12e612a95dc8f6fb248e3669cbc441eb4 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 17 十二月 2024 16:48:41 +0800
Subject: [PATCH] 新增加商品特价接口

---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsController.java |  131 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 119 insertions(+), 12 deletions(-)

diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsController.java
index 6a4ad95..2d86a41 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsController.java
@@ -1,11 +1,15 @@
 package com.ruoyi.other.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 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.api.domain.VipSetting;
+import com.ruoyi.other.api.feignClient.VipSettingClient;
 import com.ruoyi.other.service.GoodsService;
 import com.ruoyi.other.vo.GoodsVO;
 import io.swagger.annotations.Api;
@@ -30,15 +34,90 @@
 public class GoodsController extends BaseController {
     @Resource
     private GoodsService goodsService;
+    @Resource
+    private VipSettingClient settingClient;
+
+    /**
+     * 添加商品
+     */
+    @PostMapping("/addGoods")
+    @ApiOperation(value = "发布商品", tags = {"管理后台-商品管理"})
+    public R<Void> addGoods(@RequestBody Goods goods) {
+        goodsService.addGoods(goods);
+        return R.ok();
+    }
+
+    /**
+     * 管理后台商品列表
+     */
+    @GetMapping("/manageGoodsList")
+    @ApiOperation(value = "商品列表", tags = {"管理后台-商品管理"})
+    public R<IPage<Goods>> manageGoodsList(@ApiParam("页码") @RequestParam Integer pageNum,
+                                           @ApiParam("每一页数据大小") Integer pageSize,
+                                           Goods goods){
+        return R.ok(goodsService.getManageGoodsList(new Page<>(pageNum, pageSize), goods));
+    }
+
+    /**
+     * 后台商品详情
+     */
+    @GetMapping("/manageGoodsDetail/{goodsId}")
+    @ApiOperation(value = "商品详情", tags = {"管理后台-商品管理"})
+    public R<Goods> manageGoodsDetail(@PathVariable("goodsId") Long goodsId){
+        return R.ok(goodsService.getManageGoodsDetail(goodsId));
+    }
+
+    /**
+     * 后台商品修改
+     */
+    @PutMapping("/manageGoodsUpdate")
+    @ApiOperation(value = "商品修改", tags = {"管理后台-商品管理"})
+    public R<Void> manageGoodsUpdate(@RequestBody Goods goods){
+        goodsService.updateManageGoods(goods);
+        return R.ok();
+    }
+
+    /**
+     * 更新上/下架状态
+     */
+    @PutMapping("/manageGoodsStatus/{goodsId}/{status}")
+    @ApiOperation(value = "商品上/下架", tags = {"管理后台-商品管理"})
+    public R<Void> manageGoodsStatus(@PathVariable("goodsId") Long goodsId,
+                                     @PathVariable("status") Integer status){
+        goodsService.lambdaUpdate().eq(Goods::getId, goodsId).set(Goods::getStatus, status).update();
+        return R.ok();
+    }
+
+
+    /**
+     * 后台商品删除
+     */
+    @DeleteMapping("/manageGoodsDelete/{goodsId}")
+    @ApiOperation(value = "商品删除", tags = {"管理后台-商品管理"})
+    public R<Void> manageGoodsDelete(@PathVariable("goodsId") Long goodsId){
+        goodsService.removeById(goodsId);
+        return R.ok();
+    }
+
+    /**
+     * 获取会员等级信息
+     */
+    @GetMapping("/getVipSetting")
+    @ApiOperation(value = "会员等级信息", tags = {"管理后台-商品管理"})
+    public R<List<VipSetting>> getVipSetting(){
+        return settingClient.info();
+    }
+
+
 
     /**
      * 商品列表
      */
     @GetMapping("/goodsList")
-    @ApiOperation(value = "商品列表", tags = {"小程序-商城-首页-热门商品列表", "首页热门商品-小程序"})
-    public TableDataInfo goodsList(Goods goods){
+    @ApiOperation(value = "热门商品列表", tags = {"小程序-商城-首页", "小程序-首页"})
+    public R<TableDataInfo> goodsList(Goods goods){
         startPage();
-        return getDataTable(goodsService.goodsList(goods));
+        return R.ok(getDataTable(goodsService.goodsList(goods)));
     }
 
 
@@ -46,11 +125,10 @@
      * 指定门店商品
      */
     @GetMapping("/getGoodsListByShopId")
-    @ApiOperation(value = "商品列表", tags = {"小程序-首页-门店详情-商品购买列表"})
-    public TableDataInfo getGoodsListByShopId(@ApiParam("门店id") @RequestParam Integer shopId) {
+    @ApiOperation(value = "商品购买列表", tags = {"小程序-首页-门店详情"})
+    public R<TableDataInfo> getGoodsListByShopId(@ApiParam("门店id") @RequestParam Integer shopId) {
         startPage();
-        List<Goods> goods = goodsService.getGoodsListByShopId(shopId);
-        return getDataTable(goods);
+        return R.ok(getDataTable(goodsService.getGoodsListByShopId(shopId)));
     }
 
 
@@ -58,14 +136,43 @@
      * 商品详情
      */
     @GetMapping("/goodsDetail/{goodsId}")
-    @ApiOperation(value = "商品详情", tags = {"小程序-商城-首页-商品详情"})
+    @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);
+    }
 
-    
-    
-    
 }
 

--
Gitblit v1.7.1