package org.dromara.demo.service.impl;
|
|
import org.dromara.common.core.utils.MapstructUtils;
|
import org.dromara.common.core.utils.StringUtils;
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.stereotype.Service;
|
import org.dromara.demo.domain.bo.RsTrafficIndexBo;
|
import org.dromara.demo.domain.vo.RsTrafficIndexVo;
|
import org.dromara.demo.domain.RsTrafficIndex;
|
import org.dromara.demo.mapper.RsTrafficIndexMapper;
|
import org.dromara.demo.service.IRsTrafficIndexService;
|
|
import java.util.List;
|
import java.util.Map;
|
import java.util.Collection;
|
|
/**
|
* 交通指数Service业务层处理
|
*
|
* @author Lion Li
|
* @date 2024-02-26
|
*/
|
@RequiredArgsConstructor
|
@Service
|
public class RsTrafficIndexServiceImpl implements IRsTrafficIndexService {
|
|
private final RsTrafficIndexMapper baseMapper;
|
|
/**
|
* 查询交通指数
|
*/
|
@Override
|
public RsTrafficIndexVo queryById(Long id){
|
return baseMapper.selectVoById(id);
|
}
|
|
/**
|
* 查询交通指数列表
|
*/
|
@Override
|
public TableDataInfo<RsTrafficIndexVo> queryPageList(RsTrafficIndexBo bo, PageQuery pageQuery) {
|
LambdaQueryWrapper<RsTrafficIndex> lqw = buildQueryWrapper(bo);
|
Page<RsTrafficIndexVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
return TableDataInfo.build(result);
|
}
|
|
/**
|
* 查询交通指数列表
|
*/
|
@Override
|
public List<RsTrafficIndexVo> queryList(RsTrafficIndexBo bo) {
|
LambdaQueryWrapper<RsTrafficIndex> lqw = buildQueryWrapper(bo);
|
return baseMapper.selectVoList(lqw);
|
}
|
|
private LambdaQueryWrapper<RsTrafficIndex> buildQueryWrapper(RsTrafficIndexBo bo) {
|
Map<String, Object> params = bo.getParams();
|
LambdaQueryWrapper<RsTrafficIndex> lqw = Wrappers.lambdaQuery();
|
lqw.like(StringUtils.isNotBlank(bo.getModeName()), RsTrafficIndex::getModeName, bo.getModeName());
|
lqw.like(StringUtils.isNotBlank(bo.getTargetOneName()), RsTrafficIndex::getTargetOneName, bo.getTargetOneName());
|
lqw.eq(bo.getTargetOneValue() != null, RsTrafficIndex::getTargetOneValue, bo.getTargetOneValue());
|
lqw.eq(StringUtils.isNotBlank(bo.getTargetOneUnit()), RsTrafficIndex::getTargetOneUnit, bo.getTargetOneUnit());
|
lqw.eq(bo.getTargetOneStatus() != null, RsTrafficIndex::getTargetOneStatus, bo.getTargetOneStatus());
|
lqw.eq(bo.getTargetOneCompareValue() != null, RsTrafficIndex::getTargetOneCompareValue, bo.getTargetOneCompareValue());
|
lqw.like(StringUtils.isNotBlank(bo.getTargetTwoName()), RsTrafficIndex::getTargetTwoName, bo.getTargetTwoName());
|
lqw.eq(bo.getTargetTwoValue() != null, RsTrafficIndex::getTargetTwoValue, bo.getTargetTwoValue());
|
lqw.eq(StringUtils.isNotBlank(bo.getTargetTwoUnit()), RsTrafficIndex::getTargetTwoUnit, bo.getTargetTwoUnit());
|
lqw.eq(bo.getTargetTwoStatus() != null, RsTrafficIndex::getTargetTwoStatus, bo.getTargetTwoStatus());
|
lqw.eq(bo.getTargetTwoCompareValue() != null, RsTrafficIndex::getTargetTwoCompareValue, bo.getTargetTwoCompareValue());
|
lqw.like(StringUtils.isNotBlank(bo.getTargetThreeName()), RsTrafficIndex::getTargetThreeName, bo.getTargetThreeName());
|
lqw.eq(bo.getTargetThreeValue() != null, RsTrafficIndex::getTargetThreeValue, bo.getTargetThreeValue());
|
lqw.eq(StringUtils.isNotBlank(bo.getTargetThreeUnit()), RsTrafficIndex::getTargetThreeUnit, bo.getTargetThreeUnit());
|
lqw.eq(bo.getTargetThreeStatus() != null, RsTrafficIndex::getTargetThreeStatus, bo.getTargetThreeStatus());
|
lqw.eq(bo.getTargetThreeCompareValue() != null, RsTrafficIndex::getTargetThreeCompareValue, bo.getTargetThreeCompareValue());
|
lqw.like(StringUtils.isNotBlank(bo.getTargetFourName()), RsTrafficIndex::getTargetFourName, bo.getTargetFourName());
|
lqw.eq(bo.getTargetFourValue() != null, RsTrafficIndex::getTargetFourValue, bo.getTargetFourValue());
|
lqw.eq(StringUtils.isNotBlank(bo.getTargetFourUnit()), RsTrafficIndex::getTargetFourUnit, bo.getTargetFourUnit());
|
lqw.eq(bo.getTargetFourStatus() != null, RsTrafficIndex::getTargetFourStatus, bo.getTargetFourStatus());
|
lqw.eq(bo.getTargetFourCompareValue() != null, RsTrafficIndex::getTargetFourCompareValue, bo.getTargetFourCompareValue());
|
lqw.eq(bo.getStatus() != null, RsTrafficIndex::getStatus, bo.getStatus());
|
lqw.like(StringUtils.isNotBlank(bo.getPeriodName()), RsTrafficIndex::getPeriodName, bo.getPeriodName());
|
|
return lqw;
|
}
|
|
/**
|
* 新增交通指数
|
*/
|
@Override
|
public Boolean insertByBo(RsTrafficIndexBo bo) {
|
RsTrafficIndex add = MapstructUtils.convert(bo, RsTrafficIndex.class);
|
validEntityBeforeSave(add);
|
boolean flag = baseMapper.insert(add) > 0;
|
if (flag) {
|
bo.setId(add.getId());
|
}
|
return flag;
|
}
|
|
/**
|
* 修改交通指数
|
*/
|
@Override
|
public Boolean updateByBo(RsTrafficIndexBo bo) {
|
RsTrafficIndex update = MapstructUtils.convert(bo, RsTrafficIndex.class);
|
validEntityBeforeSave(update);
|
return baseMapper.updateById(update) > 0;
|
}
|
|
/**
|
* 保存前的数据校验
|
*/
|
private void validEntityBeforeSave(RsTrafficIndex entity){
|
//TODO 做一些数据校验,如唯一约束
|
}
|
|
/**
|
* 批量删除交通指数
|
*/
|
@Override
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
if(isValid){
|
//TODO 做一些业务上的校验,判断是否需要校验
|
}
|
return baseMapper.deleteBatchIds(ids) > 0;
|
}
|
}
|