地质所 沉降监测网建设项目
zmk
2024-10-23 3f47c88e7cb4e53b3637620794420181f47b5a5e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
package com.javaweb.cms.service.impl;
 
import java.util.List;
 
import cn.hutool.cache.Cache;
import cn.hutool.cache.CacheUtil;
import com.alibaba.fastjson.JSONArray;
import com.google.common.collect.Lists;
import com.javaweb.cms.util.CmsConstants;
import com.javaweb.common.utils.StringUtils;
import com.javaweb.ehcache.util.EhCacheUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.javaweb.cms.mapper.TagsMapper;
import com.javaweb.cms.domain.Tags;
import com.javaweb.cms.service.ITagsService;
import com.javaweb.common.core.text.Convert;
 
/**
 * 标签管理Service业务层处理
 * 
 * @author wujiyue
 * @date 2019-10-29
 */
@Service
public class TagsServiceImpl implements ITagsService 
{
    @Autowired
    private TagsMapper tagsMapper;
 
    private static Cache<String,Tags> tagsCache= CacheUtil.newLRUCache(1000,1000*60*60);
    /**
     * 查询标签管理
     * 
     * @param tagId 标签管理ID
     * @return 标签管理
     */
    @Override
    public Tags selectTagsById(Long tagId)
    {
      Tags tag =  tagsCache.get(tagId.toString());
      if(tag==null){
          tag=tagsMapper.selectTagsById(tagId);
          tagsCache.put(tagId.toString(),tag);
      }
        return tag;
    }
 
    @Override
    public Tags getTagByName(String type, String name) {
        return tagsMapper.getTagByName(type,name);
    }
 
    /**
     * 查询标签管理列表
     * 
     * @param tags 标签管理
     * @return 标签管理
     */
    @Override
    public List<Tags> selectTagsList(Tags tags)
    {
        return tagsMapper.selectTagsList(tags);
    }
 
    /**
     * 新增标签管理
     * 
     * @param tags 标签管理
     * @return 结果
     */
    @Override
    public int insertTags(Tags tags)
    {
        return tagsMapper.insertTags(tags);
    }
 
    /**
     * 修改标签管理
     * 
     * @param tags 标签管理
     * @return 结果
     */
    @Override
    public int updateTags(Tags tags)
    {
        return tagsMapper.updateTags(tags);
    }
 
    /**
     * 删除标签管理对象
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteTagsByIds(String ids)
    {
        return tagsMapper.deleteTagsByIds(Convert.toStrArray(ids));
    }
 
    /**
     * 删除标签管理信息
     * 
     * @param tagId 标签管理ID
     * @return 结果
     */
    @Override
    public int deleteTagsById(Long tagId)
    {
        return tagsMapper.deleteTagsById(tagId);
    }
 
    @Override
    public List<Tags> selectTagsAll() {
        return tagsMapper.selectTagsAll();
    }
 
    @Override
    public List<Tags> selectSelectedTagsAll(String selectedIds) {
 
        List<Tags> tags=this.selectTagsAll();
 
        if(StringUtils.isNotEmpty(selectedIds)){
            if(selectedIds.endsWith(",")){
                selectedIds=selectedIds.substring(0,selectedIds.length()-1);
            }
            String[] arr=Convert.toStrArray(selectedIds);
            List<String> list= Lists.newArrayList(arr);
            tags.forEach(t->{
                if(list.contains(t.getTagId().toString())){
                    t.setSelected(true);
                }
            });
        }
        return tags;
    }
 
    @Override
    public List<Tags> selectBlogTabs() {
        String s=(String)EhCacheUtils.getDefaultInfo(CmsConstants.KEY_TAGS_BLOG);
        List<Tags> tags=null;
        if(StringUtils.isNotEmpty(s)){
            tags = JSONArray.parseArray(s, Tags.class);
        }else{
            tags=tagsMapper.selectBlogTabs();
            EhCacheUtils.putDefaultInfo(CmsConstants.KEY_TAGS_BLOG,tags);
        }
        return tags;
    }
}