package com.doumee.cloud.admin;
|
|
import com.doumee.api.BaseController;
|
import com.doumee.core.annotation.excel.ExcelExporter;
|
import com.doumee.core.annotation.pr.PreventRepeat;
|
import com.doumee.core.model.ApiResponse;
|
import com.doumee.core.model.PageData;
|
import com.doumee.core.model.PageWrap;
|
import com.doumee.core.utils.Constants;
|
import com.doumee.dao.business.dto.YwConditionerLockDTO;
|
import com.doumee.dao.business.dto.YwConditionerOperateDTO;
|
import com.doumee.dao.business.model.YwConditioner;
|
import com.doumee.dao.business.model.YwConditionerActions;
|
import com.doumee.service.business.YwConditionerService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import com.doumee.config.annotation.CloudRequiredPermission;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 空调设备信息
|
* @author renkang
|
* @date 2026/04/03
|
*/
|
@Api(tags = "空调设备信息")
|
@RestController
|
@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX + "/business/ywConditioner")
|
public class YwConditionerCloudController extends BaseController {
|
|
@Autowired
|
private YwConditionerService ywConditionerService;
|
|
@PreventRepeat
|
@ApiOperation("新建")
|
@PostMapping("/create")
|
@CloudRequiredPermission("business:ywconditioner:create")
|
public ApiResponse create(@RequestBody YwConditioner ywConditioner, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
|
ywConditioner.setLoginUserInfo(this.getLoginUser(token));
|
return ApiResponse.success(ywConditionerService.create(ywConditioner));
|
}
|
|
@ApiOperation("根据ID删除")
|
@GetMapping("/delete/{id}")
|
@CloudRequiredPermission("business:ywconditioner:delete")
|
public ApiResponse deleteById(@PathVariable Integer id, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
|
ywConditionerService.deleteById(id, this.getLoginUser(token));
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("批量删除")
|
@GetMapping("/delete/batch")
|
@CloudRequiredPermission("business:ywconditioner:delete")
|
public ApiResponse deleteByIdInBatch(@RequestParam String ids, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
|
String[] idArray = ids.split(",");
|
List<Integer> idList = new ArrayList<>();
|
for (String id : idArray) {
|
idList.add(Integer.valueOf(id));
|
}
|
ywConditionerService.deleteByIdInBatch(idList, this.getLoginUser(token));
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("根据ID修改")
|
@PostMapping("/updateById")
|
@CloudRequiredPermission("business:ywconditioner:update")
|
public ApiResponse updateById(@RequestBody YwConditioner ywConditioner, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
|
ywConditioner.setLoginUserInfo(this.getLoginUser(token));
|
ywConditionerService.updateById(ywConditioner);
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("分页查询")
|
@PostMapping("/page")
|
@CloudRequiredPermission("business:ywconditioner:query")
|
public ApiResponse<PageData<YwConditioner>> findPage(@RequestBody PageWrap<YwConditioner> pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
|
pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
|
return ApiResponse.success(ywConditionerService.findPage(pageWrap));
|
}
|
|
@ApiOperation("根据ID查询")
|
@GetMapping("/{id}")
|
@CloudRequiredPermission("business:ywconditioner:query")
|
public ApiResponse findById(@PathVariable Integer id, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
|
return ApiResponse.success(ywConditionerService.findById(id));
|
}
|
|
@ApiOperation("导出Excel")
|
@PostMapping("/exportExcel")
|
@CloudRequiredPermission("business:ywconditioner:exportExcel")
|
public void exportExcel(@RequestBody PageWrap<YwConditioner> pageWrap, HttpServletResponse response, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
|
pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
|
ExcelExporter.build(YwConditioner.class).export(ywConditionerService.findPage(pageWrap).getRecords(), "空调设备信息", response);
|
}
|
|
@ApiOperation("卡片分页")
|
@PostMapping("/cardPage")
|
@CloudRequiredPermission("business:ywconditioner:query")
|
public ApiResponse<PageData<YwConditioner>> findCardPage(@RequestBody PageWrap<YwConditioner> pageWrap,
|
@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
|
if (pageWrap.getModel() != null) {
|
pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
|
}
|
return ApiResponse.success(ywConditionerService.findCardPage(pageWrap));
|
}
|
|
@PreventRepeat
|
@ApiOperation("全量同步")
|
@PostMapping("/syncAll")
|
@CloudRequiredPermission("business:ywconditioner:sync")
|
public ApiResponse<String> syncAll(@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
|
return ApiResponse.success(ywConditionerService.syncAll());
|
}
|
|
@PreventRepeat
|
@ApiOperation("同步设备与状态")
|
@PostMapping("/syncDevicesAndStatus")
|
@CloudRequiredPermission("business:ywconditioner:sync")
|
public ApiResponse<String> syncDevicesAndStatus(@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
|
return ApiResponse.success(ywConditionerService.syncDevicesAndStatus());
|
}
|
|
@ApiOperation("设备控制")
|
@PostMapping("/operate")
|
@CloudRequiredPermission("business:ywconditioner:operate")
|
public ApiResponse<String> operate(@RequestBody YwConditionerOperateDTO dto,
|
@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
|
return ApiResponse.success(ywConditionerService.operate(dto, this.getLoginUser(token)));
|
}
|
|
@ApiOperation("设备锁定")
|
@PostMapping("/lock")
|
@CloudRequiredPermission("business:ywconditioner:operate")
|
public ApiResponse<String> lock(@RequestBody YwConditionerLockDTO dto,
|
@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
|
return ApiResponse.success(ywConditionerService.lock(dto, this.getLoginUser(token)));
|
}
|
|
@ApiOperation("单设备控制历史")
|
@PostMapping("/historyPage")
|
@CloudRequiredPermission("business:ywconditioner:query")
|
public ApiResponse<PageData<YwConditionerActions>> historyPage(@RequestBody PageWrap<YwConditionerActions> pageWrap,
|
@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
|
if (pageWrap.getModel() != null) {
|
pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
|
}
|
return ApiResponse.success(ywConditionerService.historyPage(pageWrap));
|
}
|
|
@ApiOperation("网关下拉")
|
@GetMapping("/gatewayOptions")
|
@CloudRequiredPermission("business:ywconditioner:query")
|
public ApiResponse<List<Map<String, Object>>> gatewayOptions(@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
|
return ApiResponse.success(ywConditionerService.gatewayOptions());
|
}
|
}
|