MqttsDeviceController.java 4.5 KB
Newer Older
1
package net.mqtts.link.controller.device;
xiaonannet's avatar
xiaonannet 已提交
2 3 4 5 6

import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;

很久是多久's avatar
很久是多久 已提交
7
import net.mqtts.common.core.domain.R;
xiaonannet's avatar
xiaonannet 已提交
8 9 10 11 12 13 14
import net.mqtts.common.core.utils.poi.ExcelUtil;
import net.mqtts.common.core.web.controller.BaseController;
import net.mqtts.common.core.web.domain.AjaxResult;
import net.mqtts.common.core.web.page.TableDataInfo;
import net.mqtts.common.log.annotation.Log;
import net.mqtts.common.log.enums.BusinessType;
import net.mqtts.common.security.annotation.PreAuthorize;
很久是多久's avatar
很久是多久 已提交
15
import net.mqtts.link.api.domain.MqttsDevice;
xiaonannet's avatar
xiaonannet 已提交
16
import org.springframework.beans.factory.annotation.Autowired;
很久是多久's avatar
很久是多久 已提交
17
import org.springframework.web.bind.annotation.*;
18
import net.mqtts.link.service.device.MqttsDeviceService;
xiaonannet's avatar
xiaonannet 已提交
19 20 21

/**
 * 设备管理Controller
很久是多久's avatar
很久是多久 已提交
22
 *
xiaonannet's avatar
xiaonannet 已提交
23 24 25 26 27
 * @author mqtts
 * @date 2021-10-22
 */
@RestController
@RequestMapping("/device")
很久是多久's avatar
很久是多久 已提交
28
public class MqttsDeviceController extends BaseController {
xiaonannet's avatar
xiaonannet 已提交
29
    @Autowired
30
    private MqttsDeviceService mqttsDeviceService;
xiaonannet's avatar
xiaonannet 已提交
31 32 33 34 35 36

    /**
     * 查询设备管理列表
     */
    @PreAuthorize(hasPermi = "link:device:list")
    @GetMapping("/list")
很久是多久's avatar
很久是多久 已提交
37
    public TableDataInfo list(MqttsDevice mqttsDevice) {
xiaonannet's avatar
xiaonannet 已提交
38 39 40 41 42 43 44 45 46 47 48
        startPage();
        List<MqttsDevice> list = mqttsDeviceService.selectMqttsDeviceList(mqttsDevice);
        return getDataTable(list);
    }

    /**
     * 导出设备管理列表
     */
    @PreAuthorize(hasPermi = "link:device:export")
    @Log(title = "设备管理", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
很久是多久's avatar
很久是多久 已提交
49
    public void export(HttpServletResponse response, MqttsDevice mqttsDevice) throws IOException {
xiaonannet's avatar
xiaonannet 已提交
50 51 52 53 54 55 56 57 58 59
        List<MqttsDevice> list = mqttsDeviceService.selectMqttsDeviceList(mqttsDevice);
        ExcelUtil<MqttsDevice> util = new ExcelUtil<MqttsDevice>(MqttsDevice.class);
        util.exportExcel(response, list, "设备管理数据");
    }

    /**
     * 获取设备管理详细信息
     */
    @PreAuthorize(hasPermi = "link:device:query")
    @GetMapping(value = "/{id}")
很久是多久's avatar
很久是多久 已提交
60
    public AjaxResult getInfo(@PathVariable("id") Long id) {
xiaonannet's avatar
xiaonannet 已提交
61 62 63 64 65 66 67 68 69
        return AjaxResult.success(mqttsDeviceService.selectMqttsDeviceById(id));
    }

    /**
     * 新增设备管理
     */
    @PreAuthorize(hasPermi = "link:device:add")
    @Log(title = "设备管理", businessType = BusinessType.INSERT)
    @PostMapping
很久是多久's avatar
很久是多久 已提交
70
    public AjaxResult add(@RequestBody MqttsDevice mqttsDevice) {
xiaonannet's avatar
xiaonannet 已提交
71 72 73 74 75 76 77 78 79
        return toAjax(mqttsDeviceService.insertMqttsDevice(mqttsDevice));
    }

    /**
     * 修改设备管理
     */
    @PreAuthorize(hasPermi = "link:device:edit")
    @Log(title = "设备管理", businessType = BusinessType.UPDATE)
    @PutMapping
很久是多久's avatar
很久是多久 已提交
80
    public AjaxResult edit(@RequestBody MqttsDevice mqttsDevice) {
xiaonannet's avatar
xiaonannet 已提交
81 82 83 84 85 86 87 88
        return toAjax(mqttsDeviceService.updateMqttsDevice(mqttsDevice));
    }

    /**
     * 删除设备管理
     */
    @PreAuthorize(hasPermi = "link:device:remove")
    @Log(title = "设备管理", businessType = BusinessType.DELETE)
很久是多久's avatar
很久是多久 已提交
89 90
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids) {
xiaonannet's avatar
xiaonannet 已提交
91 92
        return toAjax(mqttsDeviceService.deleteMqttsDeviceByIds(ids));
    }
很久是多久's avatar
很久是多久 已提交
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113

    /**
     * 更新设备在线状态
     */
    @Log(title = "设备管理", businessType = BusinessType.UPDATE)
    @PutMapping("/updateConnectStatusByClientId")
    public R updateConnectStatusByClientId(@RequestBody MqttsDevice mqttsDevice) {
        return R.ok(mqttsDeviceService.updateConnectStatusByClientId(mqttsDevice.getConnectStatus(), mqttsDevice.getClientId()));
    }

    /**
     * 认证接口
     */
    @GetMapping("/findOneByClientIdAndUserNameAndPasswordAndDeviceStatusAndProtocolType")
    public R<MqttsDevice> findOneByClientIdAndUserNameAndPasswordAndDeviceStatusAndProtocolType(@RequestParam(value = "clientId", required = true) String clientId,
                                                                                   @RequestParam(value = "userName", required = true) String userName,
                                                                                   @RequestParam(value = "password", required = true) String password,
                                                                                   @RequestParam(value = "deviceStatus", required = true) String deviceStatus,
                                                                                   @RequestParam(value = "protocolType", required = true) String protocolType) {
        return R.ok(mqttsDeviceService.findOneByClientIdAndUserNameAndPasswordAndDeviceStatusAndProtocolType(clientId, userName, password, deviceStatus, protocolType));
    }
xiaonannet's avatar
xiaonannet 已提交
114
}