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();
|
}
|
|
}
|