doum
2026-06-18 93de43267e1663031fe5dc2f5ae40d128a182a76
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwConditionerCloudController.java
@@ -7,7 +7,11 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.dto.YwConditionerEditDTO;
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;
@@ -18,6 +22,7 @@
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
 * 空调设备信息
@@ -93,4 +98,91 @@
        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());
    }
    @ApiOperation("空调设备管理分页")
    @PostMapping("/deviceManagePage")
    @CloudRequiredPermission("business:ywconditioner:query")
    public ApiResponse<PageData<YwConditioner>> deviceManagePage(@RequestBody PageWrap<YwConditioner> pageWrap,
                                                                 @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        return ApiResponse.success(ywConditionerService.findDeviceManagePage(pageWrap));
    }
    @ApiOperation("空调设备管理详情")
    @GetMapping("/manageDetail/{id}")
    @CloudRequiredPermission("business:ywconditioner:update")
    public ApiResponse<YwConditionerEditDTO> manageDetail(@PathVariable Integer id,
                                                            @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        return ApiResponse.success(ywConditionerService.getManageDetail(id));
    }
    @PreventRepeat
    @ApiOperation("保存空调房源关联")
    @PostMapping("/saveManageDetail")
    @CloudRequiredPermission("business:ywconditioner:update")
    public ApiResponse<Void> saveManageDetail(@RequestBody YwConditionerEditDTO dto,
                                              @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        ywConditionerService.updateManageDetail(dto, this.getLoginUser(token));
        return ApiResponse.success(null);
    }
}