BrainDeviceController.java
3.78 KB
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
package org.thingsboard.server.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.thingsboard.server.common.data.exception.ThingsboardException;
import org.thingsboard.server.common.data.yunteng.common.DeleteGroup;
import org.thingsboard.server.common.data.yunteng.dto.BrainDeviceDTO;
import org.thingsboard.server.common.data.yunteng.utils.tools.ResponseResult;
import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData;
import org.thingsboard.server.dao.yunteng.service.BrainDeviceService;
import org.thingsboard.server.queue.util.TbCoreComponent;
import java.util.HashMap;
import java.util.Map;
import static org.thingsboard.server.common.data.yunteng.constant.QueryConstant.PAGE;
import static org.thingsboard.server.common.data.yunteng.constant.QueryConstant.PAGE_SIZE;
@RestController
@TbCoreComponent
@RequiredArgsConstructor
@RequestMapping("api/yt/brain/device")
@Api(tags = {"设备台账"})
@Slf4j
public class BrainDeviceController extends BaseController {
private final BrainDeviceService brainDeviceService;
@PostMapping("/pageData")
@ApiOperation("分页查询")
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN','CUSTOMER_USER')")
public TkPageData<BrainDeviceDTO> page(
@RequestParam(PAGE_SIZE) int pageSize,
@RequestParam(PAGE) int page,
@RequestBody BrainDeviceDTO dto
) throws ThingsboardException {
Map<String, Object> queryMap = new HashMap<>();
queryMap.put(PAGE_SIZE, pageSize);
queryMap.put(PAGE, page);
if (StringUtils.isNotBlank(dto.getName())) {
queryMap.put("name", dto.getName());
}
return brainDeviceService.page(queryMap);
}
@PostMapping("/save")
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN','CUSTOMER_USER')")
public ResponseEntity<BrainDeviceDTO> save(@RequestBody BrainDeviceDTO brainDeviceDTO) throws ThingsboardException {
BrainDeviceDTO dto = brainDeviceService.save(brainDeviceDTO);
return ResponseEntity.ok(dto);
}
@GetMapping("/detail")
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN','CUSTOMER_USER')")
public ResponseEntity<BrainDeviceDTO> detail(@RequestParam("id") String id) throws ThingsboardException {
return ResponseEntity.ok(brainDeviceService.detail(id));
}
@GetMapping("/delete")
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN','CUSTOMER_USER')")
public ResponseEntity<Boolean> delete(@RequestParam("id") String id) throws ThingsboardException {
return ResponseEntity.ok(brainDeviceService.delete(id));
}
/**
* 批量删除
*
* @param brainDeviceDTO
* @return
*/
@DeleteMapping
@PreAuthorize("hasAnyAuthority('SYS_ADMIN','PLATFORM_ADMIN','TENANT_ADMIN')")
public ResponseResult<Boolean> deleteBath(
@Validated({DeleteGroup.class}) @RequestBody BrainDeviceDTO brainDeviceDTO) throws ThingsboardException {
brainDeviceDTO.setTenantId(getCurrentUser().getCurrentTenantId());
return ResponseResult.success(brainDeviceService.deleteBath(brainDeviceDTO));
}
@PostMapping("/updateStatus")
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN','CUSTOMER_USER')")
@ApiOperation("批量启用停用作废")
public ResponseResult<Boolean> updateStatus(@RequestBody BrainDeviceDTO brainDeviceDTO) throws ThingsboardException {
brainDeviceService.updateStatus(brainDeviceDTO);
return ResponseResult.success(true);
}
}