package com.estate.expert.admin.controller.admin;
|
|
import com.estate.expert.admin.domain.business.device.DeviceType;
|
import com.estate.expert.admin.domain.business.device.usage.DeviceUsageDto;
|
import com.estate.expert.admin.domain.common.request.BatchReq;
|
import com.estate.expert.admin.domain.common.request.PageReq;
|
import com.estate.expert.admin.domain.user.User;
|
import com.estate.expert.admin.enums.BizResultCode;
|
import com.estate.expert.admin.service.DeviceUsageService;
|
import com.estate.expert.common.domain.Session;
|
import com.estate.expert.common.rpc.Result;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiParam;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
|
@Api("管理后台/项目设备管理")
|
@Slf4j
|
@CrossOrigin
|
@RestController
|
@RequestMapping("/admin/project/device/usage")
|
@Validated
|
public class DeviceUsageController {
|
|
@Resource
|
private DeviceUsageService deviceUsageService;
|
|
/**
|
* 项目设备列表
|
*/
|
@ApiOperation(value = "项目设备列表", notes = "获取项目中的设备列表")
|
@PostMapping("/list")
|
public Result deviceList(@RequestParam(value = "projectId") Integer projectId,
|
@RequestParam(value = "deviceType", required = false) DeviceType deviceType,
|
@RequestBody PageReq pageReq){
|
return Result.success(deviceUsageService.listUsages(projectId, deviceType, pageReq));
|
}
|
|
@ApiOperation(value = "项目设备使用记录")
|
@PostMapping("/history")
|
public Result deviceHistoryList(@RequestParam(value = "projectId") Integer projectId,
|
@RequestParam(value = "deviceType", required = false) DeviceType deviceType,
|
@RequestBody PageReq pageReq){
|
return Result.success(deviceUsageService.history(projectId, deviceType, pageReq));
|
}
|
|
@ApiOperation(value = "项目设备信息", notes = "获取项目中的设备安装信息")
|
@GetMapping("/get")
|
public Result get(@RequestParam(value = "deviceUsageId") Integer id)
|
{
|
var usage = deviceUsageService.get(id);
|
BizResultCode.DEVICE_USAGE_NOT_EXISTED.check(usage == null);
|
return Result.success(deviceUsageService.toDto(usage));
|
}
|
|
/**
|
* 项目设备拆除
|
*/
|
@ApiOperation(value = "项目设备拆除", notes = "将设备从项目中拆除,保留使用记录")
|
@PostMapping("/batch/del")
|
public Result del(@Validated @RequestBody BatchReq request){
|
deviceUsageService.deleteAllById(request.getIds());
|
return Result.success();
|
|
}
|
@ApiOperation(value = "项目设备移除", notes = "将设备从项目中移除,删除使用记录")
|
@PostMapping("/batch/remove")
|
public Result remove(@Validated @RequestBody BatchReq request){
|
deviceUsageService.removeById(request.getIds());
|
return Result.success();
|
}
|
|
@ApiOperation(value = "项目设备安装", notes = "将设备引入项目中")
|
@PostMapping("/add")
|
public Result add(@ApiParam(hidden = true) Session session,
|
@Validated @RequestBody DeviceUsageDto dto) {
|
deviceUsageService.add((User)session.getUser(), dto);
|
return Result.success();
|
}
|
|
@ApiOperation(value = "项目设备更新", notes = "更新项目中的设备信息")
|
@PostMapping("/edit")
|
public Result edit(@Validated @RequestBody DeviceUsageDto dto) {
|
deviceUsageService.edit(dto);
|
return Result.success();
|
}
|
}
|