From 275bcf975a288730b7e3c26f67fe484bc33f0510 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 12 六月 2025 08:51:33 +0800
Subject: [PATCH] 代码优化
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/DeviceSiteServiceImpl.java | 78 +++++++++++++++++++++++++++++++++++++++
1 files changed, 78 insertions(+), 0 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 e19660b..467a9e9 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,12 +1,90 @@
package com.vincent.rsf.server.manager.service.impl;
+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;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Objects;
@Service("deviceSiteService")
public class DeviceSiteServiceImpl extends ServiceImpl<DeviceSiteMapper, DeviceSite> implements DeviceSiteService {
+ @Autowired
+ private BasStationService basStationService;
+
+
+ /**
+ * 鍒濆鍖栫珯鐐�
+ * @param param
+ * @return
+ */
+ @Override
+ public boolean initSites(DeviceSiteParame param) {
+ if (param.getFlagInit() == 1) {
+ 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.getSite()) || StringUtils.isBlank(param.getSite())) {
+ throw new CoolException("鍒濆鍖栧け璐�: 浣滀笟绔欑偣涓嶈兘涓虹┖锛侊紒");
+ }
+ if (Objects.isNull(param.getTypeIds()) || param.getTypeIds().isEmpty()) {
+ throw new CoolException("鍒濆鍖栧け璐ワ細 浣滀笟绫诲瀷涓嶈兘涓虹┖锛侊紒");
+ }
+ 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.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, site));
+ if (null == basStation) {
+ throw new CoolException("鍒濆鍖栧け璐ワ細 绔欑偣鏈壘鍒帮紒锛�");
+ }
+ for (String deviceSite : dvSites) {
+ BasStation basStation2 = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, deviceSite));
+ if (null == basStation2) {
+ throw new CoolException("鍒濆鍖栧け璐ワ細 浣滀笟绔欑偣鏈壘鍒帮紒锛�");
+ }
+ for (Long id : param.getTypeIds()) {
+ for (String target : targets) {
+ DeviceSite site1 = new DeviceSite();
+ site1.setType(id + "")
+ .setSite(site)
+ .setDevice(param.getDeviceType())
+ .setDeviceSite(deviceSite)
+ .setTarget(target)
+ .setDeviceCode(param.getDeviceCode())
+ .setChannel(param.getChannel())
+ ;
+ deviceSites.add(site1);
+ }
+ }
+ }
+ }
+ if (!this.saveBatch(deviceSites)) {
+ throw new CoolException("鍒濆鍖栧け璐ワ細 鏁版嵁淇濆瓨澶辫触锛侊紒");
+ }
+ return true;
+ }
}
--
Gitblit v1.9.1