luodangjia
2025-01-14 e9d5d32c7ee67eec2f47ed80fe9aae92a0ce7ec1
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsController.java
@@ -10,10 +10,12 @@
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.core.web.page.TableDataInfo;
import com.ruoyi.common.redis.annotation.DistributedLock;
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.service.VipSettingService;
import com.ruoyi.other.vo.GoodsVO;
import io.swagger.annotations.*;
import org.springframework.web.bind.annotation.*;
@@ -37,6 +39,8 @@
    private GoodsService goodsService;
    @Resource
    private VipSettingClient settingClient;
    @Resource
    private VipSettingService vipSettingService;
    /**
     * 添加商品
@@ -123,6 +127,10 @@
    @DeleteMapping("/manageGoodsDelete/{goodsId}")
    @ApiOperation(value = "商品删除", tags = {"管理后台-商品管理"})
    public R<Void> manageGoodsDelete(@PathVariable("goodsId") Long goodsId){
        long count = vipSettingService.count(new LambdaQueryWrapper<VipSetting>().last(" where FIND_IN_SET(" + goodsId + ", good_ids)"));
        if(0 < count){
            return R.fail("商品已被会员配置使用,不能删除");
        }
        goodsService.removeById(goodsId);
        return R.ok();
    }
@@ -202,5 +210,40 @@
        return R.ok(goods);
    }
    /**
     * 编辑商品
     * @param goods
     * @return
     */
    @PostMapping("/editGoodsList")
    public R editGoodsList(@RequestBody List<Goods> goods){
        goodsService.updateBatchById(goods);
        return R.ok();
    }
    /**
     * 商品销量增加
     */
    @PutMapping("/editGoodsNum")
    @DistributedLock(lockNamePre = "#goods_lock", lockNamePost = "#goodsId")
    public R<Void> editGoodsNum(@RequestParam("goodsId") Integer goodsId, @RequestParam("num") Integer num){
        Goods goods = goodsService.getById(goodsId);
        goods.setSaleNum(goods.getSaleNum() + num);
        goodsService.updateById(goods);
        return R.ok();
    }
    /**
     * 获取所有商品
     * @return
     */
    @PostMapping("/getAllGoods")
    public R<List<Goods>> getAllGoods(){
        List<Goods> list = goodsService.list(new LambdaQueryWrapper<Goods>().eq(Goods::getDelFlag, 0).eq(Goods::getStatus, 2));
        return R.ok(list);
    }
}