167 lines
4.7 KiB
Java
167 lines
4.7 KiB
Java
package com.fuyuanshen.app.controller;
|
||
|
||
import com.alibaba.fastjson2.JSONObject;
|
||
import com.fuyuanshen.app.domain.bo.AppPersonnelInfoBo;
|
||
import com.fuyuanshen.app.domain.dto.APPReNameDTO;
|
||
import com.fuyuanshen.app.domain.dto.AppDeviceLogoUploadDto;
|
||
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.dto.AppDeviceSendMsgBo;
|
||
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 org.springframework.web.multipart.MultipartFile;
|
||
|
||
import java.util.List;
|
||
|
||
/**
|
||
* APP设备信息管理
|
||
*/
|
||
@Validated
|
||
@RequiredArgsConstructor
|
||
@RestController
|
||
@RequestMapping("/app/device")
|
||
public class AppDeviceController extends BaseController {
|
||
|
||
private final AppDeviceBizService appDeviceService;
|
||
|
||
|
||
/**
|
||
* 查询设备列表
|
||
*/
|
||
@GetMapping("/list")
|
||
public TableDataInfo<AppDeviceVo> list(DeviceQueryCriteria bo, PageQuery pageQuery) {
|
||
|
||
return appDeviceService.queryAppDeviceList(bo,pageQuery);
|
||
}
|
||
|
||
/**
|
||
* 绑定设备
|
||
*/
|
||
@PostMapping("/bind")
|
||
public R<Void> bind(@RequestBody AppDeviceBo bo) {
|
||
return toAjax(appDeviceService.bindDevice(bo));
|
||
}
|
||
|
||
|
||
/**
|
||
* 解绑设备
|
||
*/
|
||
@DeleteMapping("/unBind")
|
||
public R<Void> unBind(Long id) {
|
||
return toAjax(appDeviceService.unBindDevice(id));
|
||
}
|
||
|
||
/**
|
||
* 查询设备类型列表
|
||
*/
|
||
@GetMapping(value = "/typeList")
|
||
public R<List<APPDeviceTypeVo>> getTypeList() {
|
||
List<APPDeviceTypeVo> typeList = appDeviceService.getTypeList();
|
||
return R.ok(typeList);
|
||
}
|
||
|
||
/**
|
||
* 重命名设备
|
||
* @param reNameDTO
|
||
* @return
|
||
*/
|
||
@PostMapping(value = "/reName")
|
||
public R<String> reName(@Validated @RequestBody APPReNameDTO reNameDTO) {
|
||
appDeviceService.reName(reNameDTO);
|
||
return R.ok("重命名成功!!!");
|
||
}
|
||
|
||
/**
|
||
* 获取设备详细信息
|
||
*
|
||
* @param id 主键
|
||
*/
|
||
@GetMapping("/{id}")
|
||
public R<AppDeviceDetailVo> getInfo(@NotNull(message = "主键不能为空")
|
||
@PathVariable Long id) {
|
||
return R.ok(appDeviceService.getInfo(id));
|
||
}
|
||
|
||
/**
|
||
* 人员信息登记
|
||
*/
|
||
@PostMapping(value = "/registerPersonInfo")
|
||
public R<Void> registerPersonInfo(@Validated(AddGroup.class) @RequestBody AppPersonnelInfoBo bo) {
|
||
return toAjax(appDeviceService.registerPersonInfo(bo));
|
||
}
|
||
|
||
/**
|
||
* 发送信息
|
||
*/
|
||
@PostMapping(value = "/sendMessage")
|
||
public R<Void> sendMessage(@RequestBody AppDeviceSendMsgBo bo) {
|
||
return toAjax(appDeviceService.sendMessage(bo));
|
||
}
|
||
|
||
/**
|
||
* 上传设备logo图片
|
||
*/
|
||
@PostMapping("/uploadLogo")
|
||
public R<Void> upload(@Validated @ModelAttribute AppDeviceLogoUploadDto bo) {
|
||
|
||
MultipartFile file = bo.getFile();
|
||
if(file.getSize()>1024*1024*2){
|
||
return R.warn("图片不能大于2M");
|
||
}
|
||
appDeviceService.uploadDeviceLogo(bo);
|
||
|
||
return R.ok();
|
||
}
|
||
|
||
/**
|
||
* 灯光模式
|
||
* 0(关灯),1(强光模式),2(弱光模式), 3(爆闪模式), 4(泛光模式)
|
||
*/
|
||
@PostMapping("/lightModeSettings")
|
||
public R<Void> lightModeSettings(@RequestBody JSONObject params) {
|
||
appDeviceService.lightModeSettings(params);
|
||
return R.ok();
|
||
}
|
||
|
||
/**
|
||
* 灯光亮度设置
|
||
*
|
||
*/
|
||
@PostMapping("/lightBrightnessSettings")
|
||
public R<Void> lightBrightnessSettings(@RequestBody JSONObject params) {
|
||
appDeviceService.lightBrightnessSettings(params);
|
||
return R.ok();
|
||
}
|
||
|
||
/**
|
||
* 激光模式设置
|
||
*
|
||
*/
|
||
@PostMapping("/laserModeSettings")
|
||
public R<Void> laserModeSettings(@RequestBody JSONObject params) {
|
||
appDeviceService.laserModeSettings(params);
|
||
return R.ok();
|
||
}
|
||
|
||
/**
|
||
* 地图逆解析
|
||
*
|
||
*/
|
||
@PostMapping("/mapReverseGeocoding")
|
||
public R<Void> mapReverseGeocoding(@RequestBody JSONObject params) {
|
||
String mapJson = appDeviceService.mapReverseGeocoding(params);
|
||
return R.ok(mapJson);
|
||
}
|
||
}
|