From 9fe1ec3afe8696c628d076d1f76686c4efc3012e Mon Sep 17 00:00:00 2001
From: zc <zyzc>
Date: 星期二, 21 十月 2025 10:49:55 +0800
Subject: [PATCH] 容器初始化功能优化
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/DeviceSiteServiceImpl.java | 50 ++++++++++++++++++++++++++++++++++++++------------
1 files changed, 38 insertions(+), 12 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/DeviceSiteServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/DeviceSiteServiceImpl.java
index 33a5a6c..ac8e42a 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/DeviceSiteServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/DeviceSiteServiceImpl.java
@@ -1,14 +1,16 @@
package com.vincent.rsf.server.manager.service.impl;
-import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.manager.controller.params.DeviceSiteParame;
+import com.vincent.rsf.server.manager.entity.BasStation;
import com.vincent.rsf.server.manager.mapper.DeviceSiteMapper;
import com.vincent.rsf.server.manager.entity.DeviceSite;
+import com.vincent.rsf.server.manager.service.BasStationService;
import com.vincent.rsf.server.manager.service.DeviceSiteService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
@@ -19,6 +21,10 @@
@Service("deviceSiteService")
public class DeviceSiteServiceImpl extends ServiceImpl<DeviceSiteMapper, DeviceSite> implements DeviceSiteService {
+ @Autowired
+ private BasStationService basStationService;
+
+
/**
* 鍒濆鍖栫珯鐐�
* @param param
@@ -27,32 +33,52 @@
@Override
public boolean initSites(DeviceSiteParame param) {
if (param.getFlagInit() == 1) {
- if (!this.remove(new LambdaQueryWrapper<>())) {
- throw new CoolException("鍒濆鍖栧け璐ワ細 鍒犻櫎绔欑偣澶辫触锛侊紒");
+ List<DeviceSite> list = this.list(new LambdaQueryWrapper<DeviceSite>().select(DeviceSite::getId).last("limit 1"));
+ if (!list.isEmpty()) {
+ if (!this.remove(new LambdaQueryWrapper<>())) {
+ throw new CoolException("鍒濆鍖栧け璐ワ細 鍒犻櫎绔欑偣澶辫触锛侊紒");
+ }
}
}
if (Objects.isNull(param.getDeviceSites()) || StringUtils.isBlank(param.getDeviceSites())) {
throw new CoolException("鍒濆鍖栧け璐ワ細 璁惧浣滀笟绔欑偣涓嶈兘涓虹┖锛侊紒");
}
- if (Objects.isNull(param.getSites()) || StringUtils.isBlank(param.getSites())) {
+ if (Objects.isNull(param.getSite()) || StringUtils.isBlank(param.getSite())) {
throw new CoolException("鍒濆鍖栧け璐�: 浣滀笟绔欑偣涓嶈兘涓虹┖锛侊紒");
}
if (Objects.isNull(param.getTypeIds()) || param.getTypeIds().isEmpty()) {
throw new CoolException("鍒濆鍖栧け璐ワ細 浣滀笟绫诲瀷涓嶈兘涓虹┖锛侊紒");
}
- List<String> sites = Arrays.asList(StringUtils.split(param.getSites(), ","));
+ if (Objects.isNull(param.getTarget()) || param.getTarget().isEmpty()) {
+ throw new CoolException("鍒濆鍖栧け璐ワ細 鐩爣绔欑偣涓嶈兘涓虹┖锛侊紒");
+ }
+ List<String> sites = Arrays.asList(StringUtils.split(param.getSite(), ","));
List<String> dvSites = Arrays.asList(StringUtils.split(param.getDeviceSites(), ","));
+ List<String> targets = Arrays.asList(StringUtils.split(param.getTarget(), ","));
List<DeviceSite> deviceSites = new ArrayList<>();
for (String site : sites) {
+ BasStation basStation = basStationService.getById(site);
+ if (null == basStation) {
+ throw new CoolException("鍒濆鍖栧け璐ワ細 绔欑偣鏈壘鍒帮紒锛�");
+ }
for (String deviceSite : dvSites) {
+ BasStation basStation2 = basStationService.getById(deviceSite);
+ if (null == basStation2) {
+ throw new CoolException("鍒濆鍖栧け璐ワ細 浣滀笟绔欑偣鏈壘鍒帮紒锛�");
+ }
for (Long id : param.getTypeIds()) {
- DeviceSite site1 = new DeviceSite();
- site1.setType(id + "")
- .setSite(site)
- .setDevice(param.getDeviceType())
- .setDeviceSite(deviceSite)
- .setDeviceCode(param.getDeviceCode());
- deviceSites.add(site1);
+ for (String target : targets) {
+ DeviceSite site1 = new DeviceSite();
+ site1.setType(id + "")
+ .setSite(basStation.getStationName())
+ .setDevice(param.getDeviceType())
+ .setDeviceSite(basStation2.getStationName())
+ .setTarget(target)
+ .setDeviceCode(param.getDeviceCode())
+ .setChannel(param.getChannel())
+ ;
+ deviceSites.add(site1);
+ }
}
}
}
--
Gitblit v1.9.1