yangys
2024-11-02 f69073b835f1a0c66590130e1830edcdd75ebb8a
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
package com.qianwen.smartman.modules.smis.service;
 
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.List;
import java.util.stream.Collectors;
 
import org.apache.commons.io.IOUtils;
import org.springframework.stereotype.Service;
 
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.qianwen.core.mp.base.BaseServiceImpl;
import com.qianwen.smartman.modules.smis.entity.CollectDeviceType;
import com.qianwen.smartman.modules.smis.mapper.CollectDeviceTypeMapper;
import com.qianwen.smartman.modules.smis.vo.CollectDeviceTypeVO;
 
@Service
public class CollectDeviceTypeService extends BaseServiceImpl<CollectDeviceTypeMapper, CollectDeviceType> {
 
 
    /**
     * 新增或者更新模板
     * @param tpl
     */
    public List<CollectDeviceTypeVO> typeList() {
        
        List<CollectDeviceType> list = this.baseMapper.selectList(Wrappers.emptyWrapper());
        Charset utf8charset = Charset.forName("utf8");
        String startJsonStr= "[]";
        String endJsonStr = "[]";
        try {
            startJsonStr = IOUtils.resourceToString("/dp/dpstart.json",  utf8charset);
            endJsonStr = IOUtils.resourceToString("/dp/dpend.json",  utf8charset);
        } catch (IOException e) {
            log.error("读取默认dpHead异常",e);
        }
        final String startStr = startJsonStr;
        final String endStr = endJsonStr;
        List<CollectDeviceTypeVO> voList =  list.stream().map(t -> {
            
            CollectDeviceTypeVO vo = new CollectDeviceTypeVO();
            vo.setId(t.getId());
            vo.setDpHead(t.getDpHead());
            vo.setName(t.getName());
            
            vo.setDpHeadFull(mergeJson(startStr,t.getDpHead(),endStr));
            
            return vo;
        }).collect(Collectors.toList());
       
        return voList;
    }
    
    public static String mergeJson(String start,String dpHead,String end) {
        JSONArray s = JSONArray.parseArray(start);
        JSONArray h = JSONArray.parseArray(dpHead);
        JSONArray e = JSONArray.parseArray(end);
        
        s.addAll(h);
        s.addAll(e);
        
        return s.toJSONString();
    }
 
}