From a02c3f8daea735db320a8febecb0fb37b7bc5051 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 20 六月 2025 15:54:54 +0800
Subject: [PATCH] 站点播种获取优化
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/controller/WaveManagentController.java | 10 ++++
zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/HttpUtils.java | 27 +++++++++++++
zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/Impl/WaveManagentServiceImpl.java | 21 +++++++---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/utils/HttpEssUtils.java | 2 +
zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/Impl/WcsApiServiceImpl.java | 8 +++-
zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/WaveManagentService.java | 4 +
6 files changed, 62 insertions(+), 10 deletions(-)
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/controller/WaveManagentController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/controller/WaveManagentController.java
index 2e98334..c62d794 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/controller/WaveManagentController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/controller/WaveManagentController.java
@@ -8,15 +8,22 @@
import com.zy.asrs.wms.apis.wcs.services.WaveManagentService;
import com.zy.asrs.wms.asrs.entity.param.WaveSeedReviewParam;
import com.zy.asrs.wms.system.controller.BaseController;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+import javax.servlet.http.HttpServletRequest;
import java.util.Map;
import java.util.Objects;
+
+import static com.zy.asrs.wms.utils.HttpUtils.getClientIpAddress;
/**
* 澶у睆鎿嶄綔鍩烘湰鍔熻兘
*/
+@Slf4j
@RestController
@RequestMapping("/wave")
public class WaveManagentController extends BaseController {
@@ -74,7 +81,8 @@
*/
@GetMapping("/seed/locs")
public R getSeedLoc() {
- return waveManagentService.AllSeedLocs();
+ HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+ return waveManagentService.AllSeedLocs(request);
}
/***
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/Impl/WaveManagentServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/Impl/WaveManagentServiceImpl.java
index b59a34e..fff757e 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/Impl/WaveManagentServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/Impl/WaveManagentServiceImpl.java
@@ -7,6 +7,7 @@
import com.zy.asrs.wms.apis.wcs.entity.domain.WaveTaskDetl;
import com.zy.asrs.wms.apis.wcs.entity.response.SowSeeds;
import com.zy.asrs.wms.apis.wcs.services.WaveManagentService;
+import com.zy.asrs.wms.apis.wcs.utils.HttpEssUtils;
import com.zy.asrs.wms.asrs.entity.*;
import com.zy.asrs.wms.asrs.entity.dto.LargeScreenTaskDto;
import com.zy.asrs.wms.asrs.entity.enums.OrderPickStatus;
@@ -15,15 +16,16 @@
import com.zy.asrs.wms.asrs.mapper.*;
import com.zy.asrs.wms.asrs.service.TaskService;
import com.zy.asrs.wms.asrs.service.WaveSeedService;
-import org.aspectj.weaver.ast.Or;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.math.BigDecimal;
-import java.util.ArrayList;
+import javax.servlet.http.HttpServletRequest;
import java.util.List;
-import java.util.stream.Collectors;
+import static com.zy.asrs.wms.utils.HttpUtils.getClientIpAddress;
+
+@Slf4j
@Service
public class WaveManagentServiceImpl implements WaveManagentService {
@Autowired
@@ -121,8 +123,15 @@
* @return
*/
@Override
- public R AllSeedLocs() {
- List<CacheSite> cacheSites = cacheSiteMapper.selectList(new LambdaQueryWrapper<CacheSite>());
+ public R AllSeedLocs(HttpServletRequest request) {
+ log.info("ip鍦板潃====>锛� {}", getClientIpAddress(request));
+ String locIp = getClientIpAddress(request);
+ List<CacheSite> cacheSites;
+ if (locIp.equals(HttpEssUtils.S2_SITE_NO)) {
+ cacheSites = cacheSiteMapper.selectList(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getChannel, "S2"));
+ } else {
+ cacheSites = cacheSiteMapper.selectList(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getChannel, "S1"));
+ }
if (cacheSites.isEmpty()) {
return R.error("褰撳墠鎾澧欎俊鎭湭璁剧疆锛侊紒");
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/Impl/WcsApiServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/Impl/WcsApiServiceImpl.java
index 7caf26c..31833bf 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/Impl/WcsApiServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/Impl/WcsApiServiceImpl.java
@@ -124,8 +124,12 @@
List<TaskDetl> taskDetlByTaskId = taskDetlService.getTaskDetlByTaskId(task.getId());
double sum = taskDetlByTaskId.stream().mapToDouble(TaskDetl::getAnfme).sum();
SlapLightControlParam slapLightControlParam = new SlapLightControlParam();
- slapLightControlParam.setControllerCode(cacheSite.getMemo()).setTagCode(cacheSite.getSiteNo())
- .setColor("GREEN").setMode("LIGHT").setDisplay(String.valueOf(sum));
+ slapLightControlParam
+ .setControllerCode(cacheSite.getMemo())
+ .setTagCode(cacheSite.getSiteNo())
+ .setColor("GREEN")
+ .setMode("LIGHT")
+ .setDisplay(String.valueOf(sum));
// 鍙戣捣浜伅璇锋眰
log.info("浠诲姟{}鍒拌揪鎷i�変綅锛屾挱绉嶅浜伅涓嬪彂",task.getTaskNo(), JSONObject.toJSONString(slapLightControlParam));
CommonReponse response = HttpEssUtils.post("鍒拌揪鎷i�変綅锛屾挱绉嶅浜伅", HttpEssUtils.PLT_SEND_COMMAND, slapLightControlParam);
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/WaveManagentService.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/WaveManagentService.java
index 4239665..edf791c 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/WaveManagentService.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/WaveManagentService.java
@@ -4,6 +4,8 @@
import com.zy.asrs.framework.common.R;
import com.zy.asrs.wms.asrs.entity.param.WaveSeedReviewParam;
+import javax.servlet.http.HttpServletRequest;
+
public interface WaveManagentService {
R getSowSeeds();
@@ -19,5 +21,5 @@
R getAllOrders(String waveNo);
- R AllSeedLocs();
+ R AllSeedLocs(HttpServletRequest request);
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/utils/HttpEssUtils.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/utils/HttpEssUtils.java
index 1d1887f..7b4848a 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/utils/HttpEssUtils.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/utils/HttpEssUtils.java
@@ -27,6 +27,8 @@
*/
public static final String baseUrl = "http://192.168.2.200:9046";
+ public static final String S2_SITE_NO = "192.168.2.42";
+
/**
* 璇锋眰澶�
*/
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/HttpUtils.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/HttpUtils.java
index 149bfcd..0639cde 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/HttpUtils.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/HttpUtils.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSON;
import com.zy.asrs.framework.common.R;
+import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@@ -23,4 +24,30 @@
}
}
+ public static String getClientIpAddress(HttpServletRequest request) {
+ String ip = request.getHeader("X-Forwarded-For");
+
+ if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getHeader("Proxy-Client-IP");
+ }
+ if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getHeader("WL-Proxy-Client-IP");
+ }
+ if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getHeader("HTTP_CLIENT_IP");
+ }
+ if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getHeader("HTTP_X_FORWARDED_FOR");
+ }
+ if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getRemoteAddr();
+ }
+
+ // 瀵逛簬閫氳繃澶氫釜浠g悊鐨勬儏鍐碉紝绗竴涓狪P涓哄鎴风鐪熷疄IP锛屽涓狪P鎸夌収','鍒嗗壊
+ if (ip != null && ip.contains(",")) {
+ ip = ip.split(",")[0].trim();
+ }
+ return ip;
+ }
+
}
--
Gitblit v1.9.1