package com.care.bms.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.care.bms.service.DeviceService; import com.care.common.annotation.Permission; import com.care.common.exception.BDException; import com.care.common.util.PageResult; import com.care.common.util.Result; import com.care.common.util.WebPageUtils; import com.care.common.vo.PageReqVO; import com.care.common.vo.UserLogindConvertVO; import com.care.common.vo.device.DeviceVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.List; /** * @Author: lilt * @Date: 2021/5/26 * @Desc: */ @RestController @Api(value = "DeviceController", tags = { "设备管理" }) @Slf4j @RequestMapping("/bms/Device") @Permission public class DeviceController { @Autowired private DeviceService deviceService; @GetMapping("/list") @ApiOperation(value = "设备列表分页") @ApiImplicitParams(value = { @ApiImplicitParam(paramType = "query", name = "status", value = "状态"), @ApiImplicitParam(paramType = "query", name = "houseAddr", value = "地址"), @ApiImplicitParam(paramType = "query", name = "stationId", value = "服务站ID"), }) public PageResult> listDevice(HttpServletRequest request, @RequestHeader(value = "token") String token, @RequestParam(value = "status", required = false) String status, @RequestParam(value = "houseAddr", required = false) String houseAddr, @RequestParam(value = "devCode", required = false) String devCode, @RequestParam(value = "stationId", required = false) Long stationId, PageReqVO pageReqVo){ try { UserLogindConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request); IPage pageResponse = this.deviceService.listDevice(houseAddr,stationId,status,devCode,loginUser ,pageReqVo); return PageResult.success(pageResponse.getRecords(),pageResponse.getCurrent(),pageResponse.getSize(),pageResponse.getTotal()); }catch (BDException e) { log.error("设备列表查询-分页列表出现异常",e); return PageResult.error(e.getMessage()); } catch (Exception e) { log.error("设备管理: 设备列表查询出现异常",e); return PageResult.error( "获取列表失败"); } } @PostMapping("/add") @ApiOperation(value = "新增设备") public Result addDevice(HttpServletRequest request,@RequestHeader("token") String token, @RequestBody DeviceVO vo){ try { UserLogindConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request); this.deviceService.createDevice(vo,loginUser); return Result.success("新增成功!"); }catch (BDException e) { log.error("新增设备-出现异常",e); return Result.error(e.getMessage()); } catch (Exception e) { log.error("设备管理: 新增设备出现异常",e); return Result.error("新增失败!"); } } @PostMapping("/update") @ApiOperation(value = "新增设备") public Result update(HttpServletRequest request,@RequestHeader("token") String token, @RequestBody DeviceVO vo){ try { this.deviceService.updateDevice(vo); return Result.success("修改成功!"); }catch (BDException e) { log.error("修改设备-出现异常",e); return Result.error(e.getMessage()); } catch (Exception e) { log.error("设备管理: 修改设备出现异常",e); return Result.error("修改失败!"); } } @GetMapping("/getDeviceInfo/{deviceId}") @ApiOperation(value = "详情") public Result getDeviceInfo(HttpServletRequest request,@RequestHeader("token") String token,@PathVariable("deviceId") Long deviceId){ DeviceVO orderInfo = this.deviceService.getDevById(deviceId); return Result.success("查询成功!",orderInfo); } @PostMapping("/del/{deviceId}") @ApiOperation(value = "删除设备") public Result delete(HttpServletRequest request,@RequestHeader("token") String token, @PathVariable("deviceId") Long deviceId){ try { this.deviceService.deleteById(deviceId); return Result.success("删除成功!"); } catch (Exception e) { log.error("设备管理: 删除出现异常",e); return Result.error("删除失败!"); } } }