cuikaidong
2025-06-12 44e283b774bb1168d0c17dfe5070a1ca8e2274cd
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
package org.jeecg.modules.iot.controller;
 
 
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.iot.entity.Equipment;
import org.jeecg.modules.iot.entity.ParameterGroup;
import org.jeecg.modules.iot.entity.RealParameter;
import org.jeecg.modules.iot.service.IEquipmentService;
import org.jeecg.modules.iot.service.IParameterGroupService;
import org.jeecg.modules.iot.service.IRealParameterService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
 
import javax.servlet.http.HttpServletRequest;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
 
 
/**
 * @Description: 参数组
 * @Author: cuikaidong
 * @Date: 2024-12-23
 * @Version: V1.0
 */
@Api(tags = "参数组")
@RestController
@RequestMapping("/parameter/group")
@Slf4j
public class ParameterGroupController extends JeecgController<ParameterGroup, IParameterGroupService> {
 
    private final IParameterGroupService parameterGroupService;
 
    public ParameterGroupController(IParameterGroupService parameterGroupService) {
        this.parameterGroupService = parameterGroupService;
    }
 
    @Autowired
    private IEquipmentService equipmentService;
    @Autowired
    private IRealParameterService realParameterService;
 
    /**
     * 分页列表查询
     *
     * @param parameterGroup 参数组
     * @param pageNo         开始
     * @param pageSize       结束
     * @return 参数组列表
     */
    @ApiOperation(value = "参数组-分页列表查询", notes = "参数组-分页列表查询")
    @GetMapping(value = "/list")
    public Result<?> queryPageList(ParameterGroup parameterGroup,
                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<ParameterGroup> queryWrapper = QueryGenerator.initQueryWrapper(parameterGroup, req.getParameterMap());
        Page<ParameterGroup> page = new Page<>(pageNo, pageSize);
        IPage<ParameterGroup> pageList = parameterGroupService.page(page, queryWrapper);
        return Result.ok(pageList);
    }
 
    /**
     * 添加
     *
     * @param parameterGroup 参数组
     * @return 成功消息
     */
    @AutoLog(value = "实参数组-添加")
    @ApiOperation(value = "实参数组-添加", notes = "实参数组-添加")
    @PostMapping(value = "/add")
    public Result<?> add(@RequestBody ParameterGroup parameterGroup) {
        // 验证编码名称是否重复
        if (parameterGroupService.findParameterGroupByName(parameterGroup)){
            return Result.error("参数组名称已存在!");
        }
        if (parameterGroupService.findParameterGroupByCode(parameterGroup)){
            return Result.error("参数组编号已存在!");
        }
        Equipment equipment = equipmentService.getById(parameterGroup.getEquipmentId());
        parameterGroup.setServerDeployId(equipment.getServerId());
        parameterGroupService.save(parameterGroup);
        return Result.ok("添加成功!");
    }
 
    /**
     * 编辑
     *
     * @param parameterGroup 参数组
     * @return 成功消息
     */
    @AutoLog(value = "参数组-编辑")
    @ApiOperation(value = "参数组-编辑", notes = "参数组-编辑")
    @PutMapping(value = "/edit")
    public Result<?> edit(@RequestBody ParameterGroup parameterGroup) {
        parameterGroupService.updateById(parameterGroup);
        return Result.ok("编辑成功!");
    }
 
    /**
     * 通过id删除
     *
     * @param id 参数组id
     * @return 提示
     */
    @AutoLog(value = "参数组-通过id删除")
    @ApiOperation(value = "参数组-通过id删除", notes = "参数组-通过id删除")
    @DeleteMapping(value = "/delete")
    public Result<?> delete(@RequestParam(name = "id") String id) {
        // 查询参数组下参数信息
        Set<String> ids = new HashSet<>();
        ids.add(id);
        List<RealParameter> realParameter = realParameterService.findRealParameterByIds(ids);
        if (CollectionUtil.isNotEmpty(realParameter)) {
            return Result.error("删除失败,请先删除参数信息!");
        }
        parameterGroupService.removeById(id);
        return Result.ok("删除成功!");
    }
 
    /**
     * 通过参数组id查询设备信息
     *
     * @param id
     * @return
     */
    @GetMapping(value = "/queryById")
    public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
        ParameterGroup parameterGroup = parameterGroupService.getById(id);
        Equipment equipment = equipmentService.getById(parameterGroup.getEquipmentId());
        return Result.ok(equipment);
    }
}