From 901b2ab3e0e7c592602848cfa256f34c5b0c7bb8 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期四, 11 一月 2024 09:57:01 +0800
Subject: [PATCH] #

---
 zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/TagServiceImpl.java |   65 +++++++++++++++++++++++++++++++-
 1 files changed, 63 insertions(+), 2 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 5ebfb62..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,15 +5,18 @@
 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 {
 
     @Override
-    public synchronized Tag getTop() {
-        Tag top = this.getOne(new LambdaQueryWrapper<Tag>().eq(Tag::getLevel, 1));
+    public synchronized Tag getTop(Long hostId) {
+        Tag top = this.getOne(new LambdaQueryWrapper<Tag>().eq(Tag::getLevel, 1).eq(Tag::getHostId, hostId));
         if (top == null) {
             top = new Tag();
             top.setName("鍏ㄩ儴");
@@ -21,6 +24,7 @@
             top.setLevel(1);
             top.setStatus(1);
             top.setSort(0);
+            top.setHostId(hostId);
             Integer insert = this.baseMapper.insert(top);
             if (insert == 0) {
                 throw new CoolException("鏈嶅姟鍣ㄥ紓甯�");
@@ -29,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