feat: 添加Omada初始化任务
This commit is contained in:
@@ -24,7 +24,7 @@ import org.wfc.common.log.enums.BusinessType;
|
||||
import org.wfc.common.security.utils.SecurityUtils;
|
||||
import org.wfc.job.domain.SysJob;
|
||||
import org.wfc.job.service.ISysJobService;
|
||||
import org.wfc.job.task.CdrInfoTask;
|
||||
import org.wfc.job.task.OmadaTask;
|
||||
import org.wfc.job.util.CronUtils;
|
||||
import org.wfc.job.util.ScheduleUtils;
|
||||
|
||||
@@ -44,7 +44,7 @@ public class SysJobController extends BaseController
|
||||
private ISysJobService jobService;
|
||||
|
||||
@Autowired
|
||||
private CdrInfoTask cdrInfoTask;
|
||||
private OmadaTask omadaTask;
|
||||
|
||||
/**
|
||||
* 查询定时任务列表
|
||||
@@ -175,8 +175,8 @@ public class SysJobController extends BaseController
|
||||
public AjaxResult run(@RequestBody SysJob job) throws SchedulerException
|
||||
{
|
||||
SysJob sysJob = jobService.selectJobById(job.getJobId());
|
||||
if (sysJob != null && sysJob.getInvokeTarget().contains("cdrInfoTask")) {
|
||||
R<Boolean> omadaResult = cdrInfoTask.testOmadaApi();
|
||||
if (sysJob != null && sysJob.getInvokeTarget().contains("omadaTask")) {
|
||||
R<Boolean> omadaResult = omadaTask.testOmadaApi();
|
||||
if (omadaResult.getCode() != 200) {
|
||||
return error(omadaResult.getMsg());
|
||||
}
|
||||
|
||||
@@ -8,13 +8,13 @@ import org.wfc.system.api.RemoteUserService;
|
||||
import org.wfc.user.api.RemoteUUserService;
|
||||
|
||||
/**
|
||||
* @description: 话单信息任务
|
||||
* @description: omada任务
|
||||
* @author: cyc
|
||||
* @since: 2024-12-10
|
||||
* @since: 2025-01-16
|
||||
*/
|
||||
@Slf4j
|
||||
@Component("cdrInfoTask")
|
||||
public class CdrInfoTask {
|
||||
@Component("omadaTask")
|
||||
public class OmadaTask {
|
||||
|
||||
@Autowired
|
||||
private RemoteUUserService remoteUUserService;
|
||||
@@ -22,7 +22,7 @@ public class CdrInfoTask {
|
||||
@Autowired
|
||||
private RemoteUserService remoteUserService;
|
||||
|
||||
public void addCdrInfo() {
|
||||
public void syncJob() {
|
||||
long startTime = System.currentTimeMillis();
|
||||
remoteUserService.deviceJob();
|
||||
remoteUUserService.addCdrInfoByOmadaApi();
|
||||
@@ -33,4 +33,8 @@ public class CdrInfoTask {
|
||||
public R<Boolean> testOmadaApi() {
|
||||
return remoteUserService.deviceJob();
|
||||
}
|
||||
|
||||
public R<Boolean> initJob() {
|
||||
return remoteUserService.settingJob();
|
||||
}
|
||||
}
|
||||
@@ -74,4 +74,8 @@ public class SysDeviceController extends BaseController {
|
||||
return toAjax(sysDeviceService.deviceJob());
|
||||
}
|
||||
|
||||
@PostMapping("/settingJob")
|
||||
public AjaxResult settingJob() {
|
||||
return toAjax(sysDeviceService.settingJob());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,4 +14,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
public interface ISysDeviceService extends IService<SysDevice> {
|
||||
|
||||
boolean deviceJob();
|
||||
|
||||
boolean settingJob();
|
||||
}
|
||||
|
||||
@@ -6,11 +6,14 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.wfc.common.redis.service.RedisService;
|
||||
import org.wfc.omada.api.device.OmadaDeviceApi;
|
||||
import org.wfc.omada.api.device.model.DeviceInfo;
|
||||
import org.wfc.omada.api.device.model.OperationResponseGridVoDeviceInfo;
|
||||
import org.wfc.omada.api.maintenance.OmadaHistoryDataRetentionApi;
|
||||
import org.wfc.omada.api.maintenance.model.HistoryRetentionOpenApiVo;
|
||||
import org.wfc.omada.api.maintenance.model.ModifyHistoryRetentionOpenApiVo;
|
||||
import org.wfc.omada.api.maintenance.model.OperationResponseHistoryRetentionOpenApiVo;
|
||||
import org.wfc.omada.api.organization.OmadaSiteApi;
|
||||
import org.wfc.omada.api.organization.model.OperationResponseGridVoSiteSummaryInfo;
|
||||
import org.wfc.omada.api.organization.model.SiteSummaryInfo;
|
||||
@@ -40,6 +43,9 @@ public class SysDeviceServiceImpl extends ServiceImpl<SysDeviceMapper, SysDevice
|
||||
@Autowired
|
||||
private OmadaDeviceApi omadaDeviceApi;
|
||||
|
||||
@Autowired
|
||||
private OmadaHistoryDataRetentionApi omadaHistoryDataRetentionApi;
|
||||
|
||||
@Autowired
|
||||
private RedisService redisService;
|
||||
|
||||
@@ -47,7 +53,7 @@ public class SysDeviceServiceImpl extends ServiceImpl<SysDeviceMapper, SysDevice
|
||||
private static final String REDIS_REFRESH_TOKEN = "wfc-api-omada:refresh-token";
|
||||
private static final int OMADA_ERROR_CODE = -44112;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
// @Transactional(rollbackFor = Exception.class)
|
||||
public boolean deviceJob() {
|
||||
ResponseEntity<OperationResponseGridVoSiteSummaryInfo> siteList = omadaSiteApi.getSiteList(1, 1000);
|
||||
if (siteList.getBody() == null) {
|
||||
@@ -58,6 +64,7 @@ public class SysDeviceServiceImpl extends ServiceImpl<SysDeviceMapper, SysDevice
|
||||
redisService.deleteObject(REDIS_ACCESS_TOKEN);
|
||||
redisService.deleteObject(REDIS_REFRESH_TOKEN);
|
||||
}
|
||||
settingJob();
|
||||
List<SiteSummaryInfo> sites = siteList.getBody().getResult().getData();
|
||||
for (SiteSummaryInfo site : sites) {
|
||||
ResponseEntity<OperationResponseGridVoDeviceInfo> deviceList = omadaDeviceApi.getDeviceList(site.getSiteId(), 1, 1000);
|
||||
@@ -84,4 +91,27 @@ public class SysDeviceServiceImpl extends ServiceImpl<SysDeviceMapper, SysDevice
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean settingJob() {
|
||||
// 启用Omada历史记录保留
|
||||
ResponseEntity<OperationResponseHistoryRetentionOpenApiVo> dataRetentionRes = omadaHistoryDataRetentionApi.getDataRetention();
|
||||
if (dataRetentionRes.getBody() == null) {
|
||||
return false;
|
||||
}
|
||||
HistoryRetentionOpenApiVo historyRetention = dataRetentionRes.getBody().getResult();
|
||||
|
||||
if (!historyRetention.getClientsDataEnable()) {
|
||||
ModifyHistoryRetentionOpenApiVo modify = new ModifyHistoryRetentionOpenApiVo();
|
||||
modify.setClientsDataEnable(true);
|
||||
modify.setClientHistory(31);
|
||||
modify.setKnownClient(31);
|
||||
modify.setDaily(90);
|
||||
modify.setWeekly(180);
|
||||
modify.setPortalAuth(31);
|
||||
modify.setLog(31);
|
||||
modify.setRogueAp(31);
|
||||
omadaHistoryDataRetentionApi.modifyRetention(modify);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user