This commit is contained in:
2026-08-06 10:17:03 +08:00
parent e5623fefb9
commit 21c3c529d2
7 changed files with 66 additions and 0 deletions

View File

@@ -170,6 +170,7 @@ public class SysLoginController {
ajax.put("avatar",avatar);
if (sysUser != null) {
ajax.put("roleId",sysUser.getRoleId());
ajax.put("roleKey",sysUser.getRoleKey());
ajax.put("siteId",sysUser.getSiteId());
ajax.put("orgId",sysUser.getOrgId());
aiChatNum = sysUser.getAiChatNum();

View File

@@ -85,6 +85,10 @@ public class CacheConstants
/**设备OTA升级实时数据*/
public static final String DEVICE_OTA_DATA = "device:ota:";
/**设备OTA升级实时数据*/
public static final String DEVICE_PARAM_AUTH = "device:param_auth:";
}

View File

@@ -1,6 +1,7 @@
package com.maibu.core.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.maibu.annotation.Excel;
@@ -162,6 +163,10 @@ public class SysUser extends BaseDO {
private Long roleId;
@TableField(exist = false)
private String roleKey;
@ApiModelProperty("sessionId")
private String sessionId;

View File

@@ -7,6 +7,7 @@ import com.maibu.core.business.dto.DeviceBindDTO;
import com.maibu.core.controller.BaseController;
import com.maibu.core.domain.AjaxResult;
import com.maibu.core.page.TableDataInfo;
import com.maibu.dto.DeviceParamAuthDTO;
import com.maibu.enums.BusinessType;
import com.maibu.mapper.DeviceRunStatisticsMapper;
import com.maibu.mybatis.LambdaQueryWrapperX;
@@ -280,5 +281,21 @@ public class DeviceController extends BaseController {
return getDataTable(deviceService.getDeviceList(getLoginUser(), device));
}
/**
* 设备授权修改
*/
@PostMapping("/paramModifyAuth")
public AjaxResult paramModifyAuth(@RequestBody DeviceParamAuthDTO dto) {
return AjaxResult.success(deviceService.paramModifyAuth(dto));
}
/**
* 查看当前设备有没授权修改参数
*/
@GetMapping("/hasPermission")
public AjaxResult hasPermission(@RequestParam String deviceId) {
return AjaxResult.success(deviceService.hasPermission(deviceId));
}
}

View File

@@ -0,0 +1,11 @@
package com.maibu.dto;
import lombok.Data;
@Data
public class DeviceParamAuthDTO {
private String deviceId;
private Integer duration;
}

View File

@@ -4,6 +4,7 @@ import com.maibu.core.business.Device;
import com.maibu.core.business.dto.DeviceBindDTO;
import com.maibu.core.domain.AjaxResult;
import com.maibu.core.domain.model.LoginUser;
import com.maibu.dto.DeviceParamAuthDTO;
import java.util.List;
@@ -91,4 +92,8 @@ public interface IDeviceService {
public List<Device> getDeviceList(LoginUser loginUser, Device device);
public boolean paramModifyAuth(DeviceParamAuthDTO dto);
public boolean hasPermission(String deviceId);
}

View File

@@ -7,10 +7,13 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import com.maibu.constant.CacheConstants;
import com.maibu.dto.DeviceParamAuthDTO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -379,4 +382,24 @@ public class DeviceServiceImpl implements IDeviceService {
return deviceList;
}
@Override
public boolean paramModifyAuth(DeviceParamAuthDTO dto) {
if (dto != null && !StringUtils.isEmpty(dto.getDeviceId())) {
Integer duration = dto.getDuration() == null ? 10 : dto.getDuration();
String key = CacheConstants.DEVICE_PARAM_AUTH + dto.getDeviceId();
redisCache.setCacheObject(key, System.currentTimeMillis(), duration, TimeUnit.MINUTES);
return true;
}
return false;
}
@Override
public boolean hasPermission(String deviceId) {
if (!StringUtils.isEmpty(deviceId)) {
String key = CacheConstants.DEVICE_PARAM_AUTH + deviceId;
return redisCache.hasKey(key);
}
return false;
}
}