xuhy
2025-11-06 b6e0e127ad02913ee3efd28a4f7f78d2abf0c4ea
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
package com.ruoyi.web.controller.api;
 
 
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.BasePage;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.model.TMerchant;
import com.ruoyi.system.model.TMerchantType;
import com.ruoyi.system.service.TMerchantService;
import com.ruoyi.system.service.TMerchantTypeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
 
import java.util.List;
 
/**
 * <p>
 * 商户分类 前端控制器
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-06
 */
@Api(tags = "商户分类管理")
@RestController
@RequestMapping("/t-merchant-type")
public class TMerchantTypeController {
 
    private final TMerchantTypeService merchantTypeService;
    private final TMerchantService merchantService;
    private final TokenService tokenService;
    @Autowired
    public TMerchantTypeController(TMerchantTypeService merchantTypeService, TMerchantService merchantService, TokenService tokenService) {
        this.merchantTypeService = merchantTypeService;
        this.merchantService = merchantService;
        this.tokenService = tokenService;
    }
 
    /**
     * 获取商户分类管理管理列表
     */
    @ApiOperation(value = "获取商户分类管理分页列表")
    @PostMapping(value = "/pageList")
    public R<PageInfo<TMerchantType>> pageList(@RequestBody BasePage query) {
        return R.ok(merchantTypeService.pageList(query));
    }
 
    /**
     * 获取商户分类管理管理列表
     */
    @ApiOperation(value = "获取商户分类管理列表")
    @PostMapping(value = "/list")
    public R<List<TMerchantType>> list() {
        return R.ok(merchantTypeService.list(Wrappers.lambdaQuery(TMerchantType.class).orderByDesc(TMerchantType::getCreateTime)));
    }
 
    /**
     * 添加商户分类管理管理
     */
    @Log(title = "商户分类管理信息-新增商户分类管理", businessType = BusinessType.INSERT)
    @ApiOperation(value = "添加商户分类管理")
    @PostMapping(value = "/add")
    public R<Boolean> add(@Validated @RequestBody TMerchantType dto) {
        if (merchantTypeService.isExit(dto)) {
            return R.fail("商户分类已存在");
        }
        return R.ok(merchantTypeService.save(dto));
    }
 
    /**
     * 修改商户分类管理
     */
    @Log(title = "商户分类管理信息-修改商户分类管理", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "修改商户分类管理")
    @PostMapping(value = "/update")
    public R<Boolean> update(@Validated @RequestBody TMerchantType dto) {
        if (merchantTypeService.isExit(dto)) {
            return R.fail("商户分类已存在");
        }
        return R.ok(merchantTypeService.updateById(dto));
    }
 
    /**
     * 查看商户分类管理详情
     */
    @ApiOperation(value = "查看商户分类管理详情")
    @GetMapping(value = "/getDetailById")
    public R<TMerchantType> getDetailById(@RequestParam String id) {
        return R.ok(merchantTypeService.getById(id));
    }
 
    /**
     * 删除商户分类管理
     */
    @Log(title = "商户分类管理信息-删除商户分类管理", businessType = BusinessType.DELETE)
    @ApiOperation(value = "删除商户分类管理")
    @DeleteMapping(value = "/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        long count = merchantService.count(Wrappers.lambdaQuery(TMerchant.class)
                .eq(TMerchant::getTypeId, id));
        if (count > 0) {
            return R.fail("该商户分类下有商户,请先删除商户");
        }
        return R.ok(merchantTypeService.removeById(id));
    }
 
    /**
     * 批量删除商户分类管理
     */
    @Log(title = "商户分类管理信息-删除商户分类管理", businessType = BusinessType.DELETE)
    @ApiOperation(value = "批量删除商户分类管理")
    @DeleteMapping(value = "/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        long count = merchantService.count(Wrappers.lambdaQuery(TMerchant.class)
                .in(TMerchant::getTypeId, ids));
        if (count > 0) {
            return R.fail("该商户分类下有商户,请先删除商户");
        }
        return R.ok(merchantTypeService.removeByIds(ids));
    }
    
}