| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- package com.aijiuyi.admin.controller;
- import com.aijiuyi.admin.common.annotation.Log;
- import com.aijiuyi.admin.common.entity.Result;
- import com.aijiuyi.admin.common.enums.OperationType;
- import com.aijiuyi.admin.controller.dto.UserDeviceQueryDTO;
- import com.aijiuyi.admin.entity.UserDevice;
- import com.aijiuyi.admin.service.UserDeviceService;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import java.util.List;
- /**
- * 用户设备管理 Controller(管理员后台)
- * 提供设备绑定记录的查询、新增、解绑、设为主设备、批量解绑接口
- */
- @RestController
- @RequestMapping("/user/device")
- public class UserDeviceController {
- @Autowired
- private UserDeviceService userDeviceService;
- /**
- * 分页查询设备列表
- *
- * @param queryDTO 查询条件
- * @return 分页结果
- */
- @GetMapping("/page")
- @Log(value = "查询设备列表", module = "设备管理", operationType = OperationType.QUERY)
- public Result<IPage<UserDevice>> page(UserDeviceQueryDTO queryDTO) {
- return Result.success(userDeviceService.pageList(queryDTO));
- }
- /**
- * 查询设备详情
- *
- * @param id 设备记录ID
- * @return 设备详情
- */
- @GetMapping("/{id}")
- @Log(value = "查询设备详情", module = "设备管理", operationType = OperationType.QUERY)
- public Result<UserDevice> getById(@PathVariable Long id) {
- return Result.success(userDeviceService.getById(id));
- }
- /**
- * 绑定设备(新增绑定记录)
- *
- * @param device 设备信息(userId为子用户ID,deviceCode为设备编号)
- * @return 操作结果
- */
- @PostMapping
- @Log(value = "绑定设备", module = "设备管理", operationType = OperationType.INSERT)
- public Result<Void> bind(@RequestBody UserDevice device) {
- userDeviceService.bindDevice(device);
- return Result.success();
- }
- /**
- * 解绑设备(设置状态为已解绑)
- *
- * @param id 设备记录ID
- * @return 操作结果
- */
- @PutMapping("/{id}/unbind")
- @Log(value = "解绑设备", module = "设备管理", operationType = OperationType.UPDATE)
- public Result<Void> unbind(@PathVariable Long id) {
- userDeviceService.unbindDevice(id);
- return Result.success();
- }
- /**
- * 设置主设备(同一用户下只能有一个主设备)
- *
- * @param id 设备记录ID
- * @param userId 所属子用户ID
- * @return 操作结果
- */
- @PutMapping("/{id}/primary")
- @Log(value = "设置主设备", module = "设备管理", operationType = OperationType.UPDATE)
- public Result<Void> setPrimary(@PathVariable Long id, @RequestParam Long userId) {
- userDeviceService.setPrimaryDevice(id, userId);
- return Result.success();
- }
- /**
- * 批量解绑设备
- *
- * @param ids 设备记录ID列表
- * @return 操作结果
- */
- @PutMapping("/batch-unbind")
- @Log(value = "批量解绑设备", module = "设备管理", operationType = OperationType.UPDATE)
- public Result<Void> batchUnbind(@RequestBody List<Long> ids) {
- userDeviceService.batchUnbindDevices(ids);
- return Result.success();
- }
- /**
- * 删除设备记录
- *
- * @param id 设备记录ID
- * @return 操作结果
- */
- @DeleteMapping("/{id}")
- @Log(value = "删除设备记录", module = "设备管理", operationType = OperationType.DELETE)
- public Result<Void> delete(@PathVariable Long id) {
- userDeviceService.deleteDevice(id);
- return Result.success();
- }
- }
|