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 { /** * 新增或者更新模板 * @param tpl */ public List typeList() { List 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 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(); } }