package org.jeecg.modules.mdc.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import org.apache.commons.lang3.StringUtils;
|
import org.jeecg.modules.mdc.dto.MdcUtilizationRateDto;
|
import org.jeecg.modules.mdc.entity.MdcUtilizationRate;
|
import org.jeecg.modules.mdc.mapper.MdcUtilizationRateMapper;
|
import org.jeecg.modules.mdc.service.IMdcUtilizationRateService;
|
import org.springframework.stereotype.Service;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.sql.Array;
|
import java.util.ArrayList;
|
import java.util.Arrays;
|
import java.util.List;
|
|
/**
|
* @Description: 率参数设置
|
* @Author: Sake
|
* @Date: 2023-03-31 15:03
|
*/
|
@Service
|
public class MdcUtilizationRateServiceImpl extends ServiceImpl<MdcUtilizationRateMapper, MdcUtilizationRate> implements IMdcUtilizationRateService {
|
@Override
|
public IPage<MdcUtilizationRate> queryPageList(Page page, HttpServletRequest req) {
|
//创建查询器
|
QueryWrapper<MdcUtilizationRate> queryWrapper = new QueryWrapper();
|
//检查HTTP请求体中是否存在名为驱动类型的参数,存在则true,获取第一个数据使用模糊查询添加到到查询器中
|
if (req.getParameterMap().containsKey("rateParameterCategory")) {
|
String rateParameterCategory = req.getParameterMap().get("rateParameterCategory")[0];
|
queryWrapper.like(StringUtils.isNotBlank(rateParameterCategory), "rate_parameter_category", rateParameterCategory);
|
}
|
|
//根据参数类别排序
|
//创建一个返回对象 值为根据分页后查询所得数据
|
IPage<MdcUtilizationRate> pageList = this.page(page, queryWrapper);
|
return pageList;
|
}
|
|
@Override
|
public Boolean addUtilization(MdcUtilizationRate mdcUtilizationRate) {
|
return this.save(mdcUtilizationRate);
|
}
|
|
@Override
|
public Boolean editUtilization(MdcUtilizationRate mdcUtilizationRate) {
|
return this.updateById(mdcUtilizationRate);
|
}
|
|
@Override
|
public Boolean deleteUtilization(String id) {
|
return this.removeById(id);
|
}
|
|
@Override
|
public Boolean deleteBatchUtilization(String ids) {
|
return this.removeByIds(Arrays.asList(ids.split(",")));
|
}
|
|
/**
|
* 根据类型查询利用率层级
|
*
|
* @param type
|
* @return
|
*/
|
@Override
|
public List<MdcUtilizationRate> listByType(String type) {
|
return this.baseMapper.selectList(new LambdaQueryWrapper<MdcUtilizationRate>().eq(MdcUtilizationRate::getRateParameterType, type));
|
}
|
|
/**
|
* 根据类型获取颜色标签
|
*
|
* @param type
|
* @return
|
*/
|
@Override
|
public List<MdcUtilizationRateDto> getByType(String type) {
|
List<MdcUtilizationRateDto> result = new ArrayList<>();
|
List<MdcUtilizationRate> list = this.list(new LambdaQueryWrapper<MdcUtilizationRate>().eq(MdcUtilizationRate::getRateParameterType, type).orderByAsc(MdcUtilizationRate::getRateParameterLevel));
|
for (MdcUtilizationRate mdcUtilizationRate : list) {
|
MdcUtilizationRateDto mdcUtilizationRateDto = new MdcUtilizationRateDto();
|
mdcUtilizationRateDto.setColor(mdcUtilizationRate.getRateParameterColor());
|
String title;
|
if (mdcUtilizationRate.getMinimumRange() == 0) {
|
title = mdcUtilizationRate.getRateParameterCategory() + " < " + mdcUtilizationRate.getMaximumRange() + "%";
|
} else if (mdcUtilizationRate.getMaximumRange() == 100){
|
title = mdcUtilizationRate.getRateParameterCategory() + ">= " + mdcUtilizationRate.getMinimumRange() + "%";
|
} else {
|
title = mdcUtilizationRate.getMinimumRange() + "% <= " + mdcUtilizationRate.getRateParameterCategory() + " < " + mdcUtilizationRate.getMaximumRange() + "%";
|
}
|
mdcUtilizationRateDto.setTitle(title);
|
result.add(mdcUtilizationRateDto);
|
}
|
return result;
|
}
|
}
|