package com.fuyuanshen.app.controller; import com.fuyuanshen.app.domain.bo.AppPersonnelInfoBo; import com.fuyuanshen.app.domain.dto.APPReNameDTO; import com.fuyuanshen.app.domain.vo.APPDeviceTypeVo; import com.fuyuanshen.app.domain.vo.AppDeviceDetailVo; import com.fuyuanshen.app.service.AppDeviceBizService; import com.fuyuanshen.common.core.domain.R; import com.fuyuanshen.common.core.validate.AddGroup; import com.fuyuanshen.common.mybatis.core.page.PageQuery; import com.fuyuanshen.common.mybatis.core.page.TableDataInfo; import com.fuyuanshen.common.web.core.BaseController; import com.fuyuanshen.equipment.domain.dto.AppDeviceBo; import com.fuyuanshen.equipment.domain.query.DeviceQueryCriteria; import com.fuyuanshen.equipment.domain.vo.AppDeviceVo; import jakarta.validation.constraints.NotNull; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; /** * APP设备信息管理 */ @Validated @RequiredArgsConstructor @RestController @RequestMapping("/app/device") public class AppDeviceController extends BaseController { private final AppDeviceBizService appDeviceService; /** * 查询设备列表 */ @GetMapping("/list") public TableDataInfo list(DeviceQueryCriteria bo, PageQuery pageQuery) { return appDeviceService.queryAppDeviceList(bo,pageQuery); } /** * 绑定设备 */ @PostMapping("/bind") public R bind(@RequestBody AppDeviceBo bo) { return toAjax(appDeviceService.bindDevice(bo)); } /** * 解绑设备 */ @DeleteMapping("/unBind") public R unBind(Long id) { return toAjax(appDeviceService.unBindDevice(id)); } /** * 查询设备类型列表 */ @GetMapping(value = "/typeList") public R> getTypeList() { List typeList = appDeviceService.getTypeList(); return R.ok(typeList); } /** * 重命名设备 * @param reNameDTO * @return */ @PostMapping(value = "/reName") public R reName(@Validated @RequestBody APPReNameDTO reNameDTO) { appDeviceService.reName(reNameDTO); return R.ok("重命名成功!!!"); } /** * 获取设备详细信息 * * @param id 主键 */ @GetMapping("/{id}") public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) { return R.ok(appDeviceService.getInfo(id)); } /** * 人员信息登记 */ @PostMapping(value = "/registerPersonInfo") public R registerPersonInfo(@Validated(AddGroup.class) @RequestBody AppPersonnelInfoBo bo) { return toAjax(appDeviceService.registerPersonInfo(bo)); } /** * 发送信息 */ @PostMapping(value = "/sendMessage") public R sendMessage(@RequestBody AppDeviceBo bo) { return toAjax(appDeviceService.sendMessage(bo)); } }