DeviceController.java 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package cn.minbb.iot.controller.rest;
  2. import cn.minbb.iot.data.ResponseResult;
  3. import cn.minbb.iot.model.Device;
  4. import cn.minbb.iot.model.User;
  5. import cn.minbb.iot.service.DeviceService;
  6. import cn.minbb.iot.service.UserService;
  7. import com.alibaba.fastjson.JSONObject;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.web.bind.annotation.PostMapping;
  10. import org.springframework.web.bind.annotation.RequestBody;
  11. import org.springframework.web.bind.annotation.RequestMapping;
  12. import org.springframework.web.bind.annotation.RestController;
  13. @RestController
  14. @RequestMapping("device")
  15. public class DeviceController {
  16. @Autowired
  17. DeviceService deviceService;
  18. @Autowired
  19. UserService userService;
  20. @PostMapping("search")
  21. public ResponseResult<Device> search(@RequestBody String params) {
  22. JSONObject jsonObject = JSONObject.parseObject(params);
  23. Device device = deviceService.findOneBySerialNumber(jsonObject.getString("serial"));
  24. if (device == null) {
  25. return ResponseResult.create().success(false).message("没有查询到设备").dataNone();
  26. }
  27. return ResponseResult.create().success(true).message("OK").data(device);
  28. }
  29. @PostMapping("bind")
  30. public ResponseResult<Device> bind(@RequestBody String params) {
  31. JSONObject jsonObject = JSONObject.parseObject(params);
  32. Device device = JSONObject.parseObject(jsonObject.getString("device"), Device.class);
  33. User user = JSONObject.parseObject(jsonObject.getString("user"), User.class);
  34. Device deviceServer = deviceService.findOneBySerialNumber(device.getSerialNumber());
  35. User userServer = userService.findUserByUsername(user.getUsername());
  36. if (userServer != null && deviceServer != null) {
  37. if (deviceServer.getUserId() != null) {
  38. return ResponseResult.create().success(false).message("设备已绑定").dataNone();
  39. } else {
  40. deviceServer.setUserId(userServer.getId());
  41. return ResponseResult.create().success(true).message("OK").data(deviceService.save(deviceServer));
  42. }
  43. } else {
  44. return ResponseResult.create().success(false).message("参数缺失").dataNone();
  45. }
  46. }
  47. @PostMapping("all")
  48. public ResponseResult<Device> all(@RequestBody String params) {
  49. JSONObject jsonObject = JSONObject.parseObject(params);
  50. User user = JSONObject.parseObject(jsonObject.getString("user"), User.class);
  51. if (user == null) {
  52. return ResponseResult.create().success(false).message("参数缺失").dataNone();
  53. } else {
  54. return ResponseResult.create().success(true).message("OK").dataset(deviceService.findAllByUserId(user.getId()));
  55. }
  56. }
  57. @PostMapping("unbind")
  58. public ResponseResult<Device> unbind(@RequestBody String params) {
  59. JSONObject jsonObject = JSONObject.parseObject(params);
  60. Device device = JSONObject.parseObject(jsonObject.getString("device"), Device.class);
  61. User user = JSONObject.parseObject(jsonObject.getString("user"), User.class);
  62. Device deviceServer = deviceService.findOneBySerialNumber(device.getSerialNumber());
  63. User userServer = userService.findUserByUsername(user.getUsername());
  64. if (userServer != null && deviceServer != null) {
  65. if (deviceServer.getUserId() != null) {
  66. deviceServer.setUserId(null);
  67. deviceService.save(deviceServer);
  68. return ResponseResult.create().success(true).message("解绑设备" + deviceServer.getSerialNumber() + "成功").dataNone();
  69. } else {
  70. return ResponseResult.create().success(false).message("设备未绑定").dataNone();
  71. }
  72. } else {
  73. return ResponseResult.create().success(false).message("参数缺失").dataNone();
  74. }
  75. }
  76. }