Pu Zhibing
2025-03-26 7f26677ab7f9b83697370fa142dd1686cdf4082a
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
91
92
93
94
95
96
97
98
99
100
package com.ruoyi.other.controller;
 
 
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
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.utils.StringUtils;
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.api.domain.GoodsCategory;
import com.ruoyi.other.service.GoodsCategoryService;
import com.ruoyi.other.service.GoodsService;
import io.swagger.annotations.*;
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-category")
@Api("商品分类")
public class GoodsCategoryController extends BaseController {
    @Resource
    private GoodsCategoryService goodsCategoryService;
    @Resource
    private GoodsService goodsService;
 
 
    @PostMapping("/addGoodsCategory")
    @ApiOperation(value = "商品管理-商品分类-添加", tags = {"管理后台"})
    public R<Void> addGoodsCategory(@RequestBody GoodsCategory goodsCategory){
        goodsCategoryService.save(goodsCategory);
        return R.ok();
    }
 
    @PutMapping("/updateGoodsCategory")
    @ApiOperation(value = "商品管理-商品分类-修改", tags = {"管理后台"})
    public R<Void> updateGoodsCategory(@RequestBody GoodsCategory goodsCategory){
        goodsCategoryService.updateById(goodsCategory);
        return R.ok();
    }
 
    @GetMapping("/getGoodsCategoryById")
    @ApiOperation(value = "商品管理-商品分类-详情", tags = {"管理后台"})
    public R<GoodsCategory> getGoodsCategoryById(@RequestParam("id") Integer id){
        return R.ok(goodsCategoryService.getById(id));
    }
 
 
    @GetMapping("/getList")
    @ApiOperation(value = "商品管理-商品分类-列表", tags = {"管理后台"})
    public R<Page<GoodsCategory>> list(@ApiParam("页码") @RequestParam Integer pageNum,@ApiParam("每一页数据大小") Integer pageSize, GoodsCategory goodsCategory){
        Page<GoodsCategory> page = goodsCategoryService.lambdaQuery()
                .like(StringUtils.isNotEmpty(goodsCategory.getName()),GoodsCategory::getName, goodsCategory.getName())
                .eq(GoodsCategory::getDelFlag,0)
                .page(Page.of(pageNum, pageSize));
        return R.ok(page);
    }
 
    @DeleteMapping("/delete")
    @ApiOperation(value = "商品管理-商品分类-删除", tags = {"管理后台"})
    public R<Void> delete(@RequestParam("id") Integer id){
        List<Goods> list = goodsService.lambdaQuery().eq(Goods::getGoodsCategoryId, id).list();
        if (!list.isEmpty())return R.fail("当前分类已关联商品,不可删除");
        goodsCategoryService.update(new LambdaUpdateWrapper<GoodsCategory>().eq(GoodsCategory::getId, id).set(GoodsCategory::getDelFlag, 1));
        return R.ok();
    }
 
 
 
 
    @GetMapping("/index/list")
    @ApiOperation(value = "商品分类", tags = {"小程序-首页"})
    public R<List<GoodsCategory>> indexlist(){
        List<GoodsCategory> indexlist = goodsCategoryService.lambdaQuery()
                .eq(GoodsCategory::getDelFlag, 0)
                .orderByDesc(GoodsCategory::getCreateTime)
                .last("limit 8")
                .list();
        return R.ok(indexlist);
    }
    @GetMapping("/list")
    @ApiOperation(value = "商品分类列表", tags = {"小程序-商城-商城-首页-筛选"})
    public R<List<GoodsCategory>> list(){
        return R.ok(goodsCategoryService.list(new LambdaQueryWrapper<GoodsCategory>().eq(GoodsCategory::getDelFlag, 0)));
    }
 
}