package com.iailab.module.data.channel.kio.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.iailab.framework.common.constant.Constant; import com.iailab.framework.common.page.PageData; import com.iailab.framework.common.service.impl.BaseServiceImpl; import com.iailab.framework.common.util.object.ConvertUtils; import com.iailab.module.data.channel.kio.dao.ChannelKioTagDao; import com.iailab.module.data.channel.kio.dto.ChannelKioTagDTO; import com.iailab.module.data.channel.kio.entity.ChannelKioTagEntity; import com.iailab.module.data.channel.kio.service.ChannelKioTagService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.Map; /** * @author PanZhibao * @Description * @createTime 2024年06月05日 */ @Slf4j @Service public class ChannelKioTagServiceImpl extends BaseServiceImpl implements ChannelKioTagService { @Resource private ChannelKioTagDao channelKioTagDao; @Value("${iems.upload-dir}") private String uploadDir; @Override public PageData page(Map params) { IPage page = baseDao.selectPage( getPage(params, Constant.CREATE_TIME, false), getWrapper(params) ); return getPageData(page, ChannelKioTagDTO.class); } @Override public ChannelKioTagDTO get(String id) { ChannelKioTagEntity entity = baseDao.selectById(id); return ConvertUtils.sourceToTarget(entity, ChannelKioTagDTO.class); } @Override public void save(ChannelKioTagDTO dto) { ChannelKioTagEntity entity = ConvertUtils.sourceToTarget(dto, ChannelKioTagEntity.class); entity.setCreateTime(new Date()); entity.setUpdateTime(new Date()); insert(entity); } @Override public void update(ChannelKioTagDTO dto) { ChannelKioTagEntity entity = ConvertUtils.sourceToTarget(dto, ChannelKioTagEntity.class); entity.setUpdateTime(new Date()); updateById(entity); } @Override public void delete(String[] ids) { baseDao.deleteBatchIds(Arrays.asList(ids)); } @Override public List getByDevice(String device) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.like(StringUtils.isNotBlank(device), "device", device) .orderByAsc("tag_id"); List list = baseDao.selectList(wrapper); return ConvertUtils.sourceToTarget(list, ChannelKioTagDTO.class); } @Override public ChannelKioTagDTO getByTagName(String tagName) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("tag_name", tagName); ChannelKioTagEntity entity = baseDao.selectOne(wrapper); return ConvertUtils.sourceToTarget(entity, ChannelKioTagDTO.class); } @Override public void deleteByDeviceName(String name) { baseDao.delete(new QueryWrapper().eq("device",name)); } private QueryWrapper getWrapper(Map params){ String tagName = (String) params.get("tagName"); String device = (String) params.get("device"); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(device), "device", device); wrapper.like(StringUtils.isNotBlank(tagName), "tag_name", tagName); wrapper.orderByDesc("create_time"); return wrapper; } }