From 9bc4b04f1b946e31c719ec051c3c481f5faac5e8 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 05 一月 2024 16:01:11 +0800
Subject: [PATCH] #

---
 zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/TagServiceImpl.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 0 deletions(-)

diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/TagServiceImpl.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/TagServiceImpl.java
index 25ac1a6..cd2364a 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/TagServiceImpl.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/TagServiceImpl.java
@@ -5,8 +5,11 @@
 import com.zy.asrs.common.wms.mapper.TagMapper;
 import com.zy.asrs.common.wms.service.TagService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zy.asrs.framework.common.Cools;
 import com.zy.asrs.framework.exception.CoolException;
 import org.springframework.stereotype.Service;
+
+import java.util.Date;
 
 @Service("manTagService")
 public class TagServiceImpl extends ServiceImpl<TagMapper, Tag> implements TagService {
@@ -30,4 +33,61 @@
         return top;
     }
 
+    @Override
+    public Tag getTag(String firstTagName, String secondTagName, Long hostId) {
+        Date now = new Date();
+        Tag tag = this.getOne(new LambdaQueryWrapper<Tag>()
+                .eq(Tag::getName, "鍏ㄩ儴")
+                .eq(Tag::getHostId, hostId)
+                .isNull(Tag::getParentId));
+        if (tag == null) {
+            throw new CoolException("鍒嗙被绯荤粺寮傚父");
+        }
+
+        if (Cools.isEmpty(firstTagName)) {
+            //涓�绾у垎绫伙紝鐩存帴杩斿洖鏍瑰垎绫�(鍏ㄩ儴)
+            return tag;
+        }
+
+        if (!Cools.isEmpty(firstTagName)) {
+            //瀛樺湪涓�绾у垎绫伙紝鏌ヨ涓�绾у垎绫�
+            Tag firstTag = this.getOne(new LambdaQueryWrapper<Tag>()
+                    .eq(Tag::getName, firstTagName)
+                    .eq(Tag::getHostId, hostId));
+            if (firstTag == null) {
+                //涓�绾у垎绫讳负绌猴紝鍒涘缓涓�绾у垎绫�
+                firstTag = new Tag();
+                firstTag.setName(firstTagName);
+                firstTag.setParentId(tag.getId());
+                firstTag.setStatus(1);
+                firstTag.setHostId(hostId);
+                firstTag.setCreateTime(now);
+                firstTag.setUpdateTime(now);
+                this.save(firstTag);
+            }
+
+            if (!Cools.isEmpty(secondTagName)) {
+                //瀛樺湪浜岀骇鍒嗙被锛屾煡璇簩绾у垎绫�
+                Tag secondTag = this.getOne(new LambdaQueryWrapper<Tag>()
+                        .eq(Tag::getName, secondTagName)
+                        .eq(Tag::getHostId, hostId));
+                if (secondTag == null) {
+                    //浜岀骇鍒嗙被涓虹┖锛屽垱寤轰簩绾у垎绫�
+                    secondTag = new Tag();
+                    secondTag.setName(secondTagName);
+                    secondTag.setParentId(firstTag.getId());
+                    secondTag.setStatus(1);
+                    secondTag.setHostId(hostId);
+                    secondTag.setCreateTime(now);
+                    secondTag.setUpdateTime(now);
+                    this.save(secondTag);
+                    return secondTag;
+                }
+                return secondTag;
+            }else {
+                return firstTag;//涓嶅瓨鍦ㄤ簩绾у垎绫伙紝鐩存帴杩斿洖涓�绾у垎绫�
+            }
+        }
+        return tag;
+    }
 }

--
Gitblit v1.9.1