From a1d1d928893c33fad6694b2503a425ab29af0a15 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期三, 04 三月 2026 14:52:49 +0800
Subject: [PATCH] 云仓WMS接口流程
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OrderWorkTypeServiceImpl.java | 81 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 81 insertions(+), 0 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OrderWorkTypeServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OrderWorkTypeServiceImpl.java
new file mode 100644
index 0000000..2ee979b
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OrderWorkTypeServiceImpl.java
@@ -0,0 +1,81 @@
+package com.vincent.rsf.server.manager.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.vincent.rsf.server.manager.enums.OrderWorkType;
+import com.vincent.rsf.server.manager.service.OrderWorkTypeService;
+import com.vincent.rsf.server.system.constant.DictTypeCode;
+import com.vincent.rsf.server.system.entity.DictData;
+import com.vincent.rsf.server.system.service.DictDataService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 璁㈠崟涓氬姟绫诲瀷锛氫紭鍏堜粠瀛楀吀琛ㄨ鍙栵紙鍙厤缃級锛屾棤鍒欏洖閫�鍒� OrderWorkType 鏋氫妇銆�
+ */
+@Slf4j
+@Service
+public class OrderWorkTypeServiceImpl implements OrderWorkTypeService {
+
+ @Resource
+ private DictDataService dictDataService;
+
+ private volatile List<DictData> cache;
+ private static final Object CACHE_LOCK = new Object();
+
+ @Override
+ public List<DictData> listAll() {
+ if (cache != null && !cache.isEmpty()) {
+ return cache;
+ }
+ synchronized (CACHE_LOCK) {
+ if (cache != null && !cache.isEmpty()) {
+ return cache;
+ }
+ List<DictData> list = dictDataService.list(new LambdaQueryWrapper<DictData>()
+ .eq(DictData::getDictTypeCode, DictTypeCode.DICT_ORDER_WORK_TYPE)
+ .eq(DictData::getStatus, 1)
+ .orderByAsc(DictData::getSort));
+ cache = list;
+ return cache;
+ }
+ }
+
+ @Override
+ public String getTypeByLabel(String label) {
+ if (label == null || label.isEmpty()) {
+ return null;
+ }
+ for (DictData d : listAll()) {
+ if (label.equals(d.getLabel())) {
+ return d.getValue();
+ }
+ }
+ // 鍥為��鍒版灇涓�
+ return OrderWorkType.getWorkType(label);
+ }
+
+ @Override
+ public String getLabelByType(String type) {
+ if (type == null || type.isEmpty()) {
+ return null;
+ }
+ for (DictData d : listAll()) {
+ if (type.equals(d.getValue())) {
+ return d.getLabel();
+ }
+ }
+ // 鍥為��鍒版灇涓�
+ return OrderWorkType.getWorkDesc(type);
+ }
+
+ @Override
+ public void refreshCache() {
+ synchronized (CACHE_LOCK) {
+ cache = null;
+ }
+ log.info("璁㈠崟涓氬姟绫诲瀷瀛楀吀缂撳瓨宸插埛鏂�");
+ }
+}
--
Gitblit v1.9.1