package com.fastbee.data.controller; import java.util.List; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.fastbee.common.annotation.Log; import com.fastbee.common.core.controller.BaseController; import com.fastbee.common.core.domain.AjaxResult; import com.fastbee.common.enums.BusinessType; import com.fastbee.iot.domain.DeviceUser; import com.fastbee.iot.service.IDeviceUserService; import com.fastbee.common.core.page.TableDataInfo; /** * 设备用户Controller * * @author kerwincui * @date 2021-12-16 */ @Api(tags = "设备用户") @RestController @RequestMapping("/iot/deviceUser") public class DeviceUserController extends BaseController { @Autowired private IDeviceUserService deviceUserService; /** * 查询设备用户列表 */ @PreAuthorize("@ss.hasPermi('iot:device:list')") @GetMapping("/list") @ApiOperation("设备用户分页列表") public TableDataInfo list(DeviceUser deviceUser) { startPage(); List list = deviceUserService.selectDeviceUserList(deviceUser); return getDataTable(list); } /** * 获取设备分享用户信息 */ @GetMapping("/shareUser") public AjaxResult userList(DeviceUser user) { return AjaxResult.success(deviceUserService.selectShareUser(user)); } /** * 获取设备用户详细信息 根据deviceId 查询的话可能会查出多个 */ @PreAuthorize("@ss.hasPermi('iot:device:query')") @GetMapping(value = "/{deviceId}") @ApiOperation("获取设备用户详情") public AjaxResult getInfo(@PathVariable("deviceId") Long deviceId) { return AjaxResult.success(deviceUserService.selectDeviceUserByDeviceId(deviceId)); } /** * 获取设备用户详细信息 双主键 device_id 和 user_id */ @PreAuthorize("@ss.hasPermi('iot:device:query')") @GetMapping(value = "/{deviceId}/{userId}") @ApiOperation("获取设备用户详情,根据用户id 和 设备id") public AjaxResult getInfo(@PathVariable("deviceId") Long deviceId, @PathVariable("userId") Long userId) { return AjaxResult.success(deviceUserService.selectDeviceUserByDeviceIdAndUserId(deviceId, userId)); } /** * 新增设备用户 */ @PreAuthorize("@ss.hasPermi('iot:device:share')") @Log(title = "设备用户", businessType = BusinessType.INSERT) @PostMapping @ApiOperation("添加设备用户") public AjaxResult add(@RequestBody DeviceUser deviceUser) { return toAjax(deviceUserService.insertDeviceUser(deviceUser)); } /** * 新增多个设备用户 */ @PreAuthorize("@ss.hasPermi('iot:device:share')") @Log(title = "设备用户", businessType = BusinessType.INSERT) @PostMapping("/addDeviceUsers") @ApiOperation("批量添加设备用户") public AjaxResult addDeviceUsers(@RequestBody List deviceUsers) { return toAjax(deviceUserService.insertDeviceUserList(deviceUsers)); } /** * 修改设备用户 */ @ApiOperation("修改设备用户") @PreAuthorize("@ss.hasPermi('iot:device:edit')") @Log(title = "设备用户", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody DeviceUser deviceUser) { return toAjax(deviceUserService.updateDeviceUser(deviceUser)); } /** * 删除设备用户 */ @ApiOperation("删除设备用户") @PreAuthorize("@ss.hasPermi('iot:device:remove')") @Log(title = "设备用户", businessType = BusinessType.DELETE) @DeleteMapping public AjaxResult remove(@RequestBody DeviceUser deviceUser) { int count=deviceUserService.deleteDeviceUser(deviceUser); if(count==0){ return AjaxResult.error("设备所有者不能删除"); }else{ return AjaxResult.success(); } } }